1 type derived from ObjectPool
Microsoft.CodeAnalysis (1)
DocumentationCommentId.cs (1)
22
private class ListPool<T> :
ObjectPool
<List<T>>
56 instantiations of ObjectPool
Microsoft.CodeAnalysis (31)
CodeGen\BasicBlock.cs (1)
59
return new
ObjectPool
<BasicBlock>(() => new PooledBasicBlock(), size);
Collections\CachingFactory.cs (1)
198
var pool = new
ObjectPool
<CachingIdentityFactory<TKey, TValue>>(
Collections\OrderPreservingMultiDictionary.cs (1)
60
var pool = new
ObjectPool
<OrderPreservingMultiDictionary<K, V>>(
CommandLine\AnalyzerConfigSet.cs (3)
55
new
ObjectPool
<TreeOptions.Builder>(() => ImmutableDictionary.CreateBuilder<string, ReportDiagnostic>(Section.PropertiesKeyComparer));
58
new
ObjectPool
<AnalyzerOptions.Builder>(() => ImmutableDictionary.CreateBuilder<string, string>(Section.PropertiesKeyComparer));
60
private readonly ObjectPool<List<Section>> _sectionKeyPool = new
ObjectPool
<List<Section>>(() => new List<Section>());
Diagnostic\DiagnosticBag.cs (1)
340
return new
ObjectPool
<DiagnosticBag>(() => new DiagnosticBag(), size);
DiagnosticAnalyzer\AnalyzerExecutor.AnalyzerDiagnosticReporter.cs (1)
25
new
ObjectPool
<AnalyzerDiagnosticReporter>(() => new AnalyzerDiagnosticReporter(), 10);
DocumentationComments\XmlDocumentationCommentTextReader.cs (1)
24
new
ObjectPool
<XmlDocumentationCommentTextReader>(() => new XmlDocumentationCommentTextReader(), size: 2);
InternalUtilities\BlobBuildingStream.cs (1)
20
private static readonly ObjectPool<BlobBuildingStream> s_pool = new
ObjectPool
<BlobBuildingStream>(() => new BlobBuildingStream());
InternalUtilities\StringTable.cs (1)
90
var pool = new
ObjectPool
<StringTable>(pool => new StringTable(pool), Environment.ProcessorCount * 2);
InternalUtilities\TextKeyedCache.cs (1)
86
var pool = new
ObjectPool
<TextKeyedCache<T>>(
PEWriter\PooledBlobBuilder.cs (1)
20
private static readonly ObjectPool<PooledBlobBuilder> s_chunkPool = new
ObjectPool
<PooledBlobBuilder>(() => new PooledBlobBuilder(PoolChunkSize), PoolSize);
ReferenceManager\CommonReferenceManager.Binding.cs (3)
19
new
ObjectPool
<MultiDictionary<string, (AssemblyData DefinitionData, int DefinitionIndex)>>(() => new MultiDictionary<string, (AssemblyData DefinitionData, int DefinitionIndex)>(AssemblyIdentityComparer.SimpleNameComparer));
723
private static readonly ObjectPool<Queue<AssemblyReferenceCandidate>> s_candidatesToExaminePool = new
ObjectPool
<Queue<AssemblyReferenceCandidate>>(() => new Queue<AssemblyReferenceCandidate>());
724
private static readonly ObjectPool<List<TAssemblySymbol?>> s_candidateReferencedSymbolsPool = new
ObjectPool
<List<TAssemblySymbol?>>(() => new List<TAssemblySymbol?>(capacity: 1024));
SourceGeneration\Nodes\SyntaxValueProvider_ForAttributeWithSimpleName.cs (2)
31
private static readonly ObjectPool<Stack<string>> s_stringStackPool = new
ObjectPool
<Stack<string>>(static () => new Stack<string>());
32
private static readonly ObjectPool<Stack<SyntaxNode>> s_nodeStackPool = new
ObjectPool
<Stack<SyntaxNode>>(static () => new Stack<SyntaxNode>());
src\Dependencies\PooledObjects\ArrayBuilder.cs (1)
525
pool = new
ObjectPool
<ArrayBuilder<T>>(() => new ArrayBuilder<T>(pool!), size);
src\Dependencies\PooledObjects\PooledDelegates.cs (1)
21
public static readonly ObjectPool<T> Instance =
new
(() => new T(), 20);
src\Dependencies\PooledObjects\PooledDictionary.cs (1)
51
pool = new
ObjectPool
<PooledDictionary<K, V>>(() => new PooledDictionary<K, V>(pool!, keyComparer), 128);
src\Dependencies\PooledObjects\PooledHashSet.cs (1)
40
pool = new
ObjectPool
<PooledHashSet<T>>(() => new PooledHashSet<T>(pool!, equalityComparer), 128);
src\Dependencies\PooledObjects\PooledStringBuilder.cs (1)
88
pool = new
ObjectPool
<PooledStringBuilder>(() => new PooledStringBuilder(pool!), size);
Syntax\SyntaxNavigator.cs (2)
93
= new
ObjectPool
<Stack<ChildSyntaxList.Enumerator>>(() => new Stack<ChildSyntaxList.Enumerator>(), 10);
139
= new
ObjectPool
<Stack<ChildSyntaxList.Reversed.Enumerator>>(() => new Stack<ChildSyntaxList.Reversed.Enumerator>(), 10);
Syntax\SyntaxNode.Iterators.cs (2)
47
private static readonly ObjectPool<ChildSyntaxList.Enumerator[]> s_stackPool = new
ObjectPool
<ChildSyntaxList.Enumerator[]>(() => new ChildSyntaxList.Enumerator[16]);
133
private static readonly ObjectPool<SyntaxTriviaList.Enumerator[]> s_stackPool = new
ObjectPool
<SyntaxTriviaList.Enumerator[]>(() => new SyntaxTriviaList.Enumerator[16]);
Syntax\SyntaxTriviaList.cs (1)
293
new
ObjectPool
<SyntaxTriviaListBuilder>(() => SyntaxTriviaListBuilder.Create());
Text\CompositeText.cs (1)
364
= new
ObjectPool
<HashSet<SourceText>>(() => new HashSet<SourceText>(), 5);
Text\SourceText.cs (2)
33
private static readonly ObjectPool<char[]> s_charArrayPool = new
ObjectPool
<char[]>(() => new char[CharBufferSize], CharBufferCount);
34
private static readonly ObjectPool<XxHash128> s_contentHashPool = new
ObjectPool
<XxHash128>(() => new XxHash128());
Microsoft.CodeAnalysis.CSharp (25)
Binder\BinderFactory.cs (1)
59
= new
ObjectPool
<BinderFactoryVisitor>(static () => new BinderFactoryVisitor(), 64);
Binder\BindingDiagnosticBag.cs (4)
15
private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithBoth = new
ObjectPool
<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithBoth!, new DiagnosticBag(), new HashSet<AssemblySymbol>()));
16
private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithDiagnosticsOnly = new
ObjectPool
<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithDiagnosticsOnly!, new DiagnosticBag(), dependenciesBag: null));
17
private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithDependenciesOnly = new
ObjectPool
<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithDependenciesOnly!, diagnosticBag: null, new HashSet<AssemblySymbol>()));
18
private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithConcurrent = new
ObjectPool
<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithConcurrent!, new DiagnosticBag(), new Roslyn.Utilities.ConcurrentSet<AssemblySymbol>()));
Binder\DecisionDagBuilder.cs (1)
1844
private static readonly ObjectPool<DagState> s_dagStatePool = new
ObjectPool
<DagState>(static () => new DagState());
Binder\ExpressionVariableFinder.cs (2)
669
return new
ObjectPool
<ExpressionVariableFinder>(() => new ExpressionVariableFinder(), 10);
742
return new
ObjectPool
<ExpressionFieldFinder>(() => new ExpressionFieldFinder(), 10);
Binder\LookupResult.cs (1)
304
pool = new
ObjectPool
<LookupResult>(() => new LookupResult(pool), 128); // we rarely need more than 10
Binder\LookupSymbolsInfo.cs (1)
18
private static readonly ObjectPool<LookupSymbolsInfo> s_pool = new
ObjectPool
<LookupSymbolsInfo>(() => new LookupSymbolsInfo(), poolSize);
Binder\Semantics\Operators\BinaryOperatorOverloadResolutionResult.cs (1)
145
pool = new
ObjectPool
<BinaryOperatorOverloadResolutionResult>(() => new BinaryOperatorOverloadResolutionResult(), 10);
Binder\Semantics\Operators\UnaryOperatorOverloadResolutionResult.cs (1)
142
pool = new
ObjectPool
<UnaryOperatorOverloadResolutionResult>(() => new UnaryOperatorOverloadResolutionResult(), 10);
Binder\Semantics\OverloadResolution\AnalyzedArguments.cs (1)
180
pool = new
ObjectPool
<AnalyzedArguments>(() => new AnalyzedArguments(), 10);
Binder\Semantics\OverloadResolution\MethodGroup.cs (1)
157
pool = new
ObjectPool
<MethodGroup>(() => new MethodGroup(), 10);
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1600
pool = new
ObjectPool
<OverloadResolutionResult<TMember>>(() => new OverloadResolutionResult<TMember>(), 10);
CodeGen\Optimizer.cs (1)
291
pool = new
ObjectPool
<LocalDefUseInfo>(() => new LocalDefUseInfo(pool), 128);
Compilation\SyntaxAndDeclarationManager.cs (1)
23
new
ObjectPool
<Stack<SingleNamespaceOrTypeDeclaration>>(() => new Stack<SingleNamespaceOrTypeDeclaration>());
Parser\LexerCache.cs (1)
16
private static readonly ObjectPool<LexerCache> s_lexerCachePool = new
ObjectPool
<LexerCache>(() => new LexerCache());
Parser\SlidingTextWindow.cs (1)
57
private static readonly ObjectPool<char[]> s_windowPool = new
ObjectPool
<char[]>(() => new char[DefaultWindowLength]);
Parser\SyntaxParser.cs (2)
38
private static readonly ObjectPool<BlendedNode[]> s_blendedNodesPool = new
ObjectPool
<BlendedNode[]>(() => new BlendedNode[32]);
39
private static readonly ObjectPool<ArrayElement<SyntaxToken>[]> s_lexedTokensPool = new
ObjectPool
<ArrayElement<SyntaxToken>[]>(() => new ArrayElement<SyntaxToken>[CachedTokenArraySize]);
SymbolDisplay\SymbolDisplayVisitor.cs (1)
18
private static readonly ObjectPool<SymbolDisplayVisitor> s_visitorPool = new
ObjectPool
<SymbolDisplayVisitor>(pool => new SymbolDisplayVisitor(pool), 128);
Symbols\ConstraintsHelper.cs (1)
556
private static readonly ObjectPool<CheckConstraintsArgsBoxed> s_checkConstraintsArgsBoxedPool = new
ObjectPool
<CheckConstraintsArgsBoxed>(static () => new CheckConstraintsArgsBoxed());
Symbols\TypeSymbolExtensions.cs (1)
25
= new
ObjectPool
<VisitTypeData>(() => new VisitTypeData(), size: 4);
Syntax\SyntaxEquivalence.cs (1)
17
new
ObjectPool
<Stack<(GreenNode?, GreenNode?)>>(() => new Stack<(GreenNode?, GreenNode?)>());
128 references to ObjectPool
Microsoft.CodeAnalysis (69)
CodeGen\BasicBlock.cs (2)
56
public static readonly
ObjectPool
<BasicBlock> Pool = CreatePool(32);
57
private static
ObjectPool
<BasicBlock> CreatePool(int size)
Collections\CachingFactory.cs (5)
132
private readonly
ObjectPool
<CachingIdentityFactory<TKey, TValue>>? _pool;
146
public CachingIdentityFactory(int size, Func<TKey, TValue> valueFactory,
ObjectPool
<CachingIdentityFactory<TKey, TValue>> pool) :
196
public static
ObjectPool
<CachingIdentityFactory<TKey, TValue>> CreatePool(int size, Func<TKey, TValue> valueFactory)
198
var
pool = new ObjectPool<CachingIdentityFactory<TKey, TValue>>(
207
var
pool = _pool;
Collections\OrderPreservingMultiDictionary.cs (5)
30
private readonly
ObjectPool
<OrderPreservingMultiDictionary<K, V>>? _pool;
32
private OrderPreservingMultiDictionary(
ObjectPool
<OrderPreservingMultiDictionary<K, V>> pool)
55
private static readonly
ObjectPool
<OrderPreservingMultiDictionary<K, V>> s_poolInstance = CreatePool();
58
public static
ObjectPool
<OrderPreservingMultiDictionary<K, V>> CreatePool()
60
var
pool = new ObjectPool<OrderPreservingMultiDictionary<K, V>>(
CommandLine\AnalyzerConfigSet.cs (4)
54
private readonly
ObjectPool
<TreeOptions.Builder> _treeOptionsPool =
57
private readonly
ObjectPool
<AnalyzerOptions.Builder> _analyzerOptionsPool =
60
private readonly
ObjectPool
<List<Section>> _sectionKeyPool = new ObjectPool<List<Section>>(() => new List<Section>());
324
static void freeKey(List<Section> sectionKey,
ObjectPool
<List<Section>> pool)
Diagnostic\DiagnosticBag.cs (2)
337
private static readonly
ObjectPool
<DiagnosticBag> s_poolInstance = CreatePool(128);
338
private static
ObjectPool
<DiagnosticBag> CreatePool(int size)
DiagnosticAnalyzer\AnalyzerExecutor.AnalyzerDiagnosticReporter.cs (1)
24
private static readonly
ObjectPool
<AnalyzerDiagnosticReporter> s_objectPool =
DocumentationComments\XmlDocumentationCommentTextReader.cs (1)
23
private static readonly
ObjectPool
<XmlDocumentationCommentTextReader> s_pool =
InternalUtilities\BlobBuildingStream.cs (1)
20
private static readonly
ObjectPool
<BlobBuildingStream> s_pool = new ObjectPool<BlobBuildingStream>(() => new BlobBuildingStream());
InternalUtilities\StringTable.cs (5)
80
private StringTable(
ObjectPool
<StringTable>? pool)
85
private readonly
ObjectPool
<StringTable>? _pool;
86
private static readonly
ObjectPool
<StringTable> s_staticPool = CreatePool();
88
private static
ObjectPool
<StringTable> CreatePool()
90
var
pool = new ObjectPool<StringTable>(pool => new StringTable(pool), Environment.ProcessorCount * 2);
InternalUtilities\TextKeyedCache.cs (5)
75
private TextKeyedCache(
ObjectPool
<TextKeyedCache<T>>? pool)
81
private readonly
ObjectPool
<TextKeyedCache<T>>? _pool;
82
private static readonly
ObjectPool
<TextKeyedCache<T>> s_staticPool = CreatePool();
84
private static
ObjectPool
<TextKeyedCache<T>> CreatePool()
86
var
pool = new ObjectPool<TextKeyedCache<T>>(
PEWriter\PooledBlobBuilder.cs (1)
20
private static readonly
ObjectPool
<PooledBlobBuilder> s_chunkPool = new ObjectPool<PooledBlobBuilder>(() => new PooledBlobBuilder(PoolChunkSize), PoolSize);
ReferenceManager\CommonReferenceManager.Binding.cs (3)
18
private static readonly
ObjectPool
<MultiDictionary<string, (AssemblyData DefinitionData, int DefinitionIndex)>> s_pool =
723
private static readonly
ObjectPool
<Queue<AssemblyReferenceCandidate>> s_candidatesToExaminePool = new ObjectPool<Queue<AssemblyReferenceCandidate>>(() => new Queue<AssemblyReferenceCandidate>());
724
private static readonly
ObjectPool
<List<TAssemblySymbol?>> s_candidateReferencedSymbolsPool = new ObjectPool<List<TAssemblySymbol?>>(() => new List<TAssemblySymbol?>(capacity: 1024));
SourceGeneration\Nodes\SyntaxValueProvider_ForAttributeWithSimpleName.cs (2)
31
private static readonly
ObjectPool
<Stack<string>> s_stringStackPool = new ObjectPool<Stack<string>>(static () => new Stack<string>());
32
private static readonly
ObjectPool
<Stack<SyntaxNode>> s_nodeStackPool = new ObjectPool<Stack<SyntaxNode>>(static () => new Stack<SyntaxNode>());
src\Dependencies\PooledObjects\ArrayBuilder.cs (7)
58
private readonly
ObjectPool
<ArrayBuilder<T>>? _pool;
69
private ArrayBuilder(
ObjectPool
<ArrayBuilder<T>> pool)
458
var
pool = _pool;
489
private static readonly
ObjectPool
<ArrayBuilder<T>> s_poolInstance = CreatePool();
517
public static
ObjectPool
<ArrayBuilder<T>> CreatePool()
522
public static
ObjectPool
<ArrayBuilder<T>> CreatePool(int size)
524
ObjectPool
<ArrayBuilder<T>>? pool = null;
src\Dependencies\PooledObjects\ObjectPool`1.cs (1)
124
internal ObjectPool(Func<
ObjectPool
<T>, T> factory, int size)
src\Dependencies\PooledObjects\PooledDelegates.cs (1)
21
public static readonly
ObjectPool
<T> Instance = new(() => new T(), 20);
src\Dependencies\PooledObjects\PooledDictionary.cs (5)
21
private readonly
ObjectPool
<PooledDictionary<K, V>> _pool;
23
private PooledDictionary(
ObjectPool
<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer)
45
private static readonly
ObjectPool
<PooledDictionary<K, V>> s_poolInstance = CreatePool(EqualityComparer<K>.Default);
48
public static
ObjectPool
<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
50
ObjectPool
<PooledDictionary<K, V>>? pool = null;
src\Dependencies\PooledObjects\PooledHashSet.cs (5)
19
private readonly
ObjectPool
<PooledHashSet<T>> _pool;
21
private PooledHashSet(
ObjectPool
<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) :
34
private static readonly
ObjectPool
<PooledHashSet<T>> s_poolInstance = CreatePool(EqualityComparer<T>.Default);
37
public static
ObjectPool
<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer)
39
ObjectPool
<PooledHashSet<T>>? pool = null;
src\Dependencies\PooledObjects\PooledStringBuilder.cs (5)
26
private readonly
ObjectPool
<PooledStringBuilder> _pool;
28
private PooledStringBuilder(
ObjectPool
<PooledStringBuilder> pool)
78
private static readonly
ObjectPool
<PooledStringBuilder> s_poolInstance = CreatePool();
85
public static
ObjectPool
<PooledStringBuilder> CreatePool(int size = 32)
87
ObjectPool
<PooledStringBuilder>? pool = null;
Syntax\SyntaxNavigator.cs (2)
92
private static readonly
ObjectPool
<Stack<ChildSyntaxList.Enumerator>> s_childEnumeratorStackPool
138
private static readonly
ObjectPool
<Stack<ChildSyntaxList.Reversed.Enumerator>> s_childReversedEnumeratorStackPool
Syntax\SyntaxNode.Iterators.cs (2)
47
private static readonly
ObjectPool
<ChildSyntaxList.Enumerator[]> s_stackPool = new ObjectPool<ChildSyntaxList.Enumerator[]>(() => new ChildSyntaxList.Enumerator[16]);
133
private static readonly
ObjectPool
<SyntaxTriviaList.Enumerator[]> s_stackPool = new ObjectPool<SyntaxTriviaList.Enumerator[]>(() => new SyntaxTriviaList.Enumerator[16]);
Syntax\SyntaxTriviaList.cs (1)
292
private static readonly
ObjectPool
<SyntaxTriviaListBuilder> s_builderPool =
Text\CompositeText.cs (1)
363
private static readonly
ObjectPool
<HashSet<SourceText>> s_uniqueSourcesPool
Text\SourceText.cs (2)
33
private static readonly
ObjectPool
<char[]> s_charArrayPool = new ObjectPool<char[]>(() => new char[CharBufferSize], CharBufferCount);
34
private static readonly
ObjectPool
<XxHash128> s_contentHashPool = new ObjectPool<XxHash128>(() => new XxHash128());
Microsoft.CodeAnalysis.CSharp (59)
Binder\BinderFactory.cs (3)
58
private static readonly
ObjectPool
<BinderFactoryVisitor> s_binderFactoryVisitorPool
61
private readonly
ObjectPool
<BinderFactoryVisitor> _binderFactoryVisitorPool;
63
internal BinderFactory(CSharpCompilation compilation, SyntaxTree syntaxTree, bool ignoreAccessibility,
ObjectPool
<BinderFactoryVisitor> binderFactoryVisitorPoolOpt = null)
Binder\BindingDiagnosticBag.cs (6)
15
private static readonly
ObjectPool
<BindingDiagnosticBag> s_poolWithBoth = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithBoth!, new DiagnosticBag(), new HashSet<AssemblySymbol>()));
16
private static readonly
ObjectPool
<BindingDiagnosticBag> s_poolWithDiagnosticsOnly = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithDiagnosticsOnly!, new DiagnosticBag(), dependenciesBag: null));
17
private static readonly
ObjectPool
<BindingDiagnosticBag> s_poolWithDependenciesOnly = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithDependenciesOnly!, diagnosticBag: null, new HashSet<AssemblySymbol>()));
18
private static readonly
ObjectPool
<BindingDiagnosticBag> s_poolWithConcurrent = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithConcurrent!, new DiagnosticBag(), new Roslyn.Utilities.ConcurrentSet<AssemblySymbol>()));
22
private readonly
ObjectPool
<BindingDiagnosticBag>? _pool;
29
private BindingDiagnosticBag(
ObjectPool
<BindingDiagnosticBag> pool, DiagnosticBag? diagnosticBag, ICollection<AssemblySymbol>? dependenciesBag)
Binder\DecisionDagBuilder.cs (2)
55
private static readonly
ObjectPool
<PooledDictionary<DagState, DagState>> s_uniqueStatePool =
1844
private static readonly
ObjectPool
<DagState> s_dagStatePool = new ObjectPool<DagState>(static () => new DagState());
Binder\ExpressionVariableFinder.cs (4)
665
private static readonly
ObjectPool
<ExpressionVariableFinder> s_poolInstance = CreatePool();
667
public static
ObjectPool
<ExpressionVariableFinder> CreatePool()
738
private static readonly
ObjectPool
<ExpressionFieldFinder> s_poolInstance = CreatePool();
740
public static
ObjectPool
<ExpressionFieldFinder> CreatePool()
Binder\LookupResult.cs (5)
73
private readonly
ObjectPool
<LookupResult> _pool;
75
private LookupResult(
ObjectPool
<LookupResult> pool)
298
private static readonly
ObjectPool
<LookupResult> s_poolInstance = CreatePool();
301
internal static
ObjectPool
<LookupResult> CreatePool()
303
ObjectPool
<LookupResult> pool = null;
Binder\LookupSymbolsInfo.cs (1)
18
private static readonly
ObjectPool
<LookupSymbolsInfo> s_pool = new ObjectPool<LookupSymbolsInfo>(() => new LookupSymbolsInfo(), poolSize);
Binder\Semantics\Operators\BinaryOperatorOverloadResolutionResult.cs (3)
140
public static readonly
ObjectPool
<BinaryOperatorOverloadResolutionResult> Pool = CreatePool();
142
private static
ObjectPool
<BinaryOperatorOverloadResolutionResult> CreatePool()
144
ObjectPool
<BinaryOperatorOverloadResolutionResult> pool = null;
Binder\Semantics\Operators\UnaryOperatorOverloadResolutionResult.cs (3)
137
public static readonly
ObjectPool
<UnaryOperatorOverloadResolutionResult> Pool = CreatePool();
139
private static
ObjectPool
<UnaryOperatorOverloadResolutionResult> CreatePool()
141
ObjectPool
<UnaryOperatorOverloadResolutionResult> pool = null;
Binder\Semantics\OverloadResolution\AnalyzedArguments.cs (3)
175
public static readonly
ObjectPool
<AnalyzedArguments> Pool = CreatePool();
177
private static
ObjectPool
<AnalyzedArguments> CreatePool()
179
ObjectPool
<AnalyzedArguments>? pool = null;
Binder\Semantics\OverloadResolution\MethodGroup.cs (3)
152
public static readonly
ObjectPool
<MethodGroup> Pool = CreatePool();
154
private static
ObjectPool
<MethodGroup> CreatePool()
156
ObjectPool
<MethodGroup> pool = null;
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
59
private static readonly
ObjectPool
<PooledDictionary<NamedTypeSymbol, NamedTypeSymbol>> s_poolInstance
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
492
private static readonly
ObjectPool
<PooledHashSet<Symbol>> s_HiddenSymbolsSetPool = PooledHashSet<Symbol>.CreatePool(Microsoft.CodeAnalysis.CSharp.Symbols.SymbolEqualityComparer.AllIgnoreOptions);
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (3)
1595
private static readonly
ObjectPool
<OverloadResolutionResult<TMember>> s_pool = CreatePool();
1597
private static
ObjectPool
<OverloadResolutionResult<TMember>> CreatePool()
1599
ObjectPool
<OverloadResolutionResult<TMember>> pool = null;
CodeGen\Optimizer.cs (5)
242
private readonly
ObjectPool
<LocalDefUseInfo> _pool;
245
private static readonly
ObjectPool
<LocalDefUseInfo> s_poolInstance = CreatePool();
271
private LocalDefUseInfo(
ObjectPool
<LocalDefUseInfo> pool)
288
public static
ObjectPool
<LocalDefUseInfo> CreatePool()
290
ObjectPool
<LocalDefUseInfo> pool = null;
Compilation\SyntaxAndDeclarationManager.cs (1)
22
private static readonly
ObjectPool
<Stack<SingleNamespaceOrTypeDeclaration>> s_declarationStack =
Parser\LexerCache.cs (2)
16
private static readonly
ObjectPool
<LexerCache> s_lexerCachePool = new ObjectPool<LexerCache>(() => new LexerCache());
18
private static readonly
ObjectPool
<CachingIdentityFactory<string, SyntaxKind>> s_keywordKindPool =
Parser\SlidingTextWindow.cs (1)
57
private static readonly
ObjectPool
<char[]> s_windowPool = new ObjectPool<char[]>(() => new char[DefaultWindowLength]);
Parser\SyntaxParser.cs (2)
38
private static readonly
ObjectPool
<BlendedNode[]> s_blendedNodesPool = new ObjectPool<BlendedNode[]>(() => new BlendedNode[32]);
39
private static readonly
ObjectPool
<ArrayElement<SyntaxToken>[]> s_lexedTokensPool = new ObjectPool<ArrayElement<SyntaxToken>[]>(() => new ArrayElement<SyntaxToken>[CachedTokenArraySize]);
SymbolDisplay\SymbolDisplayVisitor.cs (3)
18
private static readonly
ObjectPool
<SymbolDisplayVisitor> s_visitorPool = new ObjectPool<SymbolDisplayVisitor>(pool => new SymbolDisplayVisitor(pool), 128);
20
private readonly
ObjectPool
<SymbolDisplayVisitor> _pool;
25
private SymbolDisplayVisitor(
ObjectPool
<SymbolDisplayVisitor> pool)
Symbols\ConstraintsHelper.cs (1)
556
private static readonly
ObjectPool
<CheckConstraintsArgsBoxed> s_checkConstraintsArgsBoxedPool = new ObjectPool<CheckConstraintsArgsBoxed>(static () => new CheckConstraintsArgsBoxed());
Symbols\NamespaceOrTypeSymbol.cs (1)
23
protected static readonly
ObjectPool
<PooledDictionary<ReadOnlyMemory<char>, object>> s_nameToObjectPool =
Symbols\Source\SourceMemberContainerSymbol.cs (1)
182
private static readonly
ObjectPool
<PooledDictionary<Symbol, Symbol>> s_duplicateRecordMemberSignatureDictionary =
Symbols\SpecializedSymbolCollections.cs (2)
22
internal static readonly
ObjectPool
<PooledHashSet<TSymbol>> s_poolInstance = PooledHashSet<TSymbol>.CreatePool(SymbolEqualityComparer.ConsiderEverything);
34
internal static readonly
ObjectPool
<PooledDictionary<TSymbol, V>> s_poolInstance = PooledDictionary<TSymbol, V>.CreatePool(SymbolEqualityComparer.ConsiderEverything);
Symbols\TypeSymbolExtensions.cs (1)
24
private static readonly
ObjectPool
<VisitTypeData> s_visitTypeDataPool
Syntax\SyntaxEquivalence.cs (1)
16
private static readonly
ObjectPool
<Stack<(GreenNode? before, GreenNode? after)>> s_equivalenceCheckStack =