MihuBot / runtime-utils

0 stars 0 forks source link

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

Open MihuBot opened 2 weeks ago

MihuBot commented 2 weeks ago

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 commented 2 weeks ago

Top method regressions

28 (4.96 % of base) - System.Collections.Concurrent.ConcurrentStack`1[double]:TryPopCore(int,byref):int:this ```diff ; 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 ; 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 ; V04 loc1 [V04,T06] ( 6, 28.50) ref -> x23 class-hnd exact ; V05 loc2 [V05,T04] ( 4, 32 ) ref -> x1 class-hnd ; 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" ; V11 tmp2 [V11,T14] ( 5, 5 ) ref -> x19 class-hnd exact "impAppendStmt" ;* V12 tmp3 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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" ;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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: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 ```diff ; 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 ; 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 ; V04 loc1 [V04,T06] ( 6, 28.50) ref -> x23 class-hnd exact ; V05 loc2 [V05,T04] ( 4, 32 ) ref -> x1 class-hnd ; 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" ; V11 tmp2 [V11,T14] ( 5, 5 ) ref -> x19 class-hnd exact "impAppendStmt" ;* V12 tmp3 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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" ;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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: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 ```diff ; 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 ; 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 ; V04 loc1 [V04,T06] ( 6, 28.50) ref -> x23 class-hnd exact ; V05 loc2 [V05,T04] ( 4, 32 ) ref -> x1 class-hnd ; 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" ; V11 tmp2 [V11,T14] ( 5, 5 ) ref -> x19 class-hnd exact "impAppendStmt" ;* V12 tmp3 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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" ;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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: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 ```diff ; 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 ; 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 ; V04 loc1 [V04,T06] ( 6, 28.50) ref -> x23 class-hnd exact ; V05 loc2 [V05,T04] ( 4, 32 ) ref -> x1 class-hnd ; 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" ; V11 tmp2 [V11,T14] ( 5, 5 ) ref -> x19 class-hnd exact "impAppendStmt" ;* V12 tmp3 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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" ;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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: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 ```diff ; 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 ; 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 ; V04 loc1 [V04,T06] ( 6, 28.50) ref -> x23 class-hnd exact ; V05 loc2 [V05,T04] ( 4, 32 ) ref -> x1 class-hnd ; 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" ; V11 tmp2 [V11,T14] ( 5, 5 ) ref -> x19 class-hnd exact "impAppendStmt" ;* V12 tmp3 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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" ;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; 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: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 commented 2 weeks ago

Top method improvements

-24 (-3.41 % of base) - System.Net.NameResolutionMetrics:.cctor() ```diff ; 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 ;# 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" -; V03 tmp2 [V03,T05] ( 3, 6 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" -; V04 tmp3 [V04,T02] ( 4, 8 ) ref -> x20 class-hnd single-def "impAppendStmt" -; V05 tmp4 [V05,T06] ( 3, 6 ) ref -> x23 class-hnd exact single-def "dup spill" +; V02 tmp1 [V02,T01] ( 5, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V03 tmp2 [V03,T05] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V04 tmp3 [V04,T02] ( 4, 8 ) ref -> x21 class-hnd single-def "impAppendStmt" +; V05 tmp4 [V05,T06] ( 3, 6 ) ref -> x22 class-hnd exact single-def "dup spill" ; 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" -; V08 tmp7 [V08,T09] ( 3, 6 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" +; V08 tmp7 [V08,T09] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" ;* V09 tmp8 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" ;* V10 tmp9 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" c__DisplayClass39_0`1[double]> -; V11 tmp10 [V11,T01] ( 9, 9 ) ref -> x23 class-hnd exact single-def "Inline stloc first use temp" c__DisplayClass39_0`1[double]> +; V11 tmp10 [V11,T00] ( 12, 12 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" c__DisplayClass39_0`1[double]> ; V12 tmp11 [V12,T03] ( 4, 8 ) ref -> x6 class-hnd exact single-def "NewObj constructor temp" ;* V13 tmp12 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" -; V14 tmp13 [V14,T12] ( 2, 4 ) ref -> x2 class-hnd exact single-def "impAppendStmt" -; V15 tmp14 [V15,T13] ( 2, 4 ) ref -> x3 class-hnd exact single-def "impAppendStmt" -; V16 tmp15 [V16,T14] ( 2, 4 ) ref -> x4 class-hnd exact single-def "impAppendStmt" -; V17 tmp16 [V17,T15] ( 2, 4 ) ref -> x5 class-hnd single-def "impAppendStmt" -; 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" +; V15 tmp14 [V15,T14] ( 2, 4 ) ref -> x3 class-hnd exact single-def "impAppendStmt" +; V16 tmp15 [V16,T15] ( 2, 4 ) ref -> x4 class-hnd exact single-def "impAppendStmt" +; V17 tmp16 [V17,T16] ( 2, 4 ) ref -> x5 class-hnd single-def "impAppendStmt" +; 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]: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 ```diff ; 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 -; 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 +; 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 ;# 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" -; V07 tmp2 [V07,T04] ( 3, 6 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" -; V08 tmp3 [V08,T05] ( 3, 6 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" +; V06 tmp1 [V06,T04] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" +; V07 tmp2 [V07,T05] ( 3, 6 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" +; V08 tmp3 [V08,T06] ( 3, 6 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" ;* 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" -; V13 tmp8 [V13,T07] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" -; V14 tmp9 [V14,T08] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" -; V15 tmp10 [V15,T01] ( 4, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" +; V11 tmp6 [V11,T13] ( 4, 4 ) int -> x20 +; V12 tmp7 [V12,T07] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" +; V13 tmp8 [V13,T08] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V14 tmp9 [V14,T09] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V15 tmp10 [V15,T02] ( 4, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" ;* V16 tmp11 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" -; V17 tmp12 [V17,T21] ( 3, 1.50) ref -> x23 class-hnd single-def "Inline stloc first use temp" -;* 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" +;* 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() ```diff ; 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" +; V01 tmp1 [V01,T00] ( 5, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" ; V02 tmp2 [V02,T01] ( 5, 10 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" ; V03 tmp3 [V03,T02] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" -; V04 tmp4 [V04,T04] ( 2, 4 ) ref -> x15 class-hnd exact single-def "NewObj constructor temp" +; V04 tmp4 [V04,T05] ( 2, 4 ) ref -> x15 class-hnd exact single-def "NewObj constructor temp" ; V05 tmp5 [V05,T03] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" -; V06 tmp6 [V06,T05] ( 2, 4 ) ref -> x15 class-hnd exact single-def "NewObj constructor temp" -; 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" +; 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() ```diff ; 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" +; V01 tmp1 [V01,T00] ( 8, 14 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" ; V02 tmp2 [V02,T02] ( 3, 4 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" ; V03 tmp3 [V03,T05] ( 3, 2.50) ref -> x0 class-hnd single-def "Inline stloc first use temp" ; 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 ```diff ; 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" ; 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" ; ; 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 commented 2 weeks ago

@MihaZupan