Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use SIMD operations in InitBlkUnroll/CopyBlkUnroll and increase unroll limit up to 128 bytes #61030

Merged
merged 16 commits into from
Dec 28, 2021

Conversation

echesakov
Copy link
Contributor

@echesakov echesakov commented Oct 30, 2021

Currently, CodeGen::genCodeForInitBlkUnroll() and CodeGen::genCodeForCpBlkUnroll() do not use SIMD instructions when generating code for InitBlock/CopyBlock operations on Arm and Arm64.

This PR adds support for that on Arm64.

In order to accurately estimate whether the use of SIMD instructions is needed and/or whether the base address of a block needs to computed and stored to a integer register the algorithm does multiple passes - (one that verifies whether all offsets can be encoded and another that counts how many instructions will be emitted).

The following are justifications why such approach was chosen:

  1. In a case when one of the instruction offsets can not be encoded the new implementation would "spill" the address of the beginning of the block to an integer register in order to avoid doing this multiple times as it is now.
    In fact, that issue was already pointed out by a TODO comment (that is removed by the PR)
// TODO-ARM-CQ: If the local frame offset is too large to be encoded, the emitter automatically
// loads the offset into a reserved register (see CodeGen::rsGetRsvdReg()). If we generate
// multiple store instructions we'll also generate multiple offset loading instructions.
// We could try to detect such cases, compute the base destination address in this reserved
// and use it in all store instructions we generate. This would effectively undo the effect
// of local address containment done by lowering.

In other words it transforms a problem of code-generating of InitBlock(largeOffset, byteCount) to InitBlock(0, byteCount). In order to do figure out that such transformation is required, the algorithm needs a pass to verify whether all the offsets are encodable.

For example, the following snippet shows such case

             add     xip1, fp, #0xd1ffab1e
-            stp     xzr, xzr, [xip1]   // [V49 tmp34]
-            add     xip1, fp, #0xd1ffab1e
-            stp     xzr, xzr, [xip1]   // [V49 tmp34+0x10]
-            add     xip1, fp, #0xd1ffab1e
-            stp     xzr, xzr, [xip1]   // [V49 tmp34+0x20]
-            str     xzr, [fp,#0xd1ffab1e]      // [V49 tmp34+0x30]
+            stp     xzr, xzr, [xip1]
+            stp     xzr, xzr, [xip1,#16]
+            stp     xzr, xzr, [xip1,#32]
+            str     xzr, [xip1,#48]
  1. In some cases using SIMD instructions would result in a longer instruction sequence(e.g. in InitBlockAllZeros(startOffset=8, byteCount=16)) since the JIT would need to initialize a SIMD register while it could just use a str xzr, xzr, [dstReg, #dstOffset] instead (assuming dstOffset is encodable). In order to figure out such cases I've chose to use the same mechanism of multiple passes instead of trying to "encode" all corner cases.

As an example, the following demonstrates a case where it is beneficial to "spill" that the base of address of destination in CopyBlock and use SIMD instructions than use integer instructions without spilling.

-            ldp     x1, x2, [fp,#80]   // [V17 tmp13]
-            stp     x1, x2, [fp,#24]   // [V32 tmp28]
-            ldp     x1, x2, [fp,#96]   // [V17 tmp13+0x10]
-            stp     x1, x2, [fp,#40]   // [V32 tmp28+0x10]
-            ldp     x1, x2, [fp,#112]  // [V17 tmp13+0x20]
-            stp     x1, x2, [fp,#56]   // [V32 tmp28+0x20]
-            ldr     x1, [fp,#128]      // [V17 tmp13+0x30]
-            str     x1, [fp,#72]       // [V32 tmp28+0x30]
-                                               ;; bbWeight=0.50 PerfScore 7.50
+            add     xip1, fp, #56
+            ldr     x1, [xip1,#24]
+            str     x1, [fp,#24]
+            ldp     q16, q17, [xip1,#32]
+            stp     q16, q17, [fp,#32]
+            ldr     q16, [xip1,#64]
+            str     q16, [fp,#64]

In addition to that, the instruction selection strategy that the current implementation uses can be characterized as greedy "best fit" and it doesn't always produce the optimal result (for example, InitBlock sequence for 7 bytes is str rInitValue, [rAddr]; strh rInitValue, [rAddr+4]; strb rInitValue, [rAddr+6]). I changed the strategy slightly and added support to allow overlapping stores (so that sequence would become str rInitValue, [rAddr]; stur rInitValue, [rAddr+3].

The following is an example where using overlapping loads/stores result in shorter instruction sequence

             ldp     x1, x3, [x0]
             stp     x1, x3, [x2,#16]
-            ldr     w1, [x0,#16]
-            str     w1, [x2,#32]
-            ldrh    w1, [x0,#20]
-            strh    w1, [x2,#36]
+            ldr     x1, [x0,#14]
+            str     x1, [x2,#30]

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 30, 2021
@echesakov echesakov added arch-arm64 and removed area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labels Oct 30, 2021
@ghost
Copy link

ghost commented Oct 30, 2021

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

Issue Details

benchmarks.run.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 7643140 (overridden on cmd)
Total bytes of diff: 7642800 (overridden on cmd)
Total bytes of delta: -340 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          24 : 15710.dasm (1.57% of base)
          16 : 4577.dasm (0.98% of base)
          16 : 15788.dasm (0.38% of base)
          16 : 18614.dasm (1.32% of base)
          12 : 19744.dasm (2.00% of base)
           8 : 15757.dasm (0.48% of base)
           8 : 15741.dasm (3.51% of base)
           8 : 18619.dasm (1.03% of base)
           8 : 16829.dasm (0.37% of base)
           8 : 15713.dasm (8.00% of base)
           8 : 18604.dasm (1.61% of base)
           8 : 15747.dasm (0.31% of base)
           8 : 10639.dasm (2.41% of base)
           8 : 15723.dasm (1.06% of base)
           8 : 18854.dasm (4.08% of base)
           8 : 15722.dasm (0.77% of base)
           8 : 18646.dasm (2.38% of base)
           8 : 19806.dasm (1.40% of base)
           4 : 5499.dasm (0.82% of base)
           4 : 11155.dasm (0.09% of base)

Top file improvements (bytes):
        -216 : 9825.dasm (-1.82% of base)
         -44 : 4554.dasm (-1.28% of base)
         -36 : 1983.dasm (-1.90% of base)
         -28 : 12885.dasm (-1.90% of base)
         -24 : 12887.dasm (-1.04% of base)
         -24 : 15594.dasm (-6.25% of base)
         -16 : 6373.dasm (-0.43% of base)
         -16 : 9483.dasm (-0.26% of base)
         -16 : 6551.dasm (-0.42% of base)
         -16 : 15754.dasm (-7.41% of base)
         -12 : 12886.dasm (-1.27% of base)
         -12 : 14844.dasm (-0.70% of base)
         -12 : 8061.dasm (-4.62% of base)
         -12 : 6380.dasm (-0.73% of base)
         -12 : 17067.dasm (-2.44% of base)
          -8 : 16659.dasm (-0.08% of base)
          -8 : 1417.dasm (-6.67% of base)
          -8 : 5314.dasm (-0.74% of base)
          -8 : 14253.dasm (-2.17% of base)
          -8 : 19472.dasm (-1.47% of base)

67 total files with Code Size differences (33 improved, 34 regressed), 15 unchanged.

Top method regressions (bytes):
          24 ( 1.57% of base) : 15710.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
          16 ( 1.32% of base) : 18614.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
          16 ( 0.38% of base) : 15788.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePostFixExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
          16 ( 0.98% of base) : 4577.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, 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]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
          12 ( 2.00% of base) : 19744.dasm - DateTimeArrayJsonHelperWithString:ReadArray(System.Xml.XmlDictionaryReader,System.String,System.String,System.DateTime[],int,int):int:this
           8 ( 4.08% of base) : 18854.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(ValueSet[__Canon,__Canon]):this
           8 ( 0.37% of base) : 16829.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.DiagnosticBag):this
           8 ( 1.06% of base) : 15723.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseBaseList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BaseListSyntax:this
           8 ( 0.31% of base) : 15747.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseMemberName(byref,byref,byref,bool):this
           8 ( 0.48% of base) : 15757.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterList(byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ParameterSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref,ushort,ushort):this
           8 ( 1.61% of base) : 18604.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
           8 ( 3.51% of base) : 15741.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
           8 ( 2.38% of base) : 18646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseQualifiedName(int):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameSyntax:this
           8 ( 0.77% of base) : 15722.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeParameterList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeParameterListSyntax:this
           8 ( 1.03% of base) : 18619.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseVariableDeclarators(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax,int,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.VariableDeclaratorSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],bool,bool,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
           8 ( 8.00% of base) : 15713.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
           8 ( 2.41% of base) : 10639.dasm - System.DateTimeOffset:Parse(System.String):System.DateTimeOffset
           8 ( 1.40% of base) : 19806.dasm - System.Xml.XmlDictionaryReader:ReadElementContentAsDateTime():System.DateTime:this
           4 ( 0.83% of base) : 5600.dasm - AsyncStateMachineBox`1[__Canon,<ReceiveBlobAsync>d__174`1][System.__Canon,System.Net.Security.SslStream+<ReceiveBlobAsync>d__174`1[System.Net.Security.AsyncReadWriteAdapter]]:MoveNext(System.Threading.Thread):this
           4 ( 3.12% of base) : 8193.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,__Canon]):this

Top method improvements (bytes):
        -216 (-1.82% of base) : 9825.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -44 (-1.28% of base) : 4554.dasm - System.Diagnostics.Perf_Activity:.cctor()
         -36 (-1.90% of base) : 1983.dasm - System.Reflection.RuntimeCustomAttributeData:.ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,byref):this
         -28 (-1.90% of base) : 12885.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):MicroBenchmarks.Serializers.LargeStructWithProperties:this
         -24 (-6.25% of base) : 15594.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
         -24 (-1.04% of base) : 12887.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
         -16 (-0.26% of base) : 9483.dasm - <SendWithVersionDetectionAndRetryAsync>d__83:MoveNext():this
         -16 (-0.43% of base) : 6373.dasm - <WriteStreamAsync>d__112`1[__Canon][System.__Canon]:MoveNext():this
         -16 (-0.42% of base) : 6551.dasm - <WriteStreamAsync>d__112`1[Int32][System.Int32]:MoveNext():this
         -16 (-7.41% of base) : 15754.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
         -12 (-0.73% of base) : 6380.dasm - <ReadAllAsync>d__65`1[__Canon][System.__Canon]:MoveNext():this
         -12 (-0.70% of base) : 14844.dasm - <ReadAllAsync>d__65`1[SimpleStructWithProperties][MicroBenchmarks.Serializers.SimpleStructWithProperties]:MoveNext():this
         -12 (-2.44% of base) : 17067.dasm - Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult:this
         -12 (-4.62% of base) : 8061.dasm - System.Convert:ToDateTime(System.String):System.DateTime
         -12 (-1.27% of base) : 12886.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
          -8 (-2.17% of base) : 14253.dasm - ILStubClass:IL_STUB_StructMarshal(byref,long,int,byref)
          -8 (-0.08% of base) : 16659.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(MembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.DiagnosticBag):this
          -8 (-6.67% of base) : 1417.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
          -8 (-1.47% of base) : 19472.dasm - System.ConsolePal:GetBufferInfo(bool,byref):CONSOLE_SCREEN_BUFFER_INFO
          -8 (-0.76% of base) : 5289.dasm - System.Net.Security.SslStreamPal:AcquireCredentialsHandleSchCredentials(System.Security.Cryptography.X509Certificates.X509Certificate2,int,int,bool):System.Net.Security.SafeFreeCredentials

Top method regressions (percentages):
           8 ( 8.00% of base) : 15713.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
           8 ( 4.08% of base) : 18854.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(ValueSet[__Canon,__Canon]):this
           8 ( 3.51% of base) : 15741.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
           4 ( 3.12% of base) : 8193.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,__Canon]):this
           8 ( 2.41% of base) : 10639.dasm - System.DateTimeOffset:Parse(System.String):System.DateTimeOffset
           8 ( 2.38% of base) : 18646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseQualifiedName(int):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameSyntax:this
          12 ( 2.00% of base) : 19744.dasm - DateTimeArrayJsonHelperWithString:ReadArray(System.Xml.XmlDictionaryReader,System.String,System.String,System.DateTime[],int,int):int:this
           4 ( 2.00% of base) : 20926.dasm - System.Collections.Immutable.ImmutableHashSet`1[Int32][System.Int32]:GetEnumerator():Enumerator[Int32]:this
           8 ( 1.61% of base) : 18604.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
          24 ( 1.57% of base) : 15710.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
           4 ( 1.41% of base) : 12228.dasm - System.Security.Cryptography.ECCurve:CreateFromValueAndName(System.String,System.String):System.Security.Cryptography.ECCurve
           8 ( 1.40% of base) : 19806.dasm - System.Xml.XmlDictionaryReader:ReadElementContentAsDateTime():System.DateTime:this
          16 ( 1.32% of base) : 18614.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
           4 ( 1.11% of base) : 4717.dasm - System.Drawing.Internal.GPStream:Stat(long,int):this
           8 ( 1.06% of base) : 15723.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseBaseList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BaseListSyntax:this
           8 ( 1.03% of base) : 18619.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseVariableDeclarators(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax,int,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.VariableDeclaratorSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],bool,bool,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
          16 ( 0.98% of base) : 4577.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, 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]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
           4 ( 0.83% of base) : 5600.dasm - AsyncStateMachineBox`1[__Canon,<ReceiveBlobAsync>d__174`1][System.__Canon,System.Net.Security.SslStream+<ReceiveBlobAsync>d__174`1[System.Net.Security.AsyncReadWriteAdapter]]:MoveNext(System.Threading.Thread):this
           4 ( 0.82% of base) : 5499.dasm - Internal.Cryptography.Pal.ChainPal:GetChainEngine(int,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,bool):Internal.Cryptography.Pal.Native.SafeChainEngineHandle
           8 ( 0.77% of base) : 15722.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeParameterList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeParameterListSyntax:this

Top method improvements (percentages):
         -16 (-7.41% of base) : 15754.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
          -8 (-6.67% of base) : 1417.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
         -24 (-6.25% of base) : 15594.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
         -12 (-4.62% of base) : 8061.dasm - System.Convert:ToDateTime(System.String):System.DateTime
          -4 (-2.94% of base) : 5351.dasm - AwaitableSocketAsyncEventArgs:Release():this
          -4 (-2.86% of base) : 12872.dasm - MicroBenchmarks.Serializers.DataGenerator:CreateLargeStructWithProperties():MicroBenchmarks.Serializers.LargeStructWithProperties
          -4 (-2.50% of base) : 5468.dasm - System.TimeZoneInfo:TryGetTimeZoneEntryFromRegistry(Internal.Win32.RegistryKey,System.String,byref):bool
         -12 (-2.44% of base) : 17067.dasm - Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult:this
          -4 (-2.33% of base) : 5894.dasm - System.Numerics.Matrix4x4:.cctor()
          -8 (-2.17% of base) : 14253.dasm - ILStubClass:IL_STUB_StructMarshal(byref,long,int,byref)
          -4 (-2.08% of base) : 14797.dasm - System.Numerics.Tests.Perf_Matrix4x4:CreateFromScalars():System.Numerics.Matrix4x4:this
         -36 (-1.90% of base) : 1983.dasm - System.Reflection.RuntimeCustomAttributeData:.ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,byref):this
         -28 (-1.90% of base) : 12885.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):MicroBenchmarks.Serializers.LargeStructWithProperties:this
        -216 (-1.82% of base) : 9825.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
          -8 (-1.47% of base) : 19472.dasm - System.ConsolePal:GetBufferInfo(bool,byref):CONSOLE_SCREEN_BUFFER_INFO
          -4 (-1.41% of base) : 19473.dasm - Kernel32:GetConsoleScreenBufferInfo(long,byref):bool
          -4 (-1.30% of base) : 7923.dasm - Interop:CheckForAvailableVirtualMemory(long)
         -44 (-1.28% of base) : 4554.dasm - System.Diagnostics.Perf_Activity:.cctor()
         -12 (-1.27% of base) : 12886.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
         -24 (-1.04% of base) : 12887.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this

67 total methods with Code Size differences (33 improved, 34 regressed), 15 unchanged.


coreclr_tests.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 165072520 (overridden on cmd)
Total bytes of diff: 165068932 (overridden on cmd)
Total bytes of delta: -3588 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs


Top file regressions (bytes):
          72 : 168762.dasm (1.32% of base)
          72 : 167701.dasm (1.34% of base)
          36 : 218418.dasm (2.63% of base)
          28 : 168618.dasm (1.00% of base)
          24 : 229926.dasm (1.83% of base)
          20 : 218432.dasm (1.75% of base)
          16 : 239929.dasm (16.00% of base)
          16 : 239930.dasm (16.00% of base)
          16 : 239902.dasm (16.00% of base)
          16 : 239931.dasm (16.00% of base)
          16 : 87634.dasm (2.96% of base)
          16 : 239932.dasm (16.00% of base)
          16 : 239933.dasm (16.00% of base)
          16 : 239934.dasm (16.00% of base)
          16 : 239935.dasm (16.00% of base)
          16 : 239927.dasm (16.00% of base)
          16 : 239928.dasm (16.00% of base)
          16 : 225598.dasm (2.29% of base)
          16 : 239900.dasm (16.00% of base)
          16 : 239936.dasm (16.00% of base)

Top file improvements (bytes):
        -216 : 226601.dasm (-2.87% of base)
        -216 : 217800.dasm (-1.96% of base)
        -216 : 217899.dasm (-1.98% of base)
        -216 : 226575.dasm (-2.04% of base)
        -216 : 217930.dasm (-2.07% of base)
        -208 : 217571.dasm (-2.01% of base)
        -208 : 218184.dasm (-1.90% of base)
        -208 : 218212.dasm (-1.92% of base)
        -208 : 225485.dasm (-1.98% of base)
        -144 : 232486.dasm (-1.76% of base)
        -136 : 225518.dasm (-1.64% of base)
        -136 : 225585.dasm (-1.58% of base)
        -116 : 225684.dasm (-1.36% of base)
        -116 : 191640.dasm (-1.97% of base)
        -116 : 225617.dasm (-1.38% of base)
        -104 : 218150.dasm (-1.03% of base)
        -104 : 227066.dasm (-1.02% of base)
         -80 : 145242.dasm (-1.89% of base)
         -80 : 188733.dasm (-1.89% of base)
         -80 : 188972.dasm (-1.89% of base)

313 total files with Code Size differences (163 improved, 150 regressed), 20 unchanged.

Top method regressions (bytes):
          72 ( 1.32% of base) : 168762.dasm - NullableTest45:Run()
          72 ( 1.34% of base) : 167701.dasm - NullableTest45:Run()
          36 ( 2.63% of base) : 218418.dasm - Packet256Tracer:CreateDefaultScene():Scene
          28 ( 1.00% of base) : 168618.dasm - NullableTest45:Run()
          24 ( 1.83% of base) : 229926.dasm - NullableTest:Main():int
          20 ( 1.75% of base) : 218432.dasm - Surfaces:.cctor()
          16 ( 2.29% of base) : 225598.dasm - AA:reset()
          16 ( 2.96% of base) : 87634.dasm - JitTest.Test:Main():int
          16 ( 3.01% of base) : 87635.dasm - JitTest.Test:Main():int
          16 (16.00% of base) : 239926.dasm - Program:Test81()
          16 (16.00% of base) : 239927.dasm - Program:Test82()
          16 (16.00% of base) : 239928.dasm - Program:Test83()
          16 (16.00% of base) : 239929.dasm - Program:Test84()
          16 (16.00% of base) : 239930.dasm - Program:Test85()
          16 (16.00% of base) : 239931.dasm - Program:Test86()
          16 (16.00% of base) : 239932.dasm - Program:Test87()
          16 (16.00% of base) : 239933.dasm - Program:Test88()
          16 (16.00% of base) : 239934.dasm - Program:Test89()
          16 (16.00% of base) : 239935.dasm - Program:Test90()
          16 (16.00% of base) : 239936.dasm - Program:Test91()

Top method improvements (bytes):
        -216 (-2.87% of base) : 226601.dasm - TestApp:Main():int
        -216 (-1.96% of base) : 217800.dasm - TestApp:Main():int
        -216 (-1.98% of base) : 217899.dasm - TestApp:Main():int
        -216 (-2.04% of base) : 226575.dasm - TestApp:Main():int
        -216 (-2.07% of base) : 217930.dasm - TestApp:Main():int
        -208 (-2.01% of base) : 217571.dasm - TestApp:Main():int
        -208 (-1.90% of base) : 218184.dasm - TestApp:Main():int
        -208 (-1.92% of base) : 218212.dasm - TestApp:Main():int
        -208 (-1.98% of base) : 225485.dasm - TestApp:Main():int
        -144 (-1.76% of base) : 232486.dasm - TestApp:Main():int
        -136 (-1.64% of base) : 225518.dasm - TestApp:Main():int
        -136 (-1.58% of base) : 225585.dasm - TestApp:Main():int
        -116 (-1.36% of base) : 225684.dasm - TestApp:Main():int
        -116 (-1.38% of base) : 225617.dasm - TestApp:Main():int
        -116 (-1.97% of base) : 191640.dasm - testout1:.cctor()
        -104 (-1.03% of base) : 218150.dasm - TestApp:Main():int
        -104 (-1.02% of base) : 227066.dasm - TestApp:Main():int
         -80 (-1.89% of base) : 145242.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
         -80 (-1.89% of base) : 188733.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
         -80 (-1.89% of base) : 188972.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this

Top method regressions (percentages):
          16 (16.00% of base) : 239926.dasm - Program:Test81()
          16 (16.00% of base) : 239927.dasm - Program:Test82()
          16 (16.00% of base) : 239928.dasm - Program:Test83()
          16 (16.00% of base) : 239929.dasm - Program:Test84()
          16 (16.00% of base) : 239930.dasm - Program:Test85()
          16 (16.00% of base) : 239931.dasm - Program:Test86()
          16 (16.00% of base) : 239932.dasm - Program:Test87()
          16 (16.00% of base) : 239933.dasm - Program:Test88()
          16 (16.00% of base) : 239934.dasm - Program:Test89()
          16 (16.00% of base) : 239935.dasm - Program:Test90()
          16 (16.00% of base) : 239936.dasm - Program:Test91()
          16 (16.00% of base) : 239937.dasm - Program:Test92()
          16 (16.00% of base) : 239938.dasm - Program:Test93()
          16 (16.00% of base) : 239939.dasm - Program:Test94()
          16 (16.00% of base) : 239900.dasm - Program:Test95()
          16 (16.00% of base) : 239902.dasm - Program:Test97()
          16 (16.00% of base) : 239903.dasm - Program:Test98()
          16 (16.00% of base) : 239904.dasm - Program:Test99()
          12 (12.00% of base) : 239910.dasm - Program:Test65()
          12 (12.00% of base) : 239911.dasm - Program:Test66()

Top method improvements (percentages):
          -8 (-22.22% of base) : 88500.dasm - Program:Test(byref)
         -12 (-12.00% of base) : 88629.dasm - MyTest:f(int):Struct1
         -64 (-10.32% of base) : 188517.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
         -64 (-10.32% of base) : 188850.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
         -64 (-10.32% of base) : 189101.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
         -12 (-10.00% of base) : 239956.dasm - Program:Test47()
         -12 (-9.68% of base) : 239908.dasm - Program:Test63()
          -4 (-9.09% of base) : 212804.dasm - TestNon2PowerStructs:Return7():Byte7Struct
          -8 (-7.14% of base) : 239988.dasm - Program:Test15()
          -8 (-7.14% of base) : 239996.dasm - Program:Test23()
          -8 (-6.90% of base) : 239940.dasm - Program:Test31()
          -8 (-6.90% of base) : 239948.dasm - Program:Test39()
          -8 (-6.90% of base) : 239952.dasm - Program:Test43()
          -8 (-6.90% of base) : 239954.dasm - Program:Test45()
          -8 (-6.90% of base) : 239955.dasm - Program:Test46()
          -8 (-6.67% of base) : 239964.dasm - Program:Test55()
          -8 (-6.67% of base) : 239968.dasm - Program:Test59()
          -8 (-6.67% of base) : 239970.dasm - Program:Test61()
          -8 (-6.67% of base) : 239971.dasm - Program:Test62()
         -56 (-6.06% of base) : 243751.dasm - Test:Main():int

313 total methods with Code Size differences (163 improved, 150 regressed), 20 unchanged.


libraries.crossgen2.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 51798676 (overridden on cmd)
Total bytes of diff: 51795164 (overridden on cmd)
Total bytes of delta: -3512 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file improvements (bytes):
        -216 : 200047.dasm (-2.01% of base)
         -88 : 98240.dasm (-2.80% of base)
         -76 : 109834.dasm (-25.68% of base)
         -64 : 98200.dasm (-3.40% of base)
         -60 : 119288.dasm (-2.45% of base)
         -48 : 128078.dasm (-6.98% of base)
         -44 : 109802.dasm (-20.00% of base)
         -40 : 91859.dasm (-34.48% of base)
         -40 : 128072.dasm (-12.05% of base)
         -40 : 114869.dasm (-1.16% of base)
         -36 : 109827.dasm (-16.98% of base)
         -36 : 114420.dasm (-2.42% of base)
         -32 : 176653.dasm (-14.55% of base)
         -32 : 165275.dasm (-2.58% of base)
         -32 : 164692.dasm (-2.91% of base)
         -32 : 82381.dasm (-4.97% of base)
         -32 : 78883.dasm (-5.26% of base)
         -32 : 78886.dasm (-8.42% of base)
         -32 : 82384.dasm (-7.69% of base)
         -28 : 52864.dasm (-20.59% of base)

256 total files with Code Size differences (256 improved, 0 regressed), 14 unchanged.

Top method improvements (bytes):
        -216 (-2.01% of base) : 200047.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -88 (-2.80% of base) : 98240.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:OperatorInvocationOverloadResolution(Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol],Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Binder,bool,bool,byref):Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult
         -76 (-25.68% of base) : 109834.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
         -64 (-3.40% of base) : 98200.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:CollectOverloadedCandidate(Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+QuickApplicabilityInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BoundNode,bool,Microsoft.CodeAnalysis.VisualBasic.Binder,byref,byref)
         -60 (-2.45% of base) : 119288.dasm - InterpolatedStringScanner:ScanInterpolatedStringLiteralHoleBalancedText(ushort,bool,byref):this
         -48 (-6.98% of base) : 128078.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.Text.TextChangeRange],bool,bool,System.Threading.CancellationToken):this
         -44 (-20.00% of base) : 109802.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
         -40 (-34.48% of base) : 91859.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate,ubyte):this
         -40 (-12.05% of base) : 128072.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
         -40 (-1.16% of base) : 114869.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ResolveOverloadedMembers(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ArgumentSyntax]):Microsoft.CodeAnalysis.VisualBasic.OverloadResolutionResult`1[System.__Canon]:this
         -36 (-16.98% of base) : 109827.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberResolutionResult`1:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult,bool):this
         -36 (-2.42% of base) : 114420.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberSemanticModel:GetForEachStatementInfoWorker(Microsoft.CodeAnalysis.VisualBasic.Syntax.ForEachBlockSyntax):Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:this
         -32 (-4.97% of base) : 82381.dasm - System.DateOnly:TryParseExactInternal(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -32 (-7.69% of base) : 82384.dasm - System.DateOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -32 (-2.58% of base) : 165275.dasm - System.Security.Cryptography.Asn1.OaepParamsAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
         -32 (-2.91% of base) : 164692.dasm - System.Security.Cryptography.Pkcs.Asn1.EssCertIdV2:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
         -32 (-14.55% of base) : 176653.dasm - System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
         -32 (-5.26% of base) : 78883.dasm - System.TimeOnly:TryParseExactInternal(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -32 (-8.42% of base) : 78886.dasm - System.TimeOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -28 (-29.17% of base) : 91858.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate):this

Top method improvements (percentages):
         -40 (-34.48% of base) : 91859.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate,ubyte):this
         -20 (-33.33% of base) : 86297.dasm - StateMachineBox`1:ClearStateUponCompletion():this
         -28 (-29.17% of base) : 91858.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate):this
         -76 (-25.68% of base) : 109834.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
         -28 (-20.59% of base) : 151974.dasm - Microsoft.DiaSymReader.ComMemoryStream:Microsoft.DiaSymReader.IUnsafeComStream.Stat(byref,int):this
         -28 (-20.59% of base) : 52864.dasm - Roslyn.Utilities.ComMemoryStream:Roslyn.Utilities.IUnsafeComStream.Stat(byref,int):this
         -20 (-20.00% of base) : 192838.dasm - BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO:Create():Interop+BCrypt+BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
         -44 (-20.00% of base) : 109802.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
          -8 (-20.00% of base) : 66231.dasm - System.Diagnostics.Tracing.DataCollector:Disable():this
         -16 (-19.05% of base) : 188976.dasm - System.Collections.Immutable.DisposableEnumeratorAdapter`2:.ctor(System.Collections.Generic.IEnumerator`1[System.__Canon]):this
         -36 (-16.98% of base) : 109827.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberResolutionResult`1:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult,bool):this
         -32 (-14.55% of base) : 176653.dasm - System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
         -20 (-13.89% of base) : 128645.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ResetMode(int):this
         -20 (-13.89% of base) : 128067.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:set_Mode(int):this
         -20 (-12.50% of base) : 128646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:SetMode(int):int:this
         -40 (-12.05% of base) : 128072.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
         -20 (-11.11% of base) : 212760.dasm - System.Collections.Generic.SparseArrayBuilder`1:.ctor(bool):this
         -24 (-8.82% of base) : 91857.dasm - OverloadResolutionResult:.ctor(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],bool,bool,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]):this
         -32 (-8.42% of base) : 78886.dasm - System.TimeOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -12 (-8.11% of base) : 188811.dasm - Enumerator:Reset():this

256 total methods with Code Size differences (256 improved, 0 regressed), 14 unchanged.


libraries.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 51367956 (overridden on cmd)
Total bytes of diff: 51368108 (overridden on cmd)
Total bytes of delta: 152 (0.00 % of base)
    diff is a regression.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          48 : 48404.dasm (0.69% of base)
          40 : 33787.dasm (1.79% of base)
          32 : 22824.dasm (1.82% of base)
          32 : 33459.dasm (3.39% of base)
          24 : 33675.dasm (3.85% of base)
          24 : 33444.dasm (0.79% of base)
          24 : 33458.dasm (3.59% of base)
          20 : 33439.dasm (2.43% of base)
          20 : 41154.dasm (0.51% of base)
          20 : 33457.dasm (2.94% of base)
          16 : 33578.dasm (0.44% of base)
          16 : 180078.dasm (2.56% of base)
          16 : 164361.dasm (1.82% of base)
          16 : 33451.dasm (2.34% of base)
          16 : 172249.dasm (0.95% of base)
          16 : 135373.dasm (0.27% of base)
          16 : 228527.dasm (2.65% of base)
          16 : 33430.dasm (1.37% of base)
          16 : 33679.dasm (1.88% of base)
          16 : 180077.dasm (2.56% of base)

Top file improvements (bytes):
        -216 : 208204.dasm (-1.82% of base)
         -88 : 50982.dasm (-1.40% of base)
         -72 : 105551.dasm (-1.06% of base)
         -64 : 53999.dasm (-32.00% of base)
         -36 : 50983.dasm (-0.93% of base)
         -32 : 54021.dasm (-23.53% of base)
         -32 : 66924.dasm (-1.14% of base)
         -28 : 77383.dasm (-0.71% of base)
         -28 : 73320.dasm (-30.43% of base)
         -24 : 22818.dasm (-1.14% of base)
         -24 : 229110.dasm (-1.58% of base)
         -24 : 34016.dasm (-6.25% of base)
         -20 : 90198.dasm (-0.17% of base)
         -20 : 22898.dasm (-4.50% of base)
         -20 : 22832.dasm (-1.53% of base)
         -20 : 229151.dasm (-0.19% of base)
         -16 : 49072.dasm (-0.99% of base)
         -16 : 221314.dasm (-0.42% of base)
         -16 : 80378.dasm (-14.29% of base)
         -16 : 151812.dasm (-14.29% of base)

349 total files with Code Size differences (139 improved, 210 regressed), 123 unchanged.

Top method regressions (bytes):
          48 ( 0.69% of base) : 48404.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
          40 ( 1.79% of base) : 33787.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder):this
          32 ( 1.82% of base) : 22824.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:BinaryOperatorOverloadResolution(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult,byref):this
          32 ( 3.39% of base) : 33459.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlProcessingInstruction():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlProcessingInstructionSyntax:this
          24 ( 3.59% of base) : 33458.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlCDataSection():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCDataSectionSyntax:this
          24 ( 0.79% of base) : 33444.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlElement():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlNodeSyntax:this
          24 ( 3.85% of base) : 33675.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanType(byref):int:this
          20 ( 0.51% of base) : 41154.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers:CheckGraph(System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers+Node`1[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]])
          20 ( 2.43% of base) : 33439.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseRemainder(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlNodeSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):this
          20 ( 2.94% of base) : 33457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlComment():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCommentSyntax:this
          16 ( 2.65% of base) : 228527.dasm - ILStubClass:IL_STUB_PInvoke(CRYPTUI_VIEWCERTIFICATE_STRUCTW,long):bool
          16 ( 2.56% of base) : 180077.dasm - ILStubClass:IL_STUB_PInvoke(PRINTDLG):bool
          16 ( 2.56% of base) : 180078.dasm - ILStubClass:IL_STUB_PInvoke(PRINTDLGX86):bool
          16 ( 1.37% of base) : 33430.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseCrefTypeSuffix(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
          16 ( 2.34% of base) : 33451.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlAttributeText(byref,Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
          16 ( 0.44% of base) : 33578.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePostFixExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
          16 ( 1.88% of base) : 33679.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanNonArrayType(byref):int:this
          16 ( 0.59% of base) : 66901.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:CollectOverloadedCandidate(Microsoft.CodeAnalysis.ArrayBuilder`1[CandidateAnalysisResult],QuickApplicabilityInfo,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],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.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BoundNode,bool,Microsoft.CodeAnalysis.VisualBasic.Binder,byref,byref)
          16 ( 1.82% of base) : 164361.dasm - System.ComponentModel.DateTimeConverter:ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object):System.Object:this
          16 ( 0.95% of base) : 172249.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, 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]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this

Top method improvements (bytes):
        -216 (-1.82% of base) : 208204.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -88 (-1.40% of base) : 50982.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:RemoveDirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol,System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint],Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],int,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo]):System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint]
         -72 (-1.06% of base) : 105551.dasm - <ParseValueAsync>d__8:MoveNext():this
         -64 (-32.00% of base) : 53999.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
         -36 (-0.93% of base) : 50983.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:ReportIndirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceTypeParameterSymbol,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo],byref)
         -32 (-23.53% of base) : 54021.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
         -32 (-1.14% of base) : 66924.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:OperatorInvocationOverloadResolution(Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Binder,bool,bool,byref):OverloadResolutionResult
         -28 (-30.43% of base) : 73320.dasm - CandidateAnalysisResult:.ctor(Candidate,ubyte):this
         -28 (-0.71% of base) : 77383.dasm - Microsoft.CodeAnalysis.SyntaxDiffer:GetSimilarity(Microsoft.CodeAnalysis.SyntaxNodeOrToken,Microsoft.CodeAnalysis.SyntaxNodeOrToken):int:this
         -24 (-1.58% of base) : 229110.dasm - ILCompiler.MetadataManager:GetCompiledMethods(Internal.TypeSystem.Ecma.EcmaModule,int):System.Collections.Generic.IEnumerable`1[[ILCompiler.DependencyAnalysis.IMethodNode, ILCompiler.ReadyToRun, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null]]:this
         -24 (-1.14% of base) : 22818.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorAnalysisResult],byref):bool:this
         -24 (-6.25% of base) : 34016.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
         -20 (-0.19% of base) : 229151.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref):this
         -20 (-1.53% of base) : 22832.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:UnaryOperatorOverloadResolution(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult,byref):this
         -20 (-4.50% of base) : 22898.dasm - Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult:this
         -20 (-0.17% of base) : 90198.dasm - Microsoft.Diagnostics.Tracing.Parsers.RegisteredTraceEventParser:GetManifestForRegisteredProvider(System.Guid):System.String
         -16 (-0.26% of base) : 114559.dasm - <SendWithVersionDetectionAndRetryAsync>d__83:MoveNext():this
         -16 (-0.42% of base) : 221314.dasm - <WriteStreamAsync>d__112`1[__Canon][System.__Canon]:MoveNext():this
         -16 (-22.22% of base) : 73321.dasm - CandidateAnalysisResult:.ctor(Candidate):this
         -16 (-0.99% of base) : 49072.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberSemanticModel:GetCollectionRangeVariableSymbolInfoWorker(Microsoft.CodeAnalysis.VisualBasic.Syntax.CollectionRangeVariableSyntax,System.Threading.CancellationToken):Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:this

Top method regressions (percentages):
           8 (25.00% of base) : 83259.dasm - Microsoft.Diagnostics.Tracing.EventPipeEventSource:ResetCompressedHeader():this
           8 ( 8.00% of base) : 33435.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ReInitialize(int):this
           8 ( 8.00% of base) : 34008.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
           8 ( 3.85% of base) : 33449.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseCrefAttribute(byref,byref,byref):this
           8 ( 3.85% of base) : 33450.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseNameAttribute(byref,byref,byref):this
          24 ( 3.85% of base) : 33675.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanType(byref):int:this
           4 ( 3.70% of base) : 24896.dasm - Microsoft.CodeAnalysis.CSharp.CSharpExtensions:GetForEachStatementInfo(Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax):Microsoft.CodeAnalysis.CSharp.ForEachStatementInfo
           4 ( 3.70% of base) : 24561.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetForEachStatementInfo(Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax):Microsoft.CodeAnalysis.CSharp.ForEachStatementInfo:this
          24 ( 3.59% of base) : 33458.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlCDataSection():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCDataSectionSyntax:this
           4 ( 3.57% of base) : 157411.dasm - Enumerator[__Canon,Nullable`1][System.__Canon,System.Nullable`1[System.Int32]]:Reset():this
           8 ( 3.51% of base) : 33626.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
           8 ( 3.45% of base) : 214197.dasm - System.Security.Cryptography.ECDsaCng:ExportExplicitParameters(bool):System.Security.Cryptography.ECParameters:this
          32 ( 3.39% of base) : 33459.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlProcessingInstruction():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlProcessingInstructionSyntax:this
           8 ( 3.33% of base) : 33379.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseLogicalAnd():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
           8 ( 3.33% of base) : 33378.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseLogicalOr():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
           4 ( 3.23% of base) : 157421.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[Byte,Nullable`1]):this
           4 ( 3.12% of base) : 157414.dasm - Enumerator[__Canon,Nullable`1][System.__Canon,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,Nullable`1]):this
          20 ( 2.94% of base) : 33457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlComment():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCommentSyntax:this
           8 ( 2.70% of base) : 33380.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseEquality():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
          16 ( 2.65% of base) : 228527.dasm - ILStubClass:IL_STUB_PInvoke(CRYPTUI_VIEWCERTIFICATE_STRUCTW,long):bool

Top method improvements (percentages):
         -64 (-32.00% of base) : 53999.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
         -28 (-30.43% of base) : 73320.dasm - CandidateAnalysisResult:.ctor(Candidate,ubyte):this
         -32 (-23.53% of base) : 54021.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
         -16 (-22.22% of base) : 73321.dasm - CandidateAnalysisResult:.ctor(Candidate):this
         -16 (-14.29% of base) : 151812.dasm - Microsoft.DiaSymReader.ComMemoryStream:Microsoft.DiaSymReader.IUnsafeComStream.Stat(byref,int):this
         -16 (-14.29% of base) : 80378.dasm - Roslyn.Utilities.ComMemoryStream:Roslyn.Utilities.IUnsafeComStream.Stat(byref,int):this
          -8 (-10.53% of base) : 212075.dasm - BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO:Create():BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
         -12 (-9.09% of base) : 191532.dasm - System.Collections.Generic.SparseArrayBuilder`1[Byte][System.Byte]:.ctor(bool):this
          -8 (-6.67% of base) : 191525.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
         -12 (-6.38% of base) : 33989.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
         -24 (-6.25% of base) : 34016.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
          -4 (-5.56% of base) : 33437.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ResetMode(int):this
          -4 (-5.56% of base) : 33994.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:set_Mode(int):this
          -4 (-4.55% of base) : 33436.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:SetMode(int):int:this
         -20 (-4.50% of base) : 22898.dasm - Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult:this
          -8 (-3.57% of base) : 115298.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:GetEnumerator():Enumerator:this
          -4 (-3.33% of base) : 201256.dasm - System.Net.Sockets.Socket:ReturnSocketAsyncEventArgs(TaskSocketAsyncEventArgs`1[Int32],bool):this
         -12 (-3.00% of base) : 213439.dasm - ECDiffieHellmanCngPublicKey:ExportParameters():System.Security.Cryptography.ECParameters:this
          -4 (-2.94% of base) : 201534.dasm - AwaitableSocketAsyncEventArgs:Release():this
          -4 (-2.86% of base) : 112402.dasm - System.Diagnostics.CounterSample:.cctor()

349 total methods with Code Size differences (139 improved, 210 regressed), 123 unchanged.


libraries_tests.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 117602000 (overridden on cmd)
Total bytes of diff: 117599136 (overridden on cmd)
Total bytes of delta: -2864 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          48 : 200990.dasm (2.18% of base)
          40 : 72162.dasm (0.69% of base)
          40 : 70869.dasm (1.04% of base)
          36 : 72165.dasm (2.37% of base)
          32 : 70902.dasm (1.27% of base)
          28 : 72163.dasm (0.50% of base)
          28 : 72164.dasm (0.93% of base)
          24 : 70870.dasm (0.42% of base)
          24 : 196032.dasm (1.34% of base)
          24 : 123740.dasm (0.58% of base)
          24 : 2706.dasm (0.43% of base)
          24 : 197885.dasm (1.34% of base)
          20 : 70962.dasm (0.88% of base)
          20 : 70871.dasm (0.66% of base)
          20 : 70872.dasm (1.31% of base)
          16 : 70959.dasm (0.88% of base)
          16 : 2690.dasm (0.46% of base)
          16 : 2705.dasm (0.52% of base)
          16 : 10904.dasm (0.38% of base)
          12 : 102372.dasm (0.42% of base)

Top file improvements (bytes):
        -768 : 311400.dasm (-6.17% of base)
        -188 : 15932.dasm (-6.84% of base)
        -184 : 17969.dasm (-1.30% of base)
        -180 : 311434.dasm (-4.99% of base)
        -144 : 197630.dasm (-2.75% of base)
        -144 : 195487.dasm (-2.75% of base)
        -144 : 330154.dasm (-2.75% of base)
         -96 : 99842.dasm (-3.04% of base)
         -80 : 95558.dasm (-0.96% of base)
         -80 : 244768.dasm (-1.43% of base)
         -72 : 15950.dasm (-3.94% of base)
         -72 : 142747.dasm (-8.65% of base)
         -60 : 153430.dasm (-0.38% of base)
         -52 : 17906.dasm (-0.47% of base)
         -48 : 341736.dasm (-0.80% of base)
         -44 : 243505.dasm (-0.27% of base)
         -44 : 16355.dasm (-1.81% of base)
         -36 : 141851.dasm (-1.91% of base)
         -32 : 264089.dasm (-5.37% of base)
         -32 : 142754.dasm (-1.27% of base)

478 total files with Code Size differences (287 improved, 191 regressed), 166 unchanged.

Top method regressions (bytes):
          48 ( 2.18% of base) : 200990.dasm - System.Security.Cryptography.X509Certificates.Tests.CertificateCreation.EccTestData:.cctor()
          40 ( 1.04% of base) : 70869.dasm - System.Tests.DateOnlyTests:BasicFormatParseTest()
          40 ( 0.69% of base) : 72162.dasm - System.Tests.TimeOnlyTests:BasicFormatParseTest()
          36 ( 2.37% of base) : 72165.dasm - System.Tests.TimeOnlyTests:InvalidFormatsTest()
          32 ( 1.27% of base) : 70902.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_O(System.DateTime,System.String)
          28 ( 0.50% of base) : 72163.dasm - System.Tests.TimeOnlyTests:FormatParseTest()
          28 ( 0.93% of base) : 72164.dasm - System.Tests.TimeOnlyTests:OAndRFormatsTest()
          24 ( 0.58% of base) : 123740.dasm - <ProcessTargetStack>d__23:MoveNext():this
          24 ( 0.43% of base) : 2706.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ValidateReverseReferences(System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]])
          24 ( 1.34% of base) : 196032.dasm - System.Security.Cryptography.Tests.EccTestData:.cctor()
          24 ( 1.34% of base) : 197885.dasm - System.Security.Cryptography.Tests.EccTestData:.cctor()
          24 ( 0.42% of base) : 70870.dasm - System.Tests.DateOnlyTests:FormatParseTest()
          20 ( 1.31% of base) : 70872.dasm - System.Tests.DateOnlyTests:InvalidFormatsTest()
          20 ( 0.66% of base) : 70871.dasm - System.Tests.DateOnlyTests:OAndRFormatsTest()
          20 ( 0.88% of base) : 70962.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_R(System.DateTime,System.String)
          16 ( 0.38% of base) : 10904.dasm - Microsoft.CodeAnalysis.Diagnostics.SkippedHostAnalyzersInfo:Create(Microsoft.CodeAnalysis.Diagnostics.HostDiagnosticAnalyzers,System.Collections.Generic.IReadOnlyList`1[[Microsoft.CodeAnalysis.Diagnostics.AnalyzerReference, Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.String,Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzerInfoCache):Microsoft.CodeAnalysis.Diagnostics.SkippedHostAnalyzersInfo
          16 ( 0.46% of base) : 2690.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ComputeReverseReferencesMap():System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this
          16 ( 0.52% of base) : 2705.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ValidateForwardReferences(System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]])
          16 ( 0.88% of base) : 70959.dasm - System.Tests.DateTimeTests:ParseExact_ToStringThenParseExactRoundtrip_Success(System.String)
          12 ( 3.30% of base) : 78061.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__0():System.Object:this

Top method improvements (bytes):
        -768 (-6.17% of base) : 311400.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4EqualsNanTest():this
        -188 (-6.84% of base) : 15932.dasm - <DescendInheritanceTreeAsync>d__6:MoveNext():this
        -184 (-1.30% of base) : 17969.dasm - <CreateIndexAsync>d__8:MoveNext():this
        -180 (-4.99% of base) : 311434.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4IsIdentityTest():this
        -144 (-2.75% of base) : 197630.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
        -144 (-2.75% of base) : 195487.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
        -144 (-2.75% of base) : 330154.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
         -96 (-3.04% of base) : 99842.dasm - System.Text.Json.Serialization.Tests.ReadValueTests:ReadClasses()
         -80 (-1.43% of base) : 244768.dasm - Microsoft.DotNet.ProjectModel.Resolution.LibraryManager:GetAllDiagnostics():System.Collections.Generic.IList`1[[Microsoft.DotNet.ProjectModel.DiagnosticMessage, Microsoft.DotNet.ProjectModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]]:this
         -80 (-0.96% of base) : 95558.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:SkipTest()
         -72 (-3.94% of base) : 15950.dasm - <AddDescendantMetadataTypesInProjectAsync>d__16:MoveNext():this
         -72 (-8.65% of base) : 142747.dasm - <PushAll>d__19:MoveNext():this
         -60 (-0.38% of base) : 153430.dasm - System.Data.Tests.DataTableTest2:Select_ByFilter():this
         -52 (-0.47% of base) : 17906.dasm - <IdentifyConflictsAsync>d__19:MoveNext():this
         -48 (-0.80% of base) : 341736.dasm - System.Tests.ValueTupleTests:EightTuples()
         -44 (-1.81% of base) : 16355.dasm - <FindReferencesThroughAliasSymbolsAsync>d__26:MoveNext():this
         -44 (-0.27% of base) : 243505.dasm - <ResolveCoreAsync>d__50:MoveNext():this
         -36 (-1.91% of base) : 141851.dasm - <SendAsync>d__8:MoveNext():this
         -32 (-5.37% of base) : 264089.dasm - <<ZeroByteWrite_OtherDataReceivedSuccessfully>b__0>d:MoveNext():this
         -32 (-1.27% of base) : 142754.dasm - <PushPackageToServer>d__24:MoveNext():this

Top method regressions (percentages):
          12 ( 4.41% of base) : 176181.dasm - System.SpanTests.SpanTests:ClearValueTypeWithoutReferencesPointerSize()
          12 ( 3.30% of base) : 78061.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__0():System.Object:this
          12 ( 3.30% of base) : 78062.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__1():System.Object:this
          12 ( 3.19% of base) : 76136.dasm - <>c__DisplayClass18_0:<InvalidFormatsTest>b__1():System.Object:this
          12 ( 3.16% of base) : 76135.dasm - <>c__DisplayClass18_0:<InvalidFormatsTest>b__0():System.Object:this
           8 ( 2.86% of base) : 114921.dasm - Microsoft.Build.Tasks.Touch:GetTouchDateTime():System.DateTime:this
           8 ( 2.82% of base) : 286125.dasm - <>c__DisplayClass0_0:<TestJapaneseCalendarDateParsing>b__0():System.Object:this
           8 ( 2.82% of base) : 76468.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__0():System.Object:this
           8 ( 2.82% of base) : 76469.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__1():System.Object:this
           8 ( 2.82% of base) : 76481.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__0():System.Object:this
           8 ( 2.82% of base) : 76482.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__1():System.Object:this
           4 ( 2.70% of base) : 133427.dasm - Microsoft.Diagnostics.Runtime.DacInterface.SOSDac:GetThreadData(long,byref):bool:this
           8 ( 2.67% of base) : 76462.dasm - <>c__DisplayClass124_0:<ParseExact_ToStringThenParseExact_RoundtripWithOtherFormat_Fails>b__2():System.Object:this
           8 ( 2.60% of base) : 76470.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__2():System.Object:this
           8 ( 2.60% of base) : 76483.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__2():System.Object:this
           8 ( 2.60% of base) : 70946.dasm - System.Tests.DateTimeTests:Parse_String()
           8 ( 2.56% of base) : 70947.dasm - System.Tests.DateTimeTests:Parse_String_FormatProvider()
           8 ( 2.56% of base) : 70948.dasm - System.Tests.DateTimeTests:Parse_String_FormatProvider_DateTimeStyles()
          36 ( 2.37% of base) : 72165.dasm - System.Tests.TimeOnlyTests:InvalidFormatsTest()
           8 ( 2.27% of base) : 70906.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_CustomFormatProvider()

Top method improvements (percentages):
         -16 (-26.67% of base) : 7416.dasm - Microsoft.CodeAnalysis.Rename.ConflictResolution:.ctor(System.String):this
          -4 (-12.50% of base) : 91781.dasm - <>c:<get_SimpleTestStructWithNullableGenericStructCollectionWrappers>b__858_0():System.Text.Json.Serialization.Tests.SimpleTestStructWithNullableGenericStructCollectionWrappers:this
         -24 (-12.24% of base) : 130274.dasm - CodeShapeAnalyzer:.ctor(Microsoft.CodeAnalysis.Formatting.FormattingContext,bool,Microsoft.CodeAnalysis.Formatting.TriviaList):this
         -72 (-8.65% of base) : 142747.dasm - <PushAll>d__19:MoveNext():this
        -188 (-6.84% of base) : 15932.dasm - <DescendInheritanceTreeAsync>d__6:MoveNext():this
          -8 (-6.67% of base) : 125318.dasm - Microsoft.CodeAnalysis.CSharp.Formatting.NewLineUserSettingFormattingRule:.ctor():this
        -768 (-6.17% of base) : 311400.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4EqualsNanTest():this
         -32 (-5.37% of base) : 264089.dasm - <<ZeroByteWrite_OtherDataReceivedSuccessfully>b__0>d:MoveNext():this
        -180 (-4.99% of base) : 311434.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4IsIdentityTest():this
          -4 (-4.55% of base) : 197563.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 195384.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 330088.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 197704.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 195553.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 330260.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
         -72 (-3.94% of base) : 15950.dasm - <AddDescendantMetadataTypesInProjectAsync>d__16:MoveNext():this
          -8 (-3.57% of base) : 180560.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:GetEnumerator():Enumerator:this
          -8 (-3.51% of base) : 236997.dasm - LamarCompiler.Util.StringExtensions:ToDateTime(System.String):System.DateTime
          -8 (-3.39% of base) : 106574.dasm - MyDateTimeConverter:Read(byref,System.Type,System.Text.Json.JsonSerializerOptions):System.DateTime:this
         -96 (-3.04% of base) : 99842.dasm - System.Text.Json.Serialization.Tests.ReadValueTests:ReadClasses()

478 total methods with Code Size differences (287 improved, 191 regressed), 166 unchanged.


Author: echesakovMSFT
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@echesakov echesakov added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 30, 2021
@ghost
Copy link

ghost commented Oct 30, 2021

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

Issue Details

benchmarks.run.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 7643140 (overridden on cmd)
Total bytes of diff: 7642800 (overridden on cmd)
Total bytes of delta: -340 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          24 : 15710.dasm (1.57% of base)
          16 : 4577.dasm (0.98% of base)
          16 : 15788.dasm (0.38% of base)
          16 : 18614.dasm (1.32% of base)
          12 : 19744.dasm (2.00% of base)
           8 : 15757.dasm (0.48% of base)
           8 : 15741.dasm (3.51% of base)
           8 : 18619.dasm (1.03% of base)
           8 : 16829.dasm (0.37% of base)
           8 : 15713.dasm (8.00% of base)
           8 : 18604.dasm (1.61% of base)
           8 : 15747.dasm (0.31% of base)
           8 : 10639.dasm (2.41% of base)
           8 : 15723.dasm (1.06% of base)
           8 : 18854.dasm (4.08% of base)
           8 : 15722.dasm (0.77% of base)
           8 : 18646.dasm (2.38% of base)
           8 : 19806.dasm (1.40% of base)
           4 : 5499.dasm (0.82% of base)
           4 : 11155.dasm (0.09% of base)

Top file improvements (bytes):
        -216 : 9825.dasm (-1.82% of base)
         -44 : 4554.dasm (-1.28% of base)
         -36 : 1983.dasm (-1.90% of base)
         -28 : 12885.dasm (-1.90% of base)
         -24 : 12887.dasm (-1.04% of base)
         -24 : 15594.dasm (-6.25% of base)
         -16 : 6373.dasm (-0.43% of base)
         -16 : 9483.dasm (-0.26% of base)
         -16 : 6551.dasm (-0.42% of base)
         -16 : 15754.dasm (-7.41% of base)
         -12 : 12886.dasm (-1.27% of base)
         -12 : 14844.dasm (-0.70% of base)
         -12 : 8061.dasm (-4.62% of base)
         -12 : 6380.dasm (-0.73% of base)
         -12 : 17067.dasm (-2.44% of base)
          -8 : 16659.dasm (-0.08% of base)
          -8 : 1417.dasm (-6.67% of base)
          -8 : 5314.dasm (-0.74% of base)
          -8 : 14253.dasm (-2.17% of base)
          -8 : 19472.dasm (-1.47% of base)

67 total files with Code Size differences (33 improved, 34 regressed), 15 unchanged.

Top method regressions (bytes):
          24 ( 1.57% of base) : 15710.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
          16 ( 1.32% of base) : 18614.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
          16 ( 0.38% of base) : 15788.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePostFixExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
          16 ( 0.98% of base) : 4577.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, 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]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
          12 ( 2.00% of base) : 19744.dasm - DateTimeArrayJsonHelperWithString:ReadArray(System.Xml.XmlDictionaryReader,System.String,System.String,System.DateTime[],int,int):int:this
           8 ( 4.08% of base) : 18854.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(ValueSet[__Canon,__Canon]):this
           8 ( 0.37% of base) : 16829.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.DiagnosticBag):this
           8 ( 1.06% of base) : 15723.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseBaseList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BaseListSyntax:this
           8 ( 0.31% of base) : 15747.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseMemberName(byref,byref,byref,bool):this
           8 ( 0.48% of base) : 15757.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterList(byref,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ParameterSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref,ushort,ushort):this
           8 ( 1.61% of base) : 18604.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
           8 ( 3.51% of base) : 15741.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
           8 ( 2.38% of base) : 18646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseQualifiedName(int):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameSyntax:this
           8 ( 0.77% of base) : 15722.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeParameterList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeParameterListSyntax:this
           8 ( 1.03% of base) : 18619.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseVariableDeclarators(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax,int,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.VariableDeclaratorSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],bool,bool,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
           8 ( 8.00% of base) : 15713.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
           8 ( 2.41% of base) : 10639.dasm - System.DateTimeOffset:Parse(System.String):System.DateTimeOffset
           8 ( 1.40% of base) : 19806.dasm - System.Xml.XmlDictionaryReader:ReadElementContentAsDateTime():System.DateTime:this
           4 ( 0.83% of base) : 5600.dasm - AsyncStateMachineBox`1[__Canon,<ReceiveBlobAsync>d__174`1][System.__Canon,System.Net.Security.SslStream+<ReceiveBlobAsync>d__174`1[System.Net.Security.AsyncReadWriteAdapter]]:MoveNext(System.Threading.Thread):this
           4 ( 3.12% of base) : 8193.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,__Canon]):this

Top method improvements (bytes):
        -216 (-1.82% of base) : 9825.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -44 (-1.28% of base) : 4554.dasm - System.Diagnostics.Perf_Activity:.cctor()
         -36 (-1.90% of base) : 1983.dasm - System.Reflection.RuntimeCustomAttributeData:.ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,byref):this
         -28 (-1.90% of base) : 12885.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):MicroBenchmarks.Serializers.LargeStructWithProperties:this
         -24 (-6.25% of base) : 15594.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
         -24 (-1.04% of base) : 12887.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
         -16 (-0.26% of base) : 9483.dasm - <SendWithVersionDetectionAndRetryAsync>d__83:MoveNext():this
         -16 (-0.43% of base) : 6373.dasm - <WriteStreamAsync>d__112`1[__Canon][System.__Canon]:MoveNext():this
         -16 (-0.42% of base) : 6551.dasm - <WriteStreamAsync>d__112`1[Int32][System.Int32]:MoveNext():this
         -16 (-7.41% of base) : 15754.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
         -12 (-0.73% of base) : 6380.dasm - <ReadAllAsync>d__65`1[__Canon][System.__Canon]:MoveNext():this
         -12 (-0.70% of base) : 14844.dasm - <ReadAllAsync>d__65`1[SimpleStructWithProperties][MicroBenchmarks.Serializers.SimpleStructWithProperties]:MoveNext():this
         -12 (-2.44% of base) : 17067.dasm - Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult:this
         -12 (-4.62% of base) : 8061.dasm - System.Convert:ToDateTime(System.String):System.DateTime
         -12 (-1.27% of base) : 12886.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
          -8 (-2.17% of base) : 14253.dasm - ILStubClass:IL_STUB_StructMarshal(byref,long,int,byref)
          -8 (-0.08% of base) : 16659.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:AddNonTypeMembers(MembersAndInitializersBuilder,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.DiagnosticBag):this
          -8 (-6.67% of base) : 1417.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
          -8 (-1.47% of base) : 19472.dasm - System.ConsolePal:GetBufferInfo(bool,byref):CONSOLE_SCREEN_BUFFER_INFO
          -8 (-0.76% of base) : 5289.dasm - System.Net.Security.SslStreamPal:AcquireCredentialsHandleSchCredentials(System.Security.Cryptography.X509Certificates.X509Certificate2,int,int,bool):System.Net.Security.SafeFreeCredentials

Top method regressions (percentages):
           8 ( 8.00% of base) : 15713.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
           8 ( 4.08% of base) : 18854.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(ValueSet[__Canon,__Canon]):this
           8 ( 3.51% of base) : 15741.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
           4 ( 3.12% of base) : 8193.dasm - Enumerator[__Canon,__Canon][System.__Canon,System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,__Canon]):this
           8 ( 2.41% of base) : 10639.dasm - System.DateTimeOffset:Parse(System.String):System.DateTimeOffset
           8 ( 2.38% of base) : 18646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseQualifiedName(int):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.NameSyntax:this
          12 ( 2.00% of base) : 19744.dasm - DateTimeArrayJsonHelperWithString:ReadArray(System.Xml.XmlDictionaryReader,System.String,System.String,System.DateTime[],int,int):int:this
           4 ( 2.00% of base) : 20926.dasm - System.Collections.Immutable.ImmutableHashSet`1[Int32][System.Int32]:GetEnumerator():Enumerator[Int32]:this
           8 ( 1.61% of base) : 18604.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseParameterModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
          24 ( 1.57% of base) : 15710.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder,bool):this
           4 ( 1.41% of base) : 12228.dasm - System.Security.Cryptography.ECCurve:CreateFromValueAndName(System.String,System.String):System.Security.Cryptography.ECCurve
           8 ( 1.40% of base) : 19806.dasm - System.Xml.XmlDictionaryReader:ReadElementContentAsDateTime():System.DateTime:this
          16 ( 1.32% of base) : 18614.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseDeclarationModifiers(Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxListBuilder):this
           4 ( 1.11% of base) : 4717.dasm - System.Drawing.Internal.GPStream:Stat(long,int):this
           8 ( 1.06% of base) : 15723.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseBaseList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.BaseListSyntax:this
           8 ( 1.03% of base) : 18619.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseVariableDeclarators(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax,int,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SeparatedSyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.VariableDeclaratorSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],bool,bool,Microsoft.CodeAnalysis.Syntax.InternalSyntax.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
          16 ( 0.98% of base) : 4577.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, 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]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
           4 ( 0.83% of base) : 5600.dasm - AsyncStateMachineBox`1[__Canon,<ReceiveBlobAsync>d__174`1][System.__Canon,System.Net.Security.SslStream+<ReceiveBlobAsync>d__174`1[System.Net.Security.AsyncReadWriteAdapter]]:MoveNext(System.Threading.Thread):this
           4 ( 0.82% of base) : 5499.dasm - Internal.Cryptography.Pal.ChainPal:GetChainEngine(int,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,bool):Internal.Cryptography.Pal.Native.SafeChainEngineHandle
           8 ( 0.77% of base) : 15722.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseTypeParameterList():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeParameterListSyntax:this

Top method improvements (percentages):
         -16 (-7.41% of base) : 15754.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
          -8 (-6.67% of base) : 1417.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
         -24 (-6.25% of base) : 15594.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
         -12 (-4.62% of base) : 8061.dasm - System.Convert:ToDateTime(System.String):System.DateTime
          -4 (-2.94% of base) : 5351.dasm - AwaitableSocketAsyncEventArgs:Release():this
          -4 (-2.86% of base) : 12872.dasm - MicroBenchmarks.Serializers.DataGenerator:CreateLargeStructWithProperties():MicroBenchmarks.Serializers.LargeStructWithProperties
          -4 (-2.50% of base) : 5468.dasm - System.TimeZoneInfo:TryGetTimeZoneEntryFromRegistry(Internal.Win32.RegistryKey,System.String,byref):bool
         -12 (-2.44% of base) : 17067.dasm - Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.BinaryOperatorAnalysisResult:this
          -4 (-2.33% of base) : 5894.dasm - System.Numerics.Matrix4x4:.cctor()
          -8 (-2.17% of base) : 14253.dasm - ILStubClass:IL_STUB_StructMarshal(byref,long,int,byref)
          -4 (-2.08% of base) : 14797.dasm - System.Numerics.Tests.Perf_Matrix4x4:CreateFromScalars():System.Numerics.Matrix4x4:this
         -36 (-1.90% of base) : 1983.dasm - System.Reflection.RuntimeCustomAttributeData:.ctor(System.Reflection.RuntimeModule,System.Reflection.MetadataToken,byref):this
         -28 (-1.90% of base) : 12885.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):MicroBenchmarks.Serializers.LargeStructWithProperties:this
        -216 (-1.82% of base) : 9825.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
          -8 (-1.47% of base) : 19472.dasm - System.ConsolePal:GetBufferInfo(bool,byref):CONSOLE_SCREEN_BUFFER_INFO
          -4 (-1.41% of base) : 19473.dasm - Kernel32:GetConsoleScreenBufferInfo(long,byref):bool
          -4 (-1.30% of base) : 7923.dasm - Interop:CheckForAvailableVirtualMemory(long)
         -44 (-1.28% of base) : 4554.dasm - System.Diagnostics.Perf_Activity:.cctor()
         -12 (-1.27% of base) : 12886.dasm - System.Text.Json.Serialization.JsonConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this
         -24 (-1.04% of base) : 12887.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[LargeStructWithProperties][MicroBenchmarks.Serializers.LargeStructWithProperties]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):bool:this

67 total methods with Code Size differences (33 improved, 34 regressed), 15 unchanged.


coreclr_tests.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 165072520 (overridden on cmd)
Total bytes of diff: 165068932 (overridden on cmd)
Total bytes of delta: -3588 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs


Top file regressions (bytes):
          72 : 168762.dasm (1.32% of base)
          72 : 167701.dasm (1.34% of base)
          36 : 218418.dasm (2.63% of base)
          28 : 168618.dasm (1.00% of base)
          24 : 229926.dasm (1.83% of base)
          20 : 218432.dasm (1.75% of base)
          16 : 239929.dasm (16.00% of base)
          16 : 239930.dasm (16.00% of base)
          16 : 239902.dasm (16.00% of base)
          16 : 239931.dasm (16.00% of base)
          16 : 87634.dasm (2.96% of base)
          16 : 239932.dasm (16.00% of base)
          16 : 239933.dasm (16.00% of base)
          16 : 239934.dasm (16.00% of base)
          16 : 239935.dasm (16.00% of base)
          16 : 239927.dasm (16.00% of base)
          16 : 239928.dasm (16.00% of base)
          16 : 225598.dasm (2.29% of base)
          16 : 239900.dasm (16.00% of base)
          16 : 239936.dasm (16.00% of base)

Top file improvements (bytes):
        -216 : 226601.dasm (-2.87% of base)
        -216 : 217800.dasm (-1.96% of base)
        -216 : 217899.dasm (-1.98% of base)
        -216 : 226575.dasm (-2.04% of base)
        -216 : 217930.dasm (-2.07% of base)
        -208 : 217571.dasm (-2.01% of base)
        -208 : 218184.dasm (-1.90% of base)
        -208 : 218212.dasm (-1.92% of base)
        -208 : 225485.dasm (-1.98% of base)
        -144 : 232486.dasm (-1.76% of base)
        -136 : 225518.dasm (-1.64% of base)
        -136 : 225585.dasm (-1.58% of base)
        -116 : 225684.dasm (-1.36% of base)
        -116 : 191640.dasm (-1.97% of base)
        -116 : 225617.dasm (-1.38% of base)
        -104 : 218150.dasm (-1.03% of base)
        -104 : 227066.dasm (-1.02% of base)
         -80 : 145242.dasm (-1.89% of base)
         -80 : 188733.dasm (-1.89% of base)
         -80 : 188972.dasm (-1.89% of base)

313 total files with Code Size differences (163 improved, 150 regressed), 20 unchanged.

Top method regressions (bytes):
          72 ( 1.32% of base) : 168762.dasm - NullableTest45:Run()
          72 ( 1.34% of base) : 167701.dasm - NullableTest45:Run()
          36 ( 2.63% of base) : 218418.dasm - Packet256Tracer:CreateDefaultScene():Scene
          28 ( 1.00% of base) : 168618.dasm - NullableTest45:Run()
          24 ( 1.83% of base) : 229926.dasm - NullableTest:Main():int
          20 ( 1.75% of base) : 218432.dasm - Surfaces:.cctor()
          16 ( 2.29% of base) : 225598.dasm - AA:reset()
          16 ( 2.96% of base) : 87634.dasm - JitTest.Test:Main():int
          16 ( 3.01% of base) : 87635.dasm - JitTest.Test:Main():int
          16 (16.00% of base) : 239926.dasm - Program:Test81()
          16 (16.00% of base) : 239927.dasm - Program:Test82()
          16 (16.00% of base) : 239928.dasm - Program:Test83()
          16 (16.00% of base) : 239929.dasm - Program:Test84()
          16 (16.00% of base) : 239930.dasm - Program:Test85()
          16 (16.00% of base) : 239931.dasm - Program:Test86()
          16 (16.00% of base) : 239932.dasm - Program:Test87()
          16 (16.00% of base) : 239933.dasm - Program:Test88()
          16 (16.00% of base) : 239934.dasm - Program:Test89()
          16 (16.00% of base) : 239935.dasm - Program:Test90()
          16 (16.00% of base) : 239936.dasm - Program:Test91()

Top method improvements (bytes):
        -216 (-2.87% of base) : 226601.dasm - TestApp:Main():int
        -216 (-1.96% of base) : 217800.dasm - TestApp:Main():int
        -216 (-1.98% of base) : 217899.dasm - TestApp:Main():int
        -216 (-2.04% of base) : 226575.dasm - TestApp:Main():int
        -216 (-2.07% of base) : 217930.dasm - TestApp:Main():int
        -208 (-2.01% of base) : 217571.dasm - TestApp:Main():int
        -208 (-1.90% of base) : 218184.dasm - TestApp:Main():int
        -208 (-1.92% of base) : 218212.dasm - TestApp:Main():int
        -208 (-1.98% of base) : 225485.dasm - TestApp:Main():int
        -144 (-1.76% of base) : 232486.dasm - TestApp:Main():int
        -136 (-1.64% of base) : 225518.dasm - TestApp:Main():int
        -136 (-1.58% of base) : 225585.dasm - TestApp:Main():int
        -116 (-1.36% of base) : 225684.dasm - TestApp:Main():int
        -116 (-1.38% of base) : 225617.dasm - TestApp:Main():int
        -116 (-1.97% of base) : 191640.dasm - testout1:.cctor()
        -104 (-1.03% of base) : 218150.dasm - TestApp:Main():int
        -104 (-1.02% of base) : 227066.dasm - TestApp:Main():int
         -80 (-1.89% of base) : 145242.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
         -80 (-1.89% of base) : 188733.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
         -80 (-1.89% of base) : 188972.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this

Top method regressions (percentages):
          16 (16.00% of base) : 239926.dasm - Program:Test81()
          16 (16.00% of base) : 239927.dasm - Program:Test82()
          16 (16.00% of base) : 239928.dasm - Program:Test83()
          16 (16.00% of base) : 239929.dasm - Program:Test84()
          16 (16.00% of base) : 239930.dasm - Program:Test85()
          16 (16.00% of base) : 239931.dasm - Program:Test86()
          16 (16.00% of base) : 239932.dasm - Program:Test87()
          16 (16.00% of base) : 239933.dasm - Program:Test88()
          16 (16.00% of base) : 239934.dasm - Program:Test89()
          16 (16.00% of base) : 239935.dasm - Program:Test90()
          16 (16.00% of base) : 239936.dasm - Program:Test91()
          16 (16.00% of base) : 239937.dasm - Program:Test92()
          16 (16.00% of base) : 239938.dasm - Program:Test93()
          16 (16.00% of base) : 239939.dasm - Program:Test94()
          16 (16.00% of base) : 239900.dasm - Program:Test95()
          16 (16.00% of base) : 239902.dasm - Program:Test97()
          16 (16.00% of base) : 239903.dasm - Program:Test98()
          16 (16.00% of base) : 239904.dasm - Program:Test99()
          12 (12.00% of base) : 239910.dasm - Program:Test65()
          12 (12.00% of base) : 239911.dasm - Program:Test66()

Top method improvements (percentages):
          -8 (-22.22% of base) : 88500.dasm - Program:Test(byref)
         -12 (-12.00% of base) : 88629.dasm - MyTest:f(int):Struct1
         -64 (-10.32% of base) : 188517.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
         -64 (-10.32% of base) : 188850.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
         -64 (-10.32% of base) : 189101.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetQuad44DataPoint(int):System.ValueTuple`4[ValueTuple`4,ValueTuple`4,ValueTuple`4,ValueTuple`4]:this
         -12 (-10.00% of base) : 239956.dasm - Program:Test47()
         -12 (-9.68% of base) : 239908.dasm - Program:Test63()
          -4 (-9.09% of base) : 212804.dasm - TestNon2PowerStructs:Return7():Byte7Struct
          -8 (-7.14% of base) : 239988.dasm - Program:Test15()
          -8 (-7.14% of base) : 239996.dasm - Program:Test23()
          -8 (-6.90% of base) : 239940.dasm - Program:Test31()
          -8 (-6.90% of base) : 239948.dasm - Program:Test39()
          -8 (-6.90% of base) : 239952.dasm - Program:Test43()
          -8 (-6.90% of base) : 239954.dasm - Program:Test45()
          -8 (-6.90% of base) : 239955.dasm - Program:Test46()
          -8 (-6.67% of base) : 239964.dasm - Program:Test55()
          -8 (-6.67% of base) : 239968.dasm - Program:Test59()
          -8 (-6.67% of base) : 239970.dasm - Program:Test61()
          -8 (-6.67% of base) : 239971.dasm - Program:Test62()
         -56 (-6.06% of base) : 243751.dasm - Test:Main():int

313 total methods with Code Size differences (163 improved, 150 regressed), 20 unchanged.


libraries.crossgen2.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 51798676 (overridden on cmd)
Total bytes of diff: 51795164 (overridden on cmd)
Total bytes of delta: -3512 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file improvements (bytes):
        -216 : 200047.dasm (-2.01% of base)
         -88 : 98240.dasm (-2.80% of base)
         -76 : 109834.dasm (-25.68% of base)
         -64 : 98200.dasm (-3.40% of base)
         -60 : 119288.dasm (-2.45% of base)
         -48 : 128078.dasm (-6.98% of base)
         -44 : 109802.dasm (-20.00% of base)
         -40 : 91859.dasm (-34.48% of base)
         -40 : 128072.dasm (-12.05% of base)
         -40 : 114869.dasm (-1.16% of base)
         -36 : 109827.dasm (-16.98% of base)
         -36 : 114420.dasm (-2.42% of base)
         -32 : 176653.dasm (-14.55% of base)
         -32 : 165275.dasm (-2.58% of base)
         -32 : 164692.dasm (-2.91% of base)
         -32 : 82381.dasm (-4.97% of base)
         -32 : 78883.dasm (-5.26% of base)
         -32 : 78886.dasm (-8.42% of base)
         -32 : 82384.dasm (-7.69% of base)
         -28 : 52864.dasm (-20.59% of base)

256 total files with Code Size differences (256 improved, 0 regressed), 14 unchanged.

Top method improvements (bytes):
        -216 (-2.01% of base) : 200047.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -88 (-2.80% of base) : 98240.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:OperatorInvocationOverloadResolution(Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol],Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Binder,bool,bool,byref):Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+OverloadResolutionResult
         -76 (-25.68% of base) : 109834.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
         -64 (-3.40% of base) : 98200.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:CollectOverloadedCandidate(Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+QuickApplicabilityInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BoundNode,bool,Microsoft.CodeAnalysis.VisualBasic.Binder,byref,byref)
         -60 (-2.45% of base) : 119288.dasm - InterpolatedStringScanner:ScanInterpolatedStringLiteralHoleBalancedText(ushort,bool,byref):this
         -48 (-6.98% of base) : 128078.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.Text.TextChangeRange],bool,bool,System.Threading.CancellationToken):this
         -44 (-20.00% of base) : 109802.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
         -40 (-34.48% of base) : 91859.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate,ubyte):this
         -40 (-12.05% of base) : 128072.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
         -40 (-1.16% of base) : 114869.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ResolveOverloadedMembers(System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.ArgumentSyntax]):Microsoft.CodeAnalysis.VisualBasic.OverloadResolutionResult`1[System.__Canon]:this
         -36 (-16.98% of base) : 109827.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberResolutionResult`1:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult,bool):this
         -36 (-2.42% of base) : 114420.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberSemanticModel:GetForEachStatementInfoWorker(Microsoft.CodeAnalysis.VisualBasic.Syntax.ForEachBlockSyntax):Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:this
         -32 (-4.97% of base) : 82381.dasm - System.DateOnly:TryParseExactInternal(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -32 (-7.69% of base) : 82384.dasm - System.DateOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -32 (-2.58% of base) : 165275.dasm - System.Security.Cryptography.Asn1.OaepParamsAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
         -32 (-2.91% of base) : 164692.dasm - System.Security.Cryptography.Pkcs.Asn1.EssCertIdV2:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
         -32 (-14.55% of base) : 176653.dasm - System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
         -32 (-5.26% of base) : 78883.dasm - System.TimeOnly:TryParseExactInternal(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -32 (-8.42% of base) : 78886.dasm - System.TimeOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -28 (-29.17% of base) : 91858.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate):this

Top method improvements (percentages):
         -40 (-34.48% of base) : 91859.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate,ubyte):this
         -20 (-33.33% of base) : 86297.dasm - StateMachineBox`1:ClearStateUponCompletion():this
         -28 (-29.17% of base) : 91858.dasm - CandidateAnalysisResult:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+Candidate):this
         -76 (-25.68% of base) : 109834.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
         -28 (-20.59% of base) : 151974.dasm - Microsoft.DiaSymReader.ComMemoryStream:Microsoft.DiaSymReader.IUnsafeComStream.Stat(byref,int):this
         -28 (-20.59% of base) : 52864.dasm - Roslyn.Utilities.ComMemoryStream:Roslyn.Utilities.IUnsafeComStream.Stat(byref,int):this
         -20 (-20.00% of base) : 192838.dasm - BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO:Create():Interop+BCrypt+BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
         -44 (-20.00% of base) : 109802.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
          -8 (-20.00% of base) : 66231.dasm - System.Diagnostics.Tracing.DataCollector:Disable():this
         -16 (-19.05% of base) : 188976.dasm - System.Collections.Immutable.DisposableEnumeratorAdapter`2:.ctor(System.Collections.Generic.IEnumerator`1[System.__Canon]):this
         -36 (-16.98% of base) : 109827.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberResolutionResult`1:.ctor(Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult,bool):this
         -32 (-14.55% of base) : 176653.dasm - System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
         -20 (-13.89% of base) : 128645.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ResetMode(int):this
         -20 (-13.89% of base) : 128067.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:set_Mode(int):this
         -20 (-12.50% of base) : 128646.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:SetMode(int):int:this
         -40 (-12.05% of base) : 128072.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
         -20 (-11.11% of base) : 212760.dasm - System.Collections.Generic.SparseArrayBuilder`1:.ctor(bool):this
         -24 (-8.82% of base) : 91857.dasm - OverloadResolutionResult:.ctor(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.OverloadResolution+CandidateAnalysisResult],bool,bool,System.Collections.Generic.HashSet`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]):this
         -32 (-8.42% of base) : 78886.dasm - System.TimeOnly:TryParseInternal(System.ReadOnlySpan`1[System.Char],System.IFormatProvider,int,byref):int
         -12 (-8.11% of base) : 188811.dasm - Enumerator:Reset():this

256 total methods with Code Size differences (256 improved, 0 regressed), 14 unchanged.


libraries.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 51367956 (overridden on cmd)
Total bytes of diff: 51368108 (overridden on cmd)
Total bytes of delta: 152 (0.00 % of base)
    diff is a regression.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          48 : 48404.dasm (0.69% of base)
          40 : 33787.dasm (1.79% of base)
          32 : 22824.dasm (1.82% of base)
          32 : 33459.dasm (3.39% of base)
          24 : 33675.dasm (3.85% of base)
          24 : 33444.dasm (0.79% of base)
          24 : 33458.dasm (3.59% of base)
          20 : 33439.dasm (2.43% of base)
          20 : 41154.dasm (0.51% of base)
          20 : 33457.dasm (2.94% of base)
          16 : 33578.dasm (0.44% of base)
          16 : 180078.dasm (2.56% of base)
          16 : 164361.dasm (1.82% of base)
          16 : 33451.dasm (2.34% of base)
          16 : 172249.dasm (0.95% of base)
          16 : 135373.dasm (0.27% of base)
          16 : 228527.dasm (2.65% of base)
          16 : 33430.dasm (1.37% of base)
          16 : 33679.dasm (1.88% of base)
          16 : 180077.dasm (2.56% of base)

Top file improvements (bytes):
        -216 : 208204.dasm (-1.82% of base)
         -88 : 50982.dasm (-1.40% of base)
         -72 : 105551.dasm (-1.06% of base)
         -64 : 53999.dasm (-32.00% of base)
         -36 : 50983.dasm (-0.93% of base)
         -32 : 54021.dasm (-23.53% of base)
         -32 : 66924.dasm (-1.14% of base)
         -28 : 77383.dasm (-0.71% of base)
         -28 : 73320.dasm (-30.43% of base)
         -24 : 22818.dasm (-1.14% of base)
         -24 : 229110.dasm (-1.58% of base)
         -24 : 34016.dasm (-6.25% of base)
         -20 : 90198.dasm (-0.17% of base)
         -20 : 22898.dasm (-4.50% of base)
         -20 : 22832.dasm (-1.53% of base)
         -20 : 229151.dasm (-0.19% of base)
         -16 : 49072.dasm (-0.99% of base)
         -16 : 221314.dasm (-0.42% of base)
         -16 : 80378.dasm (-14.29% of base)
         -16 : 151812.dasm (-14.29% of base)

349 total files with Code Size differences (139 improved, 210 regressed), 123 unchanged.

Top method regressions (bytes):
          48 ( 0.69% of base) : 48404.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
          40 ( 1.79% of base) : 33787.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseModifiers(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder):this
          32 ( 1.82% of base) : 22824.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:BinaryOperatorOverloadResolution(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BinaryOperatorOverloadResolutionResult,byref):this
          32 ( 3.39% of base) : 33459.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlProcessingInstruction():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlProcessingInstructionSyntax:this
          24 ( 3.59% of base) : 33458.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlCDataSection():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCDataSectionSyntax:this
          24 ( 0.79% of base) : 33444.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlElement():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlNodeSyntax:this
          24 ( 3.85% of base) : 33675.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanType(byref):int:this
          20 ( 0.51% of base) : 41154.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers:CheckGraph(System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers+Node`1[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]])
          20 ( 2.43% of base) : 33439.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseRemainder(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlNodeSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):this
          20 ( 2.94% of base) : 33457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlComment():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCommentSyntax:this
          16 ( 2.65% of base) : 228527.dasm - ILStubClass:IL_STUB_PInvoke(CRYPTUI_VIEWCERTIFICATE_STRUCTW,long):bool
          16 ( 2.56% of base) : 180077.dasm - ILStubClass:IL_STUB_PInvoke(PRINTDLG):bool
          16 ( 2.56% of base) : 180078.dasm - ILStubClass:IL_STUB_PInvoke(PRINTDLGX86):bool
          16 ( 1.37% of base) : 33430.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseCrefTypeSuffix(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
          16 ( 2.34% of base) : 33451.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlAttributeText(byref,Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxListBuilder`1[[Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxToken, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],byref):this
          16 ( 0.44% of base) : 33578.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePostFixExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
          16 ( 1.88% of base) : 33679.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanNonArrayType(byref):int:this
          16 ( 0.59% of base) : 66901.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:CollectOverloadedCandidate(Microsoft.CodeAnalysis.ArrayBuilder`1[CandidateAnalysisResult],QuickApplicabilityInfo,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],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.VisualBasic.Symbols.TypeSymbol,Microsoft.CodeAnalysis.VisualBasic.BoundNode,bool,Microsoft.CodeAnalysis.VisualBasic.Binder,byref,byref)
          16 ( 1.82% of base) : 164361.dasm - System.ComponentModel.DateTimeConverter:ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object):System.Object:this
          16 ( 0.95% of base) : 172249.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, 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]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this

Top method improvements (bytes):
        -216 (-1.82% of base) : 208204.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -88 (-1.40% of base) : 50982.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:RemoveDirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol,System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint],Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],int,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo]):System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint]
         -72 (-1.06% of base) : 105551.dasm - <ParseValueAsync>d__8:MoveNext():this
         -64 (-32.00% of base) : 53999.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
         -36 (-0.93% of base) : 50983.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:ReportIndirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceTypeParameterSymbol,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo],byref)
         -32 (-23.53% of base) : 54021.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
         -32 (-1.14% of base) : 66924.dasm - Microsoft.CodeAnalysis.VisualBasic.OverloadResolution:OperatorInvocationOverloadResolution(Microsoft.CodeAnalysis.ArrayBuilder`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.MethodSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.Binder,bool,bool,byref):OverloadResolutionResult
         -28 (-30.43% of base) : 73320.dasm - CandidateAnalysisResult:.ctor(Candidate,ubyte):this
         -28 (-0.71% of base) : 77383.dasm - Microsoft.CodeAnalysis.SyntaxDiffer:GetSimilarity(Microsoft.CodeAnalysis.SyntaxNodeOrToken,Microsoft.CodeAnalysis.SyntaxNodeOrToken):int:this
         -24 (-1.58% of base) : 229110.dasm - ILCompiler.MetadataManager:GetCompiledMethods(Internal.TypeSystem.Ecma.EcmaModule,int):System.Collections.Generic.IEnumerable`1[[ILCompiler.DependencyAnalysis.IMethodNode, ILCompiler.ReadyToRun, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null]]:this
         -24 (-1.14% of base) : 22818.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorAnalysisResult],byref):bool:this
         -24 (-6.25% of base) : 34016.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
         -20 (-0.19% of base) : 229151.dasm - ILCompiler.Win32Resources.ResourceData:WriteResources(ILCompiler.DependencyAnalysis.ISymbolNode,byref):this
         -20 (-1.53% of base) : 22832.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:UnaryOperatorOverloadResolution(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult,byref):this
         -20 (-4.50% of base) : 22898.dasm - Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult:this
         -20 (-0.17% of base) : 90198.dasm - Microsoft.Diagnostics.Tracing.Parsers.RegisteredTraceEventParser:GetManifestForRegisteredProvider(System.Guid):System.String
         -16 (-0.26% of base) : 114559.dasm - <SendWithVersionDetectionAndRetryAsync>d__83:MoveNext():this
         -16 (-0.42% of base) : 221314.dasm - <WriteStreamAsync>d__112`1[__Canon][System.__Canon]:MoveNext():this
         -16 (-22.22% of base) : 73321.dasm - CandidateAnalysisResult:.ctor(Candidate):this
         -16 (-0.99% of base) : 49072.dasm - Microsoft.CodeAnalysis.VisualBasic.MemberSemanticModel:GetCollectionRangeVariableSymbolInfoWorker(Microsoft.CodeAnalysis.VisualBasic.Syntax.CollectionRangeVariableSyntax,System.Threading.CancellationToken):Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:this

Top method regressions (percentages):
           8 (25.00% of base) : 83259.dasm - Microsoft.Diagnostics.Tracing.EventPipeEventSource:ResetCompressedHeader():this
           8 ( 8.00% of base) : 33435.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ReInitialize(int):this
           8 ( 8.00% of base) : 34008.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:MoveToNextToken():this
           8 ( 3.85% of base) : 33449.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseCrefAttribute(byref,byref,byref):this
           8 ( 3.85% of base) : 33450.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseNameAttribute(byref,byref,byref):this
          24 ( 3.85% of base) : 33675.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ScanType(byref):int:this
           4 ( 3.70% of base) : 24896.dasm - Microsoft.CodeAnalysis.CSharp.CSharpExtensions:GetForEachStatementInfo(Microsoft.CodeAnalysis.SemanticModel,Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax):Microsoft.CodeAnalysis.CSharp.ForEachStatementInfo
           4 ( 3.70% of base) : 24561.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetForEachStatementInfo(Microsoft.CodeAnalysis.CSharp.Syntax.ForEachStatementSyntax):Microsoft.CodeAnalysis.CSharp.ForEachStatementInfo:this
          24 ( 3.59% of base) : 33458.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlCDataSection():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCDataSectionSyntax:this
           4 ( 3.57% of base) : 157411.dasm - Enumerator[__Canon,Nullable`1][System.__Canon,System.Nullable`1[System.Int32]]:Reset():this
           8 ( 3.51% of base) : 33626.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParsePointerTypeMods(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.TypeSyntax:this
           8 ( 3.45% of base) : 214197.dasm - System.Security.Cryptography.ECDsaCng:ExportExplicitParameters(bool):System.Security.Cryptography.ECParameters:this
          32 ( 3.39% of base) : 33459.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlProcessingInstruction():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlProcessingInstructionSyntax:this
           8 ( 3.33% of base) : 33379.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseLogicalAnd():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
           8 ( 3.33% of base) : 33378.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseLogicalOr():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
           4 ( 3.23% of base) : 157421.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[Byte,Nullable`1]):this
           4 ( 3.12% of base) : 157414.dasm - Enumerator[__Canon,Nullable`1][System.__Canon,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket],Builder[__Canon,Nullable`1]):this
          20 ( 2.94% of base) : 33457.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ParseXmlComment():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCommentSyntax:this
           8 ( 2.70% of base) : 33380.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DirectiveParser:ParseEquality():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this
          16 ( 2.65% of base) : 228527.dasm - ILStubClass:IL_STUB_PInvoke(CRYPTUI_VIEWCERTIFICATE_STRUCTW,long):bool

Top method improvements (percentages):
         -64 (-32.00% of base) : 53999.dasm - Microsoft.CodeAnalysis.VisualBasic.ForEachStatementInfo:.ctor(Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.IPropertySymbol,Microsoft.CodeAnalysis.IMethodSymbol,Microsoft.CodeAnalysis.ITypeSymbol,Microsoft.CodeAnalysis.VisualBasic.Conversion,Microsoft.CodeAnalysis.VisualBasic.Conversion):this
         -28 (-30.43% of base) : 73320.dasm - CandidateAnalysisResult:.ctor(Candidate,ubyte):this
         -32 (-23.53% of base) : 54021.dasm - Microsoft.CodeAnalysis.VisualBasic.CollectionRangeVariableSymbolInfo:.ctor(Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo,Microsoft.CodeAnalysis.SymbolInfo):this
         -16 (-22.22% of base) : 73321.dasm - CandidateAnalysisResult:.ctor(Candidate):this
         -16 (-14.29% of base) : 151812.dasm - Microsoft.DiaSymReader.ComMemoryStream:Microsoft.DiaSymReader.IUnsafeComStream.Stat(byref,int):this
         -16 (-14.29% of base) : 80378.dasm - Roslyn.Utilities.ComMemoryStream:Roslyn.Utilities.IUnsafeComStream.Stat(byref,int):this
          -8 (-10.53% of base) : 212075.dasm - BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO:Create():BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
         -12 (-9.09% of base) : 191532.dasm - System.Collections.Generic.SparseArrayBuilder`1[Byte][System.Byte]:.ctor(bool):this
          -8 (-6.67% of base) : 191525.dasm - System.Collections.Generic.SparseArrayBuilder`1[__Canon][System.__Canon]:.ctor(bool):this
         -12 (-6.38% of base) : 33989.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:Reset(byref):this
         -24 (-6.25% of base) : 34016.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:.ctor(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer,int,Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,System.Collections.Generic.IEnumerable`1[TextChangeRange],bool,bool,System.Threading.CancellationToken):this
          -4 (-5.56% of base) : 33437.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:ResetMode(int):this
          -4 (-5.56% of base) : 33994.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:set_Mode(int):this
          -4 (-4.55% of base) : 33436.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.DocumentationCommentParser:SetMode(int):int:this
         -20 (-4.50% of base) : 22898.dasm - Microsoft.CodeAnalysis.CSharp.UnaryOperatorOverloadResolutionResult:get_Best():Microsoft.CodeAnalysis.CSharp.UnaryOperatorAnalysisResult:this
          -8 (-3.57% of base) : 115298.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:GetEnumerator():Enumerator:this
          -4 (-3.33% of base) : 201256.dasm - System.Net.Sockets.Socket:ReturnSocketAsyncEventArgs(TaskSocketAsyncEventArgs`1[Int32],bool):this
         -12 (-3.00% of base) : 213439.dasm - ECDiffieHellmanCngPublicKey:ExportParameters():System.Security.Cryptography.ECParameters:this
          -4 (-2.94% of base) : 201534.dasm - AwaitableSocketAsyncEventArgs:Release():this
          -4 (-2.86% of base) : 112402.dasm - System.Diagnostics.CounterSample:.cctor()

349 total methods with Code Size differences (139 improved, 210 regressed), 123 unchanged.


libraries_tests.pmi.windows.arm64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 117602000 (overridden on cmd)
Total bytes of diff: 117599136 (overridden on cmd)
Total bytes of delta: -2864 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          48 : 200990.dasm (2.18% of base)
          40 : 72162.dasm (0.69% of base)
          40 : 70869.dasm (1.04% of base)
          36 : 72165.dasm (2.37% of base)
          32 : 70902.dasm (1.27% of base)
          28 : 72163.dasm (0.50% of base)
          28 : 72164.dasm (0.93% of base)
          24 : 70870.dasm (0.42% of base)
          24 : 196032.dasm (1.34% of base)
          24 : 123740.dasm (0.58% of base)
          24 : 2706.dasm (0.43% of base)
          24 : 197885.dasm (1.34% of base)
          20 : 70962.dasm (0.88% of base)
          20 : 70871.dasm (0.66% of base)
          20 : 70872.dasm (1.31% of base)
          16 : 70959.dasm (0.88% of base)
          16 : 2690.dasm (0.46% of base)
          16 : 2705.dasm (0.52% of base)
          16 : 10904.dasm (0.38% of base)
          12 : 102372.dasm (0.42% of base)

Top file improvements (bytes):
        -768 : 311400.dasm (-6.17% of base)
        -188 : 15932.dasm (-6.84% of base)
        -184 : 17969.dasm (-1.30% of base)
        -180 : 311434.dasm (-4.99% of base)
        -144 : 197630.dasm (-2.75% of base)
        -144 : 195487.dasm (-2.75% of base)
        -144 : 330154.dasm (-2.75% of base)
         -96 : 99842.dasm (-3.04% of base)
         -80 : 95558.dasm (-0.96% of base)
         -80 : 244768.dasm (-1.43% of base)
         -72 : 15950.dasm (-3.94% of base)
         -72 : 142747.dasm (-8.65% of base)
         -60 : 153430.dasm (-0.38% of base)
         -52 : 17906.dasm (-0.47% of base)
         -48 : 341736.dasm (-0.80% of base)
         -44 : 243505.dasm (-0.27% of base)
         -44 : 16355.dasm (-1.81% of base)
         -36 : 141851.dasm (-1.91% of base)
         -32 : 264089.dasm (-5.37% of base)
         -32 : 142754.dasm (-1.27% of base)

478 total files with Code Size differences (287 improved, 191 regressed), 166 unchanged.

Top method regressions (bytes):
          48 ( 2.18% of base) : 200990.dasm - System.Security.Cryptography.X509Certificates.Tests.CertificateCreation.EccTestData:.cctor()
          40 ( 1.04% of base) : 70869.dasm - System.Tests.DateOnlyTests:BasicFormatParseTest()
          40 ( 0.69% of base) : 72162.dasm - System.Tests.TimeOnlyTests:BasicFormatParseTest()
          36 ( 2.37% of base) : 72165.dasm - System.Tests.TimeOnlyTests:InvalidFormatsTest()
          32 ( 1.27% of base) : 70902.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_O(System.DateTime,System.String)
          28 ( 0.50% of base) : 72163.dasm - System.Tests.TimeOnlyTests:FormatParseTest()
          28 ( 0.93% of base) : 72164.dasm - System.Tests.TimeOnlyTests:OAndRFormatsTest()
          24 ( 0.58% of base) : 123740.dasm - <ProcessTargetStack>d__23:MoveNext():this
          24 ( 0.43% of base) : 2706.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ValidateReverseReferences(System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]])
          24 ( 1.34% of base) : 196032.dasm - System.Security.Cryptography.Tests.EccTestData:.cctor()
          24 ( 1.34% of base) : 197885.dasm - System.Security.Cryptography.Tests.EccTestData:.cctor()
          24 ( 0.42% of base) : 70870.dasm - System.Tests.DateOnlyTests:FormatParseTest()
          20 ( 1.31% of base) : 70872.dasm - System.Tests.DateOnlyTests:InvalidFormatsTest()
          20 ( 0.66% of base) : 70871.dasm - System.Tests.DateOnlyTests:OAndRFormatsTest()
          20 ( 0.88% of base) : 70962.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_R(System.DateTime,System.String)
          16 ( 0.38% of base) : 10904.dasm - Microsoft.CodeAnalysis.Diagnostics.SkippedHostAnalyzersInfo:Create(Microsoft.CodeAnalysis.Diagnostics.HostDiagnosticAnalyzers,System.Collections.Generic.IReadOnlyList`1[[Microsoft.CodeAnalysis.Diagnostics.AnalyzerReference, Microsoft.CodeAnalysis, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.String,Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzerInfoCache):Microsoft.CodeAnalysis.Diagnostics.SkippedHostAnalyzersInfo
          16 ( 0.46% of base) : 2690.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ComputeReverseReferencesMap():System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this
          16 ( 0.52% of base) : 2705.dasm - Microsoft.CodeAnalysis.ProjectDependencyGraph:ValidateForwardReferences(System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableDictionary`2[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[System.Collections.Immutable.ImmutableHashSet`1[[Microsoft.CodeAnalysis.ProjectId, Microsoft.CodeAnalysis.Workspaces, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], System.Collections.Immutable, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]])
          16 ( 0.88% of base) : 70959.dasm - System.Tests.DateTimeTests:ParseExact_ToStringThenParseExactRoundtrip_Success(System.String)
          12 ( 3.30% of base) : 78061.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__0():System.Object:this

Top method improvements (bytes):
        -768 (-6.17% of base) : 311400.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4EqualsNanTest():this
        -188 (-6.84% of base) : 15932.dasm - <DescendInheritanceTreeAsync>d__6:MoveNext():this
        -184 (-1.30% of base) : 17969.dasm - <CreateIndexAsync>d__8:MoveNext():this
        -180 (-4.99% of base) : 311434.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4IsIdentityTest():this
        -144 (-2.75% of base) : 197630.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
        -144 (-2.75% of base) : 195487.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
        -144 (-2.75% of base) : 330154.dasm - System.Security.Cryptography.Rsa.Tests.TestData:.cctor()
         -96 (-3.04% of base) : 99842.dasm - System.Text.Json.Serialization.Tests.ReadValueTests:ReadClasses()
         -80 (-1.43% of base) : 244768.dasm - Microsoft.DotNet.ProjectModel.Resolution.LibraryManager:GetAllDiagnostics():System.Collections.Generic.IList`1[[Microsoft.DotNet.ProjectModel.DiagnosticMessage, Microsoft.DotNet.ProjectModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]]:this
         -80 (-0.96% of base) : 95558.dasm - System.Text.Json.Tests.Utf8JsonReaderTests:SkipTest()
         -72 (-3.94% of base) : 15950.dasm - <AddDescendantMetadataTypesInProjectAsync>d__16:MoveNext():this
         -72 (-8.65% of base) : 142747.dasm - <PushAll>d__19:MoveNext():this
         -60 (-0.38% of base) : 153430.dasm - System.Data.Tests.DataTableTest2:Select_ByFilter():this
         -52 (-0.47% of base) : 17906.dasm - <IdentifyConflictsAsync>d__19:MoveNext():this
         -48 (-0.80% of base) : 341736.dasm - System.Tests.ValueTupleTests:EightTuples()
         -44 (-1.81% of base) : 16355.dasm - <FindReferencesThroughAliasSymbolsAsync>d__26:MoveNext():this
         -44 (-0.27% of base) : 243505.dasm - <ResolveCoreAsync>d__50:MoveNext():this
         -36 (-1.91% of base) : 141851.dasm - <SendAsync>d__8:MoveNext():this
         -32 (-5.37% of base) : 264089.dasm - <<ZeroByteWrite_OtherDataReceivedSuccessfully>b__0>d:MoveNext():this
         -32 (-1.27% of base) : 142754.dasm - <PushPackageToServer>d__24:MoveNext():this

Top method regressions (percentages):
          12 ( 4.41% of base) : 176181.dasm - System.SpanTests.SpanTests:ClearValueTypeWithoutReferencesPointerSize()
          12 ( 3.30% of base) : 78061.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__0():System.Object:this
          12 ( 3.30% of base) : 78062.dasm - <>c__DisplayClass15_0:<InvalidFormatsTest>b__1():System.Object:this
          12 ( 3.19% of base) : 76136.dasm - <>c__DisplayClass18_0:<InvalidFormatsTest>b__1():System.Object:this
          12 ( 3.16% of base) : 76135.dasm - <>c__DisplayClass18_0:<InvalidFormatsTest>b__0():System.Object:this
           8 ( 2.86% of base) : 114921.dasm - Microsoft.Build.Tasks.Touch:GetTouchDateTime():System.DateTime:this
           8 ( 2.82% of base) : 286125.dasm - <>c__DisplayClass0_0:<TestJapaneseCalendarDateParsing>b__0():System.Object:this
           8 ( 2.82% of base) : 76468.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__0():System.Object:this
           8 ( 2.82% of base) : 76469.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__1():System.Object:this
           8 ( 2.82% of base) : 76481.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__0():System.Object:this
           8 ( 2.82% of base) : 76482.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__1():System.Object:this
           4 ( 2.70% of base) : 133427.dasm - Microsoft.Diagnostics.Runtime.DacInterface.SOSDac:GetThreadData(long,byref):bool:this
           8 ( 2.67% of base) : 76462.dasm - <>c__DisplayClass124_0:<ParseExact_ToStringThenParseExact_RoundtripWithOtherFormat_Fails>b__2():System.Object:this
           8 ( 2.60% of base) : 76470.dasm - <>c__DisplayClass127_0:<ParseExact_InvalidData_R>b__2():System.Object:this
           8 ( 2.60% of base) : 76483.dasm - <>c__DisplayClass131_0:<ParseExact_InvalidData_O>b__2():System.Object:this
           8 ( 2.60% of base) : 70946.dasm - System.Tests.DateTimeTests:Parse_String()
           8 ( 2.56% of base) : 70947.dasm - System.Tests.DateTimeTests:Parse_String_FormatProvider()
           8 ( 2.56% of base) : 70948.dasm - System.Tests.DateTimeTests:Parse_String_FormatProvider_DateTimeStyles()
          36 ( 2.37% of base) : 72165.dasm - System.Tests.TimeOnlyTests:InvalidFormatsTest()
           8 ( 2.27% of base) : 70906.dasm - System.Tests.DateTimeTests:ParseExact_String_String_FormatProvider_DateTimeStyles_CustomFormatProvider()

Top method improvements (percentages):
         -16 (-26.67% of base) : 7416.dasm - Microsoft.CodeAnalysis.Rename.ConflictResolution:.ctor(System.String):this
          -4 (-12.50% of base) : 91781.dasm - <>c:<get_SimpleTestStructWithNullableGenericStructCollectionWrappers>b__858_0():System.Text.Json.Serialization.Tests.SimpleTestStructWithNullableGenericStructCollectionWrappers:this
         -24 (-12.24% of base) : 130274.dasm - CodeShapeAnalyzer:.ctor(Microsoft.CodeAnalysis.Formatting.FormattingContext,bool,Microsoft.CodeAnalysis.Formatting.TriviaList):this
         -72 (-8.65% of base) : 142747.dasm - <PushAll>d__19:MoveNext():this
        -188 (-6.84% of base) : 15932.dasm - <DescendInheritanceTreeAsync>d__6:MoveNext():this
          -8 (-6.67% of base) : 125318.dasm - Microsoft.CodeAnalysis.CSharp.Formatting.NewLineUserSettingFormattingRule:.ctor():this
        -768 (-6.17% of base) : 311400.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4EqualsNanTest():this
         -32 (-5.37% of base) : 264089.dasm - <<ZeroByteWrite_OtherDataReceivedSuccessfully>b__0>d:MoveNext():this
        -180 (-4.99% of base) : 311434.dasm - System.Numerics.Tests.Matrix4x4Tests:Matrix4x4IsIdentityTest():this
          -4 (-4.55% of base) : 197563.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 195384.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 330088.dasm - System.Security.Cryptography.Rsa.Tests.ImportExport:MakePublic(byref):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 197704.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 195553.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
          -4 (-4.55% of base) : 330260.dasm - System.Security.Cryptography.Rsa.Tests.RSAKeyPemTests:ToPublic(System.Security.Cryptography.RSAParameters):System.Security.Cryptography.RSAParameters
         -72 (-3.94% of base) : 15950.dasm - <AddDescendantMetadataTypesInProjectAsync>d__16:MoveNext():this
          -8 (-3.57% of base) : 180560.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:GetEnumerator():Enumerator:this
          -8 (-3.51% of base) : 236997.dasm - LamarCompiler.Util.StringExtensions:ToDateTime(System.String):System.DateTime
          -8 (-3.39% of base) : 106574.dasm - MyDateTimeConverter:Read(byref,System.Type,System.Text.Json.JsonSerializerOptions):System.DateTime:this
         -96 (-3.04% of base) : 99842.dasm - System.Text.Json.Serialization.Tests.ReadValueTests:ReadClasses()

478 total methods with Code Size differences (287 improved, 191 regressed), 166 unchanged.


Author: echesakovMSFT
Assignees: -
Labels:

arch-arm64, area-CodeGen-coreclr

Milestone: -

@echesakov echesakov self-assigned this Oct 30, 2021
@echesakov echesakov added this to the 7.0.0 milestone Oct 30, 2021
@echesakov
Copy link
Contributor Author

echesakov commented Oct 30, 2021

I am also adding micro benchmarks to test performance impact of changes surrounding GT_STOREBLK (InitBlock/CopyBlock) in dotnet/performance#2154

FWIW, the current change is mostly CQ improvements with little effect on the performance. As you can notice, I am not changing INITBLK_UNROLL_LIMIT/CPBLK_UNROLL_LIMIT, but I am planning to do this as a follow up.

The following are the results of running the new micro benchmarks with the proposed increased INITBLK_UNROLL_LIMIT/CPBLK_UNROLL_LIMIT (to 128 bytes). There is 4% improvement for CopyBlock64 due to using SIMD instructions but the main performance gain would come from large block sizes due to eliminating a helper call.

Method Job Toolchain Mean Error StdDev Median Min Max Ratio Allocated
InitBlockAllZeros8 Job-GVPHVU \base\Core_Root\corerun.exe 0.3701 ns 0.0017 ns 0.0014 ns 0.3697 ns 0.3687 ns 0.3738 ns 1.00 -
InitBlockAllZeros8 Job-LADWZL \diff\Core_Root\corerun.exe 0.3672 ns 0.0011 ns 0.0009 ns 0.3673 ns 0.3662 ns 0.3692 ns 0.99 -
InitBlockAllOnes8 Job-GVPHVU \base\Core_Root\corerun.exe 0.4676 ns 0.0023 ns 0.0018 ns 0.4670 ns 0.4659 ns 0.4720 ns 1.00 -
InitBlockAllOnes8 Job-LADWZL \diff\Core_Root\corerun.exe 0.4571 ns 0.0009 ns 0.0007 ns 0.4569 ns 0.4562 ns 0.4590 ns 0.98 -
CopyBlock8 Job-GVPHVU \base\Core_Root\corerun.exe 0.3531 ns 0.0009 ns 0.0008 ns 0.3527 ns 0.3519 ns 0.3545 ns 1.00 -
CopyBlock8 Job-LADWZL \diff\Core_Root\corerun.exe 0.3503 ns 0.0034 ns 0.0030 ns 0.3489 ns 0.3477 ns 0.3574 ns 0.99 -
InitBlockAllZeros16 Job-GVPHVU \base\Core_Root\corerun.exe 0.3236 ns 0.0018 ns 0.0016 ns 0.3230 ns 0.3220 ns 0.3266 ns 1.00 -
InitBlockAllZeros16 Job-LADWZL \diff\Core_Root\corerun.exe 0.3249 ns 0.0004 ns 0.0003 ns 0.3250 ns 0.3244 ns 0.3253 ns 1.00 -
InitBlockAllOnes16 Job-GVPHVU \base\Core_Root\corerun.exe 0.9313 ns 0.0013 ns 0.0011 ns 0.9311 ns 0.9300 ns 0.9334 ns 1.00 -
InitBlockAllOnes16 Job-LADWZL \diff\Core_Root\corerun.exe 0.9325 ns 0.0047 ns 0.0044 ns 0.9317 ns 0.9270 ns 0.9430 ns 1.00 -
CopyBlock16 Job-GVPHVU \base\Core_Root\corerun.exe 0.3448 ns 0.0012 ns 0.0009 ns 0.3445 ns 0.3436 ns 0.3468 ns 1.00 -
CopyBlock16 Job-LADWZL \diff\Core_Root\corerun.exe 0.3449 ns 0.0011 ns 0.0010 ns 0.3447 ns 0.3436 ns 0.3469 ns 1.00 -
InitBlockAllZeros32 Job-GVPHVU \base\Core_Root\corerun.exe 1.8890 ns 0.0048 ns 0.0045 ns 1.8864 ns 1.8833 ns 1.8969 ns 1.00 -
InitBlockAllZeros32 Job-LADWZL \diff\Core_Root\corerun.exe 1.8841 ns 0.0033 ns 0.0031 ns 1.8827 ns 1.8808 ns 1.8913 ns 1.00 -
InitBlockAllOnes32 Job-GVPHVU \base\Core_Root\corerun.exe 1.8828 ns 0.0030 ns 0.0027 ns 1.8824 ns 1.8791 ns 1.8881 ns 1.00 -
InitBlockAllOnes32 Job-LADWZL \diff\Core_Root\corerun.exe 1.8914 ns 0.0072 ns 0.0067 ns 1.8884 ns 1.8837 ns 1.9048 ns 1.00 -
CopyBlock32 Job-GVPHVU \base\Core_Root\corerun.exe 1.8895 ns 0.0089 ns 0.0079 ns 1.8873 ns 1.8823 ns 1.9060 ns 1.00 -
CopyBlock32 Job-LADWZL \diff\Core_Root\corerun.exe 1.8958 ns 0.0131 ns 0.0122 ns 1.8887 ns 1.8871 ns 1.9192 ns 1.00 -
InitBlockAllZeros64 Job-GVPHVU \base\Core_Root\corerun.exe 1.8940 ns 0.0121 ns 0.0101 ns 1.8895 ns 1.8854 ns 1.9205 ns 1.00 -
InitBlockAllZeros64 Job-LADWZL \diff\Core_Root\corerun.exe 1.9087 ns 0.0058 ns 0.0052 ns 1.9063 ns 1.9039 ns 1.9217 ns 1.01 -
InitBlockAllOnes64 Job-GVPHVU \base\Core_Root\corerun.exe 1.8885 ns 0.0027 ns 0.0024 ns 1.8885 ns 1.8850 ns 1.8937 ns 1.00 -
InitBlockAllOnes64 Job-LADWZL \diff\Core_Root\corerun.exe 1.9073 ns 0.0037 ns 0.0033 ns 1.9074 ns 1.9031 ns 1.9140 ns 1.01 -
CopyBlock64 Job-GVPHVU \base\Core_Root\corerun.exe 2.0830 ns 0.0070 ns 0.0062 ns 2.0827 ns 2.0750 ns 2.0960 ns 1.00 -
CopyBlock64 Job-LADWZL \diff\Core_Root\corerun.exe 2.0035 ns 0.0100 ns 0.0088 ns 2.0012 ns 1.9922 ns 2.0232 ns 0.96 -
InitBlockAllZeros128 Job-GVPHVU \base\Core_Root\corerun.exe 8.5055 ns 0.0370 ns 0.0346 ns 8.5088 ns 8.4672 ns 8.5582 ns 1.00 -
InitBlockAllZeros128 Job-LADWZL \diff\Core_Root\corerun.exe 2.5949 ns 0.0067 ns 0.0056 ns 2.5943 ns 2.5853 ns 2.6062 ns 0.31 -
InitBlockAllOnes128 Job-GVPHVU \base\Core_Root\corerun.exe 8.4912 ns 0.0397 ns 0.0352 ns 8.4750 ns 8.4588 ns 8.5807 ns 1.00 -
InitBlockAllOnes128 Job-LADWZL \diff\Core_Root\corerun.exe 2.5902 ns 0.0063 ns 0.0053 ns 2.5906 ns 2.5811 ns 2.6012 ns 0.31 -
CopyBlock128 Job-GVPHVU \base\Core_Root\corerun.exe 8.2088 ns 0.0748 ns 0.0700 ns 8.1700 ns 8.1546 ns 8.3845 ns 1.00 -
CopyBlock128 Job-LADWZL \diff\Core_Root\corerun.exe 2.6461 ns 0.0086 ns 0.0072 ns 2.6425 ns 2.6402 ns 2.6638 ns 0.32 -

@echesakov echesakov force-pushed the Arm64-Unroll-Init-Block branch from 94eaaaa to 3c84b5a Compare October 30, 2021 18:28
@echesakov echesakov force-pushed the Arm64-Unroll-Init-Block branch from 929dc5d to 5bc4a6e Compare November 10, 2021 03:00
@echesakov echesakov force-pushed the Arm64-Unroll-Init-Block branch from 5bc4a6e to 653c8c0 Compare November 10, 2021 23:07
@echesakov echesakov changed the title Use SIMD operations in genCodeForInitBlkUnroll and increase INITBLK_UNROLL_LIMIT to 128 bytes Use SIMD operations in InitBlkUnroll/CopyBlkUnroll and increase unroll limit up to 128 bytes Nov 11, 2021
@dotnet dotnet deleted a comment from azure-pipelines bot Nov 11, 2021
@echesakov echesakov force-pushed the Arm64-Unroll-Init-Block branch from 653c8c0 to 7063255 Compare November 23, 2021 03:35
@echesakov echesakov marked this pull request as ready for review November 30, 2021 16:40
@dotnet dotnet deleted a comment from azure-pipelines bot Dec 3, 2021
@dotnet dotnet deleted a comment from azure-pipelines bot Dec 3, 2021
@echesakov echesakov force-pushed the Arm64-Unroll-Init-Block branch from 7063255 to c3566b1 Compare December 3, 2021 03:00
@echesakov
Copy link
Contributor Author

/azp run runtime-coreclr outerloop

@dotnet dotnet deleted a comment from azure-pipelines bot Dec 3, 2021
@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ghost ghost added the no-recent-activity label Dec 22, 2021
@ghost
Copy link

ghost commented Dec 22, 2021

This pull request has been automatically marked no recent activity because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove no recent activity.

…r are contained and can potentially occupy up to 2 int registers
@ghost ghost removed no-recent-activity needs-author-action An issue or pull request that requires more info or actions from the author. labels Dec 23, 2021
@echesakov
Copy link
Contributor Author

@BruceForstall Please take another look. I think I addressed your feedback.

Copy link
Member

@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.

LGTM

@echesakov
Copy link
Contributor Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@echesakov echesakov merged commit acde546 into dotnet:main Dec 28, 2021
Copy link
Contributor

@sandreenko sandreenko left a comment

Choose a reason for hiding this comment

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

nice solution, it looks like it was a lot of fun.

static unsigned GetRegSizeAtLeastBytes(unsigned byteCount)
{
assert(byteCount != 0);
assert(byteCount < 16);
Copy link
Contributor

Choose a reason for hiding this comment

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

would not be assert(byteCount <= 16); less confusing?


void StorePairRegs(int offset, unsigned regSizeBytes)
{
canEncodeAllStores =
Copy link
Contributor

Choose a reason for hiding this comment

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

nit canEncodeAllStores &| ? It is safe for bool-s in C++.

bool canEncodeAllStores;
};

class ProducingStreamBaseInstrs
Copy link
Contributor

Choose a reason for hiding this comment

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

does base mean no-simd?


private:
template <class InstructionStream>
void UnrollInitBlock(InstructionStream& instrStream, int initialRegSizeBytes) const
Copy link
Contributor

Choose a reason for hiding this comment

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

intReg1 = node->ExtractTempReg(RBM_ALLINT);
intReg2 = node->GetSingleTempReg(RBM_ALLINT);
break;
default:
Copy link
Contributor

Choose a reason for hiding this comment

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

are this default and the next one for simdRegCount unreached()?

{
public:
ProducingStreamBaseInstrs(regNumber intReg1, regNumber intReg2, regNumber addrReg, emitter* emitter)
: intReg1(intReg1), intReg2(intReg2), addrReg(addrReg), emitter(emitter)
Copy link
Contributor

Choose a reason for hiding this comment

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

should all reg be not REG_NA or does it allow some to be REG_NA?

@echesakov echesakov deleted the Arm64-Unroll-Init-Block branch January 10, 2022 20:09
@ghost ghost locked as resolved and limited conversation to collaborators Feb 10, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

[Arm64] Use stp (SIMD) in genCodeForInitBlkUnroll and genCodeForCpBlkUnroll
3 participants