10 writes to _items
Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost (10)
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (10)
53_items = s_emptyArray; 66_items = s_emptyArray; 68_items = new SegmentedArray<T>(capacity); 82_items = (SegmentedArray<T>)segmentedList._items.Clone(); 92_items = s_emptyArray; 97_items = new SegmentedArray<T>(count); 110_items = s_emptyArray; 141_items = s_emptyArray; 148_items = new SegmentedArray<T>(value); 153_items = CreateNewSegmentedArrayReusingOldSegments(_items, value);
84 references to _items
Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost (84)
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1.cs (1)
137return ref self._list._items[index];
src\Dependencies\Collections\Segmented\ImmutableSegmentedList`1+ValueBuilder.cs (1)
69return ref ReadOnlyList._items[index];
src\Dependencies\Collections\Segmented\SegmentedList`1.cs (82)
82_items = (SegmentedArray<T>)segmentedList._items.Clone(); 98if (SegmentedCollectionsMarshal.AsSegments(_items) is { Length: 1 } segments) 128get => _items.Length; 136if (value == _items.Length) 145if (_items.Length == 0) 153_items = CreateNewSegmentedArrayReusingOldSegments(_items, value); 206return _items[index]; 215_items[index] = value; 253var array = _items; 270Debug.Assert(_size == _items.Length); 274_items[size] = item; 309if (_items.Length - _size < count) 316SegmentedArray.Copy(list._items, 0, _items, _size, list.Count); 320SegmentedArray.Copy(array, 0, _items, _size, array.Length); 326_items[targetIndex++] = item; 375return SegmentedArray.BinarySearch(_items, index, count, item, comparer); 401SegmentedArray.Clear(_items, 0, size); // Clear the elements so that the gc can reclaim the references. 441list._items[i] = converter(_items[i]); 464SegmentedArray.Copy(_items, 0, array!, arrayIndex, _size); 484SegmentedArray.Copy(_items, index, array, arrayIndex, count); 490SegmentedArray.Copy(_items, 0, array, arrayIndex, _size); 506if (_items.Length < capacity) 511return _items.Length; 520Debug.Assert(_items.Length < capacity); 524if (_items.Length < SegmentedArrayHelper.GetSegmentSize<T>() / 2) 528newCapacity = _items.Length == 0 ? DefaultCapacity : _items.Length * 2; 530else if (_items.Length < SegmentedArrayHelper.GetSegmentSize<T>()) 538if (0 == (_items.Length & SegmentedArrayHelper.GetOffsetMask<T>())) 545var oldSegmentCount = (_items.Length + SegmentedArrayHelper.GetSegmentSize<T>() - 1) >> SegmentedArrayHelper.GetSegmentShift<T>(); 585if (match(_items[i])) 587return _items[i]; 603if (match(_items[i])) 605list.Add(_items[i]); 637if (match(_items[i])) 652if (match(_items[i])) 654return _items[i]; 699if (match(_items[i])) 722action(_items[i]); 765SegmentedArray.Copy(_items, index, list._items, 0, count); 793=> SegmentedArray.IndexOf(_items, item, 0, _size); 817return SegmentedArray.IndexOf(_items, item, index, _size - index); 837return SegmentedArray.IndexOf(_items, item, index, count); 848return SegmentedArray.IndexOf(_items, item, index, count, comparer); 862if (_size == _items.Length) 866SegmentedArray.Copy(_items, index, _items, index + 1, _size - index); 868_items[index] = item; 909if (_items.Length - _size < count) 915SegmentedArray.Copy(_items, index, _items, index + count, _size - index); 922SegmentedArray.Copy(_items, 0, _items, index, index); 924SegmentedArray.Copy(_items, index + count, _items, index * 2, _size - index); 928SegmentedArray.Copy(list._items, 0, _items, index, list.Count); 932SegmentedArray.Copy(array, 0, _items, index, array.Length); 938_items[targetIndex++] = item; 1028return SegmentedArray.LastIndexOf(_items, item, index, count); 1059return SegmentedArray.LastIndexOf(_items, item, index, count, comparer); 1096while (freeIndex < _size && !match(_items[freeIndex])) 1105while (current < _size && match(_items[current])) 1111_items[freeIndex++] = _items[current++]; 1119SegmentedArray.Clear(_items, freeIndex, _size - freeIndex); // Clear the elements so that the gc can reclaim the references. 1139SegmentedArray.Copy(_items, index + 1, _items, index, _size - index); 1145_items[_size] = default!; 1171SegmentedArray.Copy(_items, index + count, _items, index, _size - index); 1179SegmentedArray.Clear(_items, _size, count); 1210SegmentedArray.Reverse(_items, index, count); 1250SegmentedArray.Sort(_items, index, count, comparer); 1264var segment = new SegmentedArraySegment<T>(_items, 0, _size); 1280SegmentedArray.Copy(_items, array, _size); 1295var threshold = (int)(_items.Length * 0.9); 1311if (!match(_items[i])) 1344_current = localList._items[_index];