2 writes to _buckets
System.Private.CoreLib (2)
src\runtime\src\coreclr\nativeaot\Common\src\System\Collections\Concurrent\ConcurrentUnifierW.cs (2)
163_buckets = new int[_initialCapacity]; 173_buckets = buckets;
17 references to _buckets
System.Private.CoreLib (17)
src\runtime\src\coreclr\nativeaot\Common\src\System\Collections\Concurrent\ConcurrentUnifierW.cs (17)
165_buckets[i] = -1; 183int bucket = ComputeBucket(hashCode, _buckets.Length); 184int i = Volatile.Read(ref _buckets[bucket]); 206int bucket = ComputeBucket(hashCode, _buckets.Length); 213int idx = _buckets[bucket]; 239_entries[newEntryIdx]._next = _buckets[bucket]; 245Volatile.Write(ref _buckets[bucket], newEntryIdx); 266for (int bucket = 0; bucket < _buckets.Length; bucket++) 268for (int entry = _buckets[bucket]; entry != -1; entry = _entries[entry]._next) 280newSize = _buckets.Length; 284newSize = HashHelpers.GetPrime(_buckets.Length * 2); 300for (int bucket = 0; bucket < _buckets.Length; bucket++) 302for (int entry = _buckets[bucket]; entry != -1; entry = _entries[entry]._next) 347for (int bucket = 0; bucket < _buckets.Length; bucket++) 349int walk1 = _buckets[bucket]; 350int walk2 = _buckets[bucket]; // walk2 advances two elements at a time - if walk1 ever meets walk2, we've detected a cycle. 360int storedBucket = ComputeBucket(_entries[walk1]._hashCode, _buckets.Length);