2 writes to _buckets
System.Reflection.MetadataLoadContext (2)
System\Reflection\TypeLoading\Modules\GetTypeCoreCache.cs (2)
63_buckets = new int[_initialCapacity]; 73_buckets = buckets;
14 references to _buckets
System.Reflection.MetadataLoadContext (14)
System\Reflection\TypeLoading\Modules\GetTypeCoreCache.cs (14)
65_buckets[i] = -1; 83int bucket = ComputeBucket(hashCode, _buckets.Length); 84int i = Volatile.Read(ref _buckets[bucket]); 105int bucket = ComputeBucket(hashCode, _buckets.Length); 109_entries[newEntryIdx]._next = _buckets[bucket]; 115Volatile.Write(ref _buckets[bucket], newEntryIdx); 124int newSize = HashHelpers.GetPrime(_buckets.Length * 2); 126newSize = _buckets.Length + 3; 140for (int bucket = 0; bucket < _buckets.Length; bucket++) 142for (int entry = _buckets[bucket]; entry != -1; entry = _entries[entry]._next) 179for (int bucket = 0; bucket < _buckets.Length; bucket++) 181int walk1 = _buckets[bucket]; 182int walk2 = _buckets[bucket]; // walk2 advances two elements at a time - if walk1 ever meets walk2, we've detected a cycle. 189int storedBucket = ComputeBucket(_entries[walk1]._hashCode, _buckets.Length);