From f553acb35ee902ec9e7dcb6e94ecaa1f24cabbd7 Mon Sep 17 00:00:00 2001 From: AdamSpeight2008 Date: Wed, 18 Nov 2020 00:51:37 +0000 Subject: [PATCH 1/2] Additional usage of a PooledHashset. --- .../VisualBasic/Portable/Compilation/SemanticModel.vb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb b/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb index b86a572745fd0..d021f87931640 100644 --- a/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb +++ b/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb @@ -891,7 +891,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic End If Else ' 2 or more symbols. Use a hash set to remove duplicates. - Dim symbolSet As New HashSet(Of Symbol) + Dim symbolSet = PooledHashSet(Of Symbol).GetInstance() For Each s In symbolsBuilder If (options And SymbolInfoOptions.ResolveAliases) <> 0 Then s = UnwrapAlias(s) @@ -909,7 +909,9 @@ Namespace Microsoft.CodeAnalysis.VisualBasic End If Next - Return ImmutableArray.CreateRange(symbolSet) + Dim tmp = ImmutableArray.CreateRange(symbolSet) + symbolSet.Free() + Return tmp End If End Function From 43eb49099de5db8bbb4ee0114823b661d5230238 Mon Sep 17 00:00:00 2001 From: AdamSpeight2008 Date: Thu, 19 Nov 2020 14:45:19 +0000 Subject: [PATCH 2/2] Renaming introduced temporary variable to "result". --- .../VisualBasic/Portable/Compilation/SemanticModel.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb b/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb index d021f87931640..2b5fc1facb7a3 100644 --- a/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb +++ b/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb @@ -909,9 +909,9 @@ Namespace Microsoft.CodeAnalysis.VisualBasic End If Next - Dim tmp = ImmutableArray.CreateRange(symbolSet) + Dim result = ImmutableArray.CreateRange(symbolSet) symbolSet.Free() - Return tmp + Return result End If End Function