5 instantiations of ObjectPool
Microsoft.CodeAnalysis.Extensions.Package (5)
src\roslyn\src\Dependencies\PooledObjects\ArrayBuilder.cs (1)
588pool = new ObjectPool<ArrayBuilder<T>>(() => new ArrayBuilder<T>(pool!), size
src\roslyn\src\Dependencies\PooledObjects\PooledDelegates.cs (1)
21public static readonly ObjectPool<T> Instance = new(() => new T(), 20);
src\roslyn\src\Dependencies\PooledObjects\PooledDictionary.cs (1)
55pool = new ObjectPool<PooledDictionary<K, V>>(() => new PooledDictionary<K, V>(pool!, keyComparer), 128);
src\roslyn\src\Dependencies\PooledObjects\PooledHashSet.cs (1)
44pool = new ObjectPool<PooledHashSet<T>>(() => new PooledHashSet<T>(pool!, equalityComparer), 128);
src\roslyn\src\Dependencies\PooledObjects\PooledStringBuilder.cs (1)
92pool = new ObjectPool<PooledStringBuilder>(() => new PooledStringBuilder(pool!), size);
27 references to ObjectPool
Microsoft.CodeAnalysis.Extensions.Package (27)
src\roslyn\src\Dependencies\PooledObjects\ArrayBuilder.cs (8)
63private readonly ObjectPool<ArrayBuilder<T>>? _pool; 74private ArrayBuilder(ObjectPool<ArrayBuilder<T>> pool) 477var pool = _pool; 508private static readonly ObjectPool<ArrayBuilder<T>> s_poolInstance = CreatePool(); 566public static ObjectPool<ArrayBuilder<T>> CreatePool( 580public static ObjectPool<ArrayBuilder<T>> CreatePool(int size 587ObjectPool<ArrayBuilder<T>>? pool = null; 1008private static readonly ObjectPool<ArrayBuilder<T>> s_keepLargeInstancesPool = CreatePool();
src\roslyn\src\Dependencies\PooledObjects\ObjectPool`1.cs (1)
105internal ObjectPool(Func<ObjectPool<T>, T> factory, int size
src\roslyn\src\Dependencies\PooledObjects\PooledDelegates.cs (1)
21public static readonly ObjectPool<T> Instance = new(() => new T(), 20);
src\roslyn\src\Dependencies\PooledObjects\PooledDictionary.cs (5)
25private readonly ObjectPool<PooledDictionary<K, V>> _pool; 27private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 49private static readonly ObjectPool<PooledDictionary<K, V>> s_poolInstance = CreatePool(EqualityComparer<K>.Default); 52public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer) 54ObjectPool<PooledDictionary<K, V>>? pool = null;
src\roslyn\src\Dependencies\PooledObjects\PooledHashSet.cs (5)
23private readonly ObjectPool<PooledHashSet<T>> _pool; 25private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 38private static readonly ObjectPool<PooledHashSet<T>> s_poolInstance = CreatePool(EqualityComparer<T>.Default); 41public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer) 43ObjectPool<PooledHashSet<T>>? pool = null;
src\roslyn\src\Dependencies\PooledObjects\PooledStringBuilder.cs (6)
30private readonly ObjectPool<PooledStringBuilder> _pool; 32private PooledStringBuilder(ObjectPool<PooledStringBuilder> pool) 82private static readonly ObjectPool<PooledStringBuilder> s_poolInstance = CreatePool(); 89public static ObjectPool<PooledStringBuilder> CreatePool(int size = 32) 91ObjectPool<PooledStringBuilder>? pool = null; 118private static readonly ObjectPool<PooledStringBuilder> s_keepLargeInstancesPool = CreatePool();
src\roslyn\src\Dependencies\PooledObjects\PoolTracker.cs (1)
24/// When tracking is active (via <see cref="StartTracking"/>), every <see cref="ObjectPool{T}.Allocate"/>