Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

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

Comments

@MihuBot
Copy link
Owner

MihuBot commented Oct 16, 2024

Job completed in 15 minutes 42 seconds.

Diffs

Diffs
Found 334 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 47864440
Total bytes of diff: 47865260
Total bytes of delta: 820 (0.00 % of base)
Total relative delta: 3.69
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
         580 : System.Collections.Concurrent.dasm (0.13 % of base)
         348 : System.ObjectModel.dasm (0.41 % of base)
           8 : System.Text.Json.dasm (0.00 % of base)
           8 : System.Composition.Runtime.dasm (0.03 % of base)
           4 : Microsoft.VisualBasic.Core.dasm (0.00 % of base)

Top file improvements (bytes):
         -72 : System.ComponentModel.Composition.Registration.dasm (-0.06 % of base)
         -40 : System.Threading.Channels.dasm (-0.02 % of base)
          -8 : System.Net.NameResolution.dasm (-0.02 % of base)
          -4 : System.Security.Cryptography.Pkcs.dasm (-0.00 % of base)
          -4 : System.Drawing.Primitives.dasm (-0.01 % of base)

10 total files with Code Size differences (5 improved, 5 regressed), 249 unchanged.

Top method regressions (bytes):
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[double]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[int]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[long]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[short]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[System.Nullable`1[int]]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[System.Numerics.Vector`1[float]]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[ubyte]:TryPopCore(int,byref):int:this (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.37 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[System.__Canon]:TryPopCore(int,byref):int:this (FullOpts)
           8 (2.35 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[double,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[double],int):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[double,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[double]):this (FullOpts)
           8 (2.35 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[int,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[int],int):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[int,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[int]):this (FullOpts)
           8 (2.35 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[long,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[long],int):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[long,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[long]):this (FullOpts)
           8 (2.35 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[short,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[short],int):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[short,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[short]):this (FullOpts)
           8 (2.35 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):this (FullOpts)
           8 (2.35 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],int):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           8 (2.35 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[ubyte],int):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[ubyte]):this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:ClearItems():this (FullOpts)
           8 (2.60 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.__Canon]:InsertItem(int,System.__Canon):this (FullOpts)
           8 (2.20 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.__Canon]:RemoveItem(int):this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:ClearItems():this (FullOpts)
           8 (1.98 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:ExportInterfaces():System.ComponentModel.Composition.Registration.PartBuilder:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[double]():System.ComponentModel.Composition.Registration.PartBuilder`1[double]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[int]():System.ComponentModel.Composition.Registration.PartBuilder`1[int]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[long]():System.ComponentModel.Composition.Registration.PartBuilder`1[long]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[short]():System.ComponentModel.Composition.Registration.PartBuilder`1[short]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[System.Nullable`1[int]]():System.ComponentModel.Composition.Registration.PartBuilder`1[System.Nullable`1[int]]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[System.Numerics.Vector`1[float]]():System.ComponentModel.Composition.Registration.PartBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[ubyte]():System.ComponentModel.Composition.Registration.PartBuilder`1[ubyte]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[double]():System.ComponentModel.Composition.Registration.PartBuilder`1[double]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[int]():System.ComponentModel.Composition.Registration.PartBuilder`1[int]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[long]():System.ComponentModel.Composition.Registration.PartBuilder`1[long]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[short]():System.ComponentModel.Composition.Registration.PartBuilder`1[short]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[System.Nullable`1[int]]():System.ComponentModel.Composition.Registration.PartBuilder`1[System.Nullable`1[int]]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[System.Numerics.Vector`1[float]]():System.ComponentModel.Composition.Registration.PartBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[ubyte]():System.ComponentModel.Composition.Registration.PartBuilder`1[ubyte]:this (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 (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 (7.14 % of base) : System.ObjectModel.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
           8 (7.14 % of base) : System.Collections.Concurrent.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (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.47 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.Pal.AnyOS.ManagedPkcsPal:GetEncodedMessageType(System.ReadOnlySpan`1[ubyte]):System.Security.Cryptography.Oid: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 (1.47 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[double]:ValidateMillisecondsTimeout(int) (FullOpts)
           4 (1.20 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[double]:ValidateTimeout(System.TimeSpan) (FullOpts)
           4 (1.47 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[int]:ValidateMillisecondsTimeout(int) (FullOpts)
           4 (1.20 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[int]:ValidateTimeout(System.TimeSpan) (FullOpts)
           4 (1.47 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[long]:ValidateMillisecondsTimeout(int) (FullOpts)
           4 (1.20 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[long]:ValidateTimeout(System.TimeSpan) (FullOpts)
           4 (1.47 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[short]:ValidateMillisecondsTimeout(int) (FullOpts)
           4 (1.20 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[short]:ValidateTimeout(System.TimeSpan) (FullOpts)
           4 (1.47 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[System.__Canon]:ValidateMillisecondsTimeout(int) (FullOpts)
           4 (1.20 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[System.__Canon]:ValidateTimeout(System.TimeSpan) (FullOpts)
           4 (1.47 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[System.Nullable`1[int]]:ValidateMillisecondsTimeout(int) (FullOpts)
           4 (1.20 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[System.Nullable`1[int]]:ValidateTimeout(System.TimeSpan) (FullOpts)
           4 (1.47 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[System.Numerics.Vector`1[float]]:ValidateMillisecondsTimeout(int) (FullOpts)
           4 (1.20 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[System.Numerics.Vector`1[float]]:ValidateTimeout(System.TimeSpan) (FullOpts)
           4 (1.47 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[ubyte]:ValidateMillisecondsTimeout(int) (FullOpts)
           4 (1.20 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[ubyte]:ValidateTimeout(System.TimeSpan) (FullOpts)
           4 (1.08 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.CDSCollectionETWBCLProvider:.cctor() (FullOpts)
           4 (0.91 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1[double]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
           4 (0.91 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1[int]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
           4 (0.91 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1[long]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
           4 (0.91 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1[short]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
           4 (0.84 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1[System.__Canon]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
           4 (0.91 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1[System.Nullable`1[int]]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
           4 (0.89 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1[System.Numerics.Vector`1[float]]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
           4 (0.91 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1[ubyte]:TrySteal(byref,ubyte):ubyte:this (FullOpts)
           4 (0.60 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[double,System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Collections.Generic.IEqualityComparer`1[double]):this (FullOpts)
           4 (2.63 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[double,System.Nullable`1[int]]:AcquireAllLocks(byref):this (FullOpts)
           4 (5.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[double,System.Nullable`1[int]]:get_Comparer():System.Collections.Generic.IEqualityComparer`1[double]:this (FullOpts)
           4 (1.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[double,System.Nullable`1[int]]:GetKeys():System.Collections.ObjectModel.ReadOnlyCollection`1[double]:this (FullOpts)
           4 (0.98 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[double,System.Nullable`1[int]]:GetValues():System.Collections.ObjectModel.ReadOnlyCollection`1[System.Nullable`1[int]]:this (FullOpts)
           4 (1.35 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[double,System.Nullable`1[int]]:ToArray():System.Collections.Generic.KeyValuePair`2[double,System.Nullable`1[int]][]:this (FullOpts)
           4 (0.39 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[double,System.Nullable`1[int]]:TryUpdateInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[double,System.Nullable`1[int]],double,System.Nullable`1[int],System.Nullable`1[int],System.Nullable`1[int]):ubyte:this (FullOpts)
           4 (0.60 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Collections.Generic.IEqualityComparer`1[int]):this (FullOpts)
           4 (2.63 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.Nullable`1[int]]:AcquireAllLocks(byref):this (FullOpts)
           4 (5.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.Nullable`1[int]]:get_Comparer():System.Collections.Generic.IEqualityComparer`1[int]:this (FullOpts)
           4 (1.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.Nullable`1[int]]:GetKeys():System.Collections.ObjectModel.ReadOnlyCollection`1[int]:this (FullOpts)
           4 (0.98 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.Nullable`1[int]]:GetValues():System.Collections.ObjectModel.ReadOnlyCollection`1[System.Nullable`1[int]]:this (FullOpts)
           4 (1.35 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.Nullable`1[int]]:ToArray():System.Collections.Generic.KeyValuePair`2[int,System.Nullable`1[int]][]:this (FullOpts)
           4 (0.44 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.Nullable`1[int]]:TryUpdateInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[int,System.Nullable`1[int]],int,System.Nullable`1[int],System.Nullable`1[int],System.Nullable`1[int]):ubyte:this (FullOpts)
           4 (0.60 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[long,System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Collections.Generic.IEqualityComparer`1[long]):this (FullOpts)

Top method improvements (bytes):
         -24 (-3.41 % of base) : System.Net.NameResolution.dasm - System.Net.NameResolutionMetrics:.cctor() (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)
          -8 (-2.70 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts)
          -8 (-3.08 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:.cctor() (FullOpts)
          -8 (-0.84 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:ConfigureConstructorAttributes(System.Reflection.ConstructorInfo,byref,System.Action`2[System.Reflection.ParameterInfo,System.ComponentModel.Composition.Registration.ImportBuilder]) (FullOpts)
          -8 (-0.99 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:EvaluateThisTypeAgainstTheConvention(System.Type):System.Collections.Generic.List`1[System.Tuple`2[System.Object,System.Collections.Generic.List`1[System.Attribute]]]:this (FullOpts)
          -8 (-1.00 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.DebuggerTraceWriter:CreateLogMessage(int,ushort,System.String,System.Object[]):System.String (FullOpts)
          -8 (-0.62 % 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.62 % 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.62 % 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.ComponentModel.Composition.Registration.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.61 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.Pal.AnyOS.ManagedPkcsPal:CopyContent(System.ReadOnlySpan`1[ubyte]):ubyte[] (FullOpts)
          -4 (-0.24 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.Pal.AnyOS.ManagedPkcsPal:Encrypt(System.Security.Cryptography.Pkcs.CmsRecipientCollection,System.Security.Cryptography.Pkcs.ContentInfo,System.Security.Cryptography.Pkcs.AlgorithmIdentifier,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Security.Cryptography.CryptographicAttributeObjectCollection,ubyte[],ubyte[],ubyte[]):ubyte[]: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 (-0.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:Initialize(System.Globalization.CultureInfo,int):this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[double,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[int,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[long,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[short,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-1.32 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:InsertItem(int,double):this (FullOpts)
          -4 (-1.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:RemoveItem(int):this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:InsertItem(int,int):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:RemoveItem(int):this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:InsertItem(int,long):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:RemoveItem(int):this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:InsertItem(int,short):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:RemoveItem(int):this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:InsertItem(int,System.Nullable`1[int]):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:RemoveItem(int):this (FullOpts)
          -4 (-1.18 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:InsertItem(int,System.Numerics.Vector`1[float]):this (FullOpts)
          -4 (-1.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:RemoveItem(int):this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:InsertItem(int,ubyte):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:RemoveItem(int):this (FullOpts)
          -4 (-1.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:AddMetadata(System.String,System.Func`2[System.Type,System.Object]):System.ComponentModel.Composition.Registration.ExportBuilder:this (FullOpts)
          -4 (-1.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:AddMetadata(System.String,System.Object):System.ComponentModel.Composition.Registration.ExportBuilder:this (FullOpts)
          -4 (-0.39 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:BuildAttributes(System.Type,byref):this (FullOpts)
          -4 (-9.09 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ImportBuilder:.cctor() (FullOpts)
          -4 (-0.88 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ImportBuilder:BuildAttributes(System.Type,byref):this (FullOpts)
          -4 (-1.03 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:.ctor(System.Predicate`1[System.Type]):this (FullOpts)
          -4 (-1.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:AddMetadata(System.String,System.Func`2[System.Type,System.Object]):System.ComponentModel.Composition.Registration.PartBuilder:this (FullOpts)
          -4 (-1.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:AddMetadata(System.String,System.Object):System.ComponentModel.Composition.Registration.PartBuilder:this (FullOpts)
          -4 (-0.21 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
          -4 (-0.18 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder+<>c:.cctor() (FullOpts)
          -4 (-2.63 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:.cctor() (FullOpts)
          -4 (-0.59 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ReadMemberCustomAttributes(System.Reflection.MemberInfo):System.Collections.Generic.List`1[System.Attribute]:this (FullOpts)
          -4 (-0.57 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ReadParameterCustomAttributes(System.Reflection.ParameterInfo):System.Collections.Generic.List`1[System.Attribute]:this (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[double]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[int]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[long]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[short]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[System.Numerics.Vector`1[float]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[ubyte]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[double]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[int]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[long]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[short]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[System.Numerics.Vector`1[float]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[ubyte]:.cctor() (FullOpts)
          -4 (-1.75 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_ConstructorConventionOverridden(System.Type) (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_MemberExportConventionOverridden(System.Type,System.Reflection.MemberInfo) (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_MemberImportConventionMatchedTwice(System.Type,System.Reflection.MemberInfo) (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_MemberImportConventionOverridden(System.Type,System.Reflection.MemberInfo) (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_OnSatisfiedImportNotificationOverridden(System.Type,System.Reflection.MemberInfo) (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_ParameterImportConventionOverridden(System.Reflection.ParameterInfo,System.Reflection.ConstructorInfo) (FullOpts)
          -4 (-0.61 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_PartCreationConventionOverridden(System.Type) (FullOpts)
          -4 (-0.61 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_PartMetadataConventionOverridden(System.Type) (FullOpts)
          -4 (-0.61 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_TypeExportConventionOverridden(System.Type) (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTraceSource:.cctor() (FullOpts)
          -4 (-3.85 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.DebuggerTraceWriter:.cctor() (FullOpts)
          -4 (-0.72 % of base) : System.Drawing.Primitives.dasm - System.Drawing.ColorConverterCommon:PossibleKnownColor(System.Drawing.Color):System.Drawing.Color (FullOpts)
          -4 (-0.65 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Pkcs12SafeContents:EncodeToContentInfo():System.Security.Cryptography.Asn1.Pkcs7.ContentInfoAsn:this (FullOpts)
          -4 (-0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[double]:.ctor(int,int,ubyte,System.Action`1[double]):this (FullOpts)
          -4 (-0.60 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts)
          -4 (-0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):this (FullOpts)
          -4 (-0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(int,int,ubyte,System.Action`1[System.Numerics.Vector`1[float]]):this (FullOpts)
          -4 (-0.88 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[short]:.ctor(ubyte):this (FullOpts)
          -4 (-0.88 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts)

Top method regressions (percentages):
           4 (14.29 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ReadOnlyObservableCollection`1[double]:get_Empty():System.Collections.ObjectModel.ReadOnlyObservableCollection`1[double] (FullOpts)
           4 (14.29 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ReadOnlyObservableCollection`1[int]:get_Empty():System.Collections.ObjectModel.ReadOnlyObservableCollection`1[int] (FullOpts)
           4 (14.29 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ReadOnlyObservableCollection`1[long]:get_Empty():System.Collections.ObjectModel.ReadOnlyObservableCollection`1[long] (FullOpts)
           4 (14.29 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ReadOnlyObservableCollection`1[short]:get_Empty():System.Collections.ObjectModel.ReadOnlyObservableCollection`1[short] (FullOpts)
           4 (14.29 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ReadOnlyObservableCollection`1[System.Nullable`1[int]]:get_Empty():System.Collections.ObjectModel.ReadOnlyObservableCollection`1[System.Nullable`1[int]] (FullOpts)
           4 (14.29 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ReadOnlyObservableCollection`1[System.Numerics.Vector`1[float]]:get_Empty():System.Collections.ObjectModel.ReadOnlyObservableCollection`1[System.Numerics.Vector`1[float]] (FullOpts)
           4 (14.29 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ReadOnlyObservableCollection`1[ubyte]:get_Empty():System.Collections.ObjectModel.ReadOnlyObservableCollection`1[ubyte] (FullOpts)
           8 (7.14 % of base) : System.ObjectModel.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
           8 (7.14 % of base) : System.Collections.Concurrent.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
           4 (6.25 % of base) : System.ObjectModel.dasm - System.ComponentModel.TypeConverterAttribute:.cctor() (FullOpts)
           4 (5.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[double,System.Nullable`1[int]]:get_Comparer():System.Collections.Generic.IEqualityComparer`1[double]:this (FullOpts)
           4 (5.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.Nullable`1[int]]:get_Comparer():System.Collections.Generic.IEqualityComparer`1[int]:this (FullOpts)
           4 (5.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[long,System.Nullable`1[int]]:get_Comparer():System.Collections.Generic.IEqualityComparer`1[long]:this (FullOpts)
           4 (5.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[short,System.Nullable`1[int]]:get_Comparer():System.Collections.Generic.IEqualityComparer`1[short]:this (FullOpts)
           4 (5.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Comparer():System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]:this (FullOpts)
           4 (5.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:get_Comparer():System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           4 (5.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:get_Comparer():System.Collections.Generic.IEqualityComparer`1[ubyte]:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[double]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[int]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[long]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[short]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[System.Nullable`1[int]]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[System.Numerics.Vector`1[float]]:TryPopCore(int,byref):int:this (FullOpts)
          28 (4.96 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[ubyte]:TryPopCore(int,byref):int:this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:ClearItems():this (FullOpts)
           8 (4.26 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:ClearItems():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:OnCollectionReset():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:OnCountPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:OnIndexerPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:OnCollectionReset():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:OnCountPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:OnIndexerPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:OnCollectionReset():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:OnCountPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:OnIndexerPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:OnCollectionReset():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:OnCountPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:OnIndexerPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.__Canon]:OnCollectionReset():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.__Canon]:OnCountPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.__Canon]:OnIndexerPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:OnCollectionReset():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:OnCountPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:OnIndexerPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:OnCollectionReset():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:OnCountPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:OnIndexerPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:OnCollectionReset():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:OnCountPropertyChanged():this (FullOpts)
           4 (4.17 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:OnIndexerPropertyChanged():this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[double,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[double]):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[int,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[int]):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[long,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[long]):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[short,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[short]):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           8 (4.00 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEqualityComparer`1[ubyte]):this (FullOpts)
           4 (3.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:.ctor():this (FullOpts)
           4 (3.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:.ctor():this (FullOpts)
           4 (3.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:.ctor():this (FullOpts)
           4 (3.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:.ctor():this (FullOpts)
           4 (3.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:.ctor():this (FullOpts)
           4 (3.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:.ctor():this (FullOpts)
           4 (3.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:.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 (2.63 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[double,System.Nullable`1[int]]:AcquireAllLocks(byref):this (FullOpts)
           4 (2.63 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[int,System.Nullable`1[int]]:AcquireAllLocks(byref):this (FullOpts)
           4 (2.63 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[long,System.Nullable`1[int]]:AcquireAllLocks(byref):this (FullOpts)
           4 (2.63 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[short,System.Nullable`1[int]]:AcquireAllLocks(byref):this (FullOpts)
           4 (2.63 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:AcquireAllLocks(byref):this (FullOpts)
           4 (2.63 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:AcquireAllLocks(byref):this (FullOpts)
           4 (2.63 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[ubyte,System.Nullable`1[int]]:AcquireAllLocks(byref):this (FullOpts)
           8 (2.60 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.__Canon]:InsertItem(int,System.__Canon):this (FullOpts)
           4 (2.50 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[double]:PushCore(System.Collections.Concurrent.ConcurrentStack`1+Node[double],System.Collections.Concurrent.ConcurrentStack`1+Node[double]):this (FullOpts)
           4 (2.50 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[int]:PushCore(System.Collections.Concurrent.ConcurrentStack`1+Node[int],System.Collections.Concurrent.ConcurrentStack`1+Node[int]):this (FullOpts)
           4 (2.50 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[long]:PushCore(System.Collections.Concurrent.ConcurrentStack`1+Node[long],System.Collections.Concurrent.ConcurrentStack`1+Node[long]):this (FullOpts)
           4 (2.50 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[short]:PushCore(System.Collections.Concurrent.ConcurrentStack`1+Node[short],System.Collections.Concurrent.ConcurrentStack`1+Node[short]):this (FullOpts)
           4 (2.50 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[System.__Canon]:PushCore(System.Collections.Concurrent.ConcurrentStack`1+Node[System.__Canon],System.Collections.Concurrent.ConcurrentStack`1+Node[System.__Canon]):this (FullOpts)
           4 (2.50 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[System.Nullable`1[int]]:PushCore(System.Collections.Concurrent.ConcurrentStack`1+Node[System.Nullable`1[int]],System.Collections.Concurrent.ConcurrentStack`1+Node[System.Nullable`1[int]]):this (FullOpts)
           4 (2.50 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[System.Numerics.Vector`1[float]]:PushCore(System.Collections.Concurrent.ConcurrentStack`1+Node[System.Numerics.Vector`1[float]],System.Collections.Concurrent.ConcurrentStack`1+Node[System.Numerics.Vector`1[float]]):this (FullOpts)
           4 (2.50 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentStack`1[ubyte]:PushCore(System.Collections.Concurrent.ConcurrentStack`1+Node[ubyte],System.Collections.Concurrent.ConcurrentStack`1+Node[ubyte]):this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[double]():System.ComponentModel.Composition.Registration.PartBuilder`1[double]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[int]():System.ComponentModel.Composition.Registration.PartBuilder`1[int]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[long]():System.ComponentModel.Composition.Registration.PartBuilder`1[long]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[short]():System.ComponentModel.Composition.Registration.PartBuilder`1[short]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[System.Nullable`1[int]]():System.ComponentModel.Composition.Registration.PartBuilder`1[System.Nullable`1[int]]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[System.Numerics.Vector`1[float]]():System.ComponentModel.Composition.Registration.PartBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForType[ubyte]():System.ComponentModel.Composition.Registration.PartBuilder`1[ubyte]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[double]():System.ComponentModel.Composition.Registration.PartBuilder`1[double]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[int]():System.ComponentModel.Composition.Registration.PartBuilder`1[int]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[long]():System.ComponentModel.Composition.Registration.PartBuilder`1[long]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[short]():System.ComponentModel.Composition.Registration.PartBuilder`1[short]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[System.Nullable`1[int]]():System.ComponentModel.Composition.Registration.PartBuilder`1[System.Nullable`1[int]]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[System.Numerics.Vector`1[float]]():System.ComponentModel.Composition.Registration.PartBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
           8 (2.41 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ForTypesDerivedFrom[ubyte]():System.ComponentModel.Composition.Registration.PartBuilder`1[ubyte]:this (FullOpts)

Top method improvements (percentages):
          -4 (-9.09 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ImportBuilder:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[double]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[int]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[long]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[short]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[System.Numerics.Vector`1[float]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__10`1[ubyte]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[double]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[int]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[long]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[short]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[System.Nullable`1[int]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[System.Numerics.Vector`1[float]]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder+<>c__8`1[ubyte]:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTraceSource:.cctor() (FullOpts)
          -8 (-6.67 % of base) : System.ComponentModel.Composition.Registration.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -4 (-3.85 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.DebuggerTraceWriter:.cctor() (FullOpts)
         -24 (-3.41 % of base) : System.Net.NameResolution.dasm - System.Net.NameResolutionMetrics:.cctor() (FullOpts)
          -8 (-3.08 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:.cctor() (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)
          -8 (-2.70 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts)
          -4 (-2.63 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:.cctor() (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[double,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[int,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[long,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[short,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-2.13 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:.ctor():this (FullOpts)
          -4 (-1.75 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_ConstructorConventionOverridden(System.Type) (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)
          -4 (-1.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:AddMetadata(System.String,System.Func`2[System.Type,System.Object]):System.ComponentModel.Composition.Registration.ExportBuilder:this (FullOpts)
          -4 (-1.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:AddMetadata(System.String,System.Object):System.ComponentModel.Composition.Registration.ExportBuilder:this (FullOpts)
          -4 (-1.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:AddMetadata(System.String,System.Func`2[System.Type,System.Object]):System.ComponentModel.Composition.Registration.PartBuilder:this (FullOpts)
          -4 (-1.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:AddMetadata(System.String,System.Object):System.ComponentModel.Composition.Registration.PartBuilder:this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:InsertItem(int,int):this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:InsertItem(int,long):this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:InsertItem(int,short):this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:InsertItem(int,System.Nullable`1[int]):this (FullOpts)
          -4 (-1.33 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:InsertItem(int,ubyte):this (FullOpts)
          -4 (-1.32 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:InsertItem(int,double):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[int]:RemoveItem(int):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[long]:RemoveItem(int):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[short]:RemoveItem(int):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Nullable`1[int]]:RemoveItem(int):this (FullOpts)
          -4 (-1.25 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[ubyte]:RemoveItem(int):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 (-1.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[double]:RemoveItem(int):this (FullOpts)
          -4 (-1.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:RemoveItem(int):this (FullOpts)
          -4 (-1.18 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ObservableCollection`1[System.Numerics.Vector`1[float]]:InsertItem(int,System.Numerics.Vector`1[float]):this (FullOpts)
          -4 (-1.03 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:.ctor(System.Predicate`1[System.Type]):this (FullOpts)
          -8 (-1.00 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.DebuggerTraceWriter:CreateLogMessage(int,ushort,System.String,System.Object[]):System.String (FullOpts)
          -8 (-0.99 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:EvaluateThisTypeAgainstTheConvention(System.Type):System.Collections.Generic.List`1[System.Tuple`2[System.Object,System.Collections.Generic.List`1[System.Attribute]]]:this (FullOpts)
          -4 (-0.88 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ImportBuilder:BuildAttributes(System.Type,byref):this (FullOpts)
          -4 (-0.88 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[short]:.ctor(ubyte):this (FullOpts)
          -4 (-0.88 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts)
          -8 (-0.84 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:ConfigureConstructorAttributes(System.Reflection.ConstructorInfo,byref,System.Action`2[System.Reflection.ParameterInfo,System.ComponentModel.Composition.Registration.ImportBuilder]) (FullOpts)
          -4 (-0.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:Initialize(System.Globalization.CultureInfo,int):this (FullOpts)
          -4 (-0.72 % of base) : System.Drawing.Primitives.dasm - System.Drawing.ColorConverterCommon:PossibleKnownColor(System.Drawing.Color):System.Drawing.Color (FullOpts)
          -4 (-0.65 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Pkcs12SafeContents:EncodeToContentInfo():System.Security.Cryptography.Asn1.Pkcs7.ContentInfoAsn:this (FullOpts)
          -8 (-0.62 % 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.62 % 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.62 % 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)
          -4 (-0.61 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.Pal.AnyOS.ManagedPkcsPal:CopyContent(System.ReadOnlySpan`1[ubyte]):ubyte[] (FullOpts)
          -4 (-0.61 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_PartCreationConventionOverridden(System.Type) (FullOpts)
          -4 (-0.61 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_PartMetadataConventionOverridden(System.Type) (FullOpts)
          -4 (-0.61 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_TypeExportConventionOverridden(System.Type) (FullOpts)
          -4 (-0.60 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts)
          -4 (-0.59 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ReadMemberCustomAttributes(System.Reflection.MemberInfo):System.Collections.Generic.List`1[System.Attribute]:this (FullOpts)
          -4 (-0.57 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:ReadParameterCustomAttributes(System.Reflection.ParameterInfo):System.Collections.Generic.List`1[System.Attribute]:this (FullOpts)
          -4 (-0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[double]:.ctor(int,int,ubyte,System.Action`1[double]):this (FullOpts)
          -4 (-0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):this (FullOpts)
          -4 (-0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(int,int,ubyte,System.Action`1[System.Numerics.Vector`1[float]]):this (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_MemberExportConventionOverridden(System.Type,System.Reflection.MemberInfo) (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_MemberImportConventionMatchedTwice(System.Type,System.Reflection.MemberInfo) (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_MemberImportConventionOverridden(System.Type,System.Reflection.MemberInfo) (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_OnSatisfiedImportNotificationOverridden(System.Type,System.Reflection.MemberInfo) (FullOpts)
          -4 (-0.51 % of base) : System.ComponentModel.Composition.Registration.dasm - System.Composition.Diagnostics.CompositionTrace:Registration_ParameterImportConventionOverridden(System.Reflection.ParameterInfo,System.Reflection.ConstructorInfo) (FullOpts)
          -4 (-0.39 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:BuildAttributes(System.Type,byref):this (FullOpts)
          -4 (-0.27 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:TryFindHierarchyMount(int,System.String,System.String,byref,byref):ubyte (FullOpts)
          -4 (-0.25 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:TryFindCGroupPathForSubsystem(int,System.String,System.String,byref):ubyte (FullOpts)
          -4 (-0.24 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.Pal.AnyOS.ManagedPkcsPal:Encrypt(System.Security.Cryptography.Pkcs.CmsRecipientCollection,System.Security.Cryptography.Pkcs.ContentInfo,System.Security.Cryptography.Pkcs.AlgorithmIdentifier,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Security.Cryptography.CryptographicAttributeObjectCollection,ubyte[],ubyte[],ubyte[]):ubyte[]:this (FullOpts)
          -4 (-0.21 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
          -4 (-0.18 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts)

307 total methods with Code Size differences (88 improved, 219 regressed), 231738 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 16, 2024

Top method regressions

28 (4.96 % of base) - System.Collections.Concurrent.ConcurrentStack`1[double]:TryPopCore(int,byref):int:this
 ; Assembly listing for method System.Collections.Concurrent.ConcurrentStack`1[double]:TryPopCore(int,byref):int: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; 12 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T10] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Collections.Concurrent.ConcurrentStack`1[double]>
 ;  V01 arg1         [V01,T03] (  5, 35   )     int  ->  x19         single-def
 ;  V02 arg2         [V02,T15] (  4,  3   )   byref  ->  x21         single-def
 ;  V03 loc0         [V03    ] (  5, 22   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Threading.SpinWait>
 ;  V04 loc1         [V04,T06] (  6, 28.50)     ref  ->  x23         class-hnd exact <System.Collections.Concurrent.ConcurrentStack`1+Node[double]>
 ;  V05 loc2         [V05,T04] (  4, 32   )     ref  ->   x1         class-hnd <System.Collections.Concurrent.ConcurrentStack`1+Node[double]>
 ;  V06 loc3         [V06,T09] (  6, 18   )     int  ->  x22        
 ;  V07 loc4         [V07,T00] (  5, 52.50)     int  ->  x24        
 ;* V08 loc5         [V08,T16] (  0,  0   )     int  ->  zero-ref   
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T13] (  5,  5   )     ref  ->  x20         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V11 tmp2         [V11,T14] (  5,  5   )     ref  ->  x19         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;* V12 tmp3         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V13 tmp4         [V13,T18] (  2,  2   )     int  ->  x20         "Inlining Arg"
 ;* V14 tmp5         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V15 tmp6         [V15,T11] (  2, 16   )   byref  ->   x0         "Inlining Arg"
 ;  V16 tmp7         [V16,T12] (  2, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Collections.Concurrent.ConcurrentStack`1+Node[double]>
 ;* V17 tmp8         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V18 tmp9         [V18,T19] (  2,  2   )     int  ->  x19         "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V20 tmp11        [V20,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp12        [V21    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V22 tmp13        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V24 tmp15        [V24    ] (  5, 22   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V26 tmp17        [V26,T07] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V27 cse0         [V27,T20] (  3,  1.50)     int  ->   x1         "CSE #05: moderate"
 ;  V28 cse1         [V28,T21] (  3,  1.50)     int  ->   x1         "CSE #06: moderate"
 ;  V29 cse2         [V29,T17] (  6,  3   )     ref  ->  x20         multi-def "CSE #04: moderate"
 ;  V30 cse3         [V30,T02] (  5, 48   )     ref  ->   x2         multi-def "CSE #01: aggressive"
 ;  V31 cse4         [V31,T08] (  3, 20   )   byref  ->   x0         "CSE #02: aggressive"
 ;  V32 rat0         [V32,T01] (  4, 49   )     int  ->  x23         "Trip count IV"
 ;
 ; Lcl frame size = 16
 
 G_M776_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             mov     fp, sp
             mov     x20, x0
             mov     w19, w1
             mov     x21, x2
 						;; size=32 bbWeight=1 PerfScore 6.00
 G_M776_IG02:
             str     wzr, [fp, #0x18]	// [V03 loc0]
             mov     w22, #1
             b       G_M776_IG04
-            align   [0 bytes for IG06]
-            align   [0 bytes]
-            align   [0 bytes]
-            align   [0 bytes]
-						;; size=12 bbWeight=1 PerfScore 2.50
+            align   [4 bytes for IG06]
+            align   [4 bytes]
+            align   [4 bytes]
+            align   [4 bytes]
+						;; size=28 bbWeight=1 PerfScore 2.50
 G_M776_IG03:
             movz    x0, #0xD1FFAB1E      // data for System.Random:<Shared>k__BackingField
+            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             mov     w1, #1
             mov     w2, #8
             ldr     x3, [x0]
             ldr     x3, [x3, #0x40]
             ldr     x3, [x3, #0x30]
             blr     x3
             sxtw    w22, w0
-						;; size=40 bbWeight=4 PerfScore 62.00
+						;; size=44 bbWeight=4 PerfScore 64.00
 G_M776_IG04:
             add     x0, x20, #8
             ldapr   x23, [x0]
             cbz     x23, G_M776_IG17
 						;; size=12 bbWeight=8 PerfScore 36.00
 G_M776_IG05:
             mov     x1, x23
             mov     w24, #1
             b       G_M776_IG07
 						;; size=12 bbWeight=4 PerfScore 8.00
 G_M776_IG06:
             mov     x1, x2
             add     w24, w24, #1
 						;; size=8 bbWeight=8 PerfScore 8.00
 G_M776_IG07:
             cmp     w24, w19
             bge     G_M776_IG09
 						;; size=8 bbWeight=32 PerfScore 48.00
 G_M776_IG08:
             ldr     x2, [x1, #0x08]
             cbnz    x2, G_M776_IG06
 						;; size=8 bbWeight=16 PerfScore 64.00
 G_M776_IG09:
             ldrsb   wzr, [x20]
             ldr     x2, [x1, #0x08]
             mov     x1, x2
             mov     x2, x23
             bl      System.Threading.Interlocked:CompareExchangeObject(byref,System.Object,System.Object):System.Object
             cmp     x0, x23
             beq     G_M776_IG14
             cmp     w22, #0
             ble     G_M776_IG12
 						;; size=36 bbWeight=4 PerfScore 44.00
 G_M776_IG10:
             sxtw    w23, w22
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M776_IG11:
             add     x0, fp, #24	// [V03 loc0]
             movn    w1, #0
             movz    x2, #0xD1FFAB1E      // code for System.Threading.SpinWait:SpinOnceCore(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             sub     w23, w23, #1
             cbnz    w23, G_M776_IG11
 						;; size=36 bbWeight=16 PerfScore 128.00
 G_M776_IG12:
             ldr     w0, [fp, #0x18]	// [V24 tmp15]
             cmp     w0, #10
             blt     G_M776_IG13
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbnz    w0, #0, G_M776_IG03
             b       G_M776_IG20
 						;; size=36 bbWeight=4 PerfScore 40.00
 G_M776_IG13:
             lsl     w22, w22, #1
             b       G_M776_IG04
 						;; size=8 bbWeight=4 PerfScore 8.00
 G_M776_IG14:
             cmp     w19, #1
             bne     G_M776_IG15
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M776_IG15
             ldr     w19, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x20, #0x80]
             ldr     w2, [x20, #0x98]
             mov     x0, x20
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M776_IG15
             mov     x0, x20
             mov     w2, w19
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=112 bbWeight=0.50 PerfScore 16.50
+						;; size=116 bbWeight=0.50 PerfScore 16.75
 G_M776_IG15:
             mov     x14, x21
             mov     x15, x23
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             mov     w0, w24
 						;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M776_IG16:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M776_IG17:
             cmp     w19, #1
             bne     G_M776_IG18
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M776_IG18
             mov     x19, x20
             ldr     w20, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x19, #0x80]
             ldr     w2, [x19, #0x98]
             mov     x0, x19
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M776_IG18
             mov     x0, x19
             mov     w2, w20
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=116 bbWeight=0.50 PerfScore 16.75
+						;; size=120 bbWeight=0.50 PerfScore 17.00
 G_M776_IG18:
             str     xzr, [x21]
             mov     w0, wzr
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M776_IG19:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M776_IG20:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M776_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 564, prolog size 32, PerfScore 495.25, instruction count 145, allocated bytes for code 564 (MethodHash=c878fcf7) for method System.Collections.Concurrent.ConcurrentStack`1[double]:TryPopCore(int,byref):int:this (FullOpts)
+; Total bytes of code 592, prolog size 32, PerfScore 497.75, instruction count 148, allocated bytes for code 592 (MethodHash=c878fcf7) for method System.Collections.Concurrent.ConcurrentStack`1[double]:TryPopCore(int,byref):int:this (FullOpts)
 ; ============================================================
28 (4.96 % of base) - System.Collections.Concurrent.ConcurrentStack`1[int]:TryPopCore(int,byref):int:this
 ; Assembly listing for method System.Collections.Concurrent.ConcurrentStack`1[int]:TryPopCore(int,byref):int: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; 12 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T10] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Collections.Concurrent.ConcurrentStack`1[int]>
 ;  V01 arg1         [V01,T03] (  5, 35   )     int  ->  x19         single-def
 ;  V02 arg2         [V02,T15] (  4,  3   )   byref  ->  x21         single-def
 ;  V03 loc0         [V03    ] (  5, 22   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Threading.SpinWait>
 ;  V04 loc1         [V04,T06] (  6, 28.50)     ref  ->  x23         class-hnd exact <System.Collections.Concurrent.ConcurrentStack`1+Node[int]>
 ;  V05 loc2         [V05,T04] (  4, 32   )     ref  ->   x1         class-hnd <System.Collections.Concurrent.ConcurrentStack`1+Node[int]>
 ;  V06 loc3         [V06,T09] (  6, 18   )     int  ->  x22        
 ;  V07 loc4         [V07,T00] (  5, 52.50)     int  ->  x24        
 ;* V08 loc5         [V08,T16] (  0,  0   )     int  ->  zero-ref   
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T13] (  5,  5   )     ref  ->  x20         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V11 tmp2         [V11,T14] (  5,  5   )     ref  ->  x19         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;* V12 tmp3         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V13 tmp4         [V13,T18] (  2,  2   )     int  ->  x20         "Inlining Arg"
 ;* V14 tmp5         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V15 tmp6         [V15,T11] (  2, 16   )   byref  ->   x0         "Inlining Arg"
 ;  V16 tmp7         [V16,T12] (  2, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Collections.Concurrent.ConcurrentStack`1+Node[int]>
 ;* V17 tmp8         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V18 tmp9         [V18,T19] (  2,  2   )     int  ->  x19         "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V20 tmp11        [V20,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp12        [V21    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V22 tmp13        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V24 tmp15        [V24    ] (  5, 22   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V26 tmp17        [V26,T07] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V27 cse0         [V27,T20] (  3,  1.50)     int  ->   x1         "CSE #05: moderate"
 ;  V28 cse1         [V28,T21] (  3,  1.50)     int  ->   x1         "CSE #06: moderate"
 ;  V29 cse2         [V29,T17] (  6,  3   )     ref  ->  x20         multi-def "CSE #04: moderate"
 ;  V30 cse3         [V30,T02] (  5, 48   )     ref  ->   x2         multi-def "CSE #01: aggressive"
 ;  V31 cse4         [V31,T08] (  3, 20   )   byref  ->   x0         "CSE #02: aggressive"
 ;  V32 rat0         [V32,T01] (  4, 49   )     int  ->  x23         "Trip count IV"
 ;
 ; Lcl frame size = 16
 
 G_M47726_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             mov     fp, sp
             mov     x20, x0
             mov     w19, w1
             mov     x21, x2
 						;; size=32 bbWeight=1 PerfScore 6.00
 G_M47726_IG02:
             str     wzr, [fp, #0x18]	// [V03 loc0]
             mov     w22, #1
             b       G_M47726_IG04
-            align   [0 bytes for IG06]
-            align   [0 bytes]
-            align   [0 bytes]
-            align   [0 bytes]
-						;; size=12 bbWeight=1 PerfScore 2.50
+            align   [4 bytes for IG06]
+            align   [4 bytes]
+            align   [4 bytes]
+            align   [4 bytes]
+						;; size=28 bbWeight=1 PerfScore 2.50
 G_M47726_IG03:
             movz    x0, #0xD1FFAB1E      // data for System.Random:<Shared>k__BackingField
+            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             mov     w1, #1
             mov     w2, #8
             ldr     x3, [x0]
             ldr     x3, [x3, #0x40]
             ldr     x3, [x3, #0x30]
             blr     x3
             sxtw    w22, w0
-						;; size=40 bbWeight=4 PerfScore 62.00
+						;; size=44 bbWeight=4 PerfScore 64.00
 G_M47726_IG04:
             add     x0, x20, #8
             ldapr   x23, [x0]
             cbz     x23, G_M47726_IG17
 						;; size=12 bbWeight=8 PerfScore 36.00
 G_M47726_IG05:
             mov     x1, x23
             mov     w24, #1
             b       G_M47726_IG07
 						;; size=12 bbWeight=4 PerfScore 8.00
 G_M47726_IG06:
             mov     x1, x2
             add     w24, w24, #1
 						;; size=8 bbWeight=8 PerfScore 8.00
 G_M47726_IG07:
             cmp     w24, w19
             bge     G_M47726_IG09
 						;; size=8 bbWeight=32 PerfScore 48.00
 G_M47726_IG08:
             ldr     x2, [x1, #0x08]
             cbnz    x2, G_M47726_IG06
 						;; size=8 bbWeight=16 PerfScore 64.00
 G_M47726_IG09:
             ldrsb   wzr, [x20]
             ldr     x2, [x1, #0x08]
             mov     x1, x2
             mov     x2, x23
             bl      System.Threading.Interlocked:CompareExchangeObject(byref,System.Object,System.Object):System.Object
             cmp     x0, x23
             beq     G_M47726_IG14
             cmp     w22, #0
             ble     G_M47726_IG12
 						;; size=36 bbWeight=4 PerfScore 44.00
 G_M47726_IG10:
             sxtw    w23, w22
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M47726_IG11:
             add     x0, fp, #24	// [V03 loc0]
             movn    w1, #0
             movz    x2, #0xD1FFAB1E      // code for System.Threading.SpinWait:SpinOnceCore(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             sub     w23, w23, #1
             cbnz    w23, G_M47726_IG11
 						;; size=36 bbWeight=16 PerfScore 128.00
 G_M47726_IG12:
             ldr     w0, [fp, #0x18]	// [V24 tmp15]
             cmp     w0, #10
             blt     G_M47726_IG13
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbnz    w0, #0, G_M47726_IG03
             b       G_M47726_IG20
 						;; size=36 bbWeight=4 PerfScore 40.00
 G_M47726_IG13:
             lsl     w22, w22, #1
             b       G_M47726_IG04
 						;; size=8 bbWeight=4 PerfScore 8.00
 G_M47726_IG14:
             cmp     w19, #1
             bne     G_M47726_IG15
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M47726_IG15
             ldr     w19, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x20, #0x80]
             ldr     w2, [x20, #0x98]
             mov     x0, x20
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M47726_IG15
             mov     x0, x20
             mov     w2, w19
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=112 bbWeight=0.50 PerfScore 16.50
+						;; size=116 bbWeight=0.50 PerfScore 16.75
 G_M47726_IG15:
             mov     x14, x21
             mov     x15, x23
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             mov     w0, w24
 						;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M47726_IG16:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M47726_IG17:
             cmp     w19, #1
             bne     G_M47726_IG18
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M47726_IG18
             mov     x19, x20
             ldr     w20, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x19, #0x80]
             ldr     w2, [x19, #0x98]
             mov     x0, x19
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M47726_IG18
             mov     x0, x19
             mov     w2, w20
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=116 bbWeight=0.50 PerfScore 16.75
+						;; size=120 bbWeight=0.50 PerfScore 17.00
 G_M47726_IG18:
             str     xzr, [x21]
             mov     w0, wzr
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M47726_IG19:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M47726_IG20:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M47726_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 564, prolog size 32, PerfScore 495.25, instruction count 145, allocated bytes for code 564 (MethodHash=cb914591) for method System.Collections.Concurrent.ConcurrentStack`1[int]:TryPopCore(int,byref):int:this (FullOpts)
+; Total bytes of code 592, prolog size 32, PerfScore 497.75, instruction count 148, allocated bytes for code 592 (MethodHash=cb914591) for method System.Collections.Concurrent.ConcurrentStack`1[int]:TryPopCore(int,byref):int:this (FullOpts)
 ; ============================================================
28 (4.96 % of base) - System.Collections.Concurrent.ConcurrentStack`1[long]:TryPopCore(int,byref):int:this
 ; Assembly listing for method System.Collections.Concurrent.ConcurrentStack`1[long]:TryPopCore(int,byref):int: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; 12 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T10] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Collections.Concurrent.ConcurrentStack`1[long]>
 ;  V01 arg1         [V01,T03] (  5, 35   )     int  ->  x19         single-def
 ;  V02 arg2         [V02,T15] (  4,  3   )   byref  ->  x21         single-def
 ;  V03 loc0         [V03    ] (  5, 22   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Threading.SpinWait>
 ;  V04 loc1         [V04,T06] (  6, 28.50)     ref  ->  x23         class-hnd exact <System.Collections.Concurrent.ConcurrentStack`1+Node[long]>
 ;  V05 loc2         [V05,T04] (  4, 32   )     ref  ->   x1         class-hnd <System.Collections.Concurrent.ConcurrentStack`1+Node[long]>
 ;  V06 loc3         [V06,T09] (  6, 18   )     int  ->  x22        
 ;  V07 loc4         [V07,T00] (  5, 52.50)     int  ->  x24        
 ;* V08 loc5         [V08,T16] (  0,  0   )     int  ->  zero-ref   
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T13] (  5,  5   )     ref  ->  x20         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V11 tmp2         [V11,T14] (  5,  5   )     ref  ->  x19         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;* V12 tmp3         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V13 tmp4         [V13,T18] (  2,  2   )     int  ->  x20         "Inlining Arg"
 ;* V14 tmp5         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V15 tmp6         [V15,T11] (  2, 16   )   byref  ->   x0         "Inlining Arg"
 ;  V16 tmp7         [V16,T12] (  2, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Collections.Concurrent.ConcurrentStack`1+Node[long]>
 ;* V17 tmp8         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V18 tmp9         [V18,T19] (  2,  2   )     int  ->  x19         "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V20 tmp11        [V20,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp12        [V21    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V22 tmp13        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V24 tmp15        [V24    ] (  5, 22   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V26 tmp17        [V26,T07] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V27 cse0         [V27,T20] (  3,  1.50)     int  ->   x1         "CSE #05: moderate"
 ;  V28 cse1         [V28,T21] (  3,  1.50)     int  ->   x1         "CSE #06: moderate"
 ;  V29 cse2         [V29,T17] (  6,  3   )     ref  ->  x20         multi-def "CSE #04: moderate"
 ;  V30 cse3         [V30,T02] (  5, 48   )     ref  ->   x2         multi-def "CSE #01: aggressive"
 ;  V31 cse4         [V31,T08] (  3, 20   )   byref  ->   x0         "CSE #02: aggressive"
 ;  V32 rat0         [V32,T01] (  4, 49   )     int  ->  x23         "Trip count IV"
 ;
 ; Lcl frame size = 16
 
 G_M53559_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             mov     fp, sp
             mov     x20, x0
             mov     w19, w1
             mov     x21, x2
 						;; size=32 bbWeight=1 PerfScore 6.00
 G_M53559_IG02:
             str     wzr, [fp, #0x18]	// [V03 loc0]
             mov     w22, #1
             b       G_M53559_IG04
-            align   [0 bytes for IG06]
-            align   [0 bytes]
-            align   [0 bytes]
-            align   [0 bytes]
-						;; size=12 bbWeight=1 PerfScore 2.50
+            align   [4 bytes for IG06]
+            align   [4 bytes]
+            align   [4 bytes]
+            align   [4 bytes]
+						;; size=28 bbWeight=1 PerfScore 2.50
 G_M53559_IG03:
             movz    x0, #0xD1FFAB1E      // data for System.Random:<Shared>k__BackingField
+            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             mov     w1, #1
             mov     w2, #8
             ldr     x3, [x0]
             ldr     x3, [x3, #0x40]
             ldr     x3, [x3, #0x30]
             blr     x3
             sxtw    w22, w0
-						;; size=40 bbWeight=4 PerfScore 62.00
+						;; size=44 bbWeight=4 PerfScore 64.00
 G_M53559_IG04:
             add     x0, x20, #8
             ldapr   x23, [x0]
             cbz     x23, G_M53559_IG17
 						;; size=12 bbWeight=8 PerfScore 36.00
 G_M53559_IG05:
             mov     x1, x23
             mov     w24, #1
             b       G_M53559_IG07
 						;; size=12 bbWeight=4 PerfScore 8.00
 G_M53559_IG06:
             mov     x1, x2
             add     w24, w24, #1
 						;; size=8 bbWeight=8 PerfScore 8.00
 G_M53559_IG07:
             cmp     w24, w19
             bge     G_M53559_IG09
 						;; size=8 bbWeight=32 PerfScore 48.00
 G_M53559_IG08:
             ldr     x2, [x1, #0x08]
             cbnz    x2, G_M53559_IG06
 						;; size=8 bbWeight=16 PerfScore 64.00
 G_M53559_IG09:
             ldrsb   wzr, [x20]
             ldr     x2, [x1, #0x08]
             mov     x1, x2
             mov     x2, x23
             bl      System.Threading.Interlocked:CompareExchangeObject(byref,System.Object,System.Object):System.Object
             cmp     x0, x23
             beq     G_M53559_IG14
             cmp     w22, #0
             ble     G_M53559_IG12
 						;; size=36 bbWeight=4 PerfScore 44.00
 G_M53559_IG10:
             sxtw    w23, w22
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M53559_IG11:
             add     x0, fp, #24	// [V03 loc0]
             movn    w1, #0
             movz    x2, #0xD1FFAB1E      // code for System.Threading.SpinWait:SpinOnceCore(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             sub     w23, w23, #1
             cbnz    w23, G_M53559_IG11
 						;; size=36 bbWeight=16 PerfScore 128.00
 G_M53559_IG12:
             ldr     w0, [fp, #0x18]	// [V24 tmp15]
             cmp     w0, #10
             blt     G_M53559_IG13
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbnz    w0, #0, G_M53559_IG03
             b       G_M53559_IG20
 						;; size=36 bbWeight=4 PerfScore 40.00
 G_M53559_IG13:
             lsl     w22, w22, #1
             b       G_M53559_IG04
 						;; size=8 bbWeight=4 PerfScore 8.00
 G_M53559_IG14:
             cmp     w19, #1
             bne     G_M53559_IG15
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M53559_IG15
             ldr     w19, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x20, #0x80]
             ldr     w2, [x20, #0x98]
             mov     x0, x20
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M53559_IG15
             mov     x0, x20
             mov     w2, w19
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=112 bbWeight=0.50 PerfScore 16.50
+						;; size=116 bbWeight=0.50 PerfScore 16.75
 G_M53559_IG15:
             mov     x14, x21
             mov     x15, x23
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             mov     w0, w24
 						;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M53559_IG16:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M53559_IG17:
             cmp     w19, #1
             bne     G_M53559_IG18
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M53559_IG18
             mov     x19, x20
             ldr     w20, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x19, #0x80]
             ldr     w2, [x19, #0x98]
             mov     x0, x19
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M53559_IG18
             mov     x0, x19
             mov     w2, w20
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=116 bbWeight=0.50 PerfScore 16.75
+						;; size=120 bbWeight=0.50 PerfScore 17.00
 G_M53559_IG18:
             str     xzr, [x21]
             mov     w0, wzr
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M53559_IG19:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M53559_IG20:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M53559_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 564, prolog size 32, PerfScore 495.25, instruction count 145, allocated bytes for code 564 (MethodHash=252f2ec8) for method System.Collections.Concurrent.ConcurrentStack`1[long]:TryPopCore(int,byref):int:this (FullOpts)
+; Total bytes of code 592, prolog size 32, PerfScore 497.75, instruction count 148, allocated bytes for code 592 (MethodHash=252f2ec8) for method System.Collections.Concurrent.ConcurrentStack`1[long]:TryPopCore(int,byref):int:this (FullOpts)
 ; ============================================================
28 (4.96 % of base) - System.Collections.Concurrent.ConcurrentStack`1[short]:TryPopCore(int,byref):int:this
 ; Assembly listing for method System.Collections.Concurrent.ConcurrentStack`1[short]:TryPopCore(int,byref):int: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; 12 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T10] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Collections.Concurrent.ConcurrentStack`1[short]>
 ;  V01 arg1         [V01,T03] (  5, 35   )     int  ->  x19         single-def
 ;  V02 arg2         [V02,T15] (  4,  3   )   byref  ->  x21         single-def
 ;  V03 loc0         [V03    ] (  5, 22   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Threading.SpinWait>
 ;  V04 loc1         [V04,T06] (  6, 28.50)     ref  ->  x23         class-hnd exact <System.Collections.Concurrent.ConcurrentStack`1+Node[short]>
 ;  V05 loc2         [V05,T04] (  4, 32   )     ref  ->   x1         class-hnd <System.Collections.Concurrent.ConcurrentStack`1+Node[short]>
 ;  V06 loc3         [V06,T09] (  6, 18   )     int  ->  x22        
 ;  V07 loc4         [V07,T00] (  5, 52.50)     int  ->  x24        
 ;* V08 loc5         [V08,T16] (  0,  0   )     int  ->  zero-ref   
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T13] (  5,  5   )     ref  ->  x20         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V11 tmp2         [V11,T14] (  5,  5   )     ref  ->  x19         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;* V12 tmp3         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V13 tmp4         [V13,T18] (  2,  2   )     int  ->  x20         "Inlining Arg"
 ;* V14 tmp5         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V15 tmp6         [V15,T11] (  2, 16   )   byref  ->   x0         "Inlining Arg"
 ;  V16 tmp7         [V16,T12] (  2, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Collections.Concurrent.ConcurrentStack`1+Node[short]>
 ;* V17 tmp8         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V18 tmp9         [V18,T19] (  2,  2   )     int  ->  x19         "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V20 tmp11        [V20,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp12        [V21    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V22 tmp13        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V24 tmp15        [V24    ] (  5, 22   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V26 tmp17        [V26,T07] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V27 cse0         [V27,T20] (  3,  1.50)     int  ->   x1         "CSE #05: moderate"
 ;  V28 cse1         [V28,T21] (  3,  1.50)     int  ->   x1         "CSE #06: moderate"
 ;  V29 cse2         [V29,T17] (  6,  3   )     ref  ->  x20         multi-def "CSE #04: moderate"
 ;  V30 cse3         [V30,T02] (  5, 48   )     ref  ->   x2         multi-def "CSE #01: aggressive"
 ;  V31 cse4         [V31,T08] (  3, 20   )   byref  ->   x0         "CSE #02: aggressive"
 ;  V32 rat0         [V32,T01] (  4, 49   )     int  ->  x23         "Trip count IV"
 ;
 ; Lcl frame size = 16
 
 G_M18927_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             mov     fp, sp
             mov     x20, x0
             mov     w19, w1
             mov     x21, x2
 						;; size=32 bbWeight=1 PerfScore 6.00
 G_M18927_IG02:
             str     wzr, [fp, #0x18]	// [V03 loc0]
             mov     w22, #1
             b       G_M18927_IG04
-            align   [0 bytes for IG06]
-            align   [0 bytes]
-            align   [0 bytes]
-            align   [0 bytes]
-						;; size=12 bbWeight=1 PerfScore 2.50
+            align   [4 bytes for IG06]
+            align   [4 bytes]
+            align   [4 bytes]
+            align   [4 bytes]
+						;; size=28 bbWeight=1 PerfScore 2.50
 G_M18927_IG03:
             movz    x0, #0xD1FFAB1E      // data for System.Random:<Shared>k__BackingField
+            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             mov     w1, #1
             mov     w2, #8
             ldr     x3, [x0]
             ldr     x3, [x3, #0x40]
             ldr     x3, [x3, #0x30]
             blr     x3
             sxtw    w22, w0
-						;; size=40 bbWeight=4 PerfScore 62.00
+						;; size=44 bbWeight=4 PerfScore 64.00
 G_M18927_IG04:
             add     x0, x20, #8
             ldapr   x23, [x0]
             cbz     x23, G_M18927_IG17
 						;; size=12 bbWeight=8 PerfScore 36.00
 G_M18927_IG05:
             mov     x1, x23
             mov     w24, #1
             b       G_M18927_IG07
 						;; size=12 bbWeight=4 PerfScore 8.00
 G_M18927_IG06:
             mov     x1, x2
             add     w24, w24, #1
 						;; size=8 bbWeight=8 PerfScore 8.00
 G_M18927_IG07:
             cmp     w24, w19
             bge     G_M18927_IG09
 						;; size=8 bbWeight=32 PerfScore 48.00
 G_M18927_IG08:
             ldr     x2, [x1, #0x08]
             cbnz    x2, G_M18927_IG06
 						;; size=8 bbWeight=16 PerfScore 64.00
 G_M18927_IG09:
             ldrsb   wzr, [x20]
             ldr     x2, [x1, #0x08]
             mov     x1, x2
             mov     x2, x23
             bl      System.Threading.Interlocked:CompareExchangeObject(byref,System.Object,System.Object):System.Object
             cmp     x0, x23
             beq     G_M18927_IG14
             cmp     w22, #0
             ble     G_M18927_IG12
 						;; size=36 bbWeight=4 PerfScore 44.00
 G_M18927_IG10:
             sxtw    w23, w22
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M18927_IG11:
             add     x0, fp, #24	// [V03 loc0]
             movn    w1, #0
             movz    x2, #0xD1FFAB1E      // code for System.Threading.SpinWait:SpinOnceCore(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             sub     w23, w23, #1
             cbnz    w23, G_M18927_IG11
 						;; size=36 bbWeight=16 PerfScore 128.00
 G_M18927_IG12:
             ldr     w0, [fp, #0x18]	// [V24 tmp15]
             cmp     w0, #10
             blt     G_M18927_IG13
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbnz    w0, #0, G_M18927_IG03
             b       G_M18927_IG20
 						;; size=36 bbWeight=4 PerfScore 40.00
 G_M18927_IG13:
             lsl     w22, w22, #1
             b       G_M18927_IG04
 						;; size=8 bbWeight=4 PerfScore 8.00
 G_M18927_IG14:
             cmp     w19, #1
             bne     G_M18927_IG15
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M18927_IG15
             ldr     w19, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x20, #0x80]
             ldr     w2, [x20, #0x98]
             mov     x0, x20
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M18927_IG15
             mov     x0, x20
             mov     w2, w19
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=112 bbWeight=0.50 PerfScore 16.50
+						;; size=116 bbWeight=0.50 PerfScore 16.75
 G_M18927_IG15:
             mov     x14, x21
             mov     x15, x23
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             mov     w0, w24
 						;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M18927_IG16:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M18927_IG17:
             cmp     w19, #1
             bne     G_M18927_IG18
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M18927_IG18
             mov     x19, x20
             ldr     w20, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x19, #0x80]
             ldr     w2, [x19, #0x98]
             mov     x0, x19
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M18927_IG18
             mov     x0, x19
             mov     w2, w20
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=116 bbWeight=0.50 PerfScore 16.75
+						;; size=120 bbWeight=0.50 PerfScore 17.00
 G_M18927_IG18:
             str     xzr, [x21]
             mov     w0, wzr
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M18927_IG19:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M18927_IG20:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M18927_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 564, prolog size 32, PerfScore 495.25, instruction count 145, allocated bytes for code 564 (MethodHash=3a4ab610) for method System.Collections.Concurrent.ConcurrentStack`1[short]:TryPopCore(int,byref):int:this (FullOpts)
+; Total bytes of code 592, prolog size 32, PerfScore 497.75, instruction count 148, allocated bytes for code 592 (MethodHash=3a4ab610) for method System.Collections.Concurrent.ConcurrentStack`1[short]:TryPopCore(int,byref):int:this (FullOpts)
 ; ============================================================
28 (4.96 % of base) - System.Collections.Concurrent.ConcurrentStack`1[System.Nullable`1[int]]:TryPopCore(int,byref):int:this
 ; Assembly listing for method System.Collections.Concurrent.ConcurrentStack`1[System.Nullable`1[int]]:TryPopCore(int,byref):int: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; 12 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T10] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Collections.Concurrent.ConcurrentStack`1[System.Nullable`1[int]]>
 ;  V01 arg1         [V01,T03] (  5, 35   )     int  ->  x19         single-def
 ;  V02 arg2         [V02,T15] (  4,  3   )   byref  ->  x21         single-def
 ;  V03 loc0         [V03    ] (  5, 22   )  struct ( 8) [fp+0x18]  do-not-enreg[XS] addr-exposed ld-addr-op <System.Threading.SpinWait>
 ;  V04 loc1         [V04,T06] (  6, 28.50)     ref  ->  x23         class-hnd exact <System.Collections.Concurrent.ConcurrentStack`1+Node[System.Nullable`1[int]]>
 ;  V05 loc2         [V05,T04] (  4, 32   )     ref  ->   x1         class-hnd <System.Collections.Concurrent.ConcurrentStack`1+Node[System.Nullable`1[int]]>
 ;  V06 loc3         [V06,T09] (  6, 18   )     int  ->  x22        
 ;  V07 loc4         [V07,T00] (  5, 52.50)     int  ->  x24        
 ;* V08 loc5         [V08,T16] (  0,  0   )     int  ->  zero-ref   
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V10 tmp1         [V10,T13] (  5,  5   )     ref  ->  x20         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V11 tmp2         [V11,T14] (  5,  5   )     ref  ->  x19         class-hnd exact "impAppendStmt" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;* V12 tmp3         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V13 tmp4         [V13,T18] (  2,  2   )     int  ->  x20         "Inlining Arg"
 ;* V14 tmp5         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V15 tmp6         [V15,T11] (  2, 16   )   byref  ->   x0         "Inlining Arg"
 ;  V16 tmp7         [V16,T12] (  2, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Collections.Concurrent.ConcurrentStack`1+Node[System.Nullable`1[int]]>
 ;* V17 tmp8         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Concurrent.CDSCollectionETWBCLProvider>
 ;  V18 tmp9         [V18,T19] (  2,  2   )     int  ->  x19         "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V20 tmp11        [V20,T05] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp12        [V21    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V22 tmp13        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V24 tmp15        [V24    ] (  5, 22   )     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V03._count (fldOffset=0x0)" P-DEP
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V26 tmp17        [V26,T07] (  3, 24   )     ref  ->   x0         "argument with side effect"
 ;  V27 cse0         [V27,T20] (  3,  1.50)     int  ->   x1         "CSE #05: moderate"
 ;  V28 cse1         [V28,T21] (  3,  1.50)     int  ->   x1         "CSE #06: moderate"
 ;  V29 cse2         [V29,T17] (  6,  3   )     ref  ->  x20         multi-def "CSE #04: moderate"
 ;  V30 cse3         [V30,T02] (  5, 48   )     ref  ->   x2         multi-def "CSE #01: aggressive"
 ;  V31 cse4         [V31,T08] (  3, 20   )   byref  ->   x0         "CSE #02: aggressive"
 ;  V32 rat0         [V32,T01] (  4, 49   )     int  ->  x23         "Trip count IV"
 ;
 ; Lcl frame size = 16
 
 G_M14467_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             mov     fp, sp
             mov     x20, x0
             mov     w19, w1
             mov     x21, x2
 						;; size=32 bbWeight=1 PerfScore 6.00
 G_M14467_IG02:
             str     wzr, [fp, #0x18]	// [V03 loc0]
             mov     w22, #1
             b       G_M14467_IG04
-            align   [0 bytes for IG06]
-            align   [0 bytes]
-            align   [0 bytes]
-            align   [0 bytes]
-						;; size=12 bbWeight=1 PerfScore 2.50
+            align   [4 bytes for IG06]
+            align   [4 bytes]
+            align   [4 bytes]
+            align   [4 bytes]
+						;; size=28 bbWeight=1 PerfScore 2.50
 G_M14467_IG03:
             movz    x0, #0xD1FFAB1E      // data for System.Random:<Shared>k__BackingField
+            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             mov     w1, #1
             mov     w2, #8
             ldr     x3, [x0]
             ldr     x3, [x3, #0x40]
             ldr     x3, [x3, #0x30]
             blr     x3
             sxtw    w22, w0
-						;; size=40 bbWeight=4 PerfScore 62.00
+						;; size=44 bbWeight=4 PerfScore 64.00
 G_M14467_IG04:
             add     x0, x20, #8
             ldapr   x23, [x0]
             cbz     x23, G_M14467_IG17
 						;; size=12 bbWeight=8 PerfScore 36.00
 G_M14467_IG05:
             mov     x1, x23
             mov     w24, #1
             b       G_M14467_IG07
 						;; size=12 bbWeight=4 PerfScore 8.00
 G_M14467_IG06:
             mov     x1, x2
             add     w24, w24, #1
 						;; size=8 bbWeight=8 PerfScore 8.00
 G_M14467_IG07:
             cmp     w24, w19
             bge     G_M14467_IG09
 						;; size=8 bbWeight=32 PerfScore 48.00
 G_M14467_IG08:
             ldr     x2, [x1, #0x08]
             cbnz    x2, G_M14467_IG06
 						;; size=8 bbWeight=16 PerfScore 64.00
 G_M14467_IG09:
             ldrsb   wzr, [x20]
             ldr     x2, [x1, #0x08]
             mov     x1, x2
             mov     x2, x23
             bl      System.Threading.Interlocked:CompareExchangeObject(byref,System.Object,System.Object):System.Object
             cmp     x0, x23
             beq     G_M14467_IG14
             cmp     w22, #0
             ble     G_M14467_IG12
 						;; size=36 bbWeight=4 PerfScore 44.00
 G_M14467_IG10:
             sxtw    w23, w22
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M14467_IG11:
             add     x0, fp, #24	// [V03 loc0]
             movn    w1, #0
             movz    x2, #0xD1FFAB1E      // code for System.Threading.SpinWait:SpinOnceCore(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             sub     w23, w23, #1
             cbnz    w23, G_M14467_IG11
 						;; size=36 bbWeight=16 PerfScore 128.00
 G_M14467_IG12:
             ldr     w0, [fp, #0x18]	// [V24 tmp15]
             cmp     w0, #10
             blt     G_M14467_IG13
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbnz    w0, #0, G_M14467_IG03
             b       G_M14467_IG20
 						;; size=36 bbWeight=4 PerfScore 40.00
 G_M14467_IG13:
             lsl     w22, w22, #1
             b       G_M14467_IG04
 						;; size=8 bbWeight=4 PerfScore 8.00
 G_M14467_IG14:
             cmp     w19, #1
             bne     G_M14467_IG15
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M14467_IG15
             ldr     w19, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x20, #0x80]
             ldr     w2, [x20, #0x98]
             mov     x0, x20
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M14467_IG15
             mov     x0, x20
             mov     w2, w19
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=112 bbWeight=0.50 PerfScore 16.50
+						;; size=116 bbWeight=0.50 PerfScore 16.75
 G_M14467_IG15:
             mov     x14, x21
             mov     x15, x23
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             mov     w0, w24
 						;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M14467_IG16:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M14467_IG17:
             cmp     w19, #1
             bne     G_M14467_IG18
             movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x20, [x1]
             ldrb    w1, [x20, #0x9D]
             cbz     w1, G_M14467_IG18
             mov     x19, x20
             ldr     w20, [fp, #0x18]	// [V24 tmp15]
             ldr     x3, [x19, #0x80]
             ldr     w2, [x19, #0x98]
             mov     x0, x19
             mov     w4, #3
             movn    x5, #0
             mov     w6, wzr
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             cbz     w0, G_M14467_IG18
             mov     x0, x19
             mov     w2, w20
             mov     w1, #2
             movz    x3, #0xD1FFAB1E      // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=116 bbWeight=0.50 PerfScore 16.75
+						;; size=120 bbWeight=0.50 PerfScore 17.00
 G_M14467_IG18:
             str     xzr, [x21]
             mov     w0, wzr
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M14467_IG19:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M14467_IG20:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M14467_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 564, prolog size 32, PerfScore 495.25, instruction count 145, allocated bytes for code 564 (MethodHash=3ee2c77c) for method System.Collections.Concurrent.ConcurrentStack`1[System.Nullable`1[int]]:TryPopCore(int,byref):int:this (FullOpts)
+; Total bytes of code 592, prolog size 32, PerfScore 497.75, instruction count 148, allocated bytes for code 592 (MethodHash=3ee2c77c) for method System.Collections.Concurrent.ConcurrentStack`1[System.Nullable`1[int]]:TryPopCore(int,byref):int:this (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/f65261c9b53a5b7c595e4ac0edba4f97

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 16, 2024

Top method improvements

-24 (-3.41 % of base) - System.Net.NameResolutionMetrics:.cctor()
 ; Assembly listing for method System.Net.NameResolutionMetrics:.cctor() (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; 13 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 loc0         [V00    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.Diagnostics.Metrics.InstrumentAdvice`1[double]>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  5, 10   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Metrics.Meter>
-;  V03 tmp2         [V03,T05] (  3,  6   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Metrics.InstrumentAdvice`1[double]>
-;  V04 tmp3         [V04,T02] (  4,  8   )     ref  ->  x20         class-hnd single-def "impAppendStmt" <System.Diagnostics.Metrics.Meter>
-;  V05 tmp4         [V05,T06] (  3,  6   )     ref  ->  x23         class-hnd exact single-def "dup spill" <double[]>
+;  V02 tmp1         [V02,T01] (  5, 10   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Metrics.Meter>
+;  V03 tmp2         [V03,T05] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Metrics.InstrumentAdvice`1[double]>
+;  V04 tmp3         [V04,T02] (  4,  8   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <System.Diagnostics.Metrics.Meter>
+;  V05 tmp4         [V05,T06] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "dup spill" <double[]>
 ;  V06 tmp5         [V06,T07] (  3,  6   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <<>z__ReadOnlyArray`1[double]>
 ;  V07 tmp6         [V07,T08] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]>
-;  V08 tmp7         [V08,T09] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]]>
+;  V08 tmp7         [V08,T09] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]]>
 ;* V09 tmp8         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Diagnostics.Metrics.Histogram`1[double]>
 ;* V10 tmp9         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Diagnostics.Metrics.Meter+<>c__DisplayClass39_0`1[double]>
-;  V11 tmp10        [V11,T01] (  9,  9   )     ref  ->  x23         class-hnd exact single-def "Inline stloc first use temp" <System.Diagnostics.Metrics.Meter+<>c__DisplayClass39_0`1[double]>
+;  V11 tmp10        [V11,T00] ( 12, 12   )     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <System.Diagnostics.Metrics.Meter+<>c__DisplayClass39_0`1[double]>
 ;  V12 tmp11        [V12,T03] (  4,  8   )     ref  ->   x6         class-hnd exact single-def "NewObj constructor temp" <System.Func`1[System.Diagnostics.Metrics.Instrument]>
 ;* V13 tmp12        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
-;  V14 tmp13        [V14,T12] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "impAppendStmt" <System.String>
-;  V15 tmp14        [V15,T13] (  2,  4   )     ref  ->   x3         class-hnd exact single-def "impAppendStmt" <System.String>
-;  V16 tmp15        [V16,T14] (  2,  4   )     ref  ->   x4         class-hnd exact single-def "impAppendStmt" <System.String>
-;  V17 tmp16        [V17,T15] (  2,  4   )     ref  ->   x5         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]>
-;  V18 tmp17        [V18,T11] (  3,  4   )     ref  ->   x0         single-def "argument with side effect"
-;  V19 cse0         [V19,T10] (  5,  5   )    long  ->  x21         "CSE #02: aggressive"
-;  V20 cse1         [V20,T22] (  3,  2   )    long  ->  x21         "CSE #01: aggressive"
-;  V21 cse2         [V21,T19] (  3,  3   )    long  ->  x19         "CSE #03: aggressive"
-;  V22 cse3         [V22,T20] (  3,  3   )    long  ->  x22         "CSE #04: aggressive"
-;  V23 cse4         [V23,T21] (  3,  3   )    long  ->  x22         "CSE #05: aggressive"
-;  V24 cse5         [V24,T16] (  3,  3   )     ref  ->  x24         "CSE #06: aggressive"
-;  V25 cse6         [V25,T17] (  3,  3   )     ref  ->  x25         "CSE #07: aggressive"
-;  V26 cse7         [V26,T18] (  3,  3   )     ref  ->  x26         "CSE #08: aggressive"
-;  V27 rat0         [V27,T04] (  4,  7   )     ref  ->  x15         "replacement local"
-;  V28 rat1         [V28,T23] (  3,  2   )    long  ->   x2         "CSE for expectedClsNode"
+;  V14 tmp13        [V14,T13] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V15 tmp14        [V15,T14] (  2,  4   )     ref  ->   x3         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V16 tmp15        [V16,T15] (  2,  4   )     ref  ->   x4         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V17 tmp16        [V17,T16] (  2,  4   )     ref  ->   x5         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]>
+;  V18 tmp17        [V18,T12] (  3,  4   )     ref  ->   x0         single-def "argument with side effect"
+;  V19 cse0         [V19,T10] (  5,  5   )    long  ->  x23         "CSE #02: aggressive"
+;  V20 cse1         [V20,T17] (  4,  3   )    long  ->  x21         "CSE #01: aggressive"
+;  V21 cse2         [V21,T11] (  4,  4   )    long  ->  x19         "CSE #03: aggressive"
+;  V22 rat0         [V22,T04] (  4,  7   )     ref  ->  x15         "replacement local"
+;  V23 rat1         [V23,T18] (  3,  2   )    long  ->   x2         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M58946_IG01:
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
-            stp     x23, x24, [sp, #0x30]
-            stp     x25, x26, [sp, #0x40]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
             mov     fp, sp
-						;; size=24 bbWeight=1 PerfScore 5.50
+						;; size=20 bbWeight=1 PerfScore 4.50
 G_M58946_IG02:
             movz    x19, #0xD1FFAB1E
             movk    x19, #0xD1FFAB1E LSL #16
             movk    x19, #0xD1FFAB1E LSL #32
-            add     x0, x19, #0xD1FFAB1E
+            mov     x0, x19
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x0, x21
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M58946_IG07
 						;; size=68 bbWeight=1 PerfScore 12.50
 G_M58946_IG03:
-            movz    x21, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]:s_emptyArray
-            movk    x21, #0xD1FFAB1E LSL #16
-            movk    x21, #0xD1FFAB1E LSL #32
-            ldr     x15, [x21]
+            movz    x23, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]:s_emptyArray
+            movk    x23, #0xD1FFAB1E LSL #16
+            movk    x23, #0xD1FFAB1E LSL #32
+            ldr     x15, [x23]
             add     x14, x22, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x20, #8
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x22, x0
+            mov     x21, x0
             mov     w1, wzr
             mov     x2, xzr
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             add     x14, x20, #16
-            mov     x15, x22
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             mov     x2, xzr
             mov     x3, xzr
             mov     x4, xzr
             movz    x5, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.Meter:Initialize(System.String,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
-            sub     x14, x21, #16
+            sub     x14, x23, #16
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x19
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x19, x0
-            ldr     x20, [x21, #-0x10]
+            mov     x20, x0
+            ldr     x21, [x23, #-0x10]
             movz    x0, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.Instrument:ValidateTypeParameter[double]()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-            mov     x0, x22
+            add     x0, x19, #0xD1FFAB1E
             mov     x1, #14
             bl      CORINFO_HELP_NEWARR_1_VC
-            mov     x23, x0
+            mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldp     q16, q17, [x0]
-            stp     q16, q17, [x23, #0x10]
+            stp     q16, q17, [x22, #0x10]
             ldp     q16, q17, [x0, #0x20]
-            stp     q16, q17, [x23, #0x30]
+            stp     q16, q17, [x22, #0x30]
             ldp     q16, q17, [x0, #0x40]
-            stp     q16, q17, [x23, #0x50]
+            stp     q16, q17, [x22, #0x50]
             ldr     q16, [x0, #0x60]
-            str     q16, [x23, #0x70]
-            add     x0, x22, #0xD1FFAB1E
+            str     q16, [x22, #0x70]
+            add     x0, x19, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x19
+            mov     x0, x20
             movz    x2, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.InstrumentAdvice`1[double]:set_HistogramBucketBoundaries(System.Collections.Generic.IReadOnlyList`1[double]):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            ldrsb   wzr, [x20]
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-            mov     x0, x22
+            ldrsb   wzr, [x21]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            add     x14, x23, #8
+            mov     x19, x0
+            add     x14, x19, #8
+            mov     x15, x21
+            bl      CORINFO_HELP_ASSIGN_REF
+            movz    x14, #0xD1FFAB1E
+            movk    x14, #0xD1FFAB1E LSL #16
+            movk    x14, #0xD1FFAB1E LSL #32
+            str     x14, [x19, #0x10]
+            movz    x14, #0xD1FFAB1E
+            movk    x14, #0xD1FFAB1E LSL #16
+            movk    x14, #0xD1FFAB1E LSL #32
+            str     x14, [x19, #0x18]
+            movz    x14, #0xD1FFAB1E
+            movk    x14, #0xD1FFAB1E LSL #16
+            movk    x14, #0xD1FFAB1E LSL #32
+            stp     x14, xzr, [x19, #0x20]
+            add     x14, x19, #48
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            movz    x24, #0xD1FFAB1E
-            movk    x24, #0xD1FFAB1E LSL #16
-            movk    x24, #0xD1FFAB1E LSL #32
-            str     x24, [x23, #0x10]
-            movz    x25, #0xD1FFAB1E
-            movk    x25, #0xD1FFAB1E LSL #16
-            movk    x25, #0xD1FFAB1E LSL #32
-            str     x25, [x23, #0x18]
-            movz    x26, #0xD1FFAB1E
-            movk    x26, #0xD1FFAB1E LSL #16
-            movk    x26, #0xD1FFAB1E LSL #32
-            stp     x26, xzr, [x23, #0x20]
-            add     x14, x23, #48
-            mov     x15, x19
-            bl      CORINFO_HELP_ASSIGN_REF
-            add     x0, x22, #0xD1FFAB1E
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x6, x0
-            mov     x2, x24
-            mov     x3, x25
-            mov     x4, x26
-            ldr     x5, [x23, #0x28]
+            ldp     x2, x3, [x19, #0x10]
+            ldp     x4, x5, [x19, #0x20]
             add     x14, x6, #8
-            mov     x15, x23
+            mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.Meter+<>c__DisplayClass39_0`1[double]:<CreateHistogram>b__0():System.Diagnostics.Metrics.Instrument:this
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             str     x0, [x6, #0x18]
-            mov     x0, x20
+            mov     x0, x21
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.Meter:GetOrCreateInstrument[double](System.Type,System.String,System.String,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Func`1[System.Diagnostics.Metrics.Instrument]):System.Diagnostics.Metrics.Instrument:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             mov     x15, x0
             cbz     x15, G_M58946_IG05
-						;; size=512 bbWeight=1 PerfScore 110.50
+						;; size=496 bbWeight=1 PerfScore 113.00
 G_M58946_IG04:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x14, [x15]
             cmp     x14, x2
             bne     G_M58946_IG08
 						;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M58946_IG05:
-            sub     x14, x21, #8
+            sub     x14, x23, #8
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M58946_IG06:
-            ldp     x25, x26, [sp, #0x40]
-            ldp     x23, x24, [sp, #0x30]
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x50
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             ret     lr
-						;; size=24 bbWeight=1 PerfScore 6.00
+						;; size=20 bbWeight=1 PerfScore 6.00
 G_M58946_IG07:
             mov     x0, x21
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M58946_IG03
 						;; size=12 bbWeight=0 PerfScore 0.00
 G_M58946_IG08:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             brk     #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 704, prolog size 24, PerfScore 139.00, instruction count 176, allocated bytes for code 704 (MethodHash=f77619bd) for method System.Net.NameResolutionMetrics:.cctor() (FullOpts)
+; Total bytes of code 680, prolog size 20, PerfScore 140.50, instruction count 170, allocated bytes for code 680 (MethodHash=f77619bd) for method System.Net.NameResolutionMetrics:.cctor() (FullOpts)
 ; ============================================================
-20 (-2.84 % of base) - System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Action`1[System.Nullable`1[int]]):this
 ; Assembly listing for method System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Action`1[System.Nullable`1[int]]):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; 19 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 14, 14   )     ref  ->  x19         this class-hnd single-def <System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]>
-;  V01 arg1         [V01,T10] (  3,  3   )     int  ->  x22         single-def
-;  V02 arg2         [V02,T11] (  3,  3   )     int  ->  x23         single-def
-;  V03 arg3         [V03,T02] (  4,  4   )   ubyte  ->  x20         single-def
-;  V04 arg4         [V04,T09] (  3,  3   )     ref  ->  x21         class-hnd single-def <System.Action`1[System.Nullable`1[int]]>
+;  V01 arg1         [V01,T11] (  3,  3   )     int  ->  x22         single-def
+;  V02 arg2         [V02,T12] (  3,  3   )     int  ->  x23         single-def
+;  V03 arg3         [V03,T03] (  4,  4   )   ubyte  ->  x20         single-def
+;  V04 arg4         [V04,T10] (  3,  3   )     ref  ->  x21         class-hnd single-def <System.Action`1[System.Nullable`1[int]]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T03] (  3,  6   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Nullable`1[int]]>
-;  V07 tmp2         [V07,T04] (  3,  6   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[System.Nullable`1[int]]]>
-;  V08 tmp3         [V08,T05] (  3,  6   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[System.Nullable`1[int]]]>
+;  V06 tmp1         [V06,T04] (  3,  6   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Nullable`1[int]]>
+;  V07 tmp2         [V07,T05] (  3,  6   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[System.Nullable`1[int]]]>
+;  V08 tmp3         [V08,T06] (  3,  6   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[System.Nullable`1[int]]]>
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V11 tmp6         [V11,T12] (  4,  4   )     int  ->  x20        
-;  V12 tmp7         [V12,T06] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
-;  V13 tmp8         [V13,T07] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.Nullable`1[int]]>
-;  V14 tmp9         [V14,T08] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.Nullable`1[int]]>
-;  V15 tmp10        [V15,T01] (  4,  7   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
+;  V11 tmp6         [V11,T13] (  4,  4   )     int  ->  x20        
+;  V12 tmp7         [V12,T07] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
+;  V13 tmp8         [V13,T08] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.Nullable`1[int]]>
+;  V14 tmp9         [V14,T09] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.Nullable`1[int]]>
+;  V15 tmp10        [V15,T02] (  4,  7   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
 ;* V16 tmp11        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;  V17 tmp12        [V17,T21] (  3,  1.50)     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
-;* V18 tmp13        [V18,T22] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._source (fldOffset=0x0)" P-INDEP
-;  V19 cse0         [V19,T13] (  4,  4   )    long  ->  x25         "CSE #01: aggressive"
-;  V20 cse1         [V20,T14] (  4,  4   )    long  ->  x24         "CSE #02: aggressive"
-;  V21 cse2         [V21,T15] (  4,  4   )    long  ->  x27         "CSE #03: aggressive"
-;  V22 rat0         [V22,T19] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
-;  V23 rat1         [V23,T20] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
-;  V24 rat2         [V24,T18] (  3,  2   )   byref  ->   x1         "TLS field access"
-;  V25 rat3         [V25,T17] (  3,  3   )    long  ->   x0         "TLS access"
-;  V26 rat4         [V26,T16] (  3,  3   )   byref  ->   x1         "ThreadStaticBlockBase access"
+;  V17 tmp12        [V17,T20] (  3,  1.50)     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;* V18 tmp13        [V18,T21] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._source (fldOffset=0x0)" P-INDEP
+;  V19 cse0         [V19,T01] (  7,  7   )    long  ->  x24         "CSE #01: aggressive"
+;  V20 cse1         [V20,T14] (  4,  4   )    long  ->  x25         "CSE #02: aggressive"
+;  V21 rat0         [V21,T18] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
+;  V22 rat1         [V22,T19] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
+;  V23 rat2         [V23,T17] (  3,  2   )   byref  ->   x1         "TLS field access"
+;  V24 rat3         [V24,T16] (  3,  3   )    long  ->   x0         "TLS access"
+;  V25 rat4         [V25,T15] (  3,  3   )   byref  ->   x1         "ThreadStaticBlockBase access"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M43674_IG01:
-            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]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
+            stp     x25, x26, [sp, #0x40]
             mov     fp, sp
             mov     x19, x0
             mov     w22, w1
             mov     w23, w2
             mov     w20, w3
             mov     x21, x4
-						;; size=48 bbWeight=1 PerfScore 9.00
+						;; size=44 bbWeight=1 PerfScore 8.00
 G_M43674_IG02:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M43674_IG10
 						;; size=40 bbWeight=1 PerfScore 8.50
 G_M43674_IG03:
             movz    x25, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[System.Nullable`1[int]]:Value
             movk    x25, #0xD1FFAB1E LSL #16
             movk    x25, #0xD1FFAB1E LSL #32
             ldr     x15, [x25]
             add     x14, x24, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #40
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
             mov     x26, x0
-            movz    x27, #0xD1FFAB1E
-            movk    x27, #0xD1FFAB1E LSL #16
-            movk    x27, #0xD1FFAB1E LSL #32
-            add     x0, x27, #0xD1FFAB1E
+            add     x0, x24, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldapr   w1, [x1]
             tbz     w1, #0, G_M43674_IG11
-						;; size=96 bbWeight=1 PerfScore 19.00
+						;; size=84 bbWeight=1 PerfScore 17.50
 G_M43674_IG04:
             ldr     x15, [x25, #0xD1FFAB1E]
             add     x14, x26, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #48
             mov     x15, x26
             bl      CORINFO_HELP_ASSIGN_REF
             add     x0, x24, #200
             bl      CORINFO_HELP_NEWSFAST
             mov     x26, x0
-            add     x0, x27, #0xD1FFAB1E
+            add     x0, x24, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldapr   w1, [x1]
             tbz     w1, #0, G_M43674_IG12
 						;; size=60 bbWeight=1 PerfScore 14.50
 G_M43674_IG05:
             ldr     x15, [x25, #0xD1FFAB1E]
             add     x14, x26, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #56
             mov     x15, x26
             bl      CORINFO_HELP_ASSIGN_REF
             stp     w23, w22, [x19, #0x58]
             strb    w20, [x19, #0x60]
             add     x14, x19, #24
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     w0, #64
             tst     w20, #255
             csel    w20, w0, wzr, ne
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movn    w0, #68
             tst     w20, w0
             bne     G_M43674_IG14
             tbz     w20, #2, G_M43674_IG08
 						;; size=112 bbWeight=1 PerfScore 21.00
 G_M43674_IG06:
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #9
             ble     G_M43674_IG13
             ldr     x0, [x0, #0xD1FFAB1E]
             ldr     x1, [x0, #0x48]
             cbz     x1, G_M43674_IG13
 						;; size=28 bbWeight=0.50 PerfScore 6.25
 G_M43674_IG07:
             ldr     x23, [x1, #0x10]
             cbz     x23, G_M43674_IG08
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             add     x14, x0, #48
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=44 bbWeight=0.50 PerfScore 6.00
 G_M43674_IG08:
             mov     x0, x22
             mov     x3, xzr
             mov     w4, w20
             mov     x1, xzr
             mov     x2, xzr
             mov     w5, #0xD1FFAB1E
             mov     x6, xzr
             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
             add     x14, x21, #8
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #32
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             mov     x1, x19
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.Nullable`1[int]]:.ctor(System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     x14, x19, #8
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x27
+            add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             mov     x1, x19
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.Nullable`1[int]]:.ctor(System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     x14, x19, #16
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=168 bbWeight=1 PerfScore 33.00
 G_M43674_IG09:
-            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
+            ldp     x25, x26, [sp, #0x40]
+            ldp     x23, x24, [sp, #0x30]
+            ldp     x21, x22, [sp, #0x20]
+            ldp     x19, x20, [sp, #0x10]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-						;; size=28 bbWeight=1 PerfScore 8.00
+						;; size=24 bbWeight=1 PerfScore 6.00
 G_M43674_IG10:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43674_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M43674_IG11:
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43674_IG04
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M43674_IG12:
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M43674_IG05
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M43674_IG13:
             mov     w0, #9
             bl      CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
             mov     x1, x0
             b       G_M43674_IG07
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M43674_IG14:
             mov     w0, #45
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException(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
 
-; Total bytes of code 704, prolog size 28, PerfScore 125.25, instruction count 176, allocated bytes for code 704 (MethodHash=91db5565) for method System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Action`1[System.Nullable`1[int]]):this (FullOpts)
+; Total bytes of code 684, prolog size 24, PerfScore 120.75, instruction count 171, allocated bytes for code 684 (MethodHash=91db5565) for method System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Action`1[System.Nullable`1[int]]):this (FullOpts)
 ; ============================================================
-8 (-2.70 % of base) - Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor()
 ; Assembly listing for method Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (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; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V01 tmp1         [V01,T00] (  5, 10   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.CacheSet`1[System.Runtime.CompilerServices.CallSiteBinder]>
+;  V01 tmp1         [V01,T00] (  5, 10   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.CacheSet`1[System.Runtime.CompilerServices.CallSiteBinder]>
 ;  V02 tmp2         [V02,T01] (  5, 10   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.CacheDict`2[int,System.Func`4[System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[],System.Object]]>
 ;  V03 tmp3         [V03,T02] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.LinkedListNode`1[System.Runtime.CompilerServices.CallSiteBinder]]>
-;  V04 tmp4         [V04,T04] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[System.Runtime.CompilerServices.CallSiteBinder]>
+;  V04 tmp4         [V04,T05] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[System.Runtime.CompilerServices.CallSiteBinder]>
 ;  V05 tmp5         [V05,T03] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[int,Microsoft.VisualBasic.CompilerServices.CacheDict`2+KeyInfo[int,System.Func`4[System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[],System.Object]]]>
-;  V06 tmp6         [V06,T05] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
-;  V07 cse0         [V07,T06] (  3,  3   )    long  ->  x20         "CSE #01: aggressive"
+;  V06 tmp6         [V06,T06] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
+;  V07 cse0         [V07,T04] (  4,  4   )    long  ->  x19         "CSE #01: aggressive"
 ;  V08 cse1         [V08,T07] (  3,  3   )    long  ->  x21         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M50570_IG01:
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x18]
             str     x21, [sp, #0x28]
             mov     fp, sp
 						;; size=16 bbWeight=1 PerfScore 3.50
 G_M50570_IG02:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            movz    x19, #0xD1FFAB1E
+            movk    x19, #0xD1FFAB1E LSL #16
+            movk    x19, #0xD1FFAB1E LSL #32
+            mov     x0, x19
             bl      CORINFO_HELP_NEWSFAST
-            mov     x19, x0
-            movz    x20, #0xD1FFAB1E
-            movk    x20, #0xD1FFAB1E LSL #16
-            movk    x20, #0xD1FFAB1E LSL #32
-            add     x0, x20, #0xD1FFAB1E
+            mov     x20, x0
+            add     x0, x19, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             mov     w1, wzr
             mov     x2, xzr
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            add     x14, x19, #8
+            add     x14, x20, #8
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
-            add     x14, x19, #16
+            add     x14, x20, #16
             bl      CORINFO_HELP_ASSIGN_REF
             mov     w14, #64
-            str     w14, [x19, #0x18]
+            str     w14, [x20, #0x18]
             movz    x21, #0xD1FFAB1E      // data for Microsoft.VisualBasic.CompilerServices.IDOUtils:s_binderCache
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x14, x21
-            mov     x15, x19
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x20
+            add     x0, x19, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             mov     w1, wzr
             mov     x2, xzr
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[int,Microsoft.VisualBasic.CompilerServices.CacheDict`2+KeyInfo[int,System.__Canon]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             add     x14, x19, #8
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
             add     x14, x19, #16
             bl      CORINFO_HELP_ASSIGN_REF
             mov     w14, #16
             str     w14, [x19, #0x18]
             add     x14, x21, #8
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=264 bbWeight=1 PerfScore 46.00
+						;; size=256 bbWeight=1 PerfScore 45.00
 G_M50570_IG03:
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=16 bbWeight=1 PerfScore 5.00
 
-; Total bytes of code 296, prolog size 16, PerfScore 54.50, instruction count 74, allocated bytes for code 296 (MethodHash=236b3a75) for method Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts)
+; Total bytes of code 288, prolog size 16, PerfScore 53.50, instruction count 72, allocated bytes for code 288 (MethodHash=236b3a75) for method Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts)
 ; ============================================================
-8 (-3.08 % of base) - System.ComponentModel.Composition.Registration.PartBuilder:.cctor()
 ; Assembly listing for method System.ComponentModel.Composition.Registration.PartBuilder:.cctor() (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; 5 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V01 tmp1         [V01,T00] (  8, 14   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Attribute]>
+;  V01 tmp1         [V01,T00] (  8, 14   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Attribute]>
 ;  V02 tmp2         [V02,T02] (  3,  4   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <System.ComponentModel.Composition.ImportingConstructorAttribute>
 ;  V03 tmp3         [V03,T05] (  3,  2.50)     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <System.Attribute[]>
 ;  V04 tmp4         [V04,T03] (  4,  3   )     int  ->  x22         "Inline stloc first use temp"
 ;  V05 cse0         [V05,T04] (  3,  3   )     ref  ->  x21         "CSE #02: aggressive"
-;  V06 cse1         [V06,T01] (  4,  4   )    long  ->  x20         "CSE #03: aggressive"
+;  V06 cse1         [V06,T06] (  3,  2   )    long  ->  x19         "CSE #01: aggressive"
+;  V07 cse2         [V07,T01] (  4,  4   )    long  ->  x19         "CSE #03: aggressive"
 ;
 ; Lcl frame size = 0
 
 G_M24732_IG01:
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
             stp     x21, x22, [sp, #0x20]
             mov     fp, sp
 						;; size=16 bbWeight=1 PerfScore 3.50
 G_M24732_IG02:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            movz    x19, #0xD1FFAB1E
+            movk    x19, #0xD1FFAB1E LSL #16
+            movk    x19, #0xD1FFAB1E LSL #32
+            mov     x0, x19
             bl      CORINFO_HELP_NEWSFAST
-            mov     x19, x0
+            mov     x20, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M24732_IG08
-						;; size=40 bbWeight=1 PerfScore 8.50
+						;; size=44 bbWeight=1 PerfScore 9.00
 G_M24732_IG03:
-            movz    x20, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[System.Attribute]:s_emptyArray
-            movk    x20, #0xD1FFAB1E LSL #16
-            movk    x20, #0xD1FFAB1E LSL #32
-            ldr     x21, [x20]
-            add     x14, x19, #8
+            movz    x19, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[System.Attribute]:s_emptyArray
+            movk    x19, #0xD1FFAB1E LSL #32
+            ldr     x21, [x19]
+            add     x14, x20, #8
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x2, x0
-            ldp     w22, w0, [x19, #0x10]
+            ldp     w22, w0, [x20, #0x10]
             add     w0, w0, #1
-            str     w0, [x19, #0x14]
+            str     w0, [x20, #0x14]
             mov     x0, x21
             ldr     w1, [x0, #0x08]
             cmp     w1, w22
             bls     G_M24732_IG05
-						;; size=76 bbWeight=1 PerfScore 19.00
+						;; size=72 bbWeight=1 PerfScore 18.50
 G_M24732_IG04:
             add     w1, w22, #1
-            str     w1, [x19, #0x10]
+            str     w1, [x20, #0x10]
             sxtw    x1, w22
             movz    x3, #0xD1FFAB1E      // code for CORINFO_HELP_ARRADDR_ST
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             b       G_M24732_IG06
 						;; size=36 bbWeight=0.50 PerfScore 4.25
 G_M24732_IG05:
-            mov     x0, x19
+            mov     x0, x20
             mov     x1, x2
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=28 bbWeight=0.50 PerfScore 3.25
 G_M24732_IG06:
-            add     x14, x20, #16
-            mov     x15, x19
+            add     x14, x19, #16
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            str     x0, [x20, #0x18]
+            str     x0, [x19, #0x18]
 						;; size=28 bbWeight=1 PerfScore 4.50
 G_M24732_IG07:
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=16 bbWeight=1 PerfScore 4.00
 G_M24732_IG08:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x0, x19
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M24732_IG03
-						;; size=20 bbWeight=0 PerfScore 0.00
+						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 260, prolog size 16, PerfScore 47.00, instruction count 65, allocated bytes for code 260 (MethodHash=574e9f63) for method System.ComponentModel.Composition.Registration.PartBuilder:.cctor() (FullOpts)
+; Total bytes of code 252, prolog size 16, PerfScore 47.00, instruction count 63, allocated bytes for code 252 (MethodHash=574e9f63) for method System.ComponentModel.Composition.Registration.PartBuilder:.cctor() (FullOpts)
 ; ============================================================
-8 (-6.67 % of base) - System.SR:get_ResourceManager():System.Resources.ResourceManager
 ; Assembly listing for method System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V01 tmp1         [V01,T01] (  2,  4   )     ref  ->   x0         class-hnd single-def "dup spill" <System.Resources.ResourceManager>
 ;  V02 tmp2         [V02,T02] (  4,  3.50)     ref  ->   x0        
 ;  V03 tmp3         [V03,T00] (  4,  4   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Resources.ResourceManager>
 ;
 ; Lcl frame size = 8
 
 G_M50404_IG01:
             stp     fp, lr, [sp, #-0x20]!
             str     x19, [sp, #0x18]
             mov     fp, sp
 						;; size=12 bbWeight=1 PerfScore 2.50
 G_M50404_IG02:
             movz    x0, #0xD1FFAB1E      // data for System.SR:s_resourceManager
-            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             cbnz    x0, G_M50404_IG04
-						;; size=20 bbWeight=1 PerfScore 5.50
+						;; size=16 bbWeight=1 PerfScore 5.00
 G_M50404_IG03:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Resources.ResourceManager:.ctor(System.Type):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             movz    x14, #0xD1FFAB1E      // data for System.SR:s_resourceManager
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x19
-						;; size=76 bbWeight=0.50 PerfScore 6.75
+						;; size=72 bbWeight=0.50 PerfScore 6.50
 G_M50404_IG04:
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 120, prolog size 12, PerfScore 18.75, instruction count 30, allocated bytes for code 120 (MethodHash=91843b1b) for method System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
+; Total bytes of code 112, prolog size 12, PerfScore 18.00, instruction count 28, allocated bytes for code 112 (MethodHash=91843b1b) for method System.SR:get_ResourceManager():System.Resources.ResourceManager (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/5021d0e17e56010aeb395142913c3766

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 16, 2024

@MihaZupan

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

No branches or pull requests

1 participant