MihuBot / runtime-utils

0 stars 0 forks source link

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

Open MihuBot opened 1 day ago

MihuBot commented 1 day ago

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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]: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]]:b__0():this (FullOpts) -4 (-7.14 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSectionDebugView+<>c: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 commented 1 day ago

Top method regressions

16 (2.13 % of base) - System.Net.NameResolutionTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this ```diff ; 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 ; V01 arg1 [V01,T06] ( 3, 3 ) ref -> x1 class-hnd single-def ;# 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" -; V04 tmp2 [V04,T07] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" -; V05 tmp3 [V05,T03] ( 10, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" -; V06 tmp4 [V06,T08] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" -; V07 tmp5 [V07,T04] ( 10, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V04 tmp2 [V04,T07] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V05 tmp3 [V05,T03] ( 10, 10 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" +; V06 tmp4 [V06,T08] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V07 tmp5 [V07,T04] ( 10, 10 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" ;* V08 tmp6 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V09 tmp7 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V10 tmp8 [V10,T11] ( 3, 1 ) ref -> x0 class-hnd exact single-def "Inline stloc first use temp" -;* 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" +;* 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" ;* V13 tmp11 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; 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: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: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 ```diff ; 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 ; V01 arg1 [V01,T09] ( 6, 13 ) ref -> x19 class-hnd single-def ; V02 loc0 [V02,T07] ( 6, 19 ) ref -> [fp+0x18] class-hnd EH-live spill-single-def ;* V03 loc1 [V03 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op ; V04 loc2 [V04 ] ( 5, 33 ) ref -> [fp+0x28] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd ; 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 -; V07 loc5 [V07,T06] ( 3, 24 ) ref -> x20 class-hnd +; V07 loc5 [V07,T05] ( 3, 24 ) ref -> x20 class-hnd ;# 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" ;* V11 tmp3 [V11 ] ( 0, 0 ) int -> zero-ref "spilling qmarkNull" ;* V12 tmp4 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" ;* V13 tmp5 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ; 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 ```diff ; 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 ; 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 ; V04 loc3 [V04,T01] ( 7, 17.50) int -> x21 ; V05 loc4 [V05,T04] ( 3, 8.50) ref -> x23 class-hnd ;# 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" ; V09 tmp3 [V09,T00] ( 5, 32 ) ref -> x2 class-hnd exact "Inlining Arg" ; 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" -; V13 tmp7 [V13,T16] ( 2, 2 ) ref -> x0 class-hnd "dup spill" -; V14 tmp8 [V14,T14] ( 5, 2.50) ref -> x0 -; V15 tmp9 [V15,T09] ( 4, 4 ) ref -> x22 class-hnd exact "NewObj constructor temp" +; V13 tmp7 [V13,T15] ( 2, 2 ) ref -> x0 class-hnd "dup spill" +; V14 tmp8 [V14,T13] ( 5, 2.50) ref -> x0 +; V15 tmp9 [V15,T09] ( 4, 4 ) ref -> x20 class-hnd exact "NewObj constructor temp" ;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V17 tmp11 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V18 tmp12 [V18,T17] ( 2, 2 ) ref -> x0 class-hnd "dup spill" -; V19 tmp13 [V19,T15] ( 5, 2.50) ref -> x0 -; V20 tmp14 [V20,T10] ( 4, 4 ) ref -> x21 class-hnd exact "NewObj constructor temp" +; V18 tmp12 [V18,T16] ( 2, 2 ) ref -> x0 class-hnd "dup spill" +; V19 tmp13 [V19,T14] ( 5, 2.50) ref -> x0 +; V20 tmp14 [V20,T10] ( 4, 4 ) ref -> x20 class-hnd exact "NewObj constructor temp" ;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ; 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] ```diff ; 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 ; V01 arg1 [V01,T01] ( 6, 4.50) ref -> x19 class-hnd single-def ; V02 arg2 [V02,T03] ( 4, 4 ) int -> x2 single-def ;* V03 loc0 [V03 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) ld-addr-op ;# 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" +; V05 tmp1 [V05,T13] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" ;* V06 tmp2 [V06 ] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "Inline return value spill temp" -;* V07 tmp3 [V07,T13] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "Inlining Arg" -; V08 tmp4 [V08,T09] ( 2, 2 ) ref -> x22 class-hnd single-def "dup spill" +;* V07 tmp3 [V07,T12] ( 0, 0 ) simd16 -> zero-ref HFA(simd16) "Inlining Arg" +; V08 tmp4 [V08,T08] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" ;* 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" -; V17 tmp13 [V17,T04] ( 5, 5 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" +; V15 tmp11 [V15,T07] ( 4, 2 ) ref -> x21 +; V16 tmp12 [V16,T00] ( 13, 13 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" +; V17 tmp13 [V17,T04] ( 5, 5 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" ;* V18 tmp14 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ; V19 tmp15 [V19,T06] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" 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" -; 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" +; 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" ;* 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]]: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]]: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 commented 1 day ago

Top method improvements

-68 (-7.98 % of base) - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]:b__0():this ```diff ; Assembly listing for method System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]: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 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" -; V05 tmp2 [V05,T00] ( 6, 48 ) ref -> x28 class-hnd exact "NewObj constructor temp" -; V06 tmp3 [V06,T29] ( 2, 4 ) ref -> x21 class-hnd exact single-def "impAppendStmt" +; V04 tmp1 [V04,T10] ( 2, 16 ) ref -> x23 class-hnd exact "impAppendStmt" +; V05 tmp2 [V05,T00] ( 6, 48 ) ref -> x25 class-hnd exact "NewObj constructor temp" +; V06 tmp3 [V06,T27] ( 2, 4 ) ref -> x21 class-hnd exact single-def "impAppendStmt" ; V07 tmp4 [V07,T15] ( 6, 12 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" ;* V08 tmp5 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -; V09 tmp6 [V09,T11] ( 2, 16 ) ref -> x27 class-hnd "Inlining Arg" +; V09 tmp6 [V09,T11] ( 2, 16 ) ref -> x24 class-hnd "Inlining Arg" ; V10 tmp7 [V10,T12] ( 2, 16 ) ref -> x0 class-hnd "Inlining Arg" ; V11 tmp8 [V11,T13] ( 2, 16 ) ref -> x1 class-hnd exact "Inlining Arg" ;* V12 tmp9 [V12,T22] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" -; V13 tmp10 [V13,T14] ( 2, 16 ) ref -> x27 class-hnd exact "impAppendStmt" -; V14 tmp11 [V14,T05] ( 3, 24 ) ref -> x26 class-hnd "Inlining Arg" +; V13 tmp10 [V13,T14] ( 2, 16 ) ref -> x24 class-hnd exact "impAppendStmt" +; V14 tmp11 [V14,T05] ( 3, 24 ) ref -> x23 class-hnd "Inlining Arg" ;* V15 tmp12 [V15 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" ;* V16 tmp13 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" -; V17 tmp14 [V17,T17] ( 3, 10 ) ref -> [fp+0x18] class-hnd spill-single-def "Inline return value spill temp" -; V18 tmp15 [V18,T01] ( 8, 44 ) ref -> [fp+0x10] class-hnd exact spill-single-def "NewObj constructor temp" +; V17 tmp14 [V17,T17] ( 3, 10 ) ref -> x26 class-hnd "Inline return value spill temp" +; V18 tmp15 [V18,T01] ( 8, 44 ) ref -> x27 class-hnd exact "NewObj constructor temp" ;* V19 tmp16 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V20 tmp17 [V20,T20] ( 2, 8 ) ref -> x3 class-hnd exact "dup spill" -; V21 tmp18 [V21,T18] ( 4, 8 ) ref -> x3 -; V22 tmp19 [V22,T08] ( 4, 16 ) ref -> x3 class-hnd exact "NewObj constructor temp" +; V20 tmp17 [V20,T20] ( 2, 8 ) ref -> x1 class-hnd exact "dup spill" +; V21 tmp18 [V21,T18] ( 4, 8 ) ref -> x1 +; V22 tmp19 [V22,T08] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" ;* V23 tmp20 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" -; V24 tmp21 [V24,T04] ( 4, 24 ) ref -> x26 class-hnd exact "Inlining Arg" +; V24 tmp21 [V24,T04] ( 4, 24 ) ref -> x23 class-hnd exact "Inlining Arg" ;* V25 tmp22 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" ; V26 tmp23 [V26,T21] ( 2, 8 ) ref -> x1 class-hnd exact "dup spill" ; V27 tmp24 [V27,T19] ( 4, 8 ) ref -> x1 ; V28 tmp25 [V28,T09] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" ;* V29 tmp26 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" -; V30 tmp27 [V30,T30] ( 2, 4 ) ref -> x22 class-hnd single-def "Inlining Arg" -; V31 tmp28 [V31,T31] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" -; V32 tmp29 [V32,T32] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" -;* 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" +; V31 tmp28 [V31,T29] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" +; V32 tmp29 [V32,T30] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" +;* 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]]: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]]: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 ```diff ; Assembly listing for method System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[int,System.Nullable`1[int]]: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 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" -; V05 tmp2 [V05,T00] ( 6, 48 ) ref -> x28 class-hnd exact "NewObj constructor temp" -; V06 tmp3 [V06,T29] ( 2, 4 ) ref -> x21 class-hnd exact single-def "impAppendStmt" +; V04 tmp1 [V04,T10] ( 2, 16 ) ref -> x23 class-hnd exact "impAppendStmt" +; V05 tmp2 [V05,T00] ( 6, 48 ) ref -> x25 class-hnd exact "NewObj constructor temp" +; V06 tmp3 [V06,T27] ( 2, 4 ) ref -> x21 class-hnd exact single-def "impAppendStmt" ; V07 tmp4 [V07,T15] ( 6, 12 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" ;* V08 tmp5 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -; V09 tmp6 [V09,T11] ( 2, 16 ) ref -> x27 class-hnd "Inlining Arg" +; V09 tmp6 [V09,T11] ( 2, 16 ) ref -> x24 class-hnd "Inlining Arg" ; V10 tmp7 [V10,T12] ( 2, 16 ) ref -> x0 class-hnd "Inlining Arg" ; V11 tmp8 [V11,T13] ( 2, 16 ) ref -> x1 class-hnd exact "Inlining Arg" ;* V12 tmp9 [V12,T22] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" -; V13 tmp10 [V13,T14] ( 2, 16 ) ref -> x27 class-hnd exact "impAppendStmt" -; V14 tmp11 [V14,T05] ( 3, 24 ) ref -> x26 class-hnd "Inlining Arg" +; V13 tmp10 [V13,T14] ( 2, 16 ) ref -> x24 class-hnd exact "impAppendStmt" +; V14 tmp11 [V14,T05] ( 3, 24 ) ref -> x23 class-hnd "Inlining Arg" ;* V15 tmp12 [V15 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" ;* V16 tmp13 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" -; V17 tmp14 [V17,T17] ( 3, 10 ) ref -> [fp+0x18] class-hnd spill-single-def "Inline return value spill temp" -; V18 tmp15 [V18,T01] ( 8, 44 ) ref -> [fp+0x10] class-hnd exact spill-single-def "NewObj constructor temp" +; V17 tmp14 [V17,T17] ( 3, 10 ) ref -> x26 class-hnd "Inline return value spill temp" +; V18 tmp15 [V18,T01] ( 8, 44 ) ref -> x27 class-hnd exact "NewObj constructor temp" ;* V19 tmp16 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V20 tmp17 [V20,T20] ( 2, 8 ) ref -> x3 class-hnd exact "dup spill" -; V21 tmp18 [V21,T18] ( 4, 8 ) ref -> x3 -; V22 tmp19 [V22,T08] ( 4, 16 ) ref -> x3 class-hnd exact "NewObj constructor temp" +; V20 tmp17 [V20,T20] ( 2, 8 ) ref -> x1 class-hnd exact "dup spill" +; V21 tmp18 [V21,T18] ( 4, 8 ) ref -> x1 +; V22 tmp19 [V22,T08] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" ;* V23 tmp20 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" -; V24 tmp21 [V24,T04] ( 4, 24 ) ref -> x26 class-hnd exact "Inlining Arg" +; V24 tmp21 [V24,T04] ( 4, 24 ) ref -> x23 class-hnd exact "Inlining Arg" ;* V25 tmp22 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" ; V26 tmp23 [V26,T21] ( 2, 8 ) ref -> x1 class-hnd exact "dup spill" ; V27 tmp24 [V27,T19] ( 4, 8 ) ref -> x1 ; V28 tmp25 [V28,T09] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" ;* V29 tmp26 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" -; V30 tmp27 [V30,T30] ( 2, 4 ) ref -> x22 class-hnd single-def "Inlining Arg" -; V31 tmp28 [V31,T31] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" -; V32 tmp29 [V32,T32] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" -;* 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" +; V31 tmp28 [V31,T29] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" +; V32 tmp29 [V32,T30] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" +;* 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]]: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]]:b__0():this (FullOpts) ; ============================================================ ```

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

MihuBot commented 1 day ago

@MihaZupan