Skip to content

Conversation

@AndyAyersMS
Copy link
Member

Update jump threading so that whenever possible it re-uses the original
block, rather than bypassing it. This lays the groundwork for a subsequent
change that will allow jump threading when the block with the threadable
jump has side effects.

Also handle the case where we have both a fall through pred and an ambiguous
pred, by treating the fall through pred as ambiguous.

Update jump threading so that whenever possible it re-uses the original
block, rather than bypassing it. This lays the groundwork for a subsequent
change that will allow jump threading when the block with the threadable
jump has side effects.

Also handle the case where we have both a fall through pred and an ambiguous
pred, by treating the fall through pred as ambiguous.
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 26, 2021
@ghost
Copy link

ghost commented Oct 26, 2021

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

Update jump threading so that whenever possible it re-uses the original
block, rather than bypassing it. This lays the groundwork for a subsequent
change that will allow jump threading when the block with the threadable
jump has side effects.

Also handle the case where we have both a fall through pred and an ambiguous
pred, by treating the fall through pred as ambiguous.

Author: AndyAyersMS
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@AndyAyersMS
Copy link
Member Author

cc @dotnet/jit-contrib

Notes on diffs: a few cases where we do more jump threading (since we now "handle" the amb+ft case), and a few others where we stop doing a CSE as we clean up block more often and so delete a redundant expression occurrence.

aspnet.run.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 11893704 (overridden on cmd)
Total bytes of diff: 11893744 (overridden on cmd)
Total bytes of delta: 40 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs


Top file regressions (bytes):
           6 : 33392.dasm (0.53% of base)
           5 : 24973.dasm (0.97% of base)
           5 : 28606.dasm (0.72% of base)
           5 : 30464.dasm (0.97% of base)
           5 : 39722.dasm (0.74% of base)
           4 : 34044.dasm (1.97% of base)
           4 : 31378.dasm (1.47% of base)
           4 : 36249.dasm (1.97% of base)
           4 : 33619.dasm (1.48% of base)

Top file improvements (bytes):
          -2 : 30139.dasm (-0.18% of base)

10 total files with Code Size differences (1 improved, 9 regressed), 2 unchanged.

Top method regressions (bytes):
           6 ( 0.53% of base) : 33392.dasm - NpgsqlConnector:ReadParameterStatus(ReadOnlySpan`1,ReadOnlySpan`1):this
           5 ( 0.97% of base) : 24973.dasm - <<DisposeAsync>g__DisposeAsyncCore|70_0>d:MoveNext():this
           5 ( 0.72% of base) : 28606.dasm - <<DisposeAsync>g__DisposeAsyncCore|70_0>d:MoveNext():this
           5 ( 0.97% of base) : 30464.dasm - <<DisposeAsync>g__DisposeAsyncCore|70_0>d:MoveNext():this
           5 ( 0.74% of base) : 39722.dasm - <<DisposeAsync>g__DisposeAsyncCore|70_0>d:MoveNext():this
           4 ( 1.97% of base) : 34044.dasm - NpgsqlDataReader:Dispose(bool):this
           4 ( 1.47% of base) : 31378.dasm - NpgsqlDataReader:Dispose(bool):this
           4 ( 1.97% of base) : 36249.dasm - NpgsqlDataReader:Dispose(bool):this
           4 ( 1.48% of base) : 33619.dasm - NpgsqlDataReader:Dispose(bool):this

Top method improvements (bytes):
          -2 (-0.18% of base) : 30139.dasm - NpgsqlConnector:ReadParameterStatus(ReadOnlySpan`1,ReadOnlySpan`1):this

Top method regressions (percentages):
           4 ( 1.97% of base) : 34044.dasm - NpgsqlDataReader:Dispose(bool):this
           4 ( 1.97% of base) : 36249.dasm - NpgsqlDataReader:Dispose(bool):this
           4 ( 1.48% of base) : 33619.dasm - NpgsqlDataReader:Dispose(bool):this
           4 ( 1.47% of base) : 31378.dasm - NpgsqlDataReader:Dispose(bool):this
           5 ( 0.97% of base) : 30464.dasm - <<DisposeAsync>g__DisposeAsyncCore|70_0>d:MoveNext():this
           5 ( 0.97% of base) : 24973.dasm - <<DisposeAsync>g__DisposeAsyncCore|70_0>d:MoveNext():this
           5 ( 0.74% of base) : 39722.dasm - <<DisposeAsync>g__DisposeAsyncCore|70_0>d:MoveNext():this
           5 ( 0.72% of base) : 28606.dasm - <<DisposeAsync>g__DisposeAsyncCore|70_0>d:MoveNext():this
           6 ( 0.53% of base) : 33392.dasm - NpgsqlConnector:ReadParameterStatus(ReadOnlySpan`1,ReadOnlySpan`1):this

Top method improvements (percentages):
          -2 (-0.18% of base) : 30139.dasm - NpgsqlConnector:ReadParameterStatus(ReadOnlySpan`1,ReadOnlySpan`1):this

10 total methods with Code Size differences (1 improved, 9 regressed), 2 unchanged.


benchmarks.run.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 7236062 (overridden on cmd)
Total bytes of diff: 7236093 (overridden on cmd)
Total bytes of delta: 31 (0.00 % of base)
    diff is a regression.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          26 : 10428.dasm (0.23% of base)
           4 : 2810.dasm (0.68% of base)
           1 : 6081.dasm (0.61% of base)
           1 : 13347.dasm (0.27% of base)
           1 : 839.dasm (0.01% of base)
           1 : 13954.dasm (0.33% of base)

Top file improvements (bytes):
          -3 : 9653.dasm (-2.91% of base)

7 total files with Code Size differences (1 improved, 6 regressed), 15 unchanged.

Top method regressions (bytes):
          26 ( 0.23% of base) : 10428.dasm - MessagePack.Internal.ObjectSerializationInfo:CreateOrNull(System.Type,bool,bool,bool):MessagePack.Internal.ObjectSerializationInfo
           4 ( 0.68% of base) : 2810.dasm - System.Xml.Serialization.TempAssembly:LoadAssemblyByPath(System.Type,System.String):System.Reflection.Assembly
           1 ( 0.27% of base) : 13347.dasm - Microsoft.Extensions.Primitives.StringSegmentBenchmark:Equals_Object_Valid():bool:this
           1 ( 0.33% of base) : 13954.dasm - Microsoft.Extensions.Primitives.StringSegmentBenchmark:Equals_Valid():bool:this
           1 ( 0.01% of base) : 839.dasm - System.Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[Char],System.Globalization.NumberFormatInfo)
           1 ( 0.61% of base) : 6081.dasm - System.Text.RegularExpressions.RegexNode:ReplaceChild(int,System.Text.RegularExpressions.RegexNode):this

Top method improvements (bytes):
          -3 (-2.91% of base) : 9653.dasm - HttpContentReadStream:Dispose(bool):this

Top method regressions (percentages):
           4 ( 0.68% of base) : 2810.dasm - System.Xml.Serialization.TempAssembly:LoadAssemblyByPath(System.Type,System.String):System.Reflection.Assembly
           1 ( 0.61% of base) : 6081.dasm - System.Text.RegularExpressions.RegexNode:ReplaceChild(int,System.Text.RegularExpressions.RegexNode):this
           1 ( 0.33% of base) : 13954.dasm - Microsoft.Extensions.Primitives.StringSegmentBenchmark:Equals_Valid():bool:this
           1 ( 0.27% of base) : 13347.dasm - Microsoft.Extensions.Primitives.StringSegmentBenchmark:Equals_Object_Valid():bool:this
          26 ( 0.23% of base) : 10428.dasm - MessagePack.Internal.ObjectSerializationInfo:CreateOrNull(System.Type,bool,bool,bool):MessagePack.Internal.ObjectSerializationInfo
           1 ( 0.01% of base) : 839.dasm - System.Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[Char],System.Globalization.NumberFormatInfo)

Top method improvements (percentages):
          -3 (-2.91% of base) : 9653.dasm - HttpContentReadStream:Dispose(bool):this

7 total methods with Code Size differences (1 improved, 6 regressed), 15 unchanged.


coreclr_tests.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 127268817 (overridden on cmd)
Total bytes of diff: 127268818 (overridden on cmd)
Total bytes of delta: 1 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs


Top file regressions (bytes):
           4 : 233431.dasm (1.16% of base)

Top file improvements (bytes):
          -2 : 252385.dasm (-0.21% of base)
          -1 : 209669.dasm (-0.09% of base)

3 total files with Code Size differences (2 improved, 1 regressed), 5 unchanged.

Top method regressions (bytes):
           4 ( 1.16% of base) : 233431.dasm - MemCheck:ParseSizeMBArgument(System.Collections.Generic.IReadOnlyList`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):int

Top method improvements (bytes):
          -2 (-0.21% of base) : 252385.dasm - Runtime_45557.ObjectBinder:GetSnapshot():Runtime_45557.ObjectBinderSnapshot
          -1 (-0.09% of base) : 209669.dasm - Internal.TypeSystem.ExplicitLayoutValidator:SetFieldLayout(System.Collections.Generic.List`1[FieldLayoutInterval],int,int,ubyte):this

Top method regressions (percentages):
           4 ( 1.16% of base) : 233431.dasm - MemCheck:ParseSizeMBArgument(System.Collections.Generic.IReadOnlyList`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):int

Top method improvements (percentages):
          -2 (-0.21% of base) : 252385.dasm - Runtime_45557.ObjectBinder:GetSnapshot():Runtime_45557.ObjectBinderSnapshot
          -1 (-0.09% of base) : 209669.dasm - Internal.TypeSystem.ExplicitLayoutValidator:SetFieldLayout(System.Collections.Generic.List`1[FieldLayoutInterval],int,int,ubyte):this

3 total methods with Code Size differences (2 improved, 1 regressed), 5 unchanged.


libraries.crossgen2.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 34150239 (overridden on cmd)
Total bytes of diff: 34150252 (overridden on cmd)
Total bytes of delta: 13 (0.00 % of base)
    diff is a regression.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          86 : 163120.dasm (0.73% of base)
          12 : 120954.dasm (0.29% of base)
           9 : 168302.dasm (0.16% of base)
           9 : 120892.dasm (0.20% of base)
           9 : 120988.dasm (0.29% of base)
           4 : 3389.dasm (0.52% of base)
           4 : 210471.dasm (0.37% of base)
           2 : 96556.dasm (0.16% of base)
           2 : 39791.dasm (0.22% of base)
           1 : 54233.dasm (0.01% of base)
           1 : 40603.dasm (0.05% of base)

Top file improvements (bytes):
         -28 : 144888.dasm (-1.85% of base)
         -14 : 66068.dasm (-1.79% of base)
         -13 : 66637.dasm (-0.91% of base)
         -12 : 23150.dasm (-1.27% of base)
          -8 : 205420.dasm (-0.25% of base)
          -6 : 143052.dasm (-0.13% of base)
          -6 : 98434.dasm (-1.02% of base)
          -6 : 172164.dasm (-4.51% of base)
          -6 : 172165.dasm (-4.35% of base)
          -5 : 210563.dasm (-1.24% of base)
          -3 : 155432.dasm (-2.65% of base)
          -3 : 155627.dasm (-0.77% of base)
          -3 : 168674.dasm (-7.50% of base)
          -3 : 127948.dasm (-0.30% of base)
          -2 : 138286.dasm (-1.64% of base)
          -2 : 22467.dasm (-0.16% of base)
          -2 : 66354.dasm (-0.12% of base)
          -2 : 101519.dasm (-0.33% of base)
          -2 : 193847.dasm (-0.97% of base)

30 total files with Code Size differences (19 improved, 11 regressed), 24 unchanged.

Top method regressions (bytes):
          86 ( 0.73% of base) : 163120.dasm - Microsoft.FSharp.Quotations.FSharpExpr:GetLayout(bool):Microsoft.FSharp.Text.StructuredPrintfImpl.Layout:this
          12 ( 0.29% of base) : 120954.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],System.Xml.Serialization.XmlSerializationReaderCodeGen+Member,System.String,System.String):this
           9 ( 0.16% of base) : 168302.dasm - Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[System.Char],System.Globalization.NumberFormatInfo)
           9 ( 0.29% of base) : 120988.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this
           9 ( 0.20% of base) : 120892.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this
           4 ( 0.37% of base) : 210471.dasm - System.DirectoryServices.AccountManagement.SDSCache:GetContext(System.String,System.DirectoryServices.AccountManagement.NetCred,int):System.DirectoryServices.AccountManagement.PrincipalContext:this
           4 ( 0.52% of base) : 3389.dasm - System.Drawing.Graphics:GetContextInfo(byref,bool,byref):this
           2 ( 0.22% of base) : 39791.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateToManifestConvention(System.String,System.String):System.String:this
           2 ( 0.16% of base) : 96556.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this
           1 ( 0.05% of base) : 40603.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],bool,bool):bool
           1 ( 0.01% of base) : 54233.dasm - System.Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[System.Char],System.Globalization.NumberFormatInfo)

Top method improvements (bytes):
         -28 (-1.85% of base) : 144888.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindingScore(System.Reflection.ParameterInfo[],System.Int32[],System.Type[],bool,int):int:this
         -14 (-1.79% of base) : 66068.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbol:CheckModifiers(Microsoft.CodeAnalysis.Location,bool,Microsoft.CodeAnalysis.DiagnosticBag):this
         -13 (-0.91% of base) : 66637.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceEventSymbol:CheckModifiersAndType(Microsoft.CodeAnalysis.DiagnosticBag):this
         -12 (-1.27% of base) : 23150.dasm - Microsoft.CodeAnalysis.VisualBasic.CodeGen.CodeGenerator:EmitBinaryArithOperatorInstructionAndDowncast(Microsoft.CodeAnalysis.VisualBasic.BoundBinaryOperator):this
          -8 (-0.25% of base) : 205420.dasm - System.Management.ManagementClassGenerator:GeneratePropertyHelperEnums(System.Management.PropertyData,System.String,bool):bool:this
          -6 (-1.02% of base) : 98434.dasm - DigestResponse:GetNextValue(System.String,int,bool,byref):System.String:this
          -6 (-0.13% of base) : 143052.dasm - System.Data.XmlDataTreeWriter:XmlDataRowWriter(System.Data.DataRow,System.String):this
          -6 (-4.35% of base) : 172165.dasm - System.Security.AccessControl.CommonAcl:GetAccessMaskForRemoval(System.Security.AccessControl.QualifiedAce,int,System.Guid,byref):bool:this
          -6 (-4.51% of base) : 172164.dasm - System.Security.AccessControl.CommonAcl:GetInheritanceFlagsForRemoval(System.Security.AccessControl.QualifiedAce,int,System.Guid,byref):bool:this
          -5 (-1.24% of base) : 210563.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:DateTimeFromLdapConverter(System.DirectoryServices.AccountManagement.dSPropertyCollection,System.String,System.DirectoryServices.AccountManagement.Principal,System.String,bool)
          -3 (-7.50% of base) : 168674.dasm - System.Diagnostics.Eventing.Reader.EventLogWatcher:set_Enabled(bool):this
          -3 (-0.77% of base) : 155627.dasm - System.DirectoryServices.ActiveDirectory.ForestTrustRelationshipInformation:.ctor(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.DirectoryServices.ActiveDirectory.DS_DOMAIN_TRUSTS,int):this
          -3 (-2.65% of base) : 155432.dasm - System.DirectoryServices.ActiveDirectory.TrustRelationshipInformation:.ctor(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.DirectoryServices.ActiveDirectory.TrustObject):this
          -3 (-0.30% of base) : 127948.dasm - System.Xml.Schema.SchemaCollectionCompiler:CannonicalizeAll(System.Xml.Schema.XmlSchemaAll,bool,bool):System.Xml.Schema.XmlSchemaParticle:this
          -2 (-0.33% of base) : 101519.dasm - IncompleteStack:EmitStackForEventIfReady(Microsoft.Diagnostics.Tracing.Etlx.TraceLog):bool:this
          -2 (-0.12% of base) : 66354.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:CheckModifiers(Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.DiagnosticBag):this
          -2 (-0.16% of base) : 22467.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodCompiler:CompileMethod(Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol,int,byref,byref,System.Predicate`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],Microsoft.CodeAnalysis.VisualBasic.TypeCompilationState,Microsoft.CodeAnalysis.VisualBasic.Binder+ProcessedFieldOrPropertyInitializers,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.SynthesizedSubmissionFields,byref):this
          -2 (-1.64% of base) : 138286.dasm - System.Data.Common.SqlStringStorage:Compare(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int:this
          -2 (-0.97% of base) : 193847.dasm - System.Net.NetworkInformation.Ping:InitialiseIcmpHandle():this

Top method regressions (percentages):
          86 ( 0.73% of base) : 163120.dasm - Microsoft.FSharp.Quotations.FSharpExpr:GetLayout(bool):Microsoft.FSharp.Text.StructuredPrintfImpl.Layout:this
           4 ( 0.52% of base) : 3389.dasm - System.Drawing.Graphics:GetContextInfo(byref,bool,byref):this
           4 ( 0.37% of base) : 210471.dasm - System.DirectoryServices.AccountManagement.SDSCache:GetContext(System.String,System.DirectoryServices.AccountManagement.NetCred,int):System.DirectoryServices.AccountManagement.PrincipalContext:this
           9 ( 0.29% of base) : 120988.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this
          12 ( 0.29% of base) : 120954.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],System.Xml.Serialization.XmlSerializationReaderCodeGen+Member,System.String,System.String):this
           2 ( 0.22% of base) : 39791.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateToManifestConvention(System.String,System.String):System.String:this
           9 ( 0.20% of base) : 120892.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this
           2 ( 0.16% of base) : 96556.dasm - System.Net.Http.Headers.AltSvcHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this
           9 ( 0.16% of base) : 168302.dasm - Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[System.Char],System.Globalization.NumberFormatInfo)
           1 ( 0.05% of base) : 40603.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],bool,bool):bool
           1 ( 0.01% of base) : 54233.dasm - System.Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[System.Char],System.Globalization.NumberFormatInfo)

Top method improvements (percentages):
          -3 (-7.50% of base) : 168674.dasm - System.Diagnostics.Eventing.Reader.EventLogWatcher:set_Enabled(bool):this
          -6 (-4.51% of base) : 172164.dasm - System.Security.AccessControl.CommonAcl:GetInheritanceFlagsForRemoval(System.Security.AccessControl.QualifiedAce,int,System.Guid,byref):bool:this
          -6 (-4.35% of base) : 172165.dasm - System.Security.AccessControl.CommonAcl:GetAccessMaskForRemoval(System.Security.AccessControl.QualifiedAce,int,System.Guid,byref):bool:this
          -3 (-2.65% of base) : 155432.dasm - System.DirectoryServices.ActiveDirectory.TrustRelationshipInformation:.ctor(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.DirectoryServices.ActiveDirectory.TrustObject):this
         -28 (-1.85% of base) : 144888.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:BindingScore(System.Reflection.ParameterInfo[],System.Int32[],System.Type[],bool,int):int:this
         -14 (-1.79% of base) : 66068.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbol:CheckModifiers(Microsoft.CodeAnalysis.Location,bool,Microsoft.CodeAnalysis.DiagnosticBag):this
          -2 (-1.64% of base) : 138286.dasm - System.Data.Common.SqlStringStorage:Compare(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int:this
         -12 (-1.27% of base) : 23150.dasm - Microsoft.CodeAnalysis.VisualBasic.CodeGen.CodeGenerator:EmitBinaryArithOperatorInstructionAndDowncast(Microsoft.CodeAnalysis.VisualBasic.BoundBinaryOperator):this
          -5 (-1.24% of base) : 210563.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:DateTimeFromLdapConverter(System.DirectoryServices.AccountManagement.dSPropertyCollection,System.String,System.DirectoryServices.AccountManagement.Principal,System.String,bool)
          -6 (-1.02% of base) : 98434.dasm - DigestResponse:GetNextValue(System.String,int,bool,byref):System.String:this
          -2 (-0.97% of base) : 193847.dasm - System.Net.NetworkInformation.Ping:InitialiseIcmpHandle():this
         -13 (-0.91% of base) : 66637.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceEventSymbol:CheckModifiersAndType(Microsoft.CodeAnalysis.DiagnosticBag):this
          -3 (-0.77% of base) : 155627.dasm - System.DirectoryServices.ActiveDirectory.ForestTrustRelationshipInformation:.ctor(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.DirectoryServices.ActiveDirectory.DS_DOMAIN_TRUSTS,int):this
          -2 (-0.33% of base) : 101519.dasm - IncompleteStack:EmitStackForEventIfReady(Microsoft.Diagnostics.Tracing.Etlx.TraceLog):bool:this
          -3 (-0.30% of base) : 127948.dasm - System.Xml.Schema.SchemaCollectionCompiler:CannonicalizeAll(System.Xml.Schema.XmlSchemaAll,bool,bool):System.Xml.Schema.XmlSchemaParticle:this
          -8 (-0.25% of base) : 205420.dasm - System.Management.ManagementClassGenerator:GeneratePropertyHelperEnums(System.Management.PropertyData,System.String,bool):bool:this
          -2 (-0.16% of base) : 22467.dasm - Microsoft.CodeAnalysis.VisualBasic.MethodCompiler:CompileMethod(Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol,int,byref,byref,System.Predicate`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],Microsoft.CodeAnalysis.VisualBasic.TypeCompilationState,Microsoft.CodeAnalysis.VisualBasic.Binder+ProcessedFieldOrPropertyInitializers,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.SynthesizedSubmissionFields,byref):this
          -6 (-0.13% of base) : 143052.dasm - System.Data.XmlDataTreeWriter:XmlDataRowWriter(System.Data.DataRow,System.String):this
          -2 (-0.12% of base) : 66354.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberMethodSymbol:CheckModifiers(Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.DiagnosticBag):this

30 total methods with Code Size differences (19 improved, 11 regressed), 24 unchanged.


libraries.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 45569892 (overridden on cmd)
Total bytes of diff: 45569739 (overridden on cmd)
Total bytes of delta: -153 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          19 : 202952.dasm (1.63% of base)
           8 : 35483.dasm (0.48% of base)
           7 : 149840.dasm (0.11% of base)
           5 : 145843.dasm (0.09% of base)
           5 : 201773.dasm (1.02% of base)
           4 : 229782.dasm (0.10% of base)
           4 : 229800.dasm (0.47% of base)
           4 : 138538.dasm (0.05% of base)
           4 : 189178.dasm (0.29% of base)
           4 : 137843.dasm (0.05% of base)
           4 : 229786.dasm (0.90% of base)
           4 : 26426.dasm (0.71% of base)
           4 : 116348.dasm (0.41% of base)
           4 : 144497.dasm (0.65% of base)
           4 : 137844.dasm (0.13% of base)
           1 : 124510.dasm (0.05% of base)
           1 : 224109.dasm (0.61% of base)
           1 : 164200.dasm (0.32% of base)

Top file improvements (bytes):
         -75 : 1929.dasm (-0.54% of base)
         -13 : 57924.dasm (-0.41% of base)
         -12 : 55341.dasm (-0.24% of base)
         -12 : 202003.dasm (-0.27% of base)
         -11 : 115175.dasm (-0.45% of base)
         -10 : 23968.dasm (-4.83% of base)
         -10 : 43832.dasm (-0.62% of base)
          -9 : 144817.dasm (-0.26% of base)
          -9 : 43252.dasm (-0.32% of base)
          -8 : 50183.dasm (-0.10% of base)
          -6 : 178334.dasm (-3.28% of base)
          -5 : 178328.dasm (-0.68% of base)
          -5 : 188975.dasm (-1.08% of base)
          -5 : 196047.dasm (-0.46% of base)
          -5 : 178327.dasm (-0.44% of base)
          -5 : 50000.dasm (-0.64% of base)
          -5 : 178329.dasm (-0.44% of base)
          -4 : 123794.dasm (-0.57% of base)
          -4 : 196052.dasm (-0.37% of base)
          -3 : 123940.dasm (-2.91% of base)

49 total files with Code Size differences (31 improved, 18 regressed), 89 unchanged.

Top method regressions (bytes):
          19 ( 1.63% of base) : 202952.dasm - Helpers:GetCharSetValueFromHeader(System.String):System.String
           8 ( 0.48% of base) : 35483.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
           7 ( 0.11% of base) : 149840.dasm - Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[Char],System.Globalization.NumberFormatInfo)
           5 ( 1.02% of base) : 201773.dasm - System.Management.CompatSwitches:GetSwitchValueFromRegistry():bool
           5 ( 0.09% of base) : 145843.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],Member,System.String,System.String):this
           4 ( 0.71% of base) : 26426.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetBasesBeingResolved(Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax):Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
           4 ( 0.90% of base) : 229786.dasm - Microsoft.XmlSerializer.Generator.Sgen:ImportType(System.Type,System.String,System.Collections.Generic.List`1[[System.Xml.Serialization.XmlMapping, System.Private.Xml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51]],System.Collections.Generic.List`1[[System.Type, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],bool,System.Xml.Serialization.XmlReflectionImporter,bool):this
           4 ( 0.10% of base) : 229782.dasm - Microsoft.XmlSerializer.Generator.Sgen:Run(System.String[]):int:this
           4 ( 0.47% of base) : 229800.dasm - Microsoft.XmlSerializer.Generator.Sgen:SgenAssemblyResolver(System.Object,System.ResolveEventArgs):System.Reflection.Assembly
           4 ( 0.29% of base) : 189178.dasm - System.DirectoryServices.AccountManagement.SDSCache:GetContext(System.String,System.DirectoryServices.AccountManagement.NetCred,int):System.DirectoryServices.AccountManagement.PrincipalContext:this
           4 ( 0.41% of base) : 116348.dasm - System.Drawing.Graphics:GetContextInfo(byref,bool,byref):this
           4 ( 0.13% of base) : 137844.dasm - System.Xml.Schema.Compiler:CheckAtrributeGroupRestriction(System.Xml.Schema.XmlSchemaAttributeGroup,System.Xml.Schema.XmlSchemaAttributeGroup):this
           4 ( 0.05% of base) : 137843.dasm - System.Xml.Schema.Compiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this
           4 ( 0.05% of base) : 138538.dasm - System.Xml.Schema.SchemaCollectionCompiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this
           4 ( 0.65% of base) : 144497.dasm - System.Xml.Serialization.TempAssembly:LoadAssemblyByPath(System.Type,System.String):System.Reflection.Assembly
           1 ( 0.32% of base) : 164200.dasm - Microsoft.Extensions.Primitives.StringSegment:Equals(Microsoft.Extensions.Primitives.StringSegment):bool:this
           1 ( 0.05% of base) : 124510.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp2Connection(System.Net.Http.Http2Connection,bool):this
           1 ( 0.61% of base) : 224109.dasm - System.Text.RegularExpressions.RegexNode:ReplaceChild(int,System.Text.RegularExpressions.RegexNode):this

Top method improvements (bytes):
         -75 (-0.54% of base) : 1929.dasm - Microsoft.FSharp.Quotations.FSharpExpr:GetLayout(bool):Microsoft.FSharp.Text.StructuredPrintfImpl.Layout:this
         -13 (-0.41% of base) : 57924.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseProcDeclareStatement(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.AttributeListSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.KeywordSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.DeclareStatementSyntax:this
         -12 (-0.24% of base) : 55341.dasm - Microsoft.CodeAnalysis.VisualBasic.CodeGen.CodeGenerator:EmitBinaryArithOperatorInstructionAndDowncast(Microsoft.CodeAnalysis.VisualBasic.BoundBinaryOperator):this
         -12 (-0.27% of base) : 202003.dasm - System.Management.ManagementClassGenerator:GeneratePropertyHelperEnums(System.Management.PropertyData,System.String,bool):bool:this
         -11 (-0.45% of base) : 115175.dasm - System.Data.Common.DbConnectionStringBuilder:GetProperties(System.Collections.Hashtable):this
         -10 (-4.83% of base) : 23968.dasm - Microsoft.CodeAnalysis.CSharp.Binder:CheckConstantBounds(byte,Microsoft.CodeAnalysis.ConstantValue):bool
         -10 (-0.62% of base) : 43832.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbol:CheckModifiers(Microsoft.CodeAnalysis.Location,bool,Microsoft.CodeAnalysis.DiagnosticBag):this
          -9 (-0.32% of base) : 43252.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceEventSymbol:CheckModifiersAndType(Microsoft.CodeAnalysis.DiagnosticBag):this
          -9 (-0.26% of base) : 144817.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateLiteralMembersElementInternal(System.Xml.Serialization.MemberMapping[],bool,System.Object[]):bool:this
          -8 (-0.10% of base) : 50183.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureAndProduceBoundNode(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,int,Microsoft.CodeAnalysis.ArrayBuilder`1[CandidateAnalysisResult],System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Symbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.BoundExpression, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableArray`1[[System.String, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup,Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,Microsoft.CodeAnalysis.VisualBasic.BoundTypeExpression,Microsoft.CodeAnalysis.VisualBasic.Symbol,Microsoft.CodeAnalysis.Location):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this
          -6 (-3.28% of base) : 178334.dasm - System.ComponentModel.TypeDescriptor:set_ComNativeDescriptorHandler(System.ComponentModel.IComNativeDescriptorHandler)
          -5 (-0.64% of base) : 50000.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindForLoopBodyAndNextControlVariables(Microsoft.CodeAnalysis.VisualBasic.Syntax.ForOrForEachBlockSyntax,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):this
          -5 (-0.44% of base) : 178327.dasm - System.ComponentModel.TypeDescriptor:Refresh(System.Object,bool)
          -5 (-0.44% of base) : 178329.dasm - System.ComponentModel.TypeDescriptor:Refresh(System.Reflection.Module)
          -5 (-0.68% of base) : 178328.dasm - System.ComponentModel.TypeDescriptor:Refresh(System.Type)
          -5 (-1.08% of base) : 188975.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:DateTimeFromLdapConverter(System.DirectoryServices.AccountManagement.dSPropertyCollection,System.String,System.DirectoryServices.AccountManagement.Principal,System.String,bool)
          -5 (-0.46% of base) : 196047.dasm - System.Linq.Parallel.AsynchronousChannelMergeEnumerator`1[__Canon][System.__Canon]:MoveNextSlowPath():bool:this
          -4 (-0.57% of base) : 123794.dasm - DigestResponse:GetNextValue(System.String,int,bool,byref):System.String:this
          -4 (-0.37% of base) : 196052.dasm - System.Linq.Parallel.AsynchronousChannelMergeEnumerator`1[Byte][System.Byte]:MoveNextSlowPath():bool:this
          -3 (-2.91% of base) : 123940.dasm - HttpContentReadStream:Dispose(bool):this

Top method regressions (percentages):
          19 ( 1.63% of base) : 202952.dasm - Helpers:GetCharSetValueFromHeader(System.String):System.String
           5 ( 1.02% of base) : 201773.dasm - System.Management.CompatSwitches:GetSwitchValueFromRegistry():bool
           4 ( 0.90% of base) : 229786.dasm - Microsoft.XmlSerializer.Generator.Sgen:ImportType(System.Type,System.String,System.Collections.Generic.List`1[[System.Xml.Serialization.XmlMapping, System.Private.Xml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51]],System.Collections.Generic.List`1[[System.Type, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],bool,System.Xml.Serialization.XmlReflectionImporter,bool):this
           4 ( 0.71% of base) : 26426.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetBasesBeingResolved(Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax):Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
           4 ( 0.65% of base) : 144497.dasm - System.Xml.Serialization.TempAssembly:LoadAssemblyByPath(System.Type,System.String):System.Reflection.Assembly
           1 ( 0.61% of base) : 224109.dasm - System.Text.RegularExpressions.RegexNode:ReplaceChild(int,System.Text.RegularExpressions.RegexNode):this
           8 ( 0.48% of base) : 35483.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
           4 ( 0.47% of base) : 229800.dasm - Microsoft.XmlSerializer.Generator.Sgen:SgenAssemblyResolver(System.Object,System.ResolveEventArgs):System.Reflection.Assembly
           4 ( 0.41% of base) : 116348.dasm - System.Drawing.Graphics:GetContextInfo(byref,bool,byref):this
           1 ( 0.32% of base) : 164200.dasm - Microsoft.Extensions.Primitives.StringSegment:Equals(Microsoft.Extensions.Primitives.StringSegment):bool:this
           4 ( 0.29% of base) : 189178.dasm - System.DirectoryServices.AccountManagement.SDSCache:GetContext(System.String,System.DirectoryServices.AccountManagement.NetCred,int):System.DirectoryServices.AccountManagement.PrincipalContext:this
           4 ( 0.13% of base) : 137844.dasm - System.Xml.Schema.Compiler:CheckAtrributeGroupRestriction(System.Xml.Schema.XmlSchemaAttributeGroup,System.Xml.Schema.XmlSchemaAttributeGroup):this
           7 ( 0.11% of base) : 149840.dasm - Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[Char],System.Globalization.NumberFormatInfo)
           4 ( 0.10% of base) : 229782.dasm - Microsoft.XmlSerializer.Generator.Sgen:Run(System.String[]):int:this
           5 ( 0.09% of base) : 145843.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberElementsIf(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],Member,System.String,System.String):this
           4 ( 0.05% of base) : 138538.dasm - System.Xml.Schema.SchemaCollectionCompiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this
           4 ( 0.05% of base) : 137843.dasm - System.Xml.Schema.Compiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this
           1 ( 0.05% of base) : 124510.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp2Connection(System.Net.Http.Http2Connection,bool):this

Top method improvements (percentages):
          -3 (-10.00% of base) : 186585.dasm - System.Diagnostics.Eventing.Reader.EventLogWatcher:set_Enabled(bool):this
         -10 (-4.83% of base) : 23968.dasm - Microsoft.CodeAnalysis.CSharp.Binder:CheckConstantBounds(byte,Microsoft.CodeAnalysis.ConstantValue):bool
          -2 (-3.51% of base) : 115847.dasm - System.Data.Common.SqlStringStorage:Compare(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):int:this
          -6 (-3.28% of base) : 178334.dasm - System.ComponentModel.TypeDescriptor:set_ComNativeDescriptorHandler(System.ComponentModel.IComNativeDescriptorHandler)
          -3 (-2.91% of base) : 123940.dasm - HttpContentReadStream:Dispose(bool):this
          -3 (-2.73% of base) : 191410.dasm - System.DirectoryServices.ActiveDirectory.TrustRelationshipInformation:.ctor(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.DirectoryServices.ActiveDirectory.TrustObject):this
          -5 (-1.08% of base) : 188975.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:DateTimeFromLdapConverter(System.DirectoryServices.AccountManagement.dSPropertyCollection,System.String,System.DirectoryServices.AccountManagement.Principal,System.String,bool)
          -2 (-0.81% of base) : 205989.dasm - System.Net.NetworkInformation.Ping:InitialiseIcmpHandle():this
          -3 (-0.74% of base) : 211754.dasm - System.Xml.Linq.NamespaceResolver:GetPrefixOfNamespace(System.Xml.Linq.XNamespace,bool):System.String:this
          -5 (-0.68% of base) : 178328.dasm - System.ComponentModel.TypeDescriptor:Refresh(System.Type)
          -5 (-0.64% of base) : 50000.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindForLoopBodyAndNextControlVariables(Microsoft.CodeAnalysis.VisualBasic.Syntax.ForOrForEachBlockSyntax,byref,byref,Microsoft.CodeAnalysis.DiagnosticBag):this
         -10 (-0.62% of base) : 43832.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbol:CheckModifiers(Microsoft.CodeAnalysis.Location,bool,Microsoft.CodeAnalysis.DiagnosticBag):this
          -3 (-0.61% of base) : 191216.dasm - System.DirectoryServices.ActiveDirectory.ForestTrustRelationshipInformation:.ctor(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.DirectoryServices.ActiveDirectory.DS_DOMAIN_TRUSTS,int):this
          -4 (-0.57% of base) : 123794.dasm - DigestResponse:GetNextValue(System.String,int,bool,byref):System.String:this
         -75 (-0.54% of base) : 1929.dasm - Microsoft.FSharp.Quotations.FSharpExpr:GetLayout(bool):Microsoft.FSharp.Text.StructuredPrintfImpl.Layout:this
          -5 (-0.46% of base) : 196047.dasm - System.Linq.Parallel.AsynchronousChannelMergeEnumerator`1[__Canon][System.__Canon]:MoveNextSlowPath():bool:this
         -11 (-0.45% of base) : 115175.dasm - System.Data.Common.DbConnectionStringBuilder:GetProperties(System.Collections.Hashtable):this
          -5 (-0.44% of base) : 178327.dasm - System.ComponentModel.TypeDescriptor:Refresh(System.Object,bool)
          -5 (-0.44% of base) : 178329.dasm - System.ComponentModel.TypeDescriptor:Refresh(System.Reflection.Module)
         -13 (-0.41% of base) : 57924.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseProcDeclareStatement(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.AttributeListSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.KeywordSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.DeclareStatementSyntax:this

49 total methods with Code Size differences (31 improved, 18 regressed), 89 unchanged.


libraries_tests.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 113764434 (overridden on cmd)
Total bytes of diff: 113764292 (overridden on cmd)
Total bytes of delta: -142 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          23 : 125550.dasm (3.41% of base)
          16 : 96046.dasm (0.34% of base)
          10 : 245112.dasm (1.05% of base)
           8 : 96003.dasm (0.33% of base)
           8 : 96001.dasm (0.36% of base)
           7 : 95867.dasm (0.37% of base)
           7 : 95868.dasm (0.37% of base)
           5 : 95824.dasm (0.33% of base)
           5 : 95825.dasm (0.29% of base)
           5 : 95823.dasm (0.15% of base)
           5 : 95826.dasm (0.30% of base)
           5 : 95827.dasm (0.31% of base)
           4 : 96002.dasm (0.36% of base)
           4 : 216696.dasm (0.27% of base)
           4 : 225323.dasm (0.97% of base)
           4 : 272044.dasm (0.18% of base)
           4 : 220993.dasm (0.27% of base)
           4 : 96004.dasm (0.08% of base)
           4 : 248430.dasm (0.10% of base)
           4 : 95905.dasm (0.27% of base)

Top file improvements (bytes):
         -11 : 114526.dasm (-1.43% of base)
          -9 : 228713.dasm (-1.05% of base)
          -9 : 99215.dasm (-0.08% of base)
          -9 : 228712.dasm (-1.06% of base)
          -9 : 228716.dasm (-0.89% of base)
          -9 : 83994.dasm (-0.08% of base)
          -9 : 99347.dasm (-0.07% of base)
          -9 : 84150.dasm (-0.07% of base)
          -6 : 228964.dasm (-1.02% of base)
          -6 : 228564.dasm (-1.08% of base)
          -6 : 229043.dasm (-1.05% of base)
          -6 : 209785.dasm (-0.17% of base)
          -6 : 228565.dasm (-1.07% of base)
          -6 : 229103.dasm (-0.67% of base)
          -6 : 229117.dasm (-0.96% of base)
          -6 : 228569.dasm (-1.11% of base)
          -6 : 229006.dasm (-1.01% of base)
          -6 : 229029.dasm (-0.72% of base)
          -6 : 228566.dasm (-1.12% of base)
          -6 : 229154.dasm (-1.03% of base)

104 total files with Code Size differences (69 improved, 35 regressed), 112 unchanged.

Top method regressions (bytes):
          23 ( 3.41% of base) : 125550.dasm - Microsoft.CodeAnalysis.CSharp.Simplification.CSharpSimplificationService:Expand(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.SyntaxAnnotation,System.Func`2[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Boolean, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],bool,System.Threading.CancellationToken):Microsoft.CodeAnalysis.SyntaxNode:this
          16 ( 0.34% of base) : 96046.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTrySkipPartial(System.String,ubyte)
          10 ( 1.05% of base) : 245112.dasm - Microsoft.CodeAnalysis.Scripting.Hosting.ObjectFormatterHelpers:ParseSimpleMemberName(System.String,int,int,byref,byref):System.String
           8 ( 0.33% of base) : 96003.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:InvalidJson(System.String,int,int,int)
           8 ( 0.36% of base) : 96001.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:InvalidJsonWhenPartial(System.String,int,int,int)
           7 ( 0.37% of base) : 95867.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTextEquals(System.String,System.String,bool)
           7 ( 0.37% of base) : 95868.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTextEqualsValue(System.String,System.String,bool)
           5 ( 0.15% of base) : 95823.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTextEqualsLargeMismatch()
           5 ( 0.29% of base) : 95825.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTextEqualsTooLargeToMatch(System.String)
           5 ( 0.33% of base) : 95824.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTextEqualsTooSmallToMatch(System.String)
           5 ( 0.31% of base) : 95827.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TextEqualsEscapedCharAtTheLastSegment()
           5 ( 0.30% of base) : 95826.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TextMismatchSameLength(System.String,System.String)
           4 ( 0.97% of base) : 225323.dasm - Castle.DynamicProxy.Internal.TypeUtil:SetStaticField(System.Type,System.String,int,System.Object)
           4 ( 0.23% of base) : 338104.dasm - CoreXml.Test.XLinq.ReaderDiffNSAware:Compare(System.Collections.Generic.IEnumerable`1[[System.String[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[[System.String[], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],NSStack,int)
           4 ( 0.10% of base) : 248430.dasm - Microsoft.Extensions.DependencyModel.Tests.DependencyContextJsonWriterTests:WritesCompilationLibraries():this
           4 ( 0.18% of base) : 272044.dasm - System.Collections.Specialized.Tests.NameObjectCollectionBaseRemoveAtTests:RemoveAt():this
           4 ( 0.27% of base) : 216696.dasm - System.Data.SqlClient.SqlBulkCopy:CopyRowsAsync(int,int,System.Threading.CancellationToken,System.Threading.Tasks.TaskCompletionSource`1[[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):System.Threading.Tasks.Task:this
           4 ( 0.27% of base) : 220993.dasm - System.Data.SqlClient.SqlBulkCopy:CopyRowsAsync(int,int,System.Threading.CancellationToken,System.Threading.Tasks.TaskCompletionSource`1[[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):System.Threading.Tasks.Task:this
           4 ( 0.33% of base) : 95906.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:InvalidJsonMultiSegmentByOne(System.String,int,int,int)
           4 ( 0.27% of base) : 95905.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:InvalidJsonMultiSegmentWithEmptyFirst(System.String,int,int,int)

Top method improvements (bytes):
         -11 (-1.43% of base) : 114526.dasm - Microsoft.Build.Tasks.ReferenceTable:ResolveAssemblyNameConflict(Microsoft.Build.Tasks.AssemblyNameReference,Microsoft.Build.Tasks.AssemblyNameReference):int
          -9 (-1.05% of base) : 228713.dasm - ImTools.ImMap:UpdateEntryOrAddOrUpdateConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],short,System.Object,ImTools.Update`2[[System.Int16, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):ImTools.ImMap`1[KValue`1]
          -9 (-0.89% of base) : 228716.dasm - ImTools.ImMap:UpdateEntryOrAddOrUpdateConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],System.Numerics.Vector`1[Single],System.Object,ImTools.Update`2[[System.Numerics.Vector`1[[System.Single, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):ImTools.ImMap`1[KValue`1]
          -9 (-1.06% of base) : 228712.dasm - ImTools.ImMap:UpdateEntryOrAddOrUpdateConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],ubyte,System.Object,ImTools.Update`2[[System.Byte, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):ImTools.ImMap`1[KValue`1]
          -9 (-0.08% of base) : 99215.dasm - System.Text.Json.Serialization.Tests.SimpleTestClass:Verify():this
          -9 (-0.08% of base) : 83994.dasm - System.Text.Json.Serialization.Tests.SimpleTestClass:Verify():this
          -9 (-0.07% of base) : 99347.dasm - System.Text.Json.Serialization.Tests.SimpleTestClassWithFields:Verify():this
          -9 (-0.07% of base) : 84150.dasm - System.Text.Json.Serialization.Tests.SimpleTestClassWithFields:Verify():this
          -6 (-1.02% of base) : 228964.dasm - ImTools.ImHashMap`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Byte,Nullable`1],int,ubyte):ImTools.ImHashMap`2[Byte,Nullable`1]:this
          -6 (-0.70% of base) : 228948.dasm - ImTools.ImHashMap`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:AddOrUpdateConflict(ImTools.ImHashMapConflicts`2[Byte,Nullable`1],int,ubyte,System.Nullable`1[Int32],ImTools.Update`2[Byte,Nullable`1],int):ImTools.ImHashMap`2[Byte,Nullable`1]:this
          -6 (-1.01% of base) : 229006.dasm - ImTools.ImHashMap`2[Int16,Nullable`1][System.Int16,System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Int16,Nullable`1],int,short):ImTools.ImHashMap`2[Int16,Nullable`1]:this
          -6 (-0.70% of base) : 228992.dasm - ImTools.ImHashMap`2[Int16,Nullable`1][System.Int16,System.Nullable`1[System.Int32]]:AddOrUpdateConflict(ImTools.ImHashMapConflicts`2[Int16,Nullable`1],int,short,System.Nullable`1[Int32],ImTools.Update`2[Int16,Nullable`1],int):ImTools.ImHashMap`2[Int16,Nullable`1]:this
          -6 (-1.05% of base) : 229043.dasm - ImTools.ImHashMap`2[Int32,Nullable`1][System.Int32,System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Int32,Nullable`1],int,int):ImTools.ImHashMap`2[Int32,Nullable`1]:this
          -6 (-0.72% of base) : 229029.dasm - ImTools.ImHashMap`2[Int32,Nullable`1][System.Int32,System.Nullable`1[System.Int32]]:AddOrUpdateConflict(ImTools.ImHashMapConflicts`2[Int32,Nullable`1],int,int,System.Nullable`1[Int32],ImTools.Update`2[Int32,Nullable`1],int):ImTools.ImHashMap`2[Int32,Nullable`1]:this
          -6 (-1.03% of base) : 229154.dasm - ImTools.ImHashMap`2[Int64,Nullable`1][System.Int64,System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Int64,Nullable`1],int,long):ImTools.ImHashMap`2[Int64,Nullable`1]:this
          -6 (-0.72% of base) : 229140.dasm - ImTools.ImHashMap`2[Int64,Nullable`1][System.Int64,System.Nullable`1[System.Int32]]:AddOrUpdateConflict(ImTools.ImHashMapConflicts`2[Int64,Nullable`1],int,long,System.Nullable`1[Int32],ImTools.Update`2[Int64,Nullable`1],int):ImTools.ImHashMap`2[Int64,Nullable`1]:this
          -6 (-0.96% of base) : 229117.dasm - ImTools.ImHashMap`2[Vector`1,Nullable`1][System.Numerics.Vector`1[System.Single],System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Vector`1,Nullable`1],int,System.Numerics.Vector`1[Single]):ImTools.ImHashMap`2[Vector`1,Nullable`1]:this
          -6 (-0.67% of base) : 229103.dasm - ImTools.ImHashMap`2[Vector`1,Nullable`1][System.Numerics.Vector`1[System.Single],System.Nullable`1[System.Int32]]:AddOrUpdateConflict(ImTools.ImHashMapConflicts`2[Vector`1,Nullable`1],int,System.Numerics.Vector`1[Single],System.Nullable`1[Int32],ImTools.Update`2[Vector`1,Nullable`1],int):ImTools.ImHashMap`2[Vector`1,Nullable`1]:this
          -6 (-1.12% of base) : 228566.dasm - ImTools.ImMap:AddOrKeepConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],int,System.Object):ImTools.ImMap`1[KValue`1]
          -6 (-1.11% of base) : 228569.dasm - ImTools.ImMap:AddOrKeepConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],long,System.Object):ImTools.ImMap`1[KValue`1]

Top method regressions (percentages):
          23 ( 3.41% of base) : 125550.dasm - Microsoft.CodeAnalysis.CSharp.Simplification.CSharpSimplificationService:Expand(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.SyntaxAnnotation,System.Func`2[[Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Boolean, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],bool,System.Threading.CancellationToken):Microsoft.CodeAnalysis.SyntaxNode:this
          10 ( 1.05% of base) : 245112.dasm - Microsoft.CodeAnalysis.Scripting.Hosting.ObjectFormatterHelpers:ParseSimpleMemberName(System.String,int,int,byref,byref):System.String
           4 ( 0.97% of base) : 225323.dasm - Castle.DynamicProxy.Internal.TypeUtil:SetStaticField(System.Type,System.String,int,System.Object)
           1 ( 0.61% of base) : 329769.dasm - System.Text.RegularExpressions.RegexNode:ReplaceChild(int,System.Text.RegularExpressions.RegexNode):this
           2 ( 0.55% of base) : 6704.dasm - Microsoft.CodeAnalysis.Shared.Utilities.StringBreaker:ScanWordRun(System.String,int,int):Microsoft.CodeAnalysis.Text.TextSpan
           7 ( 0.37% of base) : 95867.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTextEquals(System.String,System.String,bool)
           7 ( 0.37% of base) : 95868.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTextEqualsValue(System.String,System.String,bool)
           8 ( 0.36% of base) : 96001.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:InvalidJsonWhenPartial(System.String,int,int,int)
           4 ( 0.36% of base) : 96002.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:PositionInCodeUnits(System.String,int,int)
          16 ( 0.34% of base) : 96046.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTrySkipPartial(System.String,ubyte)
           2 ( 0.34% of base) : 241487.dasm - Microsoft.AspNetCore.Http.Internal.HeaderSegment:Equals(Microsoft.AspNetCore.Http.Internal.HeaderSegment):bool:this
           4 ( 0.33% of base) : 95906.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:InvalidJsonMultiSegmentByOne(System.String,int,int,int)
           8 ( 0.33% of base) : 96003.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:InvalidJson(System.String,int,int,int)
           5 ( 0.33% of base) : 95824.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTextEqualsTooSmallToMatch(System.String)
           5 ( 0.31% of base) : 95827.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TextEqualsEscapedCharAtTheLastSegment()
           5 ( 0.30% of base) : 95826.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TextMismatchSameLength(System.String,System.String)
           5 ( 0.29% of base) : 95825.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:TestTextEqualsTooLargeToMatch(System.String)
           2 ( 0.28% of base) : 241488.dasm - Microsoft.AspNetCore.Http.Internal.HeaderSegment:Equals(System.Object):bool:this
           4 ( 0.27% of base) : 216696.dasm - System.Data.SqlClient.SqlBulkCopy:CopyRowsAsync(int,int,System.Threading.CancellationToken,System.Threading.Tasks.TaskCompletionSource`1[[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):System.Threading.Tasks.Task:this
           4 ( 0.27% of base) : 220993.dasm - System.Data.SqlClient.SqlBulkCopy:CopyRowsAsync(int,int,System.Threading.CancellationToken,System.Threading.Tasks.TaskCompletionSource`1[[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):System.Threading.Tasks.Task:this

Top method improvements (percentages):
          -5 (-4.72% of base) : 236195.dasm - <>c__DisplayClass5_0:<AreProperty>b__0(System.Reflection.MemberInfo):bool:this
          -1 (-2.38% of base) : 260863.dasm - Stashbox.Registration.SelectionRules.ScopeNameRule:IsValidForCurrentRequest(Stashbox.Resolution.TypeInformation,Stashbox.Registration.ServiceRegistration,Stashbox.Resolution.ResolutionContext):bool:this
          -2 (-1.77% of base) : 252594.dasm - Microsoft.NETCore.Platforms.BuildTasks.RuntimeVersion:CompareTo(Microsoft.NETCore.Platforms.BuildTasks.RuntimeVersion):int:this
         -11 (-1.43% of base) : 114526.dasm - Microsoft.Build.Tasks.ReferenceTable:ResolveAssemblyNameConflict(Microsoft.Build.Tasks.AssemblyNameReference,Microsoft.Build.Tasks.AssemblyNameReference):int
          -6 (-1.12% of base) : 228566.dasm - ImTools.ImMap:AddOrKeepConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],int,System.Object):ImTools.ImMap`1[KValue`1]
          -6 (-1.11% of base) : 228569.dasm - ImTools.ImMap:AddOrKeepConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],long,System.Object):ImTools.ImMap`1[KValue`1]
          -6 (-1.08% of base) : 228564.dasm - ImTools.ImMap:AddOrKeepConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],ubyte,System.Object):ImTools.ImMap`1[KValue`1]
          -6 (-1.07% of base) : 228565.dasm - ImTools.ImMap:AddOrKeepConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],short,System.Object):ImTools.ImMap`1[KValue`1]
          -4 (-1.06% of base) : 229013.dasm - ImTools.ImHashMap`2[Int32,Nullable`1][System.Int32,System.Nullable`1[System.Int32]]:UpdateConflictToDefault(ImTools.ImHashMapConflicts`2[Int32,Nullable`1],int,int):ImTools.ImHashMap`2[Int32,Nullable`1]:this
          -9 (-1.06% of base) : 228712.dasm - ImTools.ImMap:UpdateEntryOrAddOrUpdateConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],ubyte,System.Object,ImTools.Update`2[[System.Byte, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):ImTools.ImMap`1[KValue`1]
          -9 (-1.05% of base) : 228713.dasm - ImTools.ImMap:UpdateEntryOrAddOrUpdateConflict(ImTools.ImMap`1[KValue`1],int,ImTools.ImMapEntry`1[KValue`1],short,System.Object,ImTools.Update`2[[System.Int16, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):ImTools.ImMap`1[KValue`1]
          -6 (-1.05% of base) : 229043.dasm - ImTools.ImHashMap`2[Int32,Nullable`1][System.Int32,System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Int32,Nullable`1],int,int):ImTools.ImHashMap`2[Int32,Nullable`1]:this
          -4 (-1.04% of base) : 229124.dasm - ImTools.ImHashMap`2[Int64,Nullable`1][System.Int64,System.Nullable`1[System.Int32]]:UpdateConflictToDefault(ImTools.ImHashMapConflicts`2[Int64,Nullable`1],int,long):ImTools.ImHashMap`2[Int64,Nullable`1]:this
          -6 (-1.03% of base) : 229154.dasm - ImTools.ImHashMap`2[Int64,Nullable`1][System.Int64,System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Int64,Nullable`1],int,long):ImTools.ImHashMap`2[Int64,Nullable`1]:this
          -4 (-1.03% of base) : 228905.dasm - ImTools.ImHashMap`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:UpdateConflictToDefault(ImTools.ImHashMapConflicts`2[Byte,Nullable`1],int,ubyte):ImTools.ImHashMap`2[Byte,Nullable`1]:this
          -6 (-1.02% of base) : 228964.dasm - ImTools.ImHashMap`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Byte,Nullable`1],int,ubyte):ImTools.ImHashMap`2[Byte,Nullable`1]:this
          -4 (-1.01% of base) : 228976.dasm - ImTools.ImHashMap`2[Int16,Nullable`1][System.Int16,System.Nullable`1[System.Int32]]:UpdateConflictToDefault(ImTools.ImHashMapConflicts`2[Int16,Nullable`1],int,short):ImTools.ImHashMap`2[Int16,Nullable`1]:this
          -6 (-1.01% of base) : 229006.dasm - ImTools.ImHashMap`2[Int16,Nullable`1][System.Int16,System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Int16,Nullable`1],int,short):ImTools.ImHashMap`2[Int16,Nullable`1]:this
          -6 (-0.96% of base) : 229117.dasm - ImTools.ImHashMap`2[Vector`1,Nullable`1][System.Numerics.Vector`1[System.Single],System.Nullable`1[System.Int32]]:AddOrKeepConflict(ImTools.ImHashMapConflicts`2[Vector`1,Nullable`1],int,System.Numerics.Vector`1[Single]):ImTools.ImHashMap`2[Vector`1,Nullable`1]:this
          -4 (-0.95% of base) : 229087.dasm - ImTools.ImHashMap`2[Vector`1,Nullable`1][System.Numerics.Vector`1[System.Single],System.Nullable`1[System.Int32]]:UpdateConflictToDefault(ImTools.ImHashMapConflicts`2[Vector`1,Nullable`1],int,System.Numerics.Vector`1[Single]):ImTools.ImHashMap`2[Vector`1,Nullable`1]:this

104 total methods with Code Size differences (69 improved, 35 regressed), 112 unchanged.


Copy link
Contributor

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a before/after flow graph picture that would help explain the change?

// a new block to allow changing that fall through to a jump, so if we have
// both a pred that is not a true pred, and a fall through, we defer optimizing
// the fall through pred as well.
// * We note if there is an un-ambiguous that pred falls through to block.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"We note if there is an un-ambiguous that pred" => missing word after "ambiguous"?

// per (4) below.
//
// (4) If we don't have an ambiguous pred, and we have a fall through, we leave
// all preds in the fall through set alone -- they contiuue branching to block.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: contiuue

@AndyAyersMS
Copy link
Member Author

@BruceForstall is the newly added flow picture enough or do you think it needs something more elaborate?

@BruceForstall
Copy link
Contributor

@BruceForstall is the newly added flow picture enough or do you think it needs something more elaborate?

Yes, the added picture is helpful.

@AndyAyersMS AndyAyersMS merged commit 9e69826 into dotnet:main Oct 28, 2021
@AndyAyersMS AndyAyersMS deleted the JumpThreadAmbPlusFallThru branch October 28, 2021 00:41
@ghost ghost locked as resolved and limited conversation to collaborators Nov 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants