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

[JitDiff ARM64] [MihaZupan] Further improve ProbabilisticMap on Avx512 #729

Open
MihuBot opened this issue Oct 16, 2024 · 3 comments
Open

Comments

@MihuBot
Copy link
Owner

MihuBot commented Oct 16, 2024

Job completed in 21 minutes 9 seconds.

Diffs

Diffs
Found 337 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 47715852
Total bytes of diff: 47711816
Total bytes of delta: -4036 (-0.01 % of base)
Total relative delta: -11.43
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
          16 : System.Linq.Expressions.dasm (0.00 % of base)
           8 : System.Composition.Runtime.dasm (0.03 % of base)
           4 : System.Private.CoreLib.dasm (0.00 % of base)
           4 : Microsoft.VisualBasic.Core.dasm (0.00 % of base)
           4 : System.Net.Http.dasm (0.00 % of base)

Top file improvements (bytes):
       -3552 : System.Linq.Parallel.dasm (-0.15 % of base)
        -272 : System.DirectoryServices.Protocols.dasm (-0.15 % of base)
        -128 : Microsoft.Extensions.Configuration.dasm (-0.60 % of base)
         -44 : runincontext.dasm (-0.24 % of base)
         -40 : System.Threading.Channels.dasm (-0.02 % of base)
         -12 : Microsoft.Extensions.Configuration.Ini.dasm (-0.24 % of base)
         -12 : System.ComponentModel.EventBasedAsync.dasm (-0.20 % of base)
          -8 : System.Net.NameResolution.dasm (-0.01 % of base)
          -4 : System.Drawing.Primitives.dasm (-0.01 % of base)

14 total files with Code Size differences (9 improved, 5 regressed), 245 unchanged.

Top method regressions (bytes):
          24 (1.98 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSectionDebugView:FromConfiguration(Microsoft.Extensions.Configuration.IConfiguration,Microsoft.Extensions.Configuration.IConfigurationRoot):System.Collections.Generic.List`1[Microsoft.Extensions.Configuration.ConfigurationSectionDebugView] (FullOpts)
          16 (2.13 % of base) : System.Net.NameResolution.dasm - System.Net.NameResolutionTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
          12 (0.62 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:.cctor() (FullOpts)
           8 (1.14 % of base) : System.Composition.Runtime.dasm - System.Composition.Hosting.Core.CompositionContract:ConstraintEqual(System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IDictionary`2[System.String,System.Object]):ubyte (FullOpts)
           8 (1.37 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessManager:GetModules(int):System.Diagnostics.ProcessModuleCollection (FullOpts)
           8 (1.24 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Aggregate[System.Numerics.Vector`1[float]](System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],int):System.Numerics.Vector`1[float] (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[double](System.Linq.ParallelQuery`1[double]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[int](System.Linq.ParallelQuery`1[int]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[long](System.Linq.ParallelQuery`1[long]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[short](System.Linq.ParallelQuery`1[short]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[System.Nullable`1[int]](System.Linq.ParallelQuery`1[System.Nullable`1[int]]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[System.Numerics.Vector`1[float]](System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[ubyte](System.Linq.ParallelQuery`1[ubyte]):ubyte (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (0.62 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[long](System.Func`3[System.Object,System.Net.NameResolutionActivity,long],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[long] (FullOpts)
           8 (0.62 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[System.Numerics.Vector`1[float]](System.Func`3[System.Object,System.Net.NameResolutionActivity,System.Numerics.Vector`1[float]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]] (FullOpts)
           8 (0.62 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[ubyte](System.Func`3[System.Object,System.Net.NameResolutionActivity,ubyte],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts)
           8 (0.08 % of base) : System.Linq.Expressions.dasm - System.Runtime.CompilerServices.CallSite`1[System.__Canon]:CreateCustomUpdateDelegate(System.Reflection.MethodInfo):System.__Canon:this (FullOpts)
           8 (0.57 % of base) : System.Linq.Expressions.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
           8 (1.48 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[long]:.ctor(ubyte):this (FullOpts)
           8 (1.48 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[short]:.ctor(ubyte):this (FullOpts)
           8 (1.48 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[ubyte]:.ctor(ubyte):this (FullOpts)
           4 (0.64 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:.ctor():this (FullOpts)
           4 (3.12 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.CacheDict`2[double,System.Nullable`1[int]]:.ctor(int):this (FullOpts)
           4 (0.34 % of base) : System.Net.Http.dasm - System.Net.Http.HttpClient:HandleFailure(System.Exception,ubyte,System.Net.Http.HttpResponseMessage,System.Threading.CancellationTokenSource,System.Threading.CancellationToken,System.Threading.CancellationTokenSource):this (FullOpts)
           4 (1.18 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.TypeNameParserHelpers:ThrowArgumentException_InvalidTypeName(int) (FullOpts)
           4 (0.88 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[int]:.ctor(ubyte):this (FullOpts)
           4 (0.88 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[long]:.ctor(ubyte):this (FullOpts)
           4 (0.74 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Nullable`1[int]]:.ctor(ubyte):this (FullOpts)

Top method improvements (bytes):
        -272 (-100.00 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapConnection:set_Timeout(System.TimeSpan):this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[int,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[long,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[short,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.30 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[System.__Canon,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[System.Nullable`1[int],System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[ubyte,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[double,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[int,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[long,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[short,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-7.91 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[System.__Canon,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[System.Nullable`1[int],System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[ubyte,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[double,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[int,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[long,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[short,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-7.94 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[System.__Canon,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[System.Nullable`1[int],System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[ubyte,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -24 (-3.41 % of base) : System.Net.NameResolution.dasm - System.Net.NameResolutionMetrics:.cctor() (FullOpts)
         -20 (-2.66 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.InternalConfigurationRootExtensions:GetChildrenImplementation(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String):System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Configuration.IConfigurationSection] (FullOpts)
         -20 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2+<>c__DisplayClass12_0[double,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2+<>c__DisplayClass12_0[int,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2+<>c__DisplayClass12_0[long,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2+<>c__DisplayClass12_0[short,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.36 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2+<>c__DisplayClass12_0[System.__Canon,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2+<>c__DisplayClass12_0[System.Nullable`1[int],System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2+<>c__DisplayClass12_0[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2+<>c__DisplayClass12_0[ubyte,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.45 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingSpoolingTask`2+<>c__DisplayClass3_0[double,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.45 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingSpoolingTask`2+<>c__DisplayClass3_0[int,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.45 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingSpoolingTask`2+<>c__DisplayClass3_0[long,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.45 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingSpoolingTask`2+<>c__DisplayClass3_0[short,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.23 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingSpoolingTask`2+<>c__DisplayClass3_0[System.__Canon,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.45 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingSpoolingTask`2+<>c__DisplayClass3_0[System.Nullable`1[int],System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.45 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingSpoolingTask`2+<>c__DisplayClass3_0[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.45 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingSpoolingTask`2+<>c__DisplayClass3_0[ubyte,System.Nullable`1[int]]:<Spool>b__0():this (FullOpts)
         -20 (-2.84 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Action`1[System.Nullable`1[int]]):this (FullOpts)
         -20 (-0.27 % of base) : runincontext.dasm - TestRunner:DoWorkStress():int:this (FullOpts)
         -12 (-0.87 % of base) : runincontext.dasm - RunInContext:Main(System.String[]):int (FullOpts)
         -12 (-0.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.__Canon]:ExecuteAndGetResultsAsArray():System.__Canon[]:this (FullOpts)
          -8 (-1.90 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:DebuggerToString():System.String:this (FullOpts)
          -8 (-0.70 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationProvider:GetChildKeys(System.Collections.Generic.IEnumerable`1[System.String],System.String):System.Collections.Generic.IEnumerable`1[System.String]:this (FullOpts)
          -8 (-1.90 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationRoot:DebuggerToString():System.String:this (FullOpts)
          -8 (-0.78 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSection:DebuggerToString():System.String:this (FullOpts)
          -8 (-2.70 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[double]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[double] (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[int]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[int] (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[int]:GetEnumerator():System.Collections.Generic.IEnumerator`1[int]:this (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[long]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[long] (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[long]:GetEnumerator():System.Collections.Generic.IEnumerator`1[long]:this (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[short]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[short] (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[short]:GetEnumerator():System.Collections.Generic.IEnumerator`1[short]:this (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Nullable`1[int]]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[System.Nullable`1[int]] (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Nullable`1[int]]:this (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Numerics.Vector`1[float]]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[System.Numerics.Vector`1[float]] (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Numerics.Vector`1[float]]:this (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[ubyte]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[ubyte] (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[ubyte]:GetEnumerator():System.Collections.Generic.IEnumerator`1[ubyte]:this (FullOpts)
          -8 (-0.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStreamHelper[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],System.__Canon],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts)
          -8 (-0.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[double]:ExecuteAndGetResultsAsArray():double[]:this (FullOpts)
          -8 (-0.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[int]:ExecuteAndGetResultsAsArray():int[]:this (FullOpts)
          -8 (-0.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[long]:ExecuteAndGetResultsAsArray():long[]:this (FullOpts)
          -8 (-0.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[short]:ExecuteAndGetResultsAsArray():short[]:this (FullOpts)
          -8 (-0.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.Nullable`1[int]]:ExecuteAndGetResultsAsArray():System.Nullable`1[int][]:this (FullOpts)
          -8 (-0.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.Numerics.Vector`1[float]]:ExecuteAndGetResultsAsArray():System.Numerics.Vector`1[float][]:this (FullOpts)
          -8 (-0.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[ubyte]:ExecuteAndGetResultsAsArray():ubyte[]:this (FullOpts)
          -8 (-1.85 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryTask:RunAsynchronously(System.Threading.Tasks.TaskScheduler):System.Threading.Tasks.Task:this (FullOpts)
          -8 (-1.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryTask:RunSynchronously(System.Threading.Tasks.TaskScheduler):System.Threading.Tasks.Task:this (FullOpts)
          -8 (-0.61 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[double](System.Func`3[System.Object,System.Net.NameResolutionActivity,double],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[double] (FullOpts)
          -8 (-0.61 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[short](System.Func`3[System.Object,System.Net.NameResolutionActivity,short],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[short] (FullOpts)
          -8 (-0.61 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,System.Net.NameResolutionActivity,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] (FullOpts)
          -8 (-6.67 % of base) : System.Linq.Parallel.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : Microsoft.Extensions.Configuration.Ini.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : System.ComponentModel.EventBasedAsync.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : Microsoft.Extensions.Configuration.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-1.46 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[double]:.ctor(ubyte):this (FullOpts)
          -8 (-1.46 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[int]:.ctor(ubyte):this (FullOpts)
          -8 (-1.46 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts)
          -8 (-1.24 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedPrioritizedChannel`1[long]:.ctor(ubyte,System.Collections.Generic.IComparer`1[long]):this (FullOpts)
          -4 (-0.12 % of base) : runincontext.dasm - ArgInput:.ctor(System.String[]):this (FullOpts)
          -4 (-0.25 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:TryFindCGroupPathForSubsystem(int,System.String,System.String,byref):ubyte (FullOpts)
          -4 (-0.27 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:TryFindHierarchyMount(int,System.String,System.String,byref,byref):ubyte (FullOpts)
          -4 (-2.13 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationBuilder:.ctor():this (FullOpts)
          -4 (-3.23 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationKeyComparer:.cctor() (FullOpts)
          -4 (-12.50 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationKeyComparer:get_Comparison():System.Comparison`1[System.String] (FullOpts)
          -4 (-12.50 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationKeyComparer:get_Instance():Microsoft.Extensions.Configuration.ConfigurationKeyComparer (FullOpts)
          -4 (-0.48 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:ReloadSources():this (FullOpts)
          -4 (-2.78 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager+ConfigurationSources:.ctor(Microsoft.Extensions.Configuration.ConfigurationManager):this (FullOpts)
          -4 (-2.33 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationProvider:.ctor():this (FullOpts)
          -4 (-7.69 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationReloadToken+<>c:.cctor() (FullOpts)
          -4 (-0.85 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSectionDebugView:GetValueProvider(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String):Microsoft.Extensions.Configuration.IConfigurationProvider (FullOpts)
          -4 (-0.68 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSectionDebugView:ToString():System.String:this (FullOpts)

Top method regressions (percentages):
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[System.Numerics.Vector`1[float]]():System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (4.08 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:Cast[ubyte]():System.Linq.ParallelQuery`1[ubyte]:this (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[double](System.Linq.ParallelQuery`1[double]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[int](System.Linq.ParallelQuery`1[int]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[long](System.Linq.ParallelQuery`1[long]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[short](System.Linq.ParallelQuery`1[short]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[System.Nullable`1[int]](System.Linq.ParallelQuery`1[System.Nullable`1[int]]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[System.Numerics.Vector`1[float]](System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
           8 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Any[ubyte](System.Linq.ParallelQuery`1[ubyte]):ubyte (FullOpts)
           4 (3.12 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.CacheDict`2[double,System.Nullable`1[int]]:.ctor(int):this (FullOpts)
          16 (2.13 % of base) : System.Net.NameResolution.dasm - System.Net.NameResolutionTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
          24 (1.98 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSectionDebugView:FromConfiguration(Microsoft.Extensions.Configuration.IConfiguration,Microsoft.Extensions.Configuration.IConfigurationRoot):System.Collections.Generic.List`1[Microsoft.Extensions.Configuration.ConfigurationSectionDebugView] (FullOpts)
           8 (1.48 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[long]:.ctor(ubyte):this (FullOpts)
           8 (1.48 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[short]:.ctor(ubyte):this (FullOpts)
           8 (1.48 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[ubyte]:.ctor(ubyte):this (FullOpts)
           8 (1.37 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessManager:GetModules(int):System.Diagnostics.ProcessModuleCollection (FullOpts)
           8 (1.24 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Aggregate[System.Numerics.Vector`1[float]](System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],int):System.Numerics.Vector`1[float] (FullOpts)
           4 (1.18 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.TypeNameParserHelpers:ThrowArgumentException_InvalidTypeName(int) (FullOpts)
           8 (1.14 % of base) : System.Composition.Runtime.dasm - System.Composition.Hosting.Core.CompositionContract:ConstraintEqual(System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IDictionary`2[System.String,System.Object]):ubyte (FullOpts)
           4 (0.88 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[int]:.ctor(ubyte):this (FullOpts)
           4 (0.88 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[long]:.ctor(ubyte):this (FullOpts)
           4 (0.74 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Nullable`1[int]]:.ctor(ubyte):this (FullOpts)
           4 (0.64 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:.ctor():this (FullOpts)
          12 (0.62 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:.cctor() (FullOpts)
           8 (0.62 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[long](System.Func`3[System.Object,System.Net.NameResolutionActivity,long],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[long] (FullOpts)
           8 (0.62 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[System.Numerics.Vector`1[float]](System.Func`3[System.Object,System.Net.NameResolutionActivity,System.Numerics.Vector`1[float]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]] (FullOpts)
           8 (0.62 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[ubyte](System.Func`3[System.Object,System.Net.NameResolutionActivity,ubyte],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts)
           8 (0.57 % of base) : System.Linq.Expressions.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
           4 (0.34 % of base) : System.Net.Http.dasm - System.Net.Http.HttpClient:HandleFailure(System.Exception,ubyte,System.Net.Http.HttpResponseMessage,System.Threading.CancellationTokenSource,System.Threading.CancellationToken,System.Threading.CancellationTokenSource):this (FullOpts)
           8 (0.08 % of base) : System.Linq.Expressions.dasm - System.Runtime.CompilerServices.CallSite`1[System.__Canon]:CreateCustomUpdateDelegate(System.Reflection.MethodInfo):System.__Canon:this (FullOpts)

Top method improvements (percentages):
        -272 (-100.00 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapConnection:set_Timeout(System.TimeSpan):this (FullOpts)
          -4 (-12.50 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationKeyComparer:get_Comparison():System.Comparison`1[System.String] (FullOpts)
          -4 (-12.50 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationKeyComparer:get_Instance():Microsoft.Extensions.Configuration.ConfigurationKeyComparer (FullOpts)
          -4 (-12.50 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.FileProviders.EmptyDisposable:get_Instance():Microsoft.Extensions.FileProviders.EmptyDisposable (FullOpts)
          -4 (-12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[double]():System.Collections.Generic.Comparer`1[double] (FullOpts)
          -4 (-12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[int]():System.Collections.Generic.Comparer`1[int] (FullOpts)
          -4 (-12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[long]():System.Collections.Generic.Comparer`1[long] (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[int]:GetEnumerator():System.Collections.Generic.IEnumerator`1[int]:this (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[long]:GetEnumerator():System.Collections.Generic.IEnumerator`1[long]:this (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[short]:GetEnumerator():System.Collections.Generic.IEnumerator`1[short]:this (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Nullable`1[int]]:this (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Numerics.Vector`1[float]]:this (FullOpts)
          -8 (-11.11 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[ubyte]:GetEnumerator():System.Collections.Generic.IEnumerator`1[ubyte]:this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[double,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[int,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[long,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[short,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[System.Nullable`1[int],System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -68 (-8.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[ubyte,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[double,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[int,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[long,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[short,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[System.Nullable`1[int],System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -60 (-8.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[ubyte,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[int,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[long,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[short,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[System.Nullable`1[int],System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -68 (-7.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[ubyte,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
         -60 (-7.94 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[System.__Canon,System.Nullable`1[int]]:<SpoolPipeline>b__0():this (FullOpts)
         -68 (-7.91 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[System.__Canon,System.Nullable`1[int]]:<SpoolForAll>b__0():this (FullOpts)
          -4 (-7.69 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationReloadToken+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSectionDebugView+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.FileProviders.EmptyDisposable:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.AggregationMinMaxHelpers`1+<>c[double]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.AggregationMinMaxHelpers`1+<>c[int]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.AggregationMinMaxHelpers`1+<>c[long]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.AggregationMinMaxHelpers`1+<>c[short]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.AggregationMinMaxHelpers`1+<>c[System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.AggregationMinMaxHelpers`1+<>c[System.Numerics.Vector`1[float]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.AggregationMinMaxHelpers`1+<>c[ubyte]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ProducerComparerInt:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryTask+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__150`1[double]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__150`1[int]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__150`1[long]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__150`1[short]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__150`1[System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__150`1[System.Numerics.Vector`1[float]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__150`1[ubyte]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__52`1[double]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__52`1[int]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__52`1[long]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__52`1[short]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__52`1[System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__52`1[System.Numerics.Vector`1[float]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable+<>c__52`1[ubyte]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__1`1[double,System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__1`1[int,System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__1`1[long,System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__1`1[short,System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__1`1[System.Nullable`1[int],System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__1`1[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__1`1[ubyte,System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[double,System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[int,System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[long,System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[short,System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[System.Nullable`1[int],System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[ubyte,System.Nullable`1[int]]:.cctor() (FullOpts)
         -68 (-7.30 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[System.__Canon,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
          -4 (-7.14 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSectionDebugView+<>c:<FromConfiguration>b__15_0(Microsoft.Extensions.Configuration.ConfigurationSectionDebugView,Microsoft.Extensions.Configuration.ConfigurationSectionDebugView):int:this (FullOpts)
          -8 (-6.67 % of base) : System.Linq.Parallel.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : Microsoft.Extensions.Configuration.Ini.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : System.ComponentModel.EventBasedAsync.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : Microsoft.Extensions.Configuration.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -4 (-5.56 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[short]():System.Collections.Generic.Comparer`1[short] (FullOpts)
          -4 (-5.56 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[System.Nullable`1[int]]():System.Collections.Generic.Comparer`1[System.Nullable`1[int]] (FullOpts)
          -4 (-5.56 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[System.Numerics.Vector`1[float]]():System.Collections.Generic.Comparer`1[System.Numerics.Vector`1[float]] (FullOpts)
          -4 (-5.56 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[ubyte]():System.Collections.Generic.Comparer`1[ubyte] (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[double]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[double] (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[int]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[int] (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[long]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[long] (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[short]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[short] (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Nullable`1[int]]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[System.Nullable`1[int]] (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Numerics.Vector`1[float]]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[System.Numerics.Vector`1[float]] (FullOpts)
          -8 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[ubyte]:get_Instance():System.Linq.Parallel.EmptyEnumerable`1[ubyte] (FullOpts)
          -4 (-4.00 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.WrapperEqualityComparer`1[double]:.ctor(System.Collections.Generic.IEqualityComparer`1[double]):this (FullOpts)
          -4 (-4.00 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.WrapperEqualityComparer`1[int]:.ctor(System.Collections.Generic.IEqualityComparer`1[int]):this (FullOpts)
          -4 (-4.00 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.WrapperEqualityComparer`1[long]:.ctor(System.Collections.Generic.IEqualityComparer`1[long]):this (FullOpts)
          -4 (-4.00 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.WrapperEqualityComparer`1[short]:.ctor(System.Collections.Generic.IEqualityComparer`1[short]):this (FullOpts)
          -4 (-4.00 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.WrapperEqualityComparer`1[System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):this (FullOpts)
          -4 (-4.00 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.WrapperEqualityComparer`1[System.Numerics.Vector`1[float]]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):this (FullOpts)

680 total methods with Code Size differences (603 improved, 77 regressed), 231365 unchanged.

--------------------------------------------------------------------------------

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 16, 2024

Top method regressions

16 (2.13 % of base) - System.Net.NameResolutionTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this
 ; Assembly listing for method System.Net.NameResolutionTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 17 single block inlinees; 15 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T05] ( 13,  7.25)     ref  ->  x19         this class-hnd single-def <System.Net.NameResolutionTelemetry>
 ;  V01 arg1         [V01,T06] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.Diagnostics.Tracing.EventCommandEventArgs>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T02] ( 14, 10.50)     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.EventCounter>
-;  V04 tmp2         [V04,T07] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-;  V05 tmp3         [V05,T03] ( 10, 10   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
-;  V06 tmp4         [V06,T08] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-;  V07 tmp5         [V07,T04] ( 10, 10   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
+;  V04 tmp2         [V04,T07] (  4,  4   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+;  V05 tmp3         [V05,T03] ( 10, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
+;  V06 tmp4         [V06,T08] (  4,  4   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+;  V07 tmp5         [V07,T04] ( 10, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;  V10 tmp8         [V10,T11] (  3,  1   )     ref  ->   x0         class-hnd exact single-def "Inline stloc first use temp" <double[]>
-;* V11 tmp9         [V11,T13] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;  V10 tmp8         [V10,T10] (  3,  1   )     ref  ->   x0         class-hnd exact single-def "Inline stloc first use temp" <double[]>
+;* V11 tmp9         [V11,T12] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V12 tmp10        [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;  V14 cse0         [V14,T14] (  3,  4.50)  double  ->   d8         "CSE #04: aggressive"
-;  V15 cse1         [V15,T12] (  2,  0.50)   byref  ->  x14         hoist "CSE #05: aggressive"
-;  V16 cse2         [V16,T09] (  9,  3.75)     ref  ->  x22         multi-def "CSE #02: aggressive"
-;  V17 cse3         [V17,T10] (  6,  3   )    long  ->  x20         multi-def "CSE #01: aggressive"
-;  V18 rat0         [V18,T00] (  4, 12.25)   byref  ->  x14         "Strength reduced derived IV"
-;  V19 rat1         [V19,T01] (  4, 12.25)     int  ->  x15         "Trip count IV"
+;  V14 cse0         [V14,T13] (  3,  4.50)  double  ->   d8         "CSE #05: aggressive"
+;  V15 cse1         [V15,T11] (  2,  0.50)   byref  ->  x14         hoist "CSE #06: aggressive"
+;  V16 cse2         [V16,T09] (  9,  3.75)     ref  ->  x22         multi-def "CSE #01: aggressive"
+;  V17 rat0         [V17,T00] (  4, 12.25)   byref  ->  x14         "Strength reduced derived IV"
+;  V18 rat1         [V18,T01] (  4, 12.25)     int  ->  x15         "Trip count IV"
 ;
 ; Lcl frame size = 8
 
 G_M14000_IG01:
             stp     fp, lr, [sp, #-0x40]!
             str     d8, [sp, #0x18]
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             mov     fp, sp
             mov     x19, x0
 						;; size=24 bbWeight=1 PerfScore 5.00
 G_M14000_IG02:
             ldr     w0, [x1, #0x38]
             cmn     w0, #2
             bne     G_M14000_IG09
 						;; size=12 bbWeight=1 PerfScore 4.50
 G_M14000_IG03:
             ldr     x0, [x19, #0xB0]
             cbnz    x0, G_M14000_IG04
-            movz    x20, #0xD1FFAB1E
-            movk    x20, #0xD1FFAB1E LSL #16
-            movk    x20, #0xD1FFAB1E LSL #32
-            add     x0, x20, #0xD1FFAB1E
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
-            add     x14, x21, #8
+            mov     x20, x0
+            add     x14, x20, #8
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E      // code for System.Net.NameResolutionTelemetry:<OnEventCommand>b__9_0():double:this
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            str     x0, [x21, #0x18]
-            mov     x0, x20
+            str     x0, [x20, #0x18]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x20, x0
+            mov     x21, x0
             movz    x22, #0xD1FFAB1E
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #0xD1FFAB1E LSL #32
-            stp     x22, x22, [x20, #0x08]
+            stp     x22, x22, [x21, #0x08]
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
-            str     x14, [x20, #0x18]
-            add     x14, x20, #32
+            str     x14, [x21, #0x18]
+            add     x14, x21, #32
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x14, x20, #56
-            mov     x15, x21
+            add     x14, x21, #56
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x20
+            mov     x0, x21
             movz    x1, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            ldr     x14, [x20, #0x08]
+            ldr     x14, [x21, #0x08]
             cbz     x14, G_M14000_IG11
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
-            str     x14, [x20, #0x08]
+            str     x14, [x21, #0x08]
             add     x14, x19, #176
-            mov     x15, x20
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=188 bbWeight=0.50 PerfScore 18.75
+						;; size=192 bbWeight=0.50 PerfScore 19.00
 G_M14000_IG04:
             ldr     x0, [x19, #0xB8]
             cbnz    x0, G_M14000_IG05
-            movz    x20, #0xD1FFAB1E
-            movk    x20, #0xD1FFAB1E LSL #16
-            movk    x20, #0xD1FFAB1E LSL #32
-            add     x0, x20, #0xD1FFAB1E
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
-            add     x14, x21, #8
+            mov     x20, x0
+            add     x14, x20, #8
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E      // code for System.Net.NameResolutionTelemetry:<OnEventCommand>b__9_1():double:this
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            str     x0, [x21, #0x18]
-            mov     x0, x20
+            str     x0, [x20, #0x18]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x20, x0
+            mov     x21, x0
             movz    x22, #0xD1FFAB1E
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #0xD1FFAB1E LSL #32
-            stp     x22, x22, [x20, #0x08]
+            stp     x22, x22, [x21, #0x08]
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
-            str     x14, [x20, #0x18]
-            add     x14, x20, #32
+            str     x14, [x21, #0x18]
+            add     x14, x21, #32
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x14, x20, #56
-            mov     x15, x21
+            add     x14, x21, #56
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x20
+            mov     x0, x21
             movz    x1, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            ldr     x14, [x20, #0x08]
+            ldr     x14, [x21, #0x08]
             cbz     x14, G_M14000_IG11
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
-            str     x14, [x20, #0x08]
+            str     x14, [x21, #0x08]
             add     x14, x19, #184
-            mov     x15, x20
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=188 bbWeight=0.50 PerfScore 18.75
+						;; size=192 bbWeight=0.50 PerfScore 19.00
 G_M14000_IG05:
             ldr     x0, [x19, #0xC0]
             cbnz    x0, G_M14000_IG09
 						;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M14000_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x22, #0xD1FFAB1E
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #0xD1FFAB1E LSL #32
             stp     x22, x22, [x20, #0x08]
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x20, #0x18]
             add     x14, x20, #32
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     d16, [@RWD00]
             str     d16, [x20, #0x50]
             ldr     d8, [@RWD08]
             str     d8, [x20, #0x58]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     x1, #10
             bl      CORINFO_HELP_NEWARR_1_VC
             add     x14, x0, #16
             mov     w15, #10
-            align   [0 bytes for IG07]
+            align   [4 bytes for IG07]
+            align   [4 bytes]
             align   [0 bytes]
             align   [0 bytes]
-            align   [0 bytes]
-						;; size=108 bbWeight=0.25 PerfScore 5.00
+						;; size=116 bbWeight=0.25 PerfScore 5.25
 G_M14000_IG07:
             str     d8, [x14], #0x08
             sub     w15, w15, #1
             cbnz    w15, G_M14000_IG07
 						;; size=12 bbWeight=4 PerfScore 10.00
 G_M14000_IG08:
             add     x14, x20, #56
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x14, [x20, #0x08]
             cbz     x14, G_M14000_IG11
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x20, #0x08]
             ldr     x14, [x20, #0x10]
             cbz     x14, G_M14000_IG10
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             str     x14, [x20, #0x10]
             add     x14, x19, #192
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=96 bbWeight=0.50 PerfScore 11.50
 G_M14000_IG09:
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldr     d8, [sp, #0x18]
             ldp     fp, lr, [sp], #0x40
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 6.00
 G_M14000_IG10:
             movz    w0, #0xD1FFAB1E
             movk    w0, #1 LSL #16
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             movz    x1, #0xD1FFAB1E      // code for System.ArgumentNullException:Throw(System.String)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk     #0
 						;; size=48 bbWeight=0 PerfScore 0.00
 G_M14000_IG11:
             movz    w0, #0xD1FFAB1E
             movk    w0, #1 LSL #16
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             movz    x1, #0xD1FFAB1E      // code for System.ArgumentNullException:Throw(System.String)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk     #0
 						;; size=48 bbWeight=0 PerfScore 0.00
 RWD00  	dq	7FF0000000000000h	;          inf
 RWD08  	dq	FFF0000000000000h	;         -inf
 
 
-; Total bytes of code 752, prolog size 24, PerfScore 81.50, instruction count 192, allocated bytes for code 752 (MethodHash=81b4c94f) for method System.Net.NameResolutionTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
+; Total bytes of code 768, prolog size 24, PerfScore 82.25, instruction count 194, allocated bytes for code 768 (MethodHash=81b4c94f) for method System.Net.NameResolutionTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
 ; ============================================================
8 (1.14 % of base) - System.Composition.Hosting.Core.CompositionContract:ConstraintEqual(System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IDictionary`2[System.String,System.Object]):ubyte
 ; Assembly listing for method System.Composition.Hosting.Core.CompositionContract:ConstraintEqual(System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IDictionary`2[System.String,System.Object]):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T10] (  6,  6   )     ref  ->  x20         class-hnd single-def <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
 ;  V01 arg1         [V01,T09] (  6, 13   )     ref  ->  x19         class-hnd single-def <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
 ;  V02 loc0         [V02,T07] (  6, 19   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
 ;  V04 loc2         [V04    ] (  5, 33   )     ref  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
 ;  V05 loc3         [V05,T11] (  6,  6   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] must-init EH-live
 ;  V06 loc4         [V06,T01] (  4, 32   )     ref  ->  x22         class-hnd <System.Collections.IEnumerable>
-;  V07 loc5         [V07,T06] (  3, 24   )     ref  ->  x20         class-hnd <System.Collections.IEnumerable>
+;  V07 loc5         [V07,T05] (  3, 24   )     ref  ->  x20         class-hnd <System.Collections.IEnumerable>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V09 tmp1         [V09    ] (  0,  0   )     int  ->  zero-ref    "non-inline candidate call"
 ;* V10 tmp2         [V10    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
 ;* V11 tmp3         [V11    ] (  0,  0   )     int  ->  zero-ref    "spilling qmarkNull"
 ;* V12 tmp4         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Object]>
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.__Canon]>
 ;  V14 tmp6         [V14,T12] (  2,  4   )     int  ->   x0         "Single return block return value"
 ;  V15 tmp7         [V15,T08] (  2, 16   )     ref  ->  x11         "field V03.key (fldOffset=0x0)" P-INDEP
 ;  V16 tmp8         [V16,T00] (  5, 40   )     ref  ->  x20         "field V03.value (fldOffset=0x8)" P-INDEP
 ;* V17 tmp9         [V17    ] (  0,  0   )     ref  ->  zero-ref    "field V10.key (fldOffset=0x0)" P-DEP
 ;* V18 tmp10        [V18    ] (  0,  0   )     ref  ->  zero-ref    "field V10.value (fldOffset=0x8)" P-DEP
-;  V19 tmp11        [V19,T03] (  2, 32   )     ref  ->   x2         "argument with side effect"
-;  V20 tmp12        [V20,T04] (  2, 32   )     ref  ->  x23         "argument with side effect"
+;  V19 tmp11        [V19,T02] (  2, 32   )     ref  ->   x2         "argument with side effect"
+;  V20 tmp12        [V20,T03] (  2, 32   )     ref  ->  x23         "argument with side effect"
 ;  V21 PSPSym       [V21,T13] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V22 cse0         [V22,T05] ( 10, 31   )    long  ->  x21         multi-def "CSE #01: aggressive"
-;  V23 cse1         [V23,T02] (  4, 32   )    long  ->  x22         "CSE #02: aggressive"
+;  V22 cse0         [V22,T04] ( 10, 31   )    long  ->  x21         multi-def "CSE #01: aggressive"
+;  V23 cse1         [V23,T06] (  3, 24   )    long  ->  x22         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 40
 
 G_M62509_IG01:
             stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x38]
             stp     x21, x22, [sp, #0x48]
             str     x23, [sp, #0x58]
             mov     fp, sp
             str     xzr, [fp, #0x28]	// [V04 loc2]
             str     wzr, [fp, #0x24]	// [V05 loc3]
             add     x2, sp, #96
             str     x2, [fp, #0x30]	// [V21 PSPSym]
             mov     x20, x0
             mov     x19, x1
 						;; size=44 bbWeight=1 PerfScore 9.00
 G_M62509_IG02:
             cmp     x20, x19
             beq     G_M62509_IG16
             cbz     x20, G_M62509_IG18
             cbz     x19, G_M62509_IG18
             mov     x0, x20
             movz    x21, #0xD1FFAB1E      // code for System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Count():int:this
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             mov     w22, w0
             mov     x0, x19
             add     x11, x21, #8
             ldr     xip0, [x11]
             blr     xip0
             cmp     w22, w0
             bne     G_M62509_IG18
             mov     x0, x20
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
             str     x0, [fp, #0x18]	// [V02 loc0]
 						;; size=92 bbWeight=1 PerfScore 23.00
 G_M62509_IG03:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x21, #24
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M62509_IG15
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x21, #32
             ldr     xip0, [x11]
             blr     xip0
             mov     x11, x0
             mov     x20, x1
             add     x2, fp, #40	// [V04 loc2]
             mov     x0, x19
             mov     x1, x11
             add     x11, x21, #40
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M62509_IG10
             cbz     x20, G_M62509_IG09
             ldr     x1, [fp, #0x28]	// [V04 loc2]
             cbz     x1, G_M62509_IG08
             mov     x1, x20
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x22, x0
             cbz     x22, G_M62509_IG04
             ldr     x0, [x22]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
             bne     G_M62509_IG06
 						;; size=152 bbWeight=8 PerfScore 328.00
 G_M62509_IG04:
             mov     x0, x20
             ldr     x1, [fp, #0x28]	// [V04 loc2]
             ldr     x2, [x20]
             ldr     x2, [x2, #0x40]
             ldr     x2, [x2, #0x10]
             blr     x2
             cbnz    w0, G_M62509_IG03
 						;; size=28 bbWeight=8 PerfScore 108.00
 G_M62509_IG05:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             str     wzr, [fp, #0x24]	// [V05 loc3]
             b       G_M62509_IG11
 						;; size=12 bbWeight=1 PerfScore 4.00
 G_M62509_IG06:
             ldr     x1, [fp, #0x28]	// [V04 loc2]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x20, x0
             cbz     x20, G_M62509_IG07
             mov     x1, x22
             movz    x22, #0xD1FFAB1E
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #0xD1FFAB1E LSL #32
             mov     x0, x22
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Enumerable:Cast[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x23, x0
             mov     x1, x20
             mov     x0, x22
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Enumerable:Cast[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x2, x0
             mov     x1, x23
-            add     x0, x22, #0xD1FFAB1E
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             mov     x3, xzr
             movz    x4, #0xD1FFAB1E      // code for System.Linq.Enumerable:SequenceEqual[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
             cbnz    w0, G_M62509_IG03
-						;; size=156 bbWeight=8 PerfScore 272.00
+						;; size=164 bbWeight=8 PerfScore 280.00
 G_M62509_IG07:
             str     wzr, [fp, #0x24]	// [V05 loc3]
             b       G_M62509_IG11
 						;; size=8 bbWeight=1 PerfScore 2.00
 G_M62509_IG08:
             str     wzr, [fp, #0x24]	// [V05 loc3]
             b       G_M62509_IG11
 						;; size=8 bbWeight=1 PerfScore 2.00
 G_M62509_IG09:
             ldr     x11, [fp, #0x28]	// [V04 loc2]
             cmp     x11, #0
             cset    x11, eq
             str     w11, [fp, #0x24]	// [V05 loc3]
             b       G_M62509_IG11
 						;; size=20 bbWeight=1 PerfScore 5.00
 G_M62509_IG10:
             str     wzr, [fp, #0x24]	// [V05 loc3]
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M62509_IG11:
             ldr     x0, [fp, #0x30]	// [V21 PSPSym]
 						;; size=4 bbWeight=1 PerfScore 2.00
 G_M62509_IG12:
             bl      G_M62509_IG20
             nop     
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M62509_IG13:
             ldr     w0, [fp, #0x24]	// [V05 loc3]
             uxtb    w0, w0
 						;; size=8 bbWeight=1 PerfScore 2.50
 G_M62509_IG14:
             ldr     x23, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 6.00
 G_M62509_IG15:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x21, #48
             ldr     xip0, [x11]
             blr     xip0
 						;; size=16 bbWeight=1 PerfScore 6.50
 G_M62509_IG16:
             mov     w0, #1
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M62509_IG17:
             ldr     x23, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 6.00
 G_M62509_IG18:
             mov     w0, wzr
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M62509_IG19:
             ldr     x23, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 6.00
 G_M62509_IG20:
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
             str     x23, [sp, #0x38]
             add     x3, fp, #96
             str     x3, [sp, #0x10]
 						;; size=24 bbWeight=1 PerfScore 5.50
 G_M62509_IG21:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             cbz     x0, G_M62509_IG22
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             add     x11, x21, #48
             ldr     xip0, [x11]
             blr     xip0
 						;; size=32 bbWeight=1 PerfScore 9.00
 G_M62509_IG22:
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x40
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 12.00
 
-; Total bytes of code 704, prolog size 44, PerfScore 812.00, instruction count 176, allocated bytes for code 704 (MethodHash=a5af0bd2) for method System.Composition.Hosting.Core.CompositionContract:ConstraintEqual(System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IDictionary`2[System.String,System.Object]):ubyte (FullOpts)
+; Total bytes of code 712, prolog size 44, PerfScore 820.00, instruction count 178, allocated bytes for code 712 (MethodHash=a5af0bd2) for method System.Composition.Hosting.Core.CompositionContract:ConstraintEqual(System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IDictionary`2[System.String,System.Object]):ubyte (FullOpts)
 ; ============================================================
8 (1.37 % of base) - System.Diagnostics.ProcessManager:GetModules(int):System.Diagnostics.ProcessModuleCollection
 ; Assembly listing for method System.Diagnostics.ProcessManager:GetModules(int):System.Diagnostics.ProcessModuleCollection (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 15 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T07] (  3,  3   )     int  ->   x0         single-def
 ;  V01 loc0         [V01,T02] ( 12, 14   )     ref  ->  x19         class-hnd <System.Diagnostics.ProcessModuleCollection>
 ;  V02 loc1         [V02    ] (  3,  2   )     int  ->  [fp+0x10]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V03 loc2         [V03,T03] (  5,  9   )     ref  ->  x20         class-hnd exact single-def <System.String>
 ;  V04 loc3         [V04,T01] (  7, 17.50)     int  ->  x21        
 ;  V05 loc4         [V05,T04] (  3,  8.50)     ref  ->  x23         class-hnd <System.Diagnostics.ProcessModule>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T12] (  4,  3.50)     ref  ->   x0        
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Diagnostics.ProcessModuleCollection>
 ;  V09 tmp3         [V09,T00] (  5, 32   )     ref  ->   x2         class-hnd exact "Inlining Arg" <System.String>
 ;  V10 tmp4         [V10,T11] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V11 tmp5         [V11,T05] (  2,  8   )   byref  ->   x0         "impAppendStmt"
 ;* V12 tmp6         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Collections.ArrayList>
-;  V13 tmp7         [V13,T16] (  2,  2   )     ref  ->   x0         class-hnd "dup spill" <System.Collections.ArrayList>
-;  V14 tmp8         [V14,T14] (  5,  2.50)     ref  ->   x0        
-;  V15 tmp9         [V15,T09] (  4,  4   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
+;  V13 tmp7         [V13,T15] (  2,  2   )     ref  ->   x0         class-hnd "dup spill" <System.Collections.ArrayList>
+;  V14 tmp8         [V14,T13] (  5,  2.50)     ref  ->   x0        
+;  V15 tmp9         [V15,T09] (  4,  4   )     ref  ->  x20         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.ArrayList>
 ;* V17 tmp11        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Collections.ArrayList>
-;  V18 tmp12        [V18,T17] (  2,  2   )     ref  ->   x0         class-hnd "dup spill" <System.Collections.ArrayList>
-;  V19 tmp13        [V19,T15] (  5,  2.50)     ref  ->   x0        
-;  V20 tmp14        [V20,T10] (  4,  4   )     ref  ->  x21         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
+;  V18 tmp12        [V18,T16] (  2,  2   )     ref  ->   x0         class-hnd "dup spill" <System.Collections.ArrayList>
+;  V19 tmp13        [V19,T14] (  5,  2.50)     ref  ->   x0        
+;  V20 tmp14        [V20,T10] (  4,  4   )     ref  ->  x20         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.ArrayList>
 ;  V22 cse0         [V22,T08] (  3,  5   )    long  ->  x22         "CSE #03: aggressive"
 ;  V23 cse1         [V23,T06] (  3,  6   )     int  ->   x1         "CSE #01: aggressive"
-;  V24 cse2         [V24,T13] (  6,  3   )    long  ->  x20         multi-def "CSE #04: aggressive"
-;  V25 rat0         [V25,T18] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
-;  V26 rat1         [V26,T19] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M25832_IG01:
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
             str     x23, [sp, #0x38]
             mov     fp, sp
 						;; size=20 bbWeight=1 PerfScore 4.50
 G_M25832_IG02:
             mov     x19, xzr
             add     x1, fp, #16	// [V02 loc1]
             movz    x2, #0xD1FFAB1E      // code for System.Diagnostics.ProcessManager:TryGetProcPid(int,byref):ubyte
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     w0, G_M25832_IG07
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M25832_IG03:
             ldr     w0, [fp, #0x10]	// [V02 loc1]
             movz    x1, #0xD1FFAB1E      // code for Interop+procfs:ParseMapsModules(int):System.Diagnostics.ProcessModuleCollection
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x19, x0
             cbz     x19, G_M25832_IG07
             ldr     w0, [fp, #0x10]	// [V02 loc1]
             movz    x1, #0xD1FFAB1E      // code for System.Diagnostics.Process:GetExePath(int):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x20, x0
             cbz     x20, G_M25832_IG07
             mov     w21, wzr
             mov     x0, x19
             ldr     x1, [x19]
             ldr     x22, [x1, #0x40]
             ldr     x1, [x22, #0x20]
             blr     x1
             cmp     w0, #0
             ble     G_M25832_IG07
 						;; size=96 bbWeight=0.50 PerfScore 15.25
 G_M25832_IG04:
             mov     x0, x19
             mov     w1, w21
             movz    x2, #0xD1FFAB1E      // code for System.Diagnostics.ProcessModuleCollection:get_Item(int):System.Diagnostics.ProcessModule:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x23, x0
             ldr     x2, [x23, #0x18]
             cmp     x2, x20
             beq     G_M25832_IG10
             cbz     x2, G_M25832_IG06
 						;; size=48 bbWeight=4 PerfScore 50.00
 G_M25832_IG05:
             ldr     w1, [x2, #0x08]
             ldr     w0, [x20, #0x08]
             cmp     w1, w0
             bne     G_M25832_IG06
             add     x0, x2, #12
             lsl     w2, w1, #1
             mov     w2, w2
             add     x1, x20, #12
             movz    x3, #0xD1FFAB1E      // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             cbnz    w0, G_M25832_IG10
 						;; size=56 bbWeight=2 PerfScore 33.00
 G_M25832_IG06:
             add     w21, w21, #1
             mov     x0, x19
             ldr     x1, [x22, #0x20]
             blr     x1
             cmp     w0, w21
             bgt     G_M25832_IG04
 						;; size=24 bbWeight=4 PerfScore 26.00
 G_M25832_IG07:
             mov     x0, x19
             cbnz    x0, G_M25832_IG09
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M25832_IG08:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
 						;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M25832_IG09:
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x40
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 6.00
 G_M25832_IG10:
             cmp     w21, #0
             ble     G_M25832_IG07
             ldr     x0, [x19, #0x08]
             cbnz    x0, G_M25832_IG12
-            movz    x20, #0xD1FFAB1E
-            movk    x20, #0xD1FFAB1E LSL #16
-            movk    x20, #0xD1FFAB1E LSL #32
-            mov     x0, x20
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x22, x0
-            add     x0, x20, #0xD1FFAB1E
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldapr   w1, [x1]
-            tbz     w1, #0, G_M25832_IG15
-						;; size=64 bbWeight=0.50 PerfScore 7.50
+            mov     x20, x0
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldapr   w0, [x0]
+            tbz     w0, #0, G_M25832_IG15
+						;; size=56 bbWeight=0.50 PerfScore 7.00
 G_M25832_IG11:
             movz    x14, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[System.Object]:Value
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
-            add     x14, x22, #8
+            add     x14, x20, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #8
-            mov     x15, x22
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x22
+            mov     x0, x20
 						;; size=40 bbWeight=0.50 PerfScore 4.25
 G_M25832_IG12:
             mov     w1, w21
             ldr     x2, [x0]
             ldr     x2, [x2, #0x60]
             ldr     x2, [x2, #0x18]
             blr     x2
             ldr     x0, [x19, #0x08]
             cbnz    x0, G_M25832_IG14
-            movz    x20, #0xD1FFAB1E
-            movk    x20, #0xD1FFAB1E LSL #16
-            movk    x20, #0xD1FFAB1E LSL #32
-            mov     x0, x20
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
-            add     x0, x20, #0xD1FFAB1E
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldapr   w1, [x1]
-            tbz     w1, #0, G_M25832_IG16
-						;; size=76 bbWeight=0.50 PerfScore 12.00
+            mov     x20, x0
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldapr   w0, [x0]
+            tbz     w0, #0, G_M25832_IG16
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M25832_IG13:
             movz    x14, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[System.Object]:Value
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
-            add     x14, x21, #8
+            add     x14, x20, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #8
-            mov     x15, x21
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x21
+            mov     x0, x20
 						;; size=40 bbWeight=0.50 PerfScore 4.25
 G_M25832_IG14:
             mov     x2, x23
             mov     w1, wzr
             ldr     x3, [x0]
             ldr     x3, [x3, #0x58]
             ldr     x3, [x3, #0x28]
             blr     x3
             b       G_M25832_IG07
 						;; size=28 bbWeight=0.50 PerfScore 6.00
 G_M25832_IG15:
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M25832_IG11
-						;; size=8 bbWeight=0 PerfScore 0.00
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M25832_IG16:
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M25832_IG13
-						;; size=8 bbWeight=0 PerfScore 0.00
+						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 584, prolog size 20, PerfScore 179.00, instruction count 146, allocated bytes for code 584 (MethodHash=0b379b17) for method System.Diagnostics.ProcessManager:GetModules(int):System.Diagnostics.ProcessModuleCollection (FullOpts)
+; Total bytes of code 592, prolog size 20, PerfScore 178.00, instruction count 148, allocated bytes for code 592 (MethodHash=0b379b17) for method System.Diagnostics.ProcessManager:GetModules(int):System.Diagnostics.ProcessModuleCollection (FullOpts)
 ; ============================================================
8 (1.24 % of base) - System.Linq.ParallelEnumerable:Aggregate[System.Numerics.Vector`1[float]](System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],int):System.Numerics.Vector`1[float]
 ; Assembly listing for method System.Linq.ParallelEnumerable:Aggregate[System.Numerics.Vector`1[float]](System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],int):System.Numerics.Vector`1[float] (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 10 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T02] (  5,  4   )     ref  ->  x20         class-hnd single-def <System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]>
 ;  V01 arg1         [V01,T01] (  6,  4.50)     ref  ->  x19         class-hnd single-def <System.Func`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]>
 ;  V02 arg2         [V02,T03] (  4,  4   )     int  ->   x2         single-def
 ;* V03 loc0         [V03    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  ld-addr-op <System.Numerics.Vector`1[float]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T14] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
+;  V05 tmp1         [V05,T13] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
 ;* V06 tmp2         [V06    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "Inline return value spill temp" <System.Numerics.Vector`1[float]>
-;* V07 tmp3         [V07,T13] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "Inlining Arg" <System.Numerics.Vector`1[float]>
-;  V08 tmp4         [V08,T09] (  2,  2   )     ref  ->  x22         class-hnd single-def "dup spill" <System.Func`2[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]>
+;* V07 tmp3         [V07,T12] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  "Inlining Arg" <System.Numerics.Vector`1[float]>
+;  V08 tmp4         [V08,T08] (  2,  2   )     ref  ->  x21         class-hnd single-def "dup spill" <System.Func`2[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]>
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp6         [V10    ] (  0,  0   )  simd16  ->  zero-ref   
 ;* V11 tmp7         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V12 tmp8         [V12    ] (  0,  0   )     int  ->  zero-ref   
 ;* V13 tmp9         [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V14 tmp10        [V14    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V15 tmp11        [V15,T07] (  4,  2   )     ref  ->  x22        
-;  V16 tmp12        [V16,T00] ( 13, 13   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Parallel.AssociativeAggregationOperator`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]>
-;  V17 tmp13        [V17,T04] (  5,  5   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]>
+;  V15 tmp11        [V15,T07] (  4,  2   )     ref  ->  x21        
+;  V16 tmp12        [V16,T00] ( 13, 13   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Parallel.AssociativeAggregationOperator`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]>
+;  V17 tmp13        [V17,T04] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]>
 ;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Func`2[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]>
 ;  V19 tmp15        [V19,T06] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.Linq.ParallelEnumerable+<>c__52`1[System.Numerics.Vector`1[float]]>
 ;* V20 tmp16        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp17        [V21,T05] (  4,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.QueryOperator`1[System.Numerics.Vector`1[float]]>
-;  V22 tmp18        [V22,T10] (  2,  2   )     int  ->   x1         "impAppendStmt"
-;  V23 tmp19        [V23,T11] (  2,  2   )  struct (48) [fp+0x10]  do-not-enreg[S] must-init "spilled call-like call argument" <System.Linq.Parallel.QuerySettings>
+;  V22 tmp18        [V22,T09] (  2,  2   )     int  ->   x1         "impAppendStmt"
+;  V23 tmp19        [V23,T10] (  2,  2   )  struct (48) [fp+0x10]  do-not-enreg[S] must-init "spilled call-like call argument" <System.Linq.Parallel.QuerySettings>
 ;* V24 tmp20        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp21        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V26 tmp22        [V26,T15] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;* V27 cse0         [V27,T12] (  0,  0   )   byref  ->  zero-ref    "CSE #03: moderate"
-;  V28 cse1         [V28,T08] (  4,  2   )    long  ->  x21         "CSE #04: moderate"
+;  V26 tmp22        [V26,T14] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
+;* V27 cse0         [V27,T11] (  0,  0   )   byref  ->  zero-ref    "CSE #03: moderate"
 ;
 ; Lcl frame size = 48
 
 G_M53532_IG01:
             stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x40]
             stp     x21, x22, [sp, #0x50]
             mov     fp, sp
             add     x9, fp, #16
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             stp     xzr, xzr, [x9, #0x20]
             mov     x20, x0
             mov     x19, x1
 						;; size=40 bbWeight=1 PerfScore 7.50
 G_M53532_IG02:
             cbz     x20, G_M53532_IG15
             cbz     x19, G_M53532_IG14
             tst     w2, #0xD1FFAB1E
             bne     G_M53532_IG13
             tbz     w2, #0, G_M53532_IG09
 						;; size=20 bbWeight=1 PerfScore 4.50
 G_M53532_IG03:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M53532_IG11
 						;; size=20 bbWeight=0.50 PerfScore 2.75
 G_M53532_IG04:
-            movz    x21, #0xD1FFAB1E      // data for System.Linq.ParallelEnumerable+<>c__52`1[System.Numerics.Vector`1[float]]:<>9__52_0
-            movk    x21, #0xD1FFAB1E LSL #16
-            movk    x21, #0xD1FFAB1E LSL #32
-            ldr     x22, [x21]
-            cbnz    x22, G_M53532_IG05
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
+            movz    x0, #0xD1FFAB1E      // data for System.Linq.ParallelEnumerable+<>c__52`1[System.Numerics.Vector`1[float]]:<>9__52_0
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_NEWSFAST
-            mov     x22, x0
-            ldr     x15, [x21, #-0x08]
-            cbz     x15, G_M53532_IG12
-            add     x14, x22, #8
-            bl      CORINFO_HELP_ASSIGN_REF
-            movz    x14, #0xD1FFAB1E      // code for System.Linq.ParallelEnumerable+<>c__52`1[System.Numerics.Vector`1[float]]:<PerformAggregation>b__52_0(System.Numerics.Vector`1[float]):System.Numerics.Vector`1[float]:this
-            movk    x14, #0xD1FFAB1E LSL #16
-            movk    x14, #0xD1FFAB1E LSL #32
-            str     x14, [x22, #0x18]
-            mov     x14, x21
-            mov     x15, x22
-            bl      CORINFO_HELP_ASSIGN_REF
-						;; size=84 bbWeight=0.50 PerfScore 9.25
-G_M53532_IG05:
+            ldr     x21, [x0]
+            cbnz    x21, G_M53532_IG05
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
+            movz    x14, #0xD1FFAB1E      // data for System.Linq.ParallelEnumerable+<>c__52`1[System.Numerics.Vector`1[float]]:<>9
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
+            cbz     x15, G_M53532_IG12
+            add     x14, x21, #8
+            bl      CORINFO_HELP_ASSIGN_REF
+            movz    x14, #0xD1FFAB1E      // code for System.Linq.ParallelEnumerable+<>c__52`1[System.Numerics.Vector`1[float]]:<PerformAggregation>b__52_0(System.Numerics.Vector`1[float]):System.Numerics.Vector`1[float]:this
+            movk    x14, #0xD1FFAB1E LSL #16
+            movk    x14, #0xD1FFAB1E LSL #32
+            str     x14, [x21, #0x18]
+            movz    x14, #0xD1FFAB1E      // data for System.Linq.ParallelEnumerable+<>c__52`1[System.Numerics.Vector`1[float]]:<>9__52_0
+            movk    x14, #0xD1FFAB1E LSL #32
+            mov     x15, x21
+            bl      CORINFO_HELP_ASSIGN_REF
+						;; size=92 bbWeight=0.50 PerfScore 9.75
+G_M53532_IG05:
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            bl      CORINFO_HELP_NEWSFAST
+            mov     x22, x0
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Linq.Parallel.QueryOperator`1[System.Numerics.Vector`1[float]]:AsQueryOperator(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.Linq.Parallel.QueryOperator`1[System.Numerics.Vector`1[float]]
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldrb    w1, [x0, #0x38]
 						;; size=48 bbWeight=0.50 PerfScore 6.00
 G_M53532_IG06:
             sub     x12, x0, #8
             ldp     q16, q17, [x12, #0x10]
             stp     q16, q17, [fp, #0x10]
             ldr     q16, [x12, #0x30]
             str     q16, [fp, #0x30]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M53532_IG07:
             mov     w14, #3
-            strb    w14, [x21, #0x39]
-            add     x14, x21, #8
+            strb    w14, [x22, #0x39]
+            add     x14, x22, #8
             add     x13, fp, #16	// [V23 tmp19]
             bl      CORINFO_HELP_ASSIGN_BYREF
             bl      CORINFO_HELP_ASSIGN_BYREF
             ldp     q16, q17, [x13], #0x20
             stp     q16, q17, [x14], #0x20
-            strb    w1, [x21, #0x38]
-            add     x14, x21, #64
+            strb    w1, [x22, #0x38]
+            add     x14, x22, #64
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             movi    v16.4s, #0
-            str     q16, [x21, #0x70]
-            str     xzr, [x21, #0x60]
-            strb    wzr, [x21, #0x68]
-            add     x14, x21, #72
+            str     q16, [x22, #0x70]
+            str     xzr, [x22, #0x60]
+            strb    wzr, [x22, #0x68]
+            add     x14, x22, #72
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x14, x21, #80
+            add     x14, x22, #80
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x14, x21, #88
-            mov     x15, x22
+            add     x14, x22, #88
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     w0, #1
-            strb    w0, [x21, #0x69]
-            mov     x0, x21
+            strb    w0, [x22, #0x69]
+            mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.Linq.Parallel.AssociativeAggregationOperator`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]:Aggregate():System.Numerics.Vector`1[float]:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=132 bbWeight=0.50 PerfScore 14.25
 G_M53532_IG08:
             ldp     x21, x22, [sp, #0x50]
             ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M53532_IG09:
             movi    v0.4s, #0
             mov     x0, x20
             mov     x2, x19
             mov     w1, wzr
             movz    x3, #0xD1FFAB1E      // code for System.Linq.ParallelEnumerable:PerformSequentialAggregation[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]](System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],ubyte,System.Func`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]]):System.Numerics.Vector`1[float]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
 						;; size=36 bbWeight=0.50 PerfScore 3.75
 G_M53532_IG10:
             ldp     x21, x22, [sp, #0x50]
             ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=16 bbWeight=0.50 PerfScore 2.00
 G_M53532_IG11:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M53532_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M53532_IG12:
             movz    x0, #0xD1FFAB1E      // code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             brk     #0
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M53532_IG13:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=80 bbWeight=0 PerfScore 0.00
 G_M53532_IG14:
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             movz    x1, #0xD1FFAB1E      // code for System.ArgumentNullException:Throw(System.String)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk     #0
 						;; size=44 bbWeight=0 PerfScore 0.00
 G_M53532_IG15:
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             movz    x1, #0xD1FFAB1E      // code for System.ArgumentNullException:Throw(System.String)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk     #0
 						;; size=44 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 644, prolog size 32, PerfScore 56.25, instruction count 161, allocated bytes for code 644 (MethodHash=48822ee3) for method System.Linq.ParallelEnumerable:Aggregate[System.Numerics.Vector`1[float]](System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],int):System.Numerics.Vector`1[float] (FullOpts)
+; Total bytes of code 652, prolog size 32, PerfScore 56.75, instruction count 163, allocated bytes for code 652 (MethodHash=48822ee3) for method System.Linq.ParallelEnumerable:Aggregate[System.Numerics.Vector`1[float]](System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`3[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],int):System.Numerics.Vector`1[float] (FullOpts)
 ; ============================================================

Note: some changes were skipped as they were too large to fit into a comment.

Larger list of diffs: https://gist.github.com/MihuBot/501d35f1a38b8b387ad5637ee549a597

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 16, 2024

Top method improvements

-68 (-7.98 % of base) - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]:b__0():this
 ; Assembly listing for method System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 21 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] ( 11, 23   )     ref  ->  x19         this class-hnd single-def <System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T16] (  8, 11   )     int  ->  x20        
 ;  V02 loc1         [V02,T02] (  9, 33   )     int  ->  x21        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T10] (  2, 16   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.Linq.Parallel.QueryTaskGroupState>
-;  V05 tmp2         [V05,T00] (  6, 48   )     ref  ->  x28         class-hnd exact "NewObj constructor temp" <System.Linq.Parallel.StopAndGoSpoolingTask`2[double,System.Nullable`1[int]]>
-;  V06 tmp3         [V06,T29] (  2,  4   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.Linq.Parallel.QueryTaskGroupState>
+;  V04 tmp1         [V04,T10] (  2, 16   )     ref  ->  x23         class-hnd exact "impAppendStmt" <System.Linq.Parallel.QueryTaskGroupState>
+;  V05 tmp2         [V05,T00] (  6, 48   )     ref  ->  x25         class-hnd exact "NewObj constructor temp" <System.Linq.Parallel.StopAndGoSpoolingTask`2[double,System.Nullable`1[int]]>
+;  V06 tmp3         [V06,T27] (  2,  4   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.Linq.Parallel.QueryTaskGroupState>
 ;  V07 tmp4         [V07,T15] (  6, 12   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Parallel.StopAndGoSpoolingTask`2[double,System.Nullable`1[int]]>
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]]>
-;  V09 tmp6         [V09,T11] (  2, 16   )     ref  ->  x27         class-hnd "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]]>
+;  V09 tmp6         [V09,T11] (  2, 16   )     ref  ->  x24         class-hnd "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]]>
 ;  V10 tmp7         [V10,T12] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Linq.Parallel.QueryOperatorEnumerator`2[double,System.Nullable`1[int]]>
 ;  V11 tmp8         [V11,T13] (  2, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Linq.Parallel.SynchronousChannel`1[double]>
 ;* V12 tmp9         [V12,T22] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Threading.Tasks.TaskFactory>
-;  V13 tmp10        [V13,T14] (  2, 16   )     ref  ->  x27         class-hnd exact "impAppendStmt" <System.Action`1[System.Object]>
-;  V14 tmp11        [V14,T05] (  3, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
+;  V13 tmp10        [V13,T14] (  2, 16   )     ref  ->  x24         class-hnd exact "impAppendStmt" <System.Action`1[System.Object]>
+;  V14 tmp11        [V14,T05] (  3, 24   )     ref  ->  x23         class-hnd "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
 ;* V15 tmp12        [V15    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.CancellationToken>
 ;* V16 tmp13        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;  V17 tmp14        [V17,T17] (  3, 10   )     ref  ->  [fp+0x18]  class-hnd spill-single-def "Inline return value spill temp" <System.Threading.Tasks.Task>
-;  V18 tmp15        [V18,T01] (  8, 44   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
+;  V17 tmp14        [V17,T17] (  3, 10   )     ref  ->  x26         class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
+;  V18 tmp15        [V18,T01] (  8, 44   )     ref  ->  x27         class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Task>
 ;* V19 tmp16        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task+ContingentProperties>
-;  V20 tmp17        [V20,T20] (  2,  8   )     ref  ->   x3         class-hnd exact "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
-;  V21 tmp18        [V21,T18] (  4,  8   )     ref  ->   x3        
-;  V22 tmp19        [V22,T08] (  4, 16   )     ref  ->   x3         class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Task+ContingentProperties>
+;  V20 tmp17        [V20,T20] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
+;  V21 tmp18        [V21,T18] (  4,  8   )     ref  ->   x1        
+;  V22 tmp19        [V22,T08] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Task+ContingentProperties>
 ;* V23 tmp20        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-;  V24 tmp21        [V24,T04] (  4, 24   )     ref  ->  x26         class-hnd exact "Inlining Arg" <System.Threading.ExecutionContext>
+;  V24 tmp21        [V24,T04] (  4, 24   )     ref  ->  x23         class-hnd exact "Inlining Arg" <System.Threading.ExecutionContext>
 ;* V25 tmp22        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task+ContingentProperties>
 ;  V26 tmp23        [V26,T21] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
 ;  V27 tmp24        [V27,T19] (  4,  8   )     ref  ->   x1        
 ;  V28 tmp25        [V28,T09] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Task+ContingentProperties>
 ;* V29 tmp26        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-;  V30 tmp27        [V30,T30] (  2,  4   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]]>
-;  V31 tmp28        [V31,T31] (  2,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.QueryOperatorEnumerator`2[double,System.Nullable`1[int]]>
-;  V32 tmp29        [V32,T32] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.SynchronousChannel`1[double]>
-;* V33 tmp30        [V33,T33] (  0,  0   )     ref  ->  zero-ref    "field V15._source (fldOffset=0x0)" P-INDEP
+;  V30 tmp27        [V30,T28] (  2,  4   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]]>
+;  V31 tmp28        [V31,T29] (  2,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.QueryOperatorEnumerator`2[double,System.Nullable`1[int]]>
+;  V32 tmp29        [V32,T30] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.SynchronousChannel`1[double]>
+;* V33 tmp30        [V33,T31] (  0,  0   )     ref  ->  zero-ref    "field V15._source (fldOffset=0x0)" P-INDEP
 ;* V34 tmp31        [V34    ] (  0,  0   )     ref  ->  zero-ref    "field V16._source (fldOffset=0x0)" P-INDEP
 ;  V35 tmp32        [V35,T06] (  3, 24   )     ref  ->  x14         "arr expr"
 ;  V36 tmp33        [V36,T07] (  3, 24   )     ref  ->  x14         "arr expr"
 ;  V37 tmp34        [V37,T23] (  3,  6   )     ref  ->  x14         single-def "arr expr"
 ;  V38 tmp35        [V38,T24] (  3,  6   )     ref  ->  x14         single-def "arr expr"
-;  V39 cse0         [V39,T26] (  2,  4.25)   byref  ->  x25         hoist "CSE #06: moderate"
-;  V40 cse1         [V40,T27] (  1,  0.25)     ref  ->  x23         hoist "CSE #03: moderate"
-;  V41 cse2         [V41,T28] (  2,  4.25)     ref  ->  x24         hoist "CSE #05: moderate"
-;  V42 cse3         [V42,T34] (  3,  2.50)    long  ->  x22         "CSE #02: moderate"
-;  V43 cse4         [V43,T25] (  3,  6   )   byref  ->   x0         "CSE #07: moderate"
-;  V44 rat0         [V44,T37] (  3,  1   )   byref  ->  x25         "TLS field access"
-;  V45 rat1         [V45,T36] (  3,  1.50)    long  ->   x0         "TLS access"
-;  V46 rat2         [V46,T35] (  3,  1.50)   byref  ->  x25         "ThreadStaticBlockBase access"
+;  V39 cse0         [V39,T26] (  2,  4.25)   byref  ->  x22         hoist "CSE #02: moderate"
+;  V40 cse1         [V40,T25] (  3,  6   )   byref  ->   x0         "CSE #03: moderate"
+;  V41 rat0         [V41,T34] (  3,  1   )   byref  ->  x22         "TLS field access"
+;  V42 rat1         [V42,T33] (  3,  1.50)    long  ->   x0         "TLS access"
+;  V43 rat2         [V43,T32] (  3,  1.50)   byref  ->  x22         "ThreadStaticBlockBase access"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M29939_IG01:
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
-            stp     x23, x24, [sp, #0x40]
-            stp     x25, x26, [sp, #0x50]
-            stp     x27, x28, [sp, #0x60]
+            stp     fp, lr, [sp, #-0x60]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            stp     x23, x24, [sp, #0x38]
+            stp     x25, x26, [sp, #0x48]
+            str     x27, [sp, #0x58]
             mov     fp, sp
             mov     x19, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M29939_IG02:
             ldr     x0, [x19, #0x08]
             ldr     x0, [x0, #0x08]
             ldr     w0, [x0, #0x08]
             sub     w20, w0, #1
             mov     w21, wzr
             cmp     w20, #0
-            ble     G_M29939_IG16
+            ble     G_M29939_IG13
 						;; size=28 bbWeight=1 PerfScore 11.50
 G_M29939_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-            ldr     x23, [x22]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x24, [x0]
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #9
-            ble     G_M29939_IG18
+            ble     G_M29939_IG15
             ldr     x0, [x0, #0xD1FFAB1E]
-            ldr     x25, [x0, #0x48]
-            cbz     x25, G_M29939_IG18
-						;; size=60 bbWeight=0.25 PerfScore 5.38
+            ldr     x22, [x0, #0x48]
+            cbz     x22, G_M29939_IG15
+						;; size=28 bbWeight=0.25 PerfScore 3.12
 G_M29939_IG04:
-            ldp     x27, x26, [x19, #0x08]
+            ldp     x24, x23, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x28, x0
-            ldr     x14, [x27, #0x08]
+            mov     x25, x0
+            ldr     x14, [x24, #0x08]
             ldr     w15, [x14, #0x08]
             cmp     w21, w15
-            bhs     G_M29939_IG21
+            bhs     G_M29939_IG18
             add     x14, x14, #16
             ldr     x0, [x14, w21, UXTW #3]
             ldr     x14, [x19, #0x18]
             ldr     w15, [x14, #0x08]
             cmp     w21, w15
-            bhs     G_M29939_IG21
+            bhs     G_M29939_IG18
             add     x14, x14, #16
             ldr     x1, [x14, w21, UXTW #3]
-            str     w21, [x28, #0x10]
-            add     x14, x28, #8
-            mov     x15, x26
+            str     w21, [x25, #0x10]
+            add     x14, x25, #8
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x14, x28, #24
+            add     x14, x25, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x14, x28, #32
+            add     x14, x25, #32
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
-            ldr     x26, [x19, #0x20]
-            mov     x27, x24
-            ldr     x1, [x25, #0x10]
-            str     x1, [fp, #0x18]	// [V17 tmp14]
-            cbz     x26, G_M29939_IG20
+            ldr     x23, [x19, #0x20]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x24, [x0]
+            ldr     x26, [x22, #0x10]
+            cbz     x23, G_M29939_IG17
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            bl      CORINFO_HELP_NEWSFAST
+            mov     x27, x0
+            cbz     x26, G_M29939_IG07
+						;; size=160 bbWeight=4 PerfScore 204.00
+G_M29939_IG05:
+            ldr     x1, [x27, #0x28]
+            cbnz    x1, G_M29939_IG06
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
-            str     x1, [fp, #0x10]	// [V18 tmp15]
-            ldr     x2, [fp, #0x18]	// [V17 tmp14]
-            cbz     x2, G_M29939_IG09
-						;; size=164 bbWeight=4 PerfScore 206.00
-G_M29939_IG05:
-            ldr     x2, [fp, #0x18]	// [V17 tmp14]
-            ldr     x3, [x1, #0x28]
-            cbz     x3, G_M29939_IG07
-						;; size=12 bbWeight=2 PerfScore 12.00
-G_M29939_IG06:
-            ldr     x1, [fp, #0x10]	// [V18 tmp15]
-            b       G_M29939_IG08
-						;; size=8 bbWeight=1 PerfScore 3.00
-G_M29939_IG07:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_NEWSFAST
-            mov     x3, x0
-            add     x14, x3, #60
+            add     x14, x1, #60
             mov     w15, #1
             stlr    w15, [x14]
-            ldr     x7, [fp, #0x10]	// [V18 tmp15]
-            add     x14, x7, #40
-            mov     x15, x3
+            add     x14, x27, #40
+            mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x1, x7
-            ldr     x2, [fp, #0x18]	// [V17 tmp14]
-						;; size=56 bbWeight=2 PerfScore 23.00
-G_M29939_IG08:
-            add     x14, x3, #48
-            mov     x15, x2
+						;; size=52 bbWeight=2 PerfScore 22.00
+G_M29939_IG06:
+            add     x14, x1, #48
+            mov     x15, x26
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=12 bbWeight=2 PerfScore 4.00
-G_M29939_IG09:
-            mov     x0, x1
-            mov     x1, x27
-            mov     x2, x28
+G_M29939_IG07:
+            mov     x0, x27
+            mov     x1, x24
+            mov     x2, x25
             mov     x3, xzr
-            mov     x6, x26
+            mov     x6, x23
             mov     w4, #5
             mov     w5, #0xD1FFAB1E
             movz    x7, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             movz    x0, #0xD1FFAB1E      // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
-            mov     x26, x0
-            cbz     x26, G_M29939_IG14
+            mov     x23, x0
+            cbz     x23, G_M29939_IG11
 						;; size=76 bbWeight=4 PerfScore 64.00
-G_M29939_IG10:
+G_M29939_IG08:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
-            tbz     w0, #0, G_M29939_IG19
+            tbz     w0, #0, G_M29939_IG16
 						;; size=20 bbWeight=2 PerfScore 11.00
-G_M29939_IG11:
-            ldr     x0, [x22, #-0x20]
-            cmp     x26, x0
-            beq     G_M29939_IG13
-            ldr     x27, [fp, #0x10]	// [V18 tmp15]
+G_M29939_IG09:
+            movz    x0, #0xD1FFAB1E      // data for System.Threading.ExecutionContext:Default
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
+            cmp     x23, x0
+            beq     G_M29939_IG12
             ldr     x1, [x27, #0x28]
-            cbnz    x1, G_M29939_IG12
+            cbnz    x1, G_M29939_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             add     x14, x1, #60
             mov     w15, #1
             stlr    w15, [x14]
             add     x14, x27, #40
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=68 bbWeight=2 PerfScore 35.00
-G_M29939_IG12:
+						;; size=72 bbWeight=2 PerfScore 33.00
+G_M29939_IG10:
             add     x14, x1, #8
-            mov     x15, x26
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M29939_IG15
+            b       G_M29939_IG12
 						;; size=16 bbWeight=2 PerfScore 6.00
-G_M29939_IG13:
-            ldr     x27, [fp, #0x10]	// [V18 tmp15]
-            b       G_M29939_IG15
-						;; size=8 bbWeight=1 PerfScore 3.00
-G_M29939_IG14:
-            ldr     x27, [fp, #0x10]	// [V18 tmp15]
+G_M29939_IG11:
             add     x0, x27, #52
             ldapr   w1, [x0]
             orr     w1, w1, #0xD1FFAB1E
             stlr    w1, [x0]
-						;; size=20 bbWeight=2 PerfScore 14.00
-G_M29939_IG15:
+						;; size=16 bbWeight=2 PerfScore 10.00
+G_M29939_IG12:
             mov     x0, x27
             mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:ScheduleAndStart(ubyte):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     w21, w21, #1
             cmp     w21, w20
             blt     G_M29939_IG04
 						;; size=40 bbWeight=4 PerfScore 34.00
-G_M29939_IG16:
+G_M29939_IG13:
             ldp     x22, x21, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             ldr     x14, [x22, #0x08]
             ldr     w15, [x14, #0x08]
             cmp     w20, w15
-            bhs     G_M29939_IG21
+            bhs     G_M29939_IG18
             add     x14, x14, #16
             ldr     x1, [x14, w20, UXTW #3]
             ldr     x14, [x19, #0x18]
             ldr     w15, [x14, #0x08]
             cmp     w20, w15
-            bhs     G_M29939_IG21
+            bhs     G_M29939_IG18
             add     x14, x14, #16
             ldr     x2, [x14, w20, UXTW #3]
             str     w20, [x0, #0x10]
             add     x14, x0, #8
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x0, #24
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x0, #32
             mov     x15, x2
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x1, [x19, #0x20]
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Parallel.QueryTask:RunSynchronously(System.Threading.Tasks.TaskScheduler):System.Threading.Tasks.Task:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=132 bbWeight=1 PerfScore 44.00
-G_M29939_IG17:
-            ldp     x27, x28, [sp, #0x60]
-            ldp     x25, x26, [sp, #0x50]
-            ldp     x23, x24, [sp, #0x40]
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x70
+G_M29939_IG14:
+            ldr     x27, [sp, #0x58]
+            ldp     x25, x26, [sp, #0x48]
+            ldp     x23, x24, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=1 PerfScore 7.00
-G_M29939_IG18:
+						;; size=28 bbWeight=1 PerfScore 8.00
+G_M29939_IG15:
             mov     w0, #9
             bl      CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
-            mov     x25, x0
+            mov     x22, x0
             b       G_M29939_IG04
 						;; size=16 bbWeight=0 PerfScore 0.00
-G_M29939_IG19:
+G_M29939_IG16:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
-            b       G_M29939_IG11
+            b       G_M29939_IG09
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M29939_IG20:
+G_M29939_IG17:
             mov     w0, #47
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk     #0
 						;; size=28 bbWeight=0 PerfScore 0.00
-G_M29939_IG21:
+G_M29939_IG18:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk     #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 852, prolog size 28, PerfScore 489.88, instruction count 213, allocated bytes for code 852 (MethodHash=05878b0c) for method System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
+; Total bytes of code 784, prolog size 28, PerfScore 461.62, instruction count 196, allocated bytes for code 784 (MethodHash=05878b0c) for method System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
 ; ============================================================
-68 (-7.98 % of base) - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[int,System.Nullable`1[int]]:b__0():this
 ; Assembly listing for method System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[int,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 21 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] ( 11, 23   )     ref  ->  x19         this class-hnd single-def <System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[int,System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T16] (  8, 11   )     int  ->  x20        
 ;  V02 loc1         [V02,T02] (  9, 33   )     int  ->  x21        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T10] (  2, 16   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.Linq.Parallel.QueryTaskGroupState>
-;  V05 tmp2         [V05,T00] (  6, 48   )     ref  ->  x28         class-hnd exact "NewObj constructor temp" <System.Linq.Parallel.StopAndGoSpoolingTask`2[int,System.Nullable`1[int]]>
-;  V06 tmp3         [V06,T29] (  2,  4   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.Linq.Parallel.QueryTaskGroupState>
+;  V04 tmp1         [V04,T10] (  2, 16   )     ref  ->  x23         class-hnd exact "impAppendStmt" <System.Linq.Parallel.QueryTaskGroupState>
+;  V05 tmp2         [V05,T00] (  6, 48   )     ref  ->  x25         class-hnd exact "NewObj constructor temp" <System.Linq.Parallel.StopAndGoSpoolingTask`2[int,System.Nullable`1[int]]>
+;  V06 tmp3         [V06,T27] (  2,  4   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.Linq.Parallel.QueryTaskGroupState>
 ;  V07 tmp4         [V07,T15] (  6, 12   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Parallel.StopAndGoSpoolingTask`2[int,System.Nullable`1[int]]>
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]]>
-;  V09 tmp6         [V09,T11] (  2, 16   )     ref  ->  x27         class-hnd "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]]>
+;  V09 tmp6         [V09,T11] (  2, 16   )     ref  ->  x24         class-hnd "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]]>
 ;  V10 tmp7         [V10,T12] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Linq.Parallel.QueryOperatorEnumerator`2[int,System.Nullable`1[int]]>
 ;  V11 tmp8         [V11,T13] (  2, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Linq.Parallel.SynchronousChannel`1[int]>
 ;* V12 tmp9         [V12,T22] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Threading.Tasks.TaskFactory>
-;  V13 tmp10        [V13,T14] (  2, 16   )     ref  ->  x27         class-hnd exact "impAppendStmt" <System.Action`1[System.Object]>
-;  V14 tmp11        [V14,T05] (  3, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
+;  V13 tmp10        [V13,T14] (  2, 16   )     ref  ->  x24         class-hnd exact "impAppendStmt" <System.Action`1[System.Object]>
+;  V14 tmp11        [V14,T05] (  3, 24   )     ref  ->  x23         class-hnd "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
 ;* V15 tmp12        [V15    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.CancellationToken>
 ;* V16 tmp13        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;  V17 tmp14        [V17,T17] (  3, 10   )     ref  ->  [fp+0x18]  class-hnd spill-single-def "Inline return value spill temp" <System.Threading.Tasks.Task>
-;  V18 tmp15        [V18,T01] (  8, 44   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
+;  V17 tmp14        [V17,T17] (  3, 10   )     ref  ->  x26         class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
+;  V18 tmp15        [V18,T01] (  8, 44   )     ref  ->  x27         class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Task>
 ;* V19 tmp16        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task+ContingentProperties>
-;  V20 tmp17        [V20,T20] (  2,  8   )     ref  ->   x3         class-hnd exact "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
-;  V21 tmp18        [V21,T18] (  4,  8   )     ref  ->   x3        
-;  V22 tmp19        [V22,T08] (  4, 16   )     ref  ->   x3         class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Task+ContingentProperties>
+;  V20 tmp17        [V20,T20] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
+;  V21 tmp18        [V21,T18] (  4,  8   )     ref  ->   x1        
+;  V22 tmp19        [V22,T08] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Task+ContingentProperties>
 ;* V23 tmp20        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-;  V24 tmp21        [V24,T04] (  4, 24   )     ref  ->  x26         class-hnd exact "Inlining Arg" <System.Threading.ExecutionContext>
+;  V24 tmp21        [V24,T04] (  4, 24   )     ref  ->  x23         class-hnd exact "Inlining Arg" <System.Threading.ExecutionContext>
 ;* V25 tmp22        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task+ContingentProperties>
 ;  V26 tmp23        [V26,T21] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Threading.Tasks.Task+ContingentProperties>
 ;  V27 tmp24        [V27,T19] (  4,  8   )     ref  ->   x1        
 ;  V28 tmp25        [V28,T09] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Task+ContingentProperties>
 ;* V29 tmp26        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-;  V30 tmp27        [V30,T30] (  2,  4   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]]>
-;  V31 tmp28        [V31,T31] (  2,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.QueryOperatorEnumerator`2[int,System.Nullable`1[int]]>
-;  V32 tmp29        [V32,T32] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.SynchronousChannel`1[int]>
-;* V33 tmp30        [V33,T33] (  0,  0   )     ref  ->  zero-ref    "field V15._source (fldOffset=0x0)" P-INDEP
+;  V30 tmp27        [V30,T28] (  2,  4   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]]>
+;  V31 tmp28        [V31,T29] (  2,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.QueryOperatorEnumerator`2[int,System.Nullable`1[int]]>
+;  V32 tmp29        [V32,T30] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.SynchronousChannel`1[int]>
+;* V33 tmp30        [V33,T31] (  0,  0   )     ref  ->  zero-ref    "field V15._source (fldOffset=0x0)" P-INDEP
 ;* V34 tmp31        [V34    ] (  0,  0   )     ref  ->  zero-ref    "field V16._source (fldOffset=0x0)" P-INDEP
 ;  V35 tmp32        [V35,T06] (  3, 24   )     ref  ->  x14         "arr expr"
 ;  V36 tmp33        [V36,T07] (  3, 24   )     ref  ->  x14         "arr expr"
 ;  V37 tmp34        [V37,T23] (  3,  6   )     ref  ->  x14         single-def "arr expr"
 ;  V38 tmp35        [V38,T24] (  3,  6   )     ref  ->  x14         single-def "arr expr"
-;  V39 cse0         [V39,T26] (  2,  4.25)   byref  ->  x25         hoist "CSE #06: moderate"
-;  V40 cse1         [V40,T27] (  1,  0.25)     ref  ->  x23         hoist "CSE #03: moderate"
-;  V41 cse2         [V41,T28] (  2,  4.25)     ref  ->  x24         hoist "CSE #05: moderate"
-;  V42 cse3         [V42,T34] (  3,  2.50)    long  ->  x22         "CSE #02: moderate"
-;  V43 cse4         [V43,T25] (  3,  6   )   byref  ->   x0         "CSE #07: moderate"
-;  V44 rat0         [V44,T37] (  3,  1   )   byref  ->  x25         "TLS field access"
-;  V45 rat1         [V45,T36] (  3,  1.50)    long  ->   x0         "TLS access"
-;  V46 rat2         [V46,T35] (  3,  1.50)   byref  ->  x25         "ThreadStaticBlockBase access"
+;  V39 cse0         [V39,T26] (  2,  4.25)   byref  ->  x22         hoist "CSE #02: moderate"
+;  V40 cse1         [V40,T25] (  3,  6   )   byref  ->   x0         "CSE #03: moderate"
+;  V41 rat0         [V41,T34] (  3,  1   )   byref  ->  x22         "TLS field access"
+;  V42 rat1         [V42,T33] (  3,  1.50)    long  ->   x0         "TLS access"
+;  V43 rat2         [V43,T32] (  3,  1.50)   byref  ->  x22         "ThreadStaticBlockBase access"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M19029_IG01:
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
-            stp     x23, x24, [sp, #0x40]
-            stp     x25, x26, [sp, #0x50]
-            stp     x27, x28, [sp, #0x60]
+            stp     fp, lr, [sp, #-0x60]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            stp     x23, x24, [sp, #0x38]
+            stp     x25, x26, [sp, #0x48]
+            str     x27, [sp, #0x58]
             mov     fp, sp
             mov     x19, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M19029_IG02:
             ldr     x0, [x19, #0x08]
             ldr     x0, [x0, #0x08]
             ldr     w0, [x0, #0x08]
             sub     w20, w0, #1
             mov     w21, wzr
             cmp     w20, #0
-            ble     G_M19029_IG16
+            ble     G_M19029_IG13
 						;; size=28 bbWeight=1 PerfScore 11.50
 G_M19029_IG03:
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-            ldr     x23, [x22]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x24, [x0]
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #9
-            ble     G_M19029_IG18
+            ble     G_M19029_IG15
             ldr     x0, [x0, #0xD1FFAB1E]
-            ldr     x25, [x0, #0x48]
-            cbz     x25, G_M19029_IG18
-						;; size=60 bbWeight=0.25 PerfScore 5.38
+            ldr     x22, [x0, #0x48]
+            cbz     x22, G_M19029_IG15
+						;; size=28 bbWeight=0.25 PerfScore 3.12
 G_M19029_IG04:
-            ldp     x27, x26, [x19, #0x08]
+            ldp     x24, x23, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x28, x0
-            ldr     x14, [x27, #0x08]
+            mov     x25, x0
+            ldr     x14, [x24, #0x08]
             ldr     w15, [x14, #0x08]
             cmp     w21, w15
-            bhs     G_M19029_IG21
+            bhs     G_M19029_IG18
             add     x14, x14, #16
             ldr     x0, [x14, w21, UXTW #3]
             ldr     x14, [x19, #0x18]
             ldr     w15, [x14, #0x08]
             cmp     w21, w15
-            bhs     G_M19029_IG21
+            bhs     G_M19029_IG18
             add     x14, x14, #16
             ldr     x1, [x14, w21, UXTW #3]
-            str     w21, [x28, #0x10]
-            add     x14, x28, #8
-            mov     x15, x26
+            str     w21, [x25, #0x10]
+            add     x14, x25, #8
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x14, x28, #24
+            add     x14, x25, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x14, x28, #32
+            add     x14, x25, #32
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
-            ldr     x26, [x19, #0x20]
-            mov     x27, x24
-            ldr     x1, [x25, #0x10]
-            str     x1, [fp, #0x18]	// [V17 tmp14]
-            cbz     x26, G_M19029_IG20
+            ldr     x23, [x19, #0x20]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x24, [x0]
+            ldr     x26, [x22, #0x10]
+            cbz     x23, G_M19029_IG17
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            bl      CORINFO_HELP_NEWSFAST
+            mov     x27, x0
+            cbz     x26, G_M19029_IG07
+						;; size=160 bbWeight=4 PerfScore 204.00
+G_M19029_IG05:
+            ldr     x1, [x27, #0x28]
+            cbnz    x1, G_M19029_IG06
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
-            str     x1, [fp, #0x10]	// [V18 tmp15]
-            ldr     x2, [fp, #0x18]	// [V17 tmp14]
-            cbz     x2, G_M19029_IG09
-						;; size=164 bbWeight=4 PerfScore 206.00
-G_M19029_IG05:
-            ldr     x2, [fp, #0x18]	// [V17 tmp14]
-            ldr     x3, [x1, #0x28]
-            cbz     x3, G_M19029_IG07
-						;; size=12 bbWeight=2 PerfScore 12.00
-G_M19029_IG06:
-            ldr     x1, [fp, #0x10]	// [V18 tmp15]
-            b       G_M19029_IG08
-						;; size=8 bbWeight=1 PerfScore 3.00
-G_M19029_IG07:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_NEWSFAST
-            mov     x3, x0
-            add     x14, x3, #60
+            add     x14, x1, #60
             mov     w15, #1
             stlr    w15, [x14]
-            ldr     x7, [fp, #0x10]	// [V18 tmp15]
-            add     x14, x7, #40
-            mov     x15, x3
+            add     x14, x27, #40
+            mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x1, x7
-            ldr     x2, [fp, #0x18]	// [V17 tmp14]
-						;; size=56 bbWeight=2 PerfScore 23.00
-G_M19029_IG08:
-            add     x14, x3, #48
-            mov     x15, x2
+						;; size=52 bbWeight=2 PerfScore 22.00
+G_M19029_IG06:
+            add     x14, x1, #48
+            mov     x15, x26
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=12 bbWeight=2 PerfScore 4.00
-G_M19029_IG09:
-            mov     x0, x1
-            mov     x1, x27
-            mov     x2, x28
+G_M19029_IG07:
+            mov     x0, x27
+            mov     x1, x24
+            mov     x2, x25
             mov     x3, xzr
-            mov     x6, x26
+            mov     x6, x23
             mov     w4, #5
             mov     w5, #0xD1FFAB1E
             movz    x7, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             movz    x0, #0xD1FFAB1E      // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
-            mov     x26, x0
-            cbz     x26, G_M19029_IG14
+            mov     x23, x0
+            cbz     x23, G_M19029_IG11
 						;; size=76 bbWeight=4 PerfScore 64.00
-G_M19029_IG10:
+G_M19029_IG08:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
-            tbz     w0, #0, G_M19029_IG19
+            tbz     w0, #0, G_M19029_IG16
 						;; size=20 bbWeight=2 PerfScore 11.00
-G_M19029_IG11:
-            ldr     x0, [x22, #-0x20]
-            cmp     x26, x0
-            beq     G_M19029_IG13
-            ldr     x27, [fp, #0x10]	// [V18 tmp15]
+G_M19029_IG09:
+            movz    x0, #0xD1FFAB1E      // data for System.Threading.ExecutionContext:Default
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
+            cmp     x23, x0
+            beq     G_M19029_IG12
             ldr     x1, [x27, #0x28]
-            cbnz    x1, G_M19029_IG12
+            cbnz    x1, G_M19029_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             add     x14, x1, #60
             mov     w15, #1
             stlr    w15, [x14]
             add     x14, x27, #40
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=68 bbWeight=2 PerfScore 35.00
-G_M19029_IG12:
+						;; size=72 bbWeight=2 PerfScore 33.00
+G_M19029_IG10:
             add     x14, x1, #8
-            mov     x15, x26
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
-            b       G_M19029_IG15
+            b       G_M19029_IG12
 						;; size=16 bbWeight=2 PerfScore 6.00
-G_M19029_IG13:
-            ldr     x27, [fp, #0x10]	// [V18 tmp15]
-            b       G_M19029_IG15
-						;; size=8 bbWeight=1 PerfScore 3.00
-G_M19029_IG14:
-            ldr     x27, [fp, #0x10]	// [V18 tmp15]
+G_M19029_IG11:
             add     x0, x27, #52
             ldapr   w1, [x0]
             orr     w1, w1, #0xD1FFAB1E
             stlr    w1, [x0]
-						;; size=20 bbWeight=2 PerfScore 14.00
-G_M19029_IG15:
+						;; size=16 bbWeight=2 PerfScore 10.00
+G_M19029_IG12:
             mov     x0, x27
             mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:ScheduleAndStart(ubyte):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     w21, w21, #1
             cmp     w21, w20
             blt     G_M19029_IG04
 						;; size=40 bbWeight=4 PerfScore 34.00
-G_M19029_IG16:
+G_M19029_IG13:
             ldp     x22, x21, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             ldr     x14, [x22, #0x08]
             ldr     w15, [x14, #0x08]
             cmp     w20, w15
-            bhs     G_M19029_IG21
+            bhs     G_M19029_IG18
             add     x14, x14, #16
             ldr     x1, [x14, w20, UXTW #3]
             ldr     x14, [x19, #0x18]
             ldr     w15, [x14, #0x08]
             cmp     w20, w15
-            bhs     G_M19029_IG21
+            bhs     G_M19029_IG18
             add     x14, x14, #16
             ldr     x2, [x14, w20, UXTW #3]
             str     w20, [x0, #0x10]
             add     x14, x0, #8
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x0, #24
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x0, #32
             mov     x15, x2
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x1, [x19, #0x20]
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Parallel.QueryTask:RunSynchronously(System.Threading.Tasks.TaskScheduler):System.Threading.Tasks.Task:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=132 bbWeight=1 PerfScore 44.00
-G_M19029_IG17:
-            ldp     x27, x28, [sp, #0x60]
-            ldp     x25, x26, [sp, #0x50]
-            ldp     x23, x24, [sp, #0x40]
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x70
+G_M19029_IG14:
+            ldr     x27, [sp, #0x58]
+            ldp     x25, x26, [sp, #0x48]
+            ldp     x23, x24, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=1 PerfScore 7.00
-G_M19029_IG18:
+						;; size=28 bbWeight=1 PerfScore 8.00
+G_M19029_IG15:
             mov     w0, #9
             bl      CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
-            mov     x25, x0
+            mov     x22, x0
             b       G_M19029_IG04
 						;; size=16 bbWeight=0 PerfScore 0.00
-G_M19029_IG19:
+G_M19029_IG16:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
-            b       G_M19029_IG11
+            b       G_M19029_IG09
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M19029_IG20:
+G_M19029_IG17:
             mov     w0, #47
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk     #0
 						;; size=28 bbWeight=0 PerfScore 0.00
-G_M19029_IG21:
+G_M19029_IG18:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk     #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 852, prolog size 28, PerfScore 489.88, instruction count 213, allocated bytes for code 852 (MethodHash=5af2b5aa) for method System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[int,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
+; Total bytes of code 784, prolog size 28, PerfScore 461.62, instruction count 196, allocated bytes for code 784 (MethodHash=5af2b5aa) for method System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[int,System.Nullable`1[int]]:<SpoolStopAndGo>b__0():this (FullOpts)
 ; ============================================================

Larger list of diffs: https://gist.github.com/MihuBot/792151bcc26bb6521c2eea9291db02be

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 16, 2024

@MihaZupan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant