28 references to ObjectPool
Microsoft.CodeAnalysis (16)
CodeGen\BasicBlock.cs (1)
59
return new
ObjectPool
<BasicBlock>(() => new PooledBasicBlock(), size);
Diagnostic\DiagnosticBag.cs (1)
340
return new
ObjectPool
<DiagnosticBag>(() => new DiagnosticBag(), size);
DiagnosticAnalyzer\AnalyzerExecutor.AnalyzerDiagnosticReporter.cs (1)
25
new
ObjectPool
<AnalyzerDiagnosticReporter>(() => new AnalyzerDiagnosticReporter(), 10);
DocumentationCommentId.cs (1)
25
:
base
(() => new List<T>(10), 10)
DocumentationComments\XmlDocumentationCommentTextReader.cs (1)
24
new
ObjectPool
<XmlDocumentationCommentTextReader>(() => new XmlDocumentationCommentTextReader(), size: 2);
PEWriter\PooledBlobBuilder.cs (1)
20
private static readonly ObjectPool<PooledBlobBuilder> s_chunkPool = new
ObjectPool
<PooledBlobBuilder>(() => new PooledBlobBuilder(PoolChunkSize), PoolSize);
src\Dependencies\PooledObjects\ArrayBuilder.cs (1)
525
pool = new
ObjectPool
<ArrayBuilder<T>>(() => new ArrayBuilder<T>(pool!), size);
src\Dependencies\PooledObjects\ObjectPool`1.cs (1)
112
:
this
(factory, Environment.ProcessorCount * 2, trimOnFree)
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);
Text\CompositeText.cs (1)
364
= new
ObjectPool
<HashSet<SourceText>>(() => new HashSet<SourceText>(), 5);
Text\SourceText.cs (1)
33
private static readonly ObjectPool<char[]> s_charArrayPool = new
ObjectPool
<char[]>(() => new char[CharBufferSize], CharBufferCount);
Microsoft.CodeAnalysis.CSharp (12)
Binder\BinderFactory.cs (1)
59
= new
ObjectPool
<BinderFactoryVisitor>(static () => new BinderFactoryVisitor(), 64);
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);
Symbols\TypeSymbolExtensions.cs (1)
25
= new
ObjectPool
<VisitTypeData>(() => new VisitTypeData(), size: 4);