MihuBot / runtime-utils

0 stars 0 forks source link

[MichalPetryka] [X64] Move GetMethodTable and IsReference to JIT #127

Open MihuBot opened 1 year ago

MihuBot commented 1 year ago

Build completed in 1 hour 37 minutes. https://github.com/dotnet/runtime/pull/88860

CoreLib diffs

Diffs ``` Found 2 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 7038621 Total bytes of diff: 7039061 Total bytes of delta: 440 (0.01 % of base) Total relative delta: 0.16 diff is a regression. relative diff is a regression. Top file regressions (bytes): 440 : System.Private.CoreLib.dasm (0.01 % of base) 1 total files with Code Size differences (0 improved, 1 regressed), 0 unchanged. Top method regressions (bytes): 143 (12.46 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatInt128[ubyte](System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) 121 (20.86 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this (FullOpts) 120 (4.16 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:GetSerializedString(System.TimeZoneInfo):System.String (FullOpts) 94 (24.42 % of base) : System.Private.CoreLib.dasm - System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 79 (13.91 % of base) : System.Private.CoreLib.dasm - System.UInt128:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 79 (13.86 % of base) : System.Private.CoreLib.dasm - System.UInt128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 74 (9.31 % of base) : System.Private.CoreLib.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts) 70 (6.07 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:EnumerateFilesRecursively(System.String,System.Predicate`1[System.String]) (FullOpts) 64 (3.56 % of base) : System.Private.CoreLib.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):bool (FullOpts) 60 (8.88 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Globalization.CompareInfo,int):System.String (FullOpts) 54 (9.09 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,bool,bool):System.Type (FullOpts) 54 (9.14 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,bool):System.Type (FullOpts) 50 (34.01 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:System.Collections.IList.Remove(System.Object):this (FullOpts) 50 (10.00 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeAssemblyBuilder:GetType(System.String,bool,bool):System.Type:this (FullOpts) 50 (9.03 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:GetType(System.String,System.Reflection.Assembly,bool,bool):System.Type (FullOpts) 47 (52.22 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:Remove(System.Numerics.Vector`1[float]):bool:this (FullOpts) 42 (7.76 % of base) : System.Private.CoreLib.dasm - System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 35 (6.04 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,bool,bool):System.Type:this (FullOpts) 35 (4.89 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type],bool):System.Type (FullOpts) 27 (0.92 % of base) : System.Private.CoreLib.dasm - System.Array:Sort(System.Array,System.Array,int,int,System.Collections.IComparer) (FullOpts) 25 (2.48 % of base) : System.Private.CoreLib.dasm - System.Array:CopyImpl(System.Array,int,System.Array,int,int,bool) (FullOpts) 25 (6.35 % of base) : System.Private.CoreLib.dasm - System.Collections.ListDictionaryInternal+NodeKeyValueCollection:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts) 23 (5.00 % of base) : System.Private.CoreLib.dasm - System.Attribute:AreFieldValuesEqual(System.Object,System.Object):bool (FullOpts) 21 (5.15 % of base) : System.Private.CoreLib.dasm - System.IntPtr:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 17 (1.51 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Parser:TryParseNumber(System.ReadOnlySpan`1[ubyte],byref,byref,int,byref):bool (FullOpts) 16 (3.73 % of base) : System.Private.CoreLib.dasm - System.Collections.ListDictionaryInternal:CopyTo(System.Array,int):this (FullOpts) 15 (2.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(byte,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) 15 (2.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(short,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[double](System.ReadOnlyMemory`1[double],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[int](System.ReadOnlyMemory`1[int],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[long](System.ReadOnlyMemory`1[long],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[short](System.ReadOnlyMemory`1[short],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[System.Nullable`1[int]](System.ReadOnlyMemory`1[System.Nullable`1[int]],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[System.Numerics.Vector`1[float]](System.ReadOnlyMemory`1[System.Numerics.Vector`1[float]],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[ubyte](System.ReadOnlyMemory`1[ubyte],byref):bool (FullOpts) 13 (1.74 % of base) : System.Private.CoreLib.dasm - System.Activator:CreateInstance(System.String,System.String,System.Object[]):System.Runtime.Remoting.ObjectHandle (FullOpts) 13 (1.76 % of base) : System.Private.CoreLib.dasm - System.Activator:CreateInstance(System.String,System.String):System.Runtime.Remoting.ObjectHandle (FullOpts) 13 (2.27 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String):System.Type (FullOpts) 11 (1.96 % of base) : System.Private.CoreLib.dasm - System.Collections.ArrayList+IListWrapper:CopyTo(int,System.Array,int,int):this (FullOpts) 11 (7.64 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:TryDequeue(byref):bool:this (FullOpts) 8 (4.49 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Insert(int,System.ReadOnlySpan`1[ubyte]):this (FullOpts) 7 (0.71 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:AppendParameters(byref,System.Type[],int) (FullOpts) 6 (1.12 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):bool:this (FullOpts) 6 (1.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):bool:this (FullOpts) 6 (4.65 % of base) : System.Private.CoreLib.dasm - System.Object:MemberwiseClone():System.Object:this (FullOpts) 6 (1.49 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[System.__Canon](System.ReadOnlyMemory`1[System.__Canon],byref):bool (FullOpts) 5 (2.51 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this (FullOpts) 5 (3.68 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this (FullOpts) 4 (1.08 % of base) : System.Private.CoreLib.dasm - System.Enum:HasFlag(System.Enum):bool:this (FullOpts) 3 (1.22 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.CollectionExtensions:AddRange[ubyte](System.Collections.Generic.List`1[ubyte],System.ReadOnlySpan`1[ubyte]) (FullOpts) 3 (0.92 % of base) : System.Private.CoreLib.dasm - System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate (FullOpts) 3 (0.36 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.BufferedFileStreamStrategy:WriteAsync(System.ReadOnlyMemory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) 3 (1.15 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[double](double,System.String):bool:this (FullOpts) 3 (1.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[int](int,System.String):bool:this (FullOpts) 3 (1.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[long](long,System.String):bool:this (FullOpts) 3 (1.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[short](short,System.String):bool:this (FullOpts) 3 (1.35 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[System.__Canon](System.__Canon,System.String):bool:this (FullOpts) 3 (1.20 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[System.Nullable`1[int]](System.Nullable`1[int],System.String):bool:this (FullOpts) 3 (1.15 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):bool:this (FullOpts) 3 (1.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[ubyte](ubyte,System.String):bool:this (FullOpts) 3 (1.46 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):bool:this (FullOpts) 3 (1.43 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):bool:this (FullOpts) 3 (1.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[double](ulong,System.Span`1[double]):this (FullOpts) 3 (1.09 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[int](ulong,System.Span`1[int]):this (FullOpts) 3 (1.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[long](ulong,System.Span`1[long]):this (FullOpts) 3 (1.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[short](ulong,System.Span`1[short]):this (FullOpts) 3 (0.34 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder:ReplaceAllInChunk(System.ReadOnlySpan`1[int],System.Text.StringBuilder,int,System.String):this (FullOpts) 2 (0.59 % of base) : System.Private.CoreLib.dasm - System.IO.Path+<>c:b__40_0(System.Span`1[ushort],System.IO.Path+JoinInternalState):this (FullOpts) 2 (1.83 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader:CompressBuffer(int):this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[double]:TryCopyTo(System.Span`1[double]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[int]:TryCopyTo(System.Span`1[int]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[long]:TryCopyTo(System.Span`1[long]):bool:this (FullOpts) 2 (4.35 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[short]:TryCopyTo(System.Span`1[short]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Nullable`1[int]]:TryCopyTo(System.Span`1[System.Nullable`1[int]]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]:TryCopyTo(System.Span`1[System.Numerics.Vector`1[float]]):bool:this (FullOpts) 2 (0.72 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[ubyte](ulong,System.Span`1[ubyte]):this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[double]:TryCopyTo(System.Span`1[double]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[int]:TryCopyTo(System.Span`1[int]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[long]:TryCopyTo(System.Span`1[long]):bool:this (FullOpts) 2 (4.35 % of base) : System.Private.CoreLib.dasm - System.Span`1[short]:TryCopyTo(System.Span`1[short]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.Nullable`1[int]]:TryCopyTo(System.Span`1[System.Nullable`1[int]]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.Numerics.Vector`1[float]]:TryCopyTo(System.Span`1[System.Numerics.Vector`1[float]]):bool:this (FullOpts) 2 (1.89 % of base) : System.Private.CoreLib.dasm - System.StubHelpers.AsAnyMarshaler:ConvertStringToNative(System.String,int):long (FullOpts) 2 (1.19 % of base) : System.Private.CoreLib.dasm - System.StubHelpers.BSTRMarshaler:ConvertToNative(System.String,long):long (FullOpts) 1 (0.12 % of base) : System.Private.CoreLib.dasm - System.Environment:ExpandEnvironmentVariablesCore(System.String):System.String (FullOpts) 1 (0.29 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatHalf[ubyte](System.Half,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ubyte],byref):bool (FullOpts) Top method improvements (bytes): -135 (-18.42 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) -86 (-11.36 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type (FullOpts) -77 (-9.28 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type],bool,bool):System.Type (FullOpts) -55 (-9.12 % of base) : System.Private.CoreLib.dasm - System.Int128:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) -53 (-16.77 % of base) : System.Private.CoreLib.dasm - System.Array:Resize[System.__Canon](byref,int) (FullOpts) -42 (-3.52 % of base) : System.Private.CoreLib.dasm - System.Array:LastIndexOf(System.Array,System.Object,int,int):int (FullOpts) -42 (-12.07 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:GetSubArray[System.__Canon](System.__Canon[],System.Range):System.__Canon[] (FullOpts) -28 (-12.33 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:ToArray():System.__Canon[]:this (FullOpts) -28 (-12.33 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:ToArray():System.__Canon[]:this (FullOpts) -26 (-2.66 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader:DetectEncoding():this (FullOpts) -23 (-1.33 % of base) : System.Private.CoreLib.dasm - System.Array:BinarySearch(System.Array,int,int,System.Object,System.Collections.IComparer):int (FullOpts) -23 (-39.66 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts) -23 (-3.26 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatUInt128[ubyte](System.UInt128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -22 (-0.52 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,long,ulong,ulong,System.Object[]):bool:this (FullOpts) -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String (FullOpts) -21 (-14.58 % of base) : System.Private.CoreLib.dasm - System.Array:Clear(System.Array) (FullOpts) -20 (-0.88 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.XplatEventLogger:Serialize(System.Collections.ObjectModel.ReadOnlyCollection`1[System.String],System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object],System.String):System.String (FullOpts) -20 (-1.99 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:DivRem(byref,byref,byref,byref) (FullOpts) -18 (-15.52 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:CopyTo(System.Span`1[System.__Canon]):this (FullOpts) -18 (-15.52 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:CopyTo(System.Span`1[System.__Canon]):this (FullOpts) -18 (-1.28 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore[System.Nullable`1[int]](System.ReadOnlySpan`1[ushort],System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]]):System.String (FullOpts) -18 (-1.98 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ushort],System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.String (FullOpts) -17 (-7.46 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:Multiply(byref,uint,byref) (FullOpts) -17 (-10.37 % of base) : System.Private.CoreLib.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -15 (-21.74 % of base) : System.Private.CoreLib.dasm - System.String:CopyTo(System.Span`1[ushort]):this (FullOpts) -14 (-12.84 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:Dequeue():System.__Canon:this (FullOpts) -13 (-12.50 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:TryCopyTo(System.Span`1[System.__Canon]):bool:this (FullOpts) -13 (-12.50 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:TryCopyTo(System.Span`1[System.__Canon]):bool:this (FullOpts) -12 (-9.45 % of base) : System.Private.CoreLib.dasm - System.Exception:g__Write|60_0(System.String,byref) (FullOpts) -12 (-1.00 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore[System.__Canon](System.ReadOnlySpan`1[ushort],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.String (FullOpts) -11 (-0.75 % of base) : System.Private.CoreLib.dasm - System.IO.Path:GetRelativePath(System.String,System.String,int):System.String (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[double]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[int]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[long]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[short]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.__Canon]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Nullable`1[int]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.50 % of base) : System.Private.CoreLib.dasm - System.Memory`1[ubyte]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[double]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[int]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[long]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[short]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.__Canon]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.Nullable`1[int]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.50 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[ubyte]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -10 (-2.51 % of base) : System.Private.CoreLib.dasm - System.String:CopyTo(int,ushort[],int,int):this (FullOpts) -9 (-1.65 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.XplatEventLogger:MinimalJsonserializer(System.String,byref) (FullOpts) -9 (-1.44 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.BufferedFileStreamStrategy:WriteSpan(System.ReadOnlySpan`1[ubyte],System.ArraySegment`1[ubyte]):this (FullOpts) -9 (-4.41 % of base) : System.Private.CoreLib.dasm - System.String:PadRight(int,ushort):System.String:this (FullOpts) -8 (-0.67 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:DecodeObjects(System.Object[],System.Type[],ulong) (FullOpts) -8 (-0.68 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatInt128Slow|50_0[ubyte](System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-0.60 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatInt32Slow|42_0[ubyte](int,int,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-0.55 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatInt64Slow|46_0[ubyte](long,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-0.34 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatUInt128Slow|52_0[ubyte](System.UInt128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-0.64 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatUInt32Slow|44_0[ubyte](uint,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-0.61 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatUInt64Slow|48_0[ubyte](ulong,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-1.48 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this (FullOpts) -8 (-0.33 % of base) : System.Private.CoreLib.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts) -7 (-2.78 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts) -7 (-2.17 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Numerics.Vector`1[float]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -7 (-2.17 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.Numerics.Vector`1[float]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -7 (-1.65 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder:ExpandByABlock(int):this (FullOpts) -6 (-2.62 % of base) : System.Private.CoreLib.dasm - System.Delegate:InternalEqualTypes(System.Object,System.Object):bool (FullOpts) -6 (-1.92 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:GetLocalizedMessage(System.String,System.Globalization.CultureInfo,bool):System.String:this (FullOpts) -6 (-3.06 % of base) : System.Private.CoreLib.dasm - System.IO.BufferedStream:WriteToBuffer(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -6 (-1.20 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatDecimal[ubyte](System.Decimal,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ubyte],byref):bool (FullOpts) -6 (-1.63 % of base) : System.Private.CoreLib.dasm - System.String:Remove(int,int):System.String:this (FullOpts) -6 (-0.72 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceLineEndingsCore(System.String):System.String:this (FullOpts) -5 (-0.53 % of base) : System.Private.CoreLib.dasm - System.Array:Reverse(System.Array,int,int) (FullOpts) -5 (-0.81 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.BufferedFileStreamStrategy:ReadSpan(System.Span`1[ubyte],System.ArraySegment`1[ubyte]):int:this (FullOpts) -4 (-2.33 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:RemoveRange(int,int):this (FullOpts) -4 (-0.62 % of base) : System.Private.CoreLib.dasm - System.Reflection.LocalVariableInfo:ToString():System.String:this (FullOpts) -3 (-0.27 % of base) : System.Private.CoreLib.dasm - System.Buffers.SharedArrayPool`1[int]:Rent(int):int[]:this (FullOpts) -3 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this (FullOpts) -3 (-4.41 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[System.__Canon]:CreateSetComparer():System.Collections.Generic.IEqualityComparer`1[System.__Canon] (FullOpts) -3 (-1.16 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:LastIndexOf(System.__Canon,int,int):int:this (FullOpts) -3 (-0.41 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:AddValueToMetaData(System.Collections.Generic.List`1[ubyte],System.String):int (FullOpts) -3 (-0.06 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:CreateManifestAndDescriptors(System.Type,System.String,System.Diagnostics.Tracing.EventSource,int):ubyte[] (FullOpts) -3 (-0.55 % of base) : System.Private.CoreLib.dasm - System.Enum:CompareTo(System.Object):int:this (FullOpts) -3 (-1.64 % of base) : System.Private.CoreLib.dasm - System.Enum:Equals(System.Object):bool:this (FullOpts) -3 (-0.88 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatDouble[ubyte](double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ubyte],byref):bool (FullOpts) -3 (-0.88 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatSingle[ubyte](float,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ubyte],byref):bool (FullOpts) -3 (-0.79 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:FilterHelper(int,byref,bool,byref,byref,byref) (FullOpts) -3 (-0.92 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:SplitName(System.String,byref,byref) (FullOpts) -3 (-0.23 % of base) : System.Private.CoreLib.dasm - System.SR:InternalGetResourceString(System.String):System.String (FullOpts) -3 (-0.55 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.String]):System.String (FullOpts) -2 (-0.17 % of base) : System.Private.CoreLib.dasm - System.Array:IndexOf(System.Array,System.Object,int,int):int (FullOpts) -2 (-1.94 % of base) : System.Private.CoreLib.dasm - System.Array:InternalGetValue(long):System.Object:this (FullOpts) -2 (-1.80 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:Clear():this (FullOpts) -2 (-0.24 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[double](System.Enum+EnumInfo`1[double],double,System.Span`1[ushort],byref,byref):bool (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[int](System.Enum+EnumInfo`1[int],int,System.Span`1[ushort],byref,byref):bool (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[long](System.Enum+EnumInfo`1[long],long,System.Span`1[ushort],byref,byref):bool (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[short](System.Enum+EnumInfo`1[short],short,System.Span`1[ushort],byref,byref):bool (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte,System.Span`1[ushort],byref,byref):bool (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanFormat:TryFormat[ubyte](System.TimeSpan,System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool (FullOpts) -2 (-0.42 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyName:.ctor(ulong):this (FullOpts) -2 (-0.12 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:.ctor(System.String,int,System.Type,System.Type[],System.Reflection.Emit.RuntimeModuleBuilder,int,int,System.Reflection.Emit.RuntimeTypeBuilder):this (FullOpts) -2 (-0.48 % of base) : System.Private.CoreLib.dasm - System.Text.Encoding:GetBytes(ulong,int,ulong,int):int:this (FullOpts) -1 (-0.48 % of base) : System.Private.CoreLib.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Nullable`1[int]]:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts) -1 (-0.48 % of base) : System.Private.CoreLib.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Numerics.Vector`1[float]]:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts) Top method regressions (percentages): 47 (52.22 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:Remove(System.Numerics.Vector`1[float]):bool:this (FullOpts) 50 (34.01 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:System.Collections.IList.Remove(System.Object):this (FullOpts) 94 (24.42 % of base) : System.Private.CoreLib.dasm - System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 121 (20.86 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this (FullOpts) 79 (13.91 % of base) : System.Private.CoreLib.dasm - System.UInt128:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 79 (13.86 % of base) : System.Private.CoreLib.dasm - System.UInt128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 143 (12.46 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatInt128[ubyte](System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) 50 (10.00 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeAssemblyBuilder:GetType(System.String,bool,bool):System.Type:this (FullOpts) 74 (9.31 % of base) : System.Private.CoreLib.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts) 54 (9.14 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,bool):System.Type (FullOpts) 54 (9.09 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,bool,bool):System.Type (FullOpts) 50 (9.03 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:GetType(System.String,System.Reflection.Assembly,bool,bool):System.Type (FullOpts) 60 (8.88 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Globalization.CompareInfo,int):System.String (FullOpts) 42 (7.76 % of base) : System.Private.CoreLib.dasm - System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 11 (7.64 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:TryDequeue(byref):bool:this (FullOpts) 25 (6.35 % of base) : System.Private.CoreLib.dasm - System.Collections.ListDictionaryInternal+NodeKeyValueCollection:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts) 70 (6.07 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:EnumerateFilesRecursively(System.String,System.Predicate`1[System.String]) (FullOpts) 35 (6.04 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,bool,bool):System.Type:this (FullOpts) 21 (5.15 % of base) : System.Private.CoreLib.dasm - System.IntPtr:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 23 (5.00 % of base) : System.Private.CoreLib.dasm - System.Attribute:AreFieldValuesEqual(System.Object,System.Object):bool (FullOpts) 35 (4.89 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type],bool):System.Type (FullOpts) 6 (4.65 % of base) : System.Private.CoreLib.dasm - System.Object:MemberwiseClone():System.Object:this (FullOpts) 8 (4.49 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Insert(int,System.ReadOnlySpan`1[ubyte]):this (FullOpts) 2 (4.35 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[short]:TryCopyTo(System.Span`1[short]):bool:this (FullOpts) 2 (4.35 % of base) : System.Private.CoreLib.dasm - System.Span`1[short]:TryCopyTo(System.Span`1[short]):bool:this (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[double](System.ReadOnlyMemory`1[double],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[int](System.ReadOnlyMemory`1[int],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[long](System.ReadOnlyMemory`1[long],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[short](System.ReadOnlyMemory`1[short],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[System.Nullable`1[int]](System.ReadOnlyMemory`1[System.Nullable`1[int]],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[System.Numerics.Vector`1[float]](System.ReadOnlyMemory`1[System.Numerics.Vector`1[float]],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[ubyte](System.ReadOnlyMemory`1[ubyte],byref):bool (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[double]:TryCopyTo(System.Span`1[double]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[int]:TryCopyTo(System.Span`1[int]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[long]:TryCopyTo(System.Span`1[long]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Nullable`1[int]]:TryCopyTo(System.Span`1[System.Nullable`1[int]]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]:TryCopyTo(System.Span`1[System.Numerics.Vector`1[float]]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[double]:TryCopyTo(System.Span`1[double]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[int]:TryCopyTo(System.Span`1[int]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[long]:TryCopyTo(System.Span`1[long]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.Nullable`1[int]]:TryCopyTo(System.Span`1[System.Nullable`1[int]]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.Numerics.Vector`1[float]]:TryCopyTo(System.Span`1[System.Numerics.Vector`1[float]]):bool:this (FullOpts) 120 (4.16 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:GetSerializedString(System.TimeZoneInfo):System.String (FullOpts) 16 (3.73 % of base) : System.Private.CoreLib.dasm - System.Collections.ListDictionaryInternal:CopyTo(System.Array,int):this (FullOpts) 5 (3.68 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this (FullOpts) 64 (3.56 % of base) : System.Private.CoreLib.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):bool (FullOpts) 5 (2.51 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this (FullOpts) 25 (2.48 % of base) : System.Private.CoreLib.dasm - System.Array:CopyImpl(System.Array,int,System.Array,int,int,bool) (FullOpts) 13 (2.27 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String):System.Type (FullOpts) 15 (2.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(short,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) 15 (2.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(byte,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) 11 (1.96 % of base) : System.Private.CoreLib.dasm - System.Collections.ArrayList+IListWrapper:CopyTo(int,System.Array,int,int):this (FullOpts) 2 (1.89 % of base) : System.Private.CoreLib.dasm - System.StubHelpers.AsAnyMarshaler:ConvertStringToNative(System.String,int):long (FullOpts) 2 (1.83 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader:CompressBuffer(int):this (FullOpts) 13 (1.76 % of base) : System.Private.CoreLib.dasm - System.Activator:CreateInstance(System.String,System.String):System.Runtime.Remoting.ObjectHandle (FullOpts) 13 (1.74 % of base) : System.Private.CoreLib.dasm - System.Activator:CreateInstance(System.String,System.String,System.Object[]):System.Runtime.Remoting.ObjectHandle (FullOpts) 17 (1.51 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Parser:TryParseNumber(System.ReadOnlySpan`1[ubyte],byref,byref,int,byref):bool (FullOpts) 6 (1.49 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[System.__Canon](System.ReadOnlyMemory`1[System.__Canon],byref):bool (FullOpts) 3 (1.46 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):bool:this (FullOpts) 3 (1.43 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):bool:this (FullOpts) 3 (1.35 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[System.__Canon](System.__Canon,System.String):bool:this (FullOpts) 3 (1.22 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.CollectionExtensions:AddRange[ubyte](System.Collections.Generic.List`1[ubyte],System.ReadOnlySpan`1[ubyte]) (FullOpts) 3 (1.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[int](int,System.String):bool:this (FullOpts) 3 (1.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[long](long,System.String):bool:this (FullOpts) 3 (1.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[ubyte](ubyte,System.String):bool:this (FullOpts) 3 (1.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[short](short,System.String):bool:this (FullOpts) 3 (1.20 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[System.Nullable`1[int]](System.Nullable`1[int],System.String):bool:this (FullOpts) 2 (1.19 % of base) : System.Private.CoreLib.dasm - System.StubHelpers.BSTRMarshaler:ConvertToNative(System.String,long):long (FullOpts) 6 (1.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):bool:this (FullOpts) 3 (1.15 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[double](double,System.String):bool:this (FullOpts) 3 (1.15 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendCustomFormatter[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):bool:this (FullOpts) 6 (1.12 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):bool:this (FullOpts) 3 (1.09 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[int](ulong,System.Span`1[int]):this (FullOpts) 3 (1.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[double](ulong,System.Span`1[double]):this (FullOpts) 3 (1.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[long](ulong,System.Span`1[long]):this (FullOpts) 3 (1.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[short](ulong,System.Span`1[short]):this (FullOpts) 4 (1.08 % of base) : System.Private.CoreLib.dasm - System.Enum:HasFlag(System.Enum):bool:this (FullOpts) 27 (0.92 % of base) : System.Private.CoreLib.dasm - System.Array:Sort(System.Array,System.Array,int,int,System.Collections.IComparer) (FullOpts) 3 (0.92 % of base) : System.Private.CoreLib.dasm - System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate (FullOpts) 2 (0.72 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.SafeBuffer:ReadSpan[ubyte](ulong,System.Span`1[ubyte]):this (FullOpts) 7 (0.71 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:AppendParameters(byref,System.Type[],int) (FullOpts) 2 (0.59 % of base) : System.Private.CoreLib.dasm - System.IO.Path+<>c:b__40_0(System.Span`1[ushort],System.IO.Path+JoinInternalState):this (FullOpts) 3 (0.36 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.BufferedFileStreamStrategy:WriteAsync(System.ReadOnlyMemory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) 3 (0.34 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder:ReplaceAllInChunk(System.ReadOnlySpan`1[int],System.Text.StringBuilder,int,System.String):this (FullOpts) 1 (0.29 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatHalf[ubyte](System.Half,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ubyte],byref):bool (FullOpts) 1 (0.12 % of base) : System.Private.CoreLib.dasm - System.Environment:ExpandEnvironmentVariablesCore(System.String):System.String (FullOpts) Top method improvements (percentages): -23 (-39.66 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts) -15 (-21.74 % of base) : System.Private.CoreLib.dasm - System.String:CopyTo(System.Span`1[ushort]):this (FullOpts) -135 (-18.42 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) -53 (-16.77 % of base) : System.Private.CoreLib.dasm - System.Array:Resize[System.__Canon](byref,int) (FullOpts) -18 (-15.52 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:CopyTo(System.Span`1[System.__Canon]):this (FullOpts) -18 (-15.52 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:CopyTo(System.Span`1[System.__Canon]):this (FullOpts) -21 (-14.58 % of base) : System.Private.CoreLib.dasm - System.Array:Clear(System.Array) (FullOpts) -14 (-12.84 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:Dequeue():System.__Canon:this (FullOpts) -13 (-12.50 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:TryCopyTo(System.Span`1[System.__Canon]):bool:this (FullOpts) -13 (-12.50 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:TryCopyTo(System.Span`1[System.__Canon]):bool:this (FullOpts) -28 (-12.33 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:ToArray():System.__Canon[]:this (FullOpts) -28 (-12.33 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:ToArray():System.__Canon[]:this (FullOpts) -42 (-12.07 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:GetSubArray[System.__Canon](System.__Canon[],System.Range):System.__Canon[] (FullOpts) -86 (-11.36 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type (FullOpts) -17 (-10.37 % of base) : System.Private.CoreLib.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -12 (-9.45 % of base) : System.Private.CoreLib.dasm - System.Exception:g__Write|60_0(System.String,byref) (FullOpts) -77 (-9.28 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type],bool,bool):System.Type (FullOpts) -55 (-9.12 % of base) : System.Private.CoreLib.dasm - System.Int128:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) -17 (-7.46 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:Multiply(byref,uint,byref) (FullOpts) -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String (FullOpts) -3 (-4.41 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[System.__Canon]:CreateSetComparer():System.Collections.Generic.IEqualityComparer`1[System.__Canon] (FullOpts) -9 (-4.41 % of base) : System.Private.CoreLib.dasm - System.String:PadRight(int,ushort):System.String:this (FullOpts) -42 (-3.52 % of base) : System.Private.CoreLib.dasm - System.Array:LastIndexOf(System.Array,System.Object,int,int):int (FullOpts) -11 (-3.50 % of base) : System.Private.CoreLib.dasm - System.Memory`1[ubyte]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.50 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[ubyte]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[double]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[int]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[long]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[short]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.__Canon]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Nullable`1[int]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[double]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[int]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[long]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[short]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.__Canon]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.Nullable`1[int]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -23 (-3.26 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatUInt128[ubyte](System.UInt128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -6 (-3.06 % of base) : System.Private.CoreLib.dasm - System.IO.BufferedStream:WriteToBuffer(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -7 (-2.78 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts) -26 (-2.66 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader:DetectEncoding():this (FullOpts) -6 (-2.62 % of base) : System.Private.CoreLib.dasm - System.Delegate:InternalEqualTypes(System.Object,System.Object):bool (FullOpts) -10 (-2.51 % of base) : System.Private.CoreLib.dasm - System.String:CopyTo(int,ushort[],int,int):this (FullOpts) -4 (-2.33 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:RemoveRange(int,int):this (FullOpts) -7 (-2.17 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Numerics.Vector`1[float]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -7 (-2.17 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.Numerics.Vector`1[float]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -1 (-2.17 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[ubyte]:TryCopyTo(System.Span`1[ubyte]):bool:this (FullOpts) -1 (-2.17 % of base) : System.Private.CoreLib.dasm - System.Span`1[ubyte]:TryCopyTo(System.Span`1[ubyte]):bool:this (FullOpts) -20 (-1.99 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:DivRem(byref,byref,byref,byref) (FullOpts) -18 (-1.98 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ushort],System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.String (FullOpts) -1 (-1.96 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[ubyte]:CopyTo(System.Span`1[ubyte]):this (FullOpts) -1 (-1.96 % of base) : System.Private.CoreLib.dasm - System.Span`1[ubyte]:CopyTo(System.Span`1[ubyte]):this (FullOpts) -2 (-1.94 % of base) : System.Private.CoreLib.dasm - System.Array:InternalGetValue(long):System.Object:this (FullOpts) -6 (-1.92 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:GetLocalizedMessage(System.String,System.Globalization.CultureInfo,bool):System.String:this (FullOpts) -2 (-1.80 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:Clear():this (FullOpts) -7 (-1.65 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder:ExpandByABlock(int):this (FullOpts) -9 (-1.65 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.XplatEventLogger:MinimalJsonserializer(System.String,byref) (FullOpts) -3 (-1.64 % of base) : System.Private.CoreLib.dasm - System.Enum:Equals(System.Object):bool:this (FullOpts) -6 (-1.63 % of base) : System.Private.CoreLib.dasm - System.String:Remove(int,int):System.String:this (FullOpts) -8 (-1.48 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this (FullOpts) -9 (-1.44 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.BufferedFileStreamStrategy:WriteSpan(System.ReadOnlySpan`1[ubyte],System.ArraySegment`1[ubyte]):this (FullOpts) -23 (-1.33 % of base) : System.Private.CoreLib.dasm - System.Array:BinarySearch(System.Array,int,int,System.Object,System.Collections.IComparer):int (FullOpts) -18 (-1.28 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore[System.Nullable`1[int]](System.ReadOnlySpan`1[ushort],System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]]):System.String (FullOpts) -6 (-1.20 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatDecimal[ubyte](System.Decimal,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ubyte],byref):bool (FullOpts) -3 (-1.16 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:LastIndexOf(System.__Canon,int,int):int:this (FullOpts) -12 (-1.00 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore[System.__Canon](System.ReadOnlySpan`1[ushort],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.String (FullOpts) -3 (-0.92 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:SplitName(System.String,byref,byref) (FullOpts) -20 (-0.88 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.XplatEventLogger:Serialize(System.Collections.ObjectModel.ReadOnlyCollection`1[System.String],System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object],System.String):System.String (FullOpts) -3 (-0.88 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatDouble[ubyte](double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ubyte],byref):bool (FullOpts) -3 (-0.88 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatSingle[ubyte](float,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ubyte],byref):bool (FullOpts) -5 (-0.81 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.BufferedFileStreamStrategy:ReadSpan(System.Span`1[ubyte],System.ArraySegment`1[ubyte]):int:this (FullOpts) -3 (-0.79 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:FilterHelper(int,byref,bool,byref,byref,byref) (FullOpts) -11 (-0.75 % of base) : System.Private.CoreLib.dasm - System.IO.Path:GetRelativePath(System.String,System.String,int):System.String (FullOpts) -6 (-0.72 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceLineEndingsCore(System.String):System.String:this (FullOpts) -8 (-0.68 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatInt128Slow|50_0[ubyte](System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-0.67 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:DecodeObjects(System.Object[],System.Type[],ulong) (FullOpts) -8 (-0.64 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatUInt32Slow|44_0[ubyte](uint,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -4 (-0.62 % of base) : System.Private.CoreLib.dasm - System.Reflection.LocalVariableInfo:ToString():System.String:this (FullOpts) -8 (-0.61 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatUInt64Slow|48_0[ubyte](ulong,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-0.60 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatInt32Slow|42_0[ubyte](int,int,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-0.55 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatInt64Slow|46_0[ubyte](long,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -3 (-0.55 % of base) : System.Private.CoreLib.dasm - System.Enum:CompareTo(System.Object):int:this (FullOpts) -3 (-0.55 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.String]):System.String (FullOpts) -5 (-0.53 % of base) : System.Private.CoreLib.dasm - System.Array:Reverse(System.Array,int,int) (FullOpts) -22 (-0.52 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,long,ulong,ulong,System.Object[]):bool:this (FullOpts) -1 (-0.48 % of base) : System.Private.CoreLib.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Nullable`1[int]]:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts) -1 (-0.48 % of base) : System.Private.CoreLib.dasm - System.Collections.Concurrent.ConcurrentQueue`1[System.Numerics.Vector`1[float]]:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts) -2 (-0.48 % of base) : System.Private.CoreLib.dasm - System.Text.Encoding:GetBytes(ulong,int,ulong,int):int:this (FullOpts) -2 (-0.42 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyName:.ctor(ulong):this (FullOpts) -3 (-0.41 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:AddValueToMetaData(System.Collections.Generic.List`1[ubyte],System.String):int (FullOpts) -1 (-0.36 % of base) : System.Private.CoreLib.dasm - System.Enum:WriteMultipleFoundFlagsNames(System.String[],System.ReadOnlySpan`1[int],System.Span`1[ushort]) (FullOpts) -8 (-0.34 % of base) : System.Private.CoreLib.dasm - System.Number:g__TryFormatUInt128Slow|52_0[ubyte](System.UInt128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -8 (-0.33 % of base) : System.Private.CoreLib.dasm - System.Text.ValueStringBuilder:AppendFormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):this (FullOpts) -3 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this (FullOpts) -3 (-0.27 % of base) : System.Private.CoreLib.dasm - System.Buffers.SharedArrayPool`1[int]:Rent(int):int[]:this (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[int](System.Enum+EnumInfo`1[int],int,System.Span`1[ushort],byref,byref):bool (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[long](System.Enum+EnumInfo`1[long],long,System.Span`1[ushort],byref,byref):bool (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanFormat:TryFormat[ubyte](System.TimeSpan,System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[short](System.Enum+EnumInfo`1[short],short,System.Span`1[ushort],byref,byref):bool (FullOpts) -2 (-0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte,System.Span`1[ushort],byref,byref):bool (FullOpts) 198 total methods with Code Size differences (112 improved, 86 regressed), 52334 unchanged. -------------------------------------------------------------------------------- ```

Frameworks diffs

Diffs ``` Found 388 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38504367 Total bytes of diff: 38507027 Total bytes of delta: 2660 (0.01 % of base) Total relative delta: Infinity diff is a regression. relative diff is a regression. Total byte diff includes -405 bytes from reconciling methods Base had 1 unique methods, 776 unique bytes Diff had 1 unique methods, 371 unique bytes Top file regressions (bytes): 624 : System.Data.Common.dasm (0.04 % of base) 555 : System.Collections.Immutable.dasm (0.03 % of base) 440 : System.Private.CoreLib.dasm (0.01 % of base) 245 : Microsoft.VisualBasic.Core.dasm (0.04 % of base) 206 : System.Data.Odbc.dasm (0.09 % of base) 195 : System.ComponentModel.TypeConverter.dasm (0.06 % of base) 192 : Microsoft.Extensions.DependencyInjection.dasm (0.25 % of base) 180 : Microsoft.CSharp.dasm (0.05 % of base) 177 : System.ComponentModel.Composition.dasm (0.04 % of base) 176 : System.IO.Compression.dasm (0.18 % of base) 167 : System.Net.Http.dasm (0.02 % of base) 164 : System.IO.Ports.dasm (0.33 % of base) 159 : System.Formats.Cbor.dasm (0.33 % of base) 144 : System.Private.Xml.Linq.dasm (0.07 % of base) 107 : System.Runtime.Numerics.dasm (0.09 % of base) 91 : System.Net.WebSockets.dasm (0.08 % of base) 88 : System.IO.Packaging.dasm (0.09 % of base) 83 : System.Net.HttpListener.dasm (0.08 % of base) 82 : System.Security.Cryptography.Xml.dasm (0.04 % of base) 82 : Microsoft.Extensions.DependencyModel.dasm (0.10 % of base) 74 : System.Formats.Tar.dasm (0.06 % of base) 73 : System.Linq.Expressions.dasm (0.01 % of base) 70 : Microsoft.Extensions.Caching.Memory.dasm (0.34 % of base) 64 : System.Security.Claims.dasm (0.28 % of base) 62 : System.ComponentModel.Annotations.dasm (0.11 % of base) 58 : System.Collections.Specialized.dasm (0.21 % of base) 38 : System.Threading.Tasks.Dataflow.dasm (0.00 % of base) 35 : System.Runtime.Serialization.Formatters.dasm (0.03 % of base) 28 : System.Private.Xml.dasm (0.00 % of base) 27 : System.Diagnostics.DiagnosticSource.dasm (0.01 % of base) 26 : System.Diagnostics.Process.dasm (0.03 % of base) 25 : System.Collections.NonGeneric.dasm (0.09 % of base) 15 : System.Formats.Asn1.dasm (0.02 % of base) 11 : System.Reflection.MetadataLoadContext.dasm (0.00 % of base) 10 : System.Reflection.Metadata.dasm (0.00 % of base) 6 : System.Web.HttpUtility.dasm (0.05 % of base) 5 : System.Diagnostics.TextWriterTraceListener.dasm (0.03 % of base) 5 : Microsoft.Extensions.Configuration.FileExtensions.dasm (0.10 % of base) 4 : Microsoft.Extensions.Logging.dasm (0.01 % of base) 3 : Microsoft.NET.WebAssembly.Webcil.dasm (0.01 % of base) 2 : Microsoft.Extensions.Logging.Console.dasm (0.00 % of base) 2 : System.Net.Security.dasm (0.00 % of base) 2 : System.Private.DataContractSerialization.dasm (0.00 % of base) 2 : Microsoft.Extensions.Configuration.dasm (0.01 % of base) 1 : System.IO.Pipelines.dasm (0.00 % of base) 1 : System.Text.Encodings.Web.dasm (0.00 % of base) 1 : System.Net.NetworkInformation.dasm (0.00 % of base) Top file improvements (bytes): -1172 : System.Text.Json.dasm (-0.09 % of base) -291 : System.Text.RegularExpressions.dasm (-0.04 % of base) -95 : System.Memory.dasm (-0.03 % of base) -87 : System.Collections.dasm (-0.02 % of base) -67 : System.Security.Cryptography.dasm (-0.01 % of base) -55 : Microsoft.Extensions.Logging.Abstractions.dasm (-0.07 % of base) -46 : System.Security.Cryptography.Pkcs.dasm (-0.01 % of base) -35 : System.Collections.Concurrent.dasm (-0.01 % of base) -33 : runincontext.dasm (-0.22 % of base) -32 : System.IO.Hashing.dasm (-0.12 % of base) -30 : System.Net.Quic.dasm (-0.02 % of base) -29 : System.Private.Uri.dasm (-0.03 % of base) -21 : System.Numerics.Tensors.dasm (-0.01 % of base) -18 : System.DirectoryServices.Protocols.dasm (-0.01 % of base) -15 : System.Console.dasm (-0.02 % of base) -15 : System.Net.Requests.dasm (-0.01 % of base) -15 : System.IO.Compression.Brotli.dasm (-0.07 % of base) -12 : System.Configuration.ConfigurationManager.dasm (-0.00 % of base) -10 : System.Drawing.Primitives.dasm (-0.02 % of base) -9 : System.Net.Mail.dasm (-0.00 % of base) -8 : System.Runtime.Serialization.Schema.dasm (-0.01 % of base) -8 : System.Composition.TypedParts.dasm (-0.01 % of base) -6 : Microsoft.Extensions.Logging.EventSource.dasm (-0.03 % of base) -6 : Microsoft.Extensions.Configuration.CommandLine.dasm (-0.18 % of base) -6 : System.CodeDom.dasm (-0.00 % of base) -6 : System.Net.WebClient.dasm (-0.01 % of base) -4 : System.Diagnostics.TraceSource.dasm (-0.01 % of base) -3 : Microsoft.Extensions.Caching.Abstractions.dasm (-0.01 % of base) -3 : System.Runtime.InteropServices.dasm (-0.02 % of base) -3 : System.Net.Primitives.dasm (-0.00 % of base) -3 : Microsoft.Extensions.Http.dasm (-0.01 % of base) -3 : System.Security.Cryptography.Cose.dasm (-0.00 % of base) -1 : System.Reflection.DispatchProxy.dasm (-0.00 % of base) 80 total files with Code Size differences (33 improved, 47 regressed), 175 unchanged. Top method regressions (bytes): 405 (Infinity of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:TryRegisterCore(long,System.Net.Sockets.SocketAsyncContext,byref):bool:this (FullOpts) 371 (Infinity of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (FullOpts) (0 base, 1 diff methods) 343 (21.33 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) 272 (21.43 % of base) : System.Data.Common.dasm - System.Data.DataColumn:HandleDependentColumnList(System.Data.DataExpression,System.Data.DataExpression):this (FullOpts) 263 (13.07 % of base) : System.Data.Common.dasm - System.Data.DataTable:ParseSortString(System.String):System.Data.IndexField[]:this (FullOpts) 218 (19.98 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbConnectionFactory:PruneConnectionPoolGroups(System.Object):this (FullOpts) 218 (37.98 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyNameHelper(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 209 (24.33 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(double):this (FullOpts) 205 (29.75 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(System.DateTime):this (FullOpts) 205 (29.45 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(System.DateTimeOffset):this (FullOpts) 195 (25.76 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MemberDescriptor:FilterAttributesIfNeeded():this (FullOpts) 162 (31.33 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborReader:RestoreCheckpoint(byref):this (FullOpts) 147 (6.24 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XContainer+ContentReader:ReadContentFrom(System.Xml.Linq.XContainer,System.Xml.XmlReader):bool:this (FullOpts) 143 (12.46 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatInt128[ubyte](System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) 129 (2.25 % of base) : System.Runtime.Numerics.dasm - System.Globalization.FormatProvider+Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts) 121 (20.86 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this (FullOpts) 120 (4.16 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:GetSerializedString(System.TimeZoneInfo):System.String (FullOpts) 117 (12.59 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(System.Guid):this (FullOpts) 113 (5.55 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter:VisitCallSiteMain(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter+CallSiteFormatterContext):System.Object:this (FullOpts) 105 (4.13 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodTypeInferrer:Fix(int):bool:this (FullOpts) 104 (7.38 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceAtomic():System.Text.RegularExpressions.RegexNode:this (FullOpts) 94 (24.42 % of base) : System.Private.CoreLib.dasm - System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 93 (26.35 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager:RemoveIndexEntries(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager):this (FullOpts) 89 (71.77 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackagePart:CleanUpRequestedStreamsList():this (FullOpts) 88 (14.06 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:RemoveParsedValue(System.Net.Http.Headers.HeaderDescriptor,System.Object):bool:this (FullOpts) 86 (10.87 % of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64ExtraField:GetAndRemoveZip64Block(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],bool,bool,bool,bool):System.IO.Compression.Zip64ExtraField (FullOpts) 85 (2.15 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter:AddRuntimeSpecificAssetGroups(System.String,System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.DependencyModel.RuntimeAssetGroup],bool,System.Text.Json.Utf8JsonWriter):bool (FullOpts) 85 (19.02 % of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64ExtraField:RemoveZip64Blocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]) (FullOpts) 84 (8.33 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ComposablePartExportProvider:GetUpdatedPartsList(byref):System.Collections.Generic.List`1[System.ComponentModel.Composition.Primitives.ComposablePart]:this (FullOpts) 80 (6.97 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:TryGetPooledHttp2Connection(System.Net.Http.HttpRequestMessage,byref,byref):bool:this (FullOpts) 79 (23.80 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:ServiceProviderDisposed(Microsoft.Extensions.DependencyInjection.ServiceProvider):this (FullOpts) 79 (13.91 % of base) : System.Private.CoreLib.dasm - System.UInt128:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 79 (13.86 % of base) : System.Private.CoreLib.dasm - System.UInt128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 78 (5.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 75 (37.69 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Tail[System.__Canon](System.Collections.Generic.List`1[System.__Canon]):System.Collections.Generic.List`1[System.__Canon] (FullOpts) 75 (21.80 % of base) : System.Data.Common.dasm - System.Data.DataViewListener:RegisterListener(System.Data.DataTable):this (FullOpts) 75 (10.30 % of base) : System.Linq.Expressions.dasm - System.Dynamic.ExpandoClass:FindNewClass(System.String):System.Dynamic.ExpandoClass:this (FullOpts) 74 (24.42 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:AdjustEnumeratorsHelper(Microsoft.VisualBasic.Collection+Node,int):this (FullOpts) 74 (9.31 % of base) : System.Private.CoreLib.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts) 72 (13.69 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:GetEnumerator():System.Collections.IEnumerator:this (FullOpts) 70 (15.02 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:RemoveFromStats(Microsoft.Extensions.Caching.Memory.MemoryCache+Stats):this (FullOpts) 70 (6.07 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:EnumerateFilesRecursively(System.String,System.Predicate`1[System.String]) (FullOpts) 67 (7.42 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:TryGetPooledHttp11Connection(System.Net.Http.HttpRequestMessage,bool,byref,byref):bool:this (FullOpts) 66 (18.23 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:InsertInOperatorListIfLessGenericThanExisting(Microsoft.VisualBasic.CompilerServices.Symbols+Method,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref) (FullOpts) 66 (12.38 % of base) : System.Net.HttpListener.dasm - System.Net.ChunkStream:ReadFromChunks(ubyte[],int,int):int:this (FullOpts) 66 (64.08 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsIdentity:TryRemoveClaim(System.Security.Claims.Claim):bool:this (FullOpts) 64 (3.31 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialStream:FinishPendingIORequests(System.Nullable`1[Interop+ErrorInfo]):this (FullOpts) 64 (1.62 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CapiHelper:ToDSAParameters(ubyte[],bool,ubyte[]):System.Security.Cryptography.DSAParameters (FullOpts) 64 (3.56 % of base) : System.Private.CoreLib.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):bool (FullOpts) 62 (6.53 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.ValidationAttributeStore+TypeStoreItem:GetExplicitAttributes(System.ComponentModel.PropertyDescriptor):System.ComponentModel.AttributeCollection (FullOpts) 60 (8.88 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Globalization.CompareInfo,int):System.String (FullOpts) 59 (27.19 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:UpdateSortedParameterCache(byref):this (FullOpts) 59 (28.23 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:UpdateSortedPropertyCache(byref):this (FullOpts) 57 (16.24 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:Clear():this (FullOpts) 56 (17.34 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryTypeFactory:AddItemToChoice(System.Collections.Generic.List`1[System.Xml.Xsl.XmlQueryType],System.Xml.Xsl.XmlQueryType) (FullOpts) 55 (29.41 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialStream:RemoveCompletedTasks(System.Collections.Generic.Queue`1[System.IO.Ports.SerialStream+SerialStreamIORequest],System.Object) (FullOpts) 54 (9.09 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,bool,bool):System.Type (FullOpts) 54 (9.14 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,bool):System.Type (FullOpts) 53 (5.31 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SequenceNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this (FullOpts) 52 (25.00 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:Remove(System.Numerics.Vector`1[float]):bool:this (FullOpts) 50 (34.01 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:System.Collections.IList.Remove(System.Object):this (FullOpts) 50 (10.00 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeAssemblyBuilder:GetType(System.String,bool,bool):System.Type:this (FullOpts) 50 (9.03 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:GetType(System.String,System.Reflection.Assembly,bool,bool):System.Type (FullOpts) 47 (52.22 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:Remove(System.Numerics.Vector`1[float]):bool:this (FullOpts) 47 (46.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Numerics.Vector`1[float]]:Remove(System.Numerics.Vector`1[float]):bool:this (FullOpts) 47 (87.04 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Numerics.Vector`1[float]]:RemoveAt(int):this (FullOpts) 46 (6.08 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializer:WriteMetadataForCollection(System.Text.Json.Serialization.JsonConverter,byref,System.Text.Json.Utf8JsonWriter):ubyte (FullOpts) 45 (5.37 % of base) : System.Collections.Specialized.dasm - System.Collections.Specialized.NameValueCollection:CopyTo(System.Array,int):this (FullOpts) 45 (16.79 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialStream:g__TryPeekNextRequest|139_0(byref,byref):bool (FullOpts) 43 (6.60 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):bool:this (FullOpts) 42 (7.76 % of base) : System.Private.CoreLib.dasm - System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 41 (3.93 % of base) : System.Data.Common.dasm - System.Data.DataRowComparer:CompareArray(System.Array,System.Array):bool (FullOpts) 41 (46.59 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHelpers:SetPendingModificationTimes(System.Collections.Generic.Stack`1[System.ValueTuple`2[System.String,System.DateTimeOffset]]) (FullOpts) 37 (36.27 % of base) : System.Linq.Expressions.dasm - System.Dynamic.BindingRestrictions+TestBuilder:ToExpression():System.Linq.Expressions.Expression:this (FullOpts) 36 (12.04 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHelpers:UpdatePendingModificationTimes(System.Collections.Generic.Stack`1[System.ValueTuple`2[System.String,System.DateTimeOffset]],System.String,System.DateTimeOffset) (FullOpts) 36 (2.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:RetrievePostponedItemsGreedyBounded(bool):this (FullOpts) 36 (1.97 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:RetrievePostponedItemsNonGreedy(bool):this (FullOpts) 35 (7.92 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.FollSiblingQuery:Advance():System.Xml.XPath.XPathNavigator:this (FullOpts) 35 (6.04 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,bool,bool):System.Type:this (FullOpts) 35 (1.28 % of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.Formatters.Binary.ObjectWriter:WriteArray(System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo,System.Runtime.Serialization.Formatters.Binary.NameInfo,System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo):this (FullOpts) 35 (4.89 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type],bool):System.Type (FullOpts) 34 (2.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__25[double,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.88 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__25[int,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__25[long,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__25[short,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__25[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__25[ubyte,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__27[double,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.88 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__27[int,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__27[long,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.88 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__27[short,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__27[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 34 (2.88 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+d__27[ubyte,System.Nullable`1[int]]:MoveNext():bool:this (FullOpts) 27 (0.92 % of base) : System.Private.CoreLib.dasm - System.Array:Sort(System.Array,System.Array,int,int,System.Collections.IComparer) (FullOpts) 26 (53.06 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.__Canon]:Clear():this (FullOpts) 25 (7.20 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.CacheChildrenQuery:Advance():System.Xml.XPath.XPathNavigator:this (FullOpts) 25 (2.48 % of base) : System.Private.CoreLib.dasm - System.Array:CopyImpl(System.Array,int,System.Array,int,int,bool) (FullOpts) 25 (6.35 % of base) : System.Private.CoreLib.dasm - System.Collections.ListDictionaryInternal+NodeKeyValueCollection:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts) 24 (1.64 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionXmlFormatWriter:ReflectionWriteCollection(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts) 23 (5.00 % of base) : System.Private.CoreLib.dasm - System.Attribute:AreFieldValuesEqual(System.Object,System.Object):bool (FullOpts) Top method improvements (bytes): -951 (-70.50 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WriteNumberValueAsString(long):this (FullOpts) -951 (-70.50 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(long):this (FullOpts) -776 (-100.00 % of base) : System.Net.Sockets.dasm - -348 (-3.38 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts) -135 (-18.42 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) -109 (-9.45 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(System.Decimal):this (FullOpts) -86 (-11.36 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type (FullOpts) -81 (-1.03 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitLift(int,System.Type,System.Linq.Expressions.MethodCallExpression,System.Linq.Expressions.ParameterExpression[],System.Linq.Expressions.Expression[]):this (FullOpts) -78 (-1.59 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.KeyInfoX509Data:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) -77 (-9.28 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type],bool,bool):System.Type (FullOpts) -69 (-17.29 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WriteNumberValueAsString(ulong):this (FullOpts) -69 (-17.29 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(ulong):this (FullOpts) -62 (-36.69 % of base) : System.Memory.dasm - System.Buffers.ArrayBufferWriter`1[System.__Canon]:Clear():this (FullOpts) -59 (-4.20 % of base) : System.Text.Json.dasm - System.Text.Json.JsonReaderHelper:UnescapeAndCompare(System.Buffers.ReadOnlySequence`1[ubyte],System.ReadOnlySpan`1[ubyte]):bool (FullOpts) -55 (-9.12 % of base) : System.Private.CoreLib.dasm - System.Int128:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) -53 (-16.77 % of base) : System.Private.CoreLib.dasm - System.Array:Resize[System.__Canon](byref,int) (FullOpts) -42 (-3.52 % of base) : System.Private.CoreLib.dasm - System.Array:LastIndexOf(System.Array,System.Object,int,int):int (FullOpts) -42 (-12.07 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:GetSubArray[System.__Canon](System.__Canon[],System.Range):System.__Canon[] (FullOpts) -35 (-2.28 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:WriteHeaderCollection(System.Net.Http.Headers.HttpHeaders,System.String):this (FullOpts) -33 (-30.56 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.ClonableStack`1[System.Numerics.Vector`1[float]]:Pop():System.Numerics.Vector`1[float]:this (FullOpts) -30 (-0.89 % of base) : runincontext.dasm - ArgInput:.ctor(System.String[]):this (FullOpts) -29 (-7.23 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1+WorkStealingQueue[System.__Canon]:TryLocalPop(byref):bool:this (FullOpts) -28 (-12.33 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:ToArray():System.__Canon[]:this (FullOpts) -28 (-12.33 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:ToArray():System.__Canon[]:this (FullOpts) -27 (-1.00 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.EncryptedKey:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) -26 (-2.66 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader:DetectEncoding():this (FullOpts) -24 (-4.19 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.Utils:CopyArray(System.Array,System.Array):System.Array (FullOpts) -24 (-1.34 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Reference:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) -23 (-1.33 % of base) : System.Private.CoreLib.dasm - System.Array:BinarySearch(System.Array,int,int,System.Object,System.Collections.IComparer):int (FullOpts) -23 (-39.66 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts) -23 (-3.26 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatUInt128[ubyte](System.UInt128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -23 (-0.45 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GenerateEncodedMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts) -23 (-2.69 % of base) : System.Private.Xml.dasm - System.Xml.XmlDeclaration:get_InnerText():System.String:this (FullOpts) -22 (-0.52 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,long,ulong,ulong,System.Object[]):bool:this (FullOpts) -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String (FullOpts) -21 (-14.58 % of base) : System.Private.CoreLib.dasm - System.Array:Clear(System.Array) (FullOpts) -21 (-1.90 % of base) : System.Private.Uri.dasm - System.DomainNameHelper:TryGetUnicodeEquivalent(System.String,byref):bool (FullOpts) -21 (-0.87 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.DSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) -20 (-0.88 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.XplatEventLogger:Serialize(System.Collections.ObjectModel.ReadOnlyCollection`1[System.String],System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object],System.String):System.String (FullOpts) -20 (-1.99 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:DivRem(byref,byref,byref,byref) (FullOpts) -18 (-33.96 % of base) : System.Collections.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.Nullable`1[int]]:Clear():this (FullOpts) -18 (-33.96 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Clear():this (FullOpts) -18 (-15.52 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:CopyTo(System.Span`1[System.__Canon]):this (FullOpts) -18 (-15.52 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:CopyTo(System.Span`1[System.__Canon]):this (FullOpts) -18 (-1.28 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore[System.Nullable`1[int]](System.ReadOnlySpan`1[ushort],System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]]):System.String (FullOpts) -18 (-1.98 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ushort],System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.String (FullOpts) -17 (-7.46 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:Multiply(byref,uint,byref) (FullOpts) -17 (-10.37 % of base) : System.Diagnostics.Process.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Console.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Security.Cryptography.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Private.Uri.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Private.Xml.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Text.RegularExpressions.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Net.Http.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Runtime.Numerics.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Private.CoreLib.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -16 (-12.21 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.__Canon]:TryPop(byref):bool:this (FullOpts) -16 (-0.61 % of base) : System.Net.Http.dasm - System.Net.Http.QPack.QPackDecoder:DecodeInternal(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):this (FullOpts) -16 (-1.92 % of base) : System.Private.Xml.dasm - System.Xml.Schema.TypedObject:Equals(System.Xml.Schema.TypedObject):bool:this (FullOpts) -15 (-1.58 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:TryFormatArgumentIfNullOrEnumerable[System.__Canon](System.__Canon,byref):bool (FullOpts) -15 (-1.58 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:TryFormatArgumentIfNullOrEnumerable[System.Nullable`1[int]](System.Nullable`1[int],byref):bool (FullOpts) -15 (-17.44 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (FullOpts) -15 (-3.90 % of base) : System.IO.Compression.Brotli.dasm - System.IO.Compression.BrotliStream:TryDecompress(System.Span`1[ubyte],byref):bool:this (FullOpts) -15 (-0.60 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PasswordBasedEncryption:Encrypt(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.SymmetricAlgorithm,bool,System.Formats.Asn1.AsnWriter,System.Security.Cryptography.PbeParameters,System.ReadOnlySpan`1[ubyte],ubyte[],System.Span`1[ubyte]):int (FullOpts) -15 (-0.60 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.PasswordBasedEncryption:Encrypt(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.SymmetricAlgorithm,bool,System.Formats.Asn1.AsnWriter,System.Security.Cryptography.PbeParameters,System.ReadOnlySpan`1[ubyte],ubyte[],System.Span`1[ubyte]):int (FullOpts) -15 (-0.66 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Asn1.CertificateChoiceAsn:DecodeCore(byref,System.ReadOnlyMemory`1[ubyte],byref) (FullOpts) -15 (-1.00 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Signature:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) -15 (-1.10 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.SignedInfo:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) -15 (-21.74 % of base) : System.Private.CoreLib.dasm - System.String:CopyTo(System.Span`1[ushort]):this (FullOpts) -15 (-4.12 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:Base64EncodeAndWrite(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int):this (FullOpts) -14 (-12.84 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:Dequeue():System.__Canon:this (FullOpts) -14 (-1.97 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpConnection:ParseExtensions(System.String[]):this (FullOpts) -13 (-12.50 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:TryCopyTo(System.Span`1[System.__Canon]):bool:this (FullOpts) -13 (-12.50 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:TryCopyTo(System.Span`1[System.__Canon]):bool:this (FullOpts) -12 (-25.53 % of base) : System.Collections.dasm - System.Collections.Generic.SortedList`2[System.__Canon,System.Nullable`1[int]]:Clear():this (FullOpts) -12 (-9.45 % of base) : System.Private.CoreLib.dasm - System.Exception:g__Write|60_0(System.String,byref) (FullOpts) -12 (-2.14 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.AsnWriter:WriteConstructedCerBitString(System.Formats.Asn1.Asn1Tag,System.ReadOnlySpan`1[ubyte],int):this (FullOpts) -12 (-2.63 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash32:Append(System.ReadOnlySpan`1[ubyte]):this (FullOpts) -12 (-1.11 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HKDF:Expand(System.Security.Cryptography.HashAlgorithmName,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.ReadOnlySpan`1[ubyte]) (FullOpts) -12 (-0.26 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.Asn1.TbsCertificateAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[ubyte],byref) (FullOpts) -12 (-1.20 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.CipherData:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) -12 (-0.68 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.EncryptedData:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) -12 (-1.21 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.EncryptionMethod:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) -12 (-1.00 % of base) : System.Private.CoreLib.dasm - System.String:JoinCore[System.__Canon](System.ReadOnlySpan`1[ushort],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.String (FullOpts) -12 (-0.69 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceConcatenationWithAdjacentStrings():this (FullOpts) -11 (-0.75 % of base) : System.Private.CoreLib.dasm - System.IO.Path:GetRelativePath(System.String,System.String,int):System.String (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[double]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[int]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[long]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[short]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.__Canon]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Nullable`1[int]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.50 % of base) : System.Private.CoreLib.dasm - System.Memory`1[ubyte]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[double]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[int]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[long]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[short]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.__Canon]:Pin():System.Buffers.MemoryHandle:this (FullOpts) Top method regressions (percentages): 371 (Infinity of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (FullOpts) (0 base, 1 diff methods) 405 (Infinity of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:TryRegisterCore(long,System.Net.Sockets.SocketAsyncContext,byref):bool:this (FullOpts) 47 (87.04 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Numerics.Vector`1[float]]:RemoveAt(int):this (FullOpts) 89 (71.77 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackagePart:CleanUpRequestedStreamsList():this (FullOpts) 66 (64.08 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsIdentity:TryRemoveClaim(System.Security.Claims.Claim):bool:this (FullOpts) 26 (53.06 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.__Canon]:Clear():this (FullOpts) 47 (52.22 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:Remove(System.Numerics.Vector`1[float]):bool:this (FullOpts) 41 (46.59 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHelpers:SetPendingModificationTimes(System.Collections.Generic.Stack`1[System.ValueTuple`2[System.String,System.DateTimeOffset]]) (FullOpts) 47 (46.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Numerics.Vector`1[float]]:Remove(System.Numerics.Vector`1[float]):bool:this (FullOpts) 218 (37.98 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyNameHelper(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 75 (37.69 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Tail[System.__Canon](System.Collections.Generic.List`1[System.__Canon]):System.Collections.Generic.List`1[System.__Canon] (FullOpts) 37 (36.27 % of base) : System.Linq.Expressions.dasm - System.Dynamic.BindingRestrictions+TestBuilder:ToExpression():System.Linq.Expressions.Expression:this (FullOpts) 50 (34.01 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:System.Collections.IList.Remove(System.Object):this (FullOpts) 162 (31.33 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborReader:RestoreCheckpoint(byref):this (FullOpts) 205 (29.75 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(System.DateTime):this (FullOpts) 205 (29.45 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(System.DateTimeOffset):this (FullOpts) 55 (29.41 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialStream:RemoveCompletedTasks(System.Collections.Generic.Queue`1[System.IO.Ports.SerialStream+SerialStreamIORequest],System.Object) (FullOpts) 59 (28.23 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:UpdateSortedPropertyCache(byref):this (FullOpts) 59 (27.19 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:UpdateSortedParameterCache(byref):this (FullOpts) 93 (26.35 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager:RemoveIndexEntries(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager):this (FullOpts) 195 (25.76 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MemberDescriptor:FilterAttributesIfNeeded():this (FullOpts) 52 (25.00 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:Remove(System.Numerics.Vector`1[float]):bool:this (FullOpts) 74 (24.42 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:AdjustEnumeratorsHelper(Microsoft.VisualBasic.Collection+Node,int):this (FullOpts) 94 (24.42 % of base) : System.Private.CoreLib.dasm - System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 209 (24.33 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(double):this (FullOpts) 79 (23.80 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:ServiceProviderDisposed(Microsoft.Extensions.DependencyInjection.ServiceProvider):this (FullOpts) 19 (22.89 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:Clear():this (FullOpts) 75 (21.80 % of base) : System.Data.Common.dasm - System.Data.DataViewListener:RegisterListener(System.Data.DataTable):this (FullOpts) 272 (21.43 % of base) : System.Data.Common.dasm - System.Data.DataColumn:HandleDependentColumnList(System.Data.DataExpression,System.Data.DataExpression):this (FullOpts) 343 (21.33 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) 121 (20.86 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this (FullOpts) 218 (19.98 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbConnectionFactory:PruneConnectionPoolGroups(System.Object):this (FullOpts) 85 (19.02 % of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64ExtraField:RemoveZip64Blocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]) (FullOpts) 66 (18.23 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:InsertInOperatorListIfLessGenericThanExisting(Microsoft.VisualBasic.CompilerServices.Symbols+Method,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref) (FullOpts) 56 (17.34 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryTypeFactory:AddItemToChoice(System.Collections.Generic.List`1[System.Xml.Xsl.XmlQueryType],System.Xml.Xsl.XmlQueryType) (FullOpts) 45 (16.79 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialStream:g__TryPeekNextRequest|139_0(byref,byref):bool (FullOpts) 57 (16.24 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:Clear():this (FullOpts) 12 (15.38 % of base) : System.Private.Xml.dasm - System.Xml.XmlConvert:TryFormat(bool,System.Span`1[ushort],byref):bool (FullOpts) 70 (15.02 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:RemoveFromStats(Microsoft.Extensions.Caching.Memory.MemoryCache+Stats):this (FullOpts) 88 (14.06 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:RemoveParsedValue(System.Net.Http.Headers.HeaderDescriptor,System.Object):bool:this (FullOpts) 79 (13.91 % of base) : System.Private.CoreLib.dasm - System.UInt128:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 79 (13.86 % of base) : System.Private.CoreLib.dasm - System.UInt128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 72 (13.69 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:GetEnumerator():System.Collections.IEnumerator:this (FullOpts) 263 (13.07 % of base) : System.Data.Common.dasm - System.Data.DataTable:ParseSortString(System.String):System.Data.IndexField[]:this (FullOpts) 117 (12.59 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(System.Guid):this (FullOpts) 143 (12.46 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatInt128[ubyte](System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) 66 (12.38 % of base) : System.Net.HttpListener.dasm - System.Net.ChunkStream:ReadFromChunks(ubyte[],int,int):int:this (FullOpts) 36 (12.04 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHelpers:UpdatePendingModificationTimes(System.Collections.Generic.Stack`1[System.ValueTuple`2[System.String,System.DateTimeOffset]],System.String,System.DateTimeOffset) (FullOpts) 86 (10.87 % of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64ExtraField:GetAndRemoveZip64Block(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],bool,bool,bool,bool):System.IO.Compression.Zip64ExtraField (FullOpts) 75 (10.30 % of base) : System.Linq.Expressions.dasm - System.Dynamic.ExpandoClass:FindNewClass(System.String):System.Dynamic.ExpandoClass:this (FullOpts) 50 (10.00 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeAssemblyBuilder:GetType(System.String,bool,bool):System.Type:this (FullOpts) 74 (9.31 % of base) : System.Private.CoreLib.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts) 54 (9.14 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,bool):System.Type (FullOpts) 54 (9.09 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,bool,bool):System.Type (FullOpts) 50 (9.03 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:GetType(System.String,System.Reflection.Assembly,bool,bool):System.Type (FullOpts) 60 (8.88 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Globalization.CompareInfo,int):System.String (FullOpts) 84 (8.33 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ComposablePartExportProvider:GetUpdatedPartsList(byref):System.Collections.Generic.List`1[System.ComponentModel.Composition.Primitives.ComposablePart]:this (FullOpts) 21 (8.24 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:MergeBuckets(System.Collections.Generic.List`1[System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+SwitchLabel]]) (FullOpts) 35 (7.92 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.FollSiblingQuery:Advance():System.Xml.XPath.XPathNavigator:this (FullOpts) 42 (7.76 % of base) : System.Private.CoreLib.dasm - System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 11 (7.64 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:TryDequeue(byref):bool:this (FullOpts) 67 (7.42 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:TryGetPooledHttp11Connection(System.Net.Http.HttpRequestMessage,bool,byref,byref):bool:this (FullOpts) 104 (7.38 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceAtomic():System.Text.RegularExpressions.RegexNode:this (FullOpts) 25 (7.20 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.CacheChildrenQuery:Advance():System.Xml.XPath.XPathNavigator:this (FullOpts) 12 (7.02 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobWriter:WriteBytes(System.Collections.Immutable.ImmutableArray`1[ubyte]):this (FullOpts) 12 (7.02 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobWriter:WriteBytes(ubyte[]):this (FullOpts) 80 (6.97 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:TryGetPooledHttp2Connection(System.Net.Http.HttpRequestMessage,byref,byref):bool:this (FullOpts) 43 (6.60 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):bool:this (FullOpts) 62 (6.53 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.ValidationAttributeStore+TypeStoreItem:GetExplicitAttributes(System.ComponentModel.PropertyDescriptor):System.ComponentModel.AttributeCollection (FullOpts) 25 (6.35 % of base) : System.Private.CoreLib.dasm - System.Collections.ListDictionaryInternal+NodeKeyValueCollection:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts) 147 (6.24 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XContainer+ContentReader:ReadContentFrom(System.Xml.Linq.XContainer,System.Xml.XmlReader):bool:this (FullOpts) 46 (6.08 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializer:WriteMetadataForCollection(System.Text.Json.Serialization.JsonConverter,byref,System.Text.Json.Utf8JsonWriter):ubyte (FullOpts) 70 (6.07 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:EnumerateFilesRecursively(System.String,System.Predicate`1[System.String]) (FullOpts) 10 (6.06 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:set_Salt(ubyte[]):this (FullOpts) 35 (6.04 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeAssembly:GetType(System.String,bool,bool):System.Type:this (FullOpts) 78 (5.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 113 (5.55 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter:VisitCallSiteMain(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter+CallSiteFormatterContext):System.Object:this (FullOpts) 45 (5.37 % of base) : System.Collections.Specialized.dasm - System.Collections.Specialized.NameValueCollection:CopyTo(System.Array,int):this (FullOpts) 53 (5.31 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SequenceNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this (FullOpts) 11 (5.26 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[ubyte]:InsertSpanRangeInternal(int,System.ReadOnlySpan`1[ubyte]):System.Collections.Immutable.ImmutableArray`1[ubyte]:this (FullOpts) 11 (5.19 % of base) : System.Linq.Expressions.dasm - System.Dynamic.BindingRestrictions+TestBuilder:Push(System.Linq.Expressions.Expression,int):this (FullOpts) 21 (5.15 % of base) : System.Private.CoreLib.dasm - System.IntPtr:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) 23 (5.00 % of base) : System.Private.CoreLib.dasm - System.Attribute:AreFieldValuesEqual(System.Object,System.Object):bool (FullOpts) 35 (4.89 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type],bool):System.Type (FullOpts) 7 (4.67 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Pkcs.Pkcs12Kdf:CircularCopy(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) (FullOpts) 7 (4.67 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Pkcs12Kdf:CircularCopy(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) (FullOpts) 6 (4.65 % of base) : System.Private.CoreLib.dasm - System.Object:MemberwiseClone():System.Object:this (FullOpts) 8 (4.49 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Insert(int,System.ReadOnlySpan`1[ubyte]):this (FullOpts) 2 (4.35 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[short]:TryCopyTo(System.Span`1[short]):bool:this (FullOpts) 2 (4.35 % of base) : System.Private.CoreLib.dasm - System.Span`1[short]:TryCopyTo(System.Span`1[short]):bool:this (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[double](System.ReadOnlyMemory`1[double],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[int](System.ReadOnlyMemory`1[int],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[long](System.ReadOnlyMemory`1[long],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[short](System.ReadOnlyMemory`1[short],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[System.Nullable`1[int]](System.ReadOnlyMemory`1[System.Nullable`1[int]],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[System.Numerics.Vector`1[float]](System.ReadOnlyMemory`1[System.Numerics.Vector`1[float]],byref):bool (FullOpts) 14 (4.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.MemoryMarshal:TryGetArray[ubyte](System.ReadOnlyMemory`1[ubyte],byref):bool (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[double]:TryCopyTo(System.Span`1[double]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[int]:TryCopyTo(System.Span`1[int]):bool:this (FullOpts) 2 (4.26 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[long]:TryCopyTo(System.Span`1[long]):bool:this (FullOpts) Top method improvements (percentages): -776 (-100.00 % of base) : System.Net.Sockets.dasm - -951 (-70.50 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WriteNumberValueAsString(long):this (FullOpts) -951 (-70.50 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(long):this (FullOpts) -23 (-39.66 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:Clear():this (FullOpts) -62 (-36.69 % of base) : System.Memory.dasm - System.Buffers.ArrayBufferWriter`1[System.__Canon]:Clear():this (FullOpts) -18 (-33.96 % of base) : System.Collections.dasm - System.Collections.Generic.PriorityQueue`2[System.__Canon,System.Nullable`1[int]]:Clear():this (FullOpts) -18 (-33.96 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Clear():this (FullOpts) -33 (-30.56 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.ClonableStack`1[System.Numerics.Vector`1[float]]:Pop():System.Numerics.Vector`1[float]:this (FullOpts) -12 (-25.53 % of base) : System.Collections.dasm - System.Collections.Generic.SortedList`2[System.__Canon,System.Nullable`1[int]]:Clear():this (FullOpts) -15 (-21.74 % of base) : System.Private.CoreLib.dasm - System.String:CopyTo(System.Span`1[ushort]):this (FullOpts) -135 (-18.42 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) -15 (-17.44 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (FullOpts) -69 (-17.29 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WriteNumberValueAsString(ulong):this (FullOpts) -69 (-17.29 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(ulong):this (FullOpts) -53 (-16.77 % of base) : System.Private.CoreLib.dasm - System.Array:Resize[System.__Canon](byref,int) (FullOpts) -18 (-15.52 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:CopyTo(System.Span`1[System.__Canon]):this (FullOpts) -18 (-15.52 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:CopyTo(System.Span`1[System.__Canon]):this (FullOpts) -21 (-14.58 % of base) : System.Private.CoreLib.dasm - System.Array:Clear(System.Array) (FullOpts) -14 (-12.84 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:Dequeue():System.__Canon:this (FullOpts) -13 (-12.50 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:TryCopyTo(System.Span`1[System.__Canon]):bool:this (FullOpts) -13 (-12.50 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:TryCopyTo(System.Span`1[System.__Canon]):bool:this (FullOpts) -28 (-12.33 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:ToArray():System.__Canon[]:this (FullOpts) -28 (-12.33 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:ToArray():System.__Canon[]:this (FullOpts) -16 (-12.21 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.__Canon]:TryPop(byref):bool:this (FullOpts) -42 (-12.07 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:GetSubArray[System.__Canon](System.__Canon[],System.Range):System.__Canon[] (FullOpts) -86 (-11.36 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type (FullOpts) -17 (-10.37 % of base) : System.Diagnostics.Process.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Console.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Security.Cryptography.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Private.Uri.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Private.Xml.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Text.RegularExpressions.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Net.Http.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Runtime.Numerics.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Private.CoreLib.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -17 (-10.37 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Text.ValueStringBuilder:AppendSlow(System.String):this (FullOpts) -109 (-9.45 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(System.Decimal):this (FullOpts) -12 (-9.45 % of base) : System.Private.CoreLib.dasm - System.Exception:g__Write|60_0(System.String,byref) (FullOpts) -77 (-9.28 % of base) : System.Private.CoreLib.dasm - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type],bool,bool):System.Type (FullOpts) -55 (-9.12 % of base) : System.Private.CoreLib.dasm - System.Int128:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) -4 (-8.00 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.Nullable`1[int]]:Pop():System.Nullable`1[int]:this (FullOpts) -17 (-7.46 % of base) : System.Private.CoreLib.dasm - System.Number+BigInteger:Multiply(byref,uint,byref) (FullOpts) -29 (-7.23 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.ConcurrentBag`1+WorkStealingQueue[System.__Canon]:TryLocalPop(byref):bool:this (FullOpts) -6 (-6.98 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CapiHelper:ReadReversed(System.IO.BinaryReader,int):ubyte[] (FullOpts) -6 (-6.82 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.PkcsHelpers:ToSerialBytes(System.String):ubyte[] (FullOpts) -8 (-6.15 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.AesCcm:ImportKey(System.ReadOnlySpan`1[ubyte]):this (FullOpts) -6 (-5.61 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) (FullOpts) -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String (FullOpts) -8 (-5.16 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:.ctor(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):this (FullOpts) -8 (-4.97 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.AesCcm:.ctor(System.ReadOnlySpan`1[ubyte]):this (FullOpts) -8 (-4.76 % of base) : System.Data.Odbc.dasm - System.Data.SafeNativeMethods:LocalAlloc(long):long (FullOpts) -8 (-4.62 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdf:CreateImplementation(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):System.Security.Cryptography.SP800108HmacCounterKdfImplementationBase (FullOpts) -3 (-4.41 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[System.__Canon]:CreateSetComparer():System.Collections.Generic.IEqualityComparer`1[System.__Canon] (FullOpts) -9 (-4.41 % of base) : System.Private.CoreLib.dasm - System.String:PadRight(int,ushort):System.String:this (FullOpts) -59 (-4.20 % of base) : System.Text.Json.dasm - System.Text.Json.JsonReaderHelper:UnescapeAndCompare(System.Buffers.ReadOnlySequence`1[ubyte],System.ReadOnlySpan`1[ubyte]):bool (FullOpts) -24 (-4.19 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.Utils:CopyArray(System.Array,System.Array):System.Array (FullOpts) -15 (-4.12 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:Base64EncodeAndWrite(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int):this (FullOpts) -9 (-4.09 % of base) : System.Memory.dasm - System.Buffers.BuffersExtensions:WriteMultiSegment[short](System.Buffers.IBufferWriter`1[short],byref,System.Span`1[short]) (FullOpts) -6 (-4.03 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate:GetSerialNumber():ubyte[]:this (FullOpts) -8 (-3.94 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.AesCcm:.ctor(ubyte[]):this (FullOpts) -15 (-3.90 % of base) : System.IO.Compression.Brotli.dasm - System.IO.Compression.BrotliStream:TryDecompress(System.Span`1[ubyte],byref):bool:this (FullOpts) -8 (-3.74 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdf:.ctor(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):this (FullOpts) -42 (-3.52 % of base) : System.Private.CoreLib.dasm - System.Array:LastIndexOf(System.Array,System.Object,int,int):int (FullOpts) -11 (-3.50 % of base) : System.Private.CoreLib.dasm - System.Memory`1[ubyte]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.50 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[ubyte]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[double]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[int]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[long]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[short]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.__Canon]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Nullable`1[int]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[double]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[int]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[long]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[short]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.__Canon]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -11 (-3.48 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.Nullable`1[int]]:Pin():System.Buffers.MemoryHandle:this (FullOpts) -348 (-3.38 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts) -23 (-3.26 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatUInt128[ubyte](System.UInt128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool (FullOpts) -7 (-3.10 % of base) : System.Memory.dasm - System.Buffers.BuffersExtensions:WriteMultiSegment[System.Numerics.Vector`1[float]](System.Buffers.IBufferWriter`1[System.Numerics.Vector`1[float]],byref,System.Span`1[System.Numerics.Vector`1[float]]) (FullOpts) -6 (-3.06 % of base) : System.Private.CoreLib.dasm - System.IO.BufferedStream:WriteToBuffer(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -7 (-2.78 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts) -8 (-2.78 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdf:.ctor(ubyte[],System.Security.Cryptography.HashAlgorithmName):this (FullOpts) -8 (-2.75 % of base) : System.Runtime.Numerics.dasm - System.Text.ValueStringBuilder:Insert(int,System.String):this (FullOpts) -8 (-2.75 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - System.Text.ValueStringBuilder:Insert(int,System.String):this (FullOpts) -4 (-2.74 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.Utils:VBFriendlyName(System.Type,System.Object):System.String (FullOpts) -23 (-2.69 % of base) : System.Private.Xml.dasm - System.Xml.XmlDeclaration:get_InnerText():System.String:this (FullOpts) -26 (-2.66 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader:DetectEncoding():this (FullOpts) -12 (-2.63 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash32:Append(System.ReadOnlySpan`1[ubyte]):this (FullOpts) -6 (-2.62 % of base) : System.Private.CoreLib.dasm - System.Delegate:InternalEqualTypes(System.Object,System.Object):bool (FullOpts) -5 (-2.62 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicHelpers:ToQuicAddr(System.Net.IPEndPoint):Microsoft.Quic.QuicAddr (FullOpts) -8 (-2.59 % of base) : System.Private.Xml.dasm - System.Xml.XmlUtf8RawTextWriter:.ctor(System.IO.Stream,System.Xml.XmlWriterSettings):this (FullOpts) -3 (-2.54 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:WriteToBuffer(System.ReadOnlySpan`1[ubyte]):this (FullOpts) -8 (-2.53 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.StreamExtensions:CopyTo(System.IO.Stream,ulong,int) (FullOpts) -10 (-2.51 % of base) : System.Private.CoreLib.dasm - System.String:CopyTo(int,ushort[],int,int):this (FullOpts) -7 (-2.44 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts) -8 (-2.42 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) -6 (-2.38 % of base) : System.Net.WebClient.dasm - System.IO.ChunkedMemoryStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) -4 (-2.33 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:RemoveRange(int,int):this (FullOpts) 793 total methods with Code Size differences (479 improved, 314 regressed), 231968 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 1 year ago

Top method regressions

121 (20.86 % of base) - System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this ```diff ; Assembly listing for method System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data -; 0 inlinees with PGO data; 18 single block inlinees; 15 inlinees without PGO data +; 0 inlinees with PGO data; 14 single block inlinees; 17 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T11] ( 3, 3 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T10] ( 7, 5.50) ref -> rbx class-hnd single-def ; V02 arg2 [V02,T12] ( 3, 3 ) bool -> rdx single-def ; V03 arg3 [V03,T13] ( 3, 3 ) bool -> rcx single-def ; V04 loc0 [V04,T17] ( 3, 3 ) ref -> rdi class-hnd single-def ;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [rsp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -;* V06 tmp1 [V06,T30] ( 0, 0 ) bool -> zero-ref "Inline return value spill temp" -; V07 tmp2 [V07 ] ( 43, 57.50) struct (64) [rbp-58H] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" +;* V06 tmp1 [V06,T35] ( 0, 0 ) bool -> zero-ref "Inline return value spill temp" +; V07 tmp2 [V07 ] ( 48, 60 ) struct (64) [rbp-58H] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V08 tmp3 [V08 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V09 tmp4 [V09 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ;* V10 tmp5 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V11 tmp6 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" ; V12 tmp7 [V12,T14] ( 2, 4 ) byref -> rax single-def "Inlining Arg" ; V13 tmp8 [V13,T15] ( 2, 4 ) int -> rsi "Inlining Arg" ;* V14 tmp9 [V14 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ; V15 tmp10 [V15,T21] ( 3, 2 ) ref -> rax class-hnd "Inline return value spill temp" ; V16 tmp11 [V16,T16] ( 4, 3 ) ref -> rbx class-hnd single-def "Inline stloc first use temp" ; V17 tmp12 [V17,T19] ( 4, 2 ) ref -> r15 class-hnd "Inline stloc first use temp" -; V18 tmp13 [V18,T26] ( 3, 1.50) int -> r14 "Inline stloc first use temp" +; V18 tmp13 [V18,T27] ( 3, 1.50) int -> r14 "Inline stloc first use temp" ;* V19 tmp14 [V19 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ; V20 tmp15 [V20,T20] ( 4, 2 ) int -> r14 "Inline stloc first use temp" ; V21 tmp16 [V21,T18] ( 3, 3 ) int -> rdi "Span.get_Item index" -; V22 tmp17 [V22,T27] ( 3, 1.50) int -> rdi -; V23 tmp18 [V23,T28] ( 2, 1 ) ushort -> rdi "Inline stloc first use temp" +; V22 tmp17 [V22,T28] ( 3, 1.50) int -> rdi +; V23 tmp18 [V23,T30] ( 2, 1 ) ushort -> rdi "Inline stloc first use temp" ; V24 tmp19 [V24,T02] ( 3, 24 ) int -> rdi "Span.get_Item index" ; V25 tmp20 [V25,T08] ( 2, 8 ) bool -> rax "Inline return value spill temp" ; V26 tmp21 [V26,T00] ( 4, 32 ) ushort -> rdi "Inlining Arg" ;* V27 tmp22 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ;* V28 tmp23 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V29 tmp24 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ;* V30 tmp25 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V31 tmp26 [V31,T03] ( 3, 24 ) int -> rdi "Span.get_Item index" ; V32 tmp27 [V32,T09] ( 2, 8 ) bool -> rax "Inline return value spill temp" ; V33 tmp28 [V33,T01] ( 4, 32 ) ushort -> rdi "Inlining Arg" ;* V34 tmp29 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ;* V35 tmp30 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V36 tmp31 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ;* V37 tmp32 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" -;* V38 tmp33 [V38 ] ( 0, 0 ) byref -> zero-ref single-def "field V08._reference (fldOffset=0x0)" P-INDEP -;* V39 tmp34 [V39 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP -; V40 tmp35 [V40,T22] ( 2, 2 ) byref -> rax "field V09._reference (fldOffset=0x0)" P-INDEP -; V41 tmp36 [V41,T24] ( 2, 2 ) int -> rsi "field V09._length (fldOffset=0x8)" P-INDEP -; V42 tmp37 [V42,T23] ( 2, 2 ) byref -> rax single-def "field V10._reference (fldOffset=0x0)" P-INDEP -; V43 tmp38 [V43,T25] ( 2, 2 ) int -> rsi "field V10._length (fldOffset=0x8)" P-INDEP -;* V44 tmp39 [V44 ] ( 0, 0 ) byref -> zero-ref single-def "field V11._reference (fldOffset=0x0)" P-INDEP -;* V45 tmp40 [V45 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP -;* V46 tmp41 [V46 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP -;* V47 tmp42 [V47 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP -;* V48 tmp43 [V48 ] ( 0, 0 ) byref -> zero-ref "field V28._reference (fldOffset=0x0)" P-INDEP -;* V49 tmp44 [V49 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP -;* V50 tmp45 [V50 ] ( 0, 0 ) byref -> zero-ref "field V29._reference (fldOffset=0x0)" P-INDEP -;* V51 tmp46 [V51 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP -;* V52 tmp47 [V52 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP -;* V53 tmp48 [V53 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP -;* V54 tmp49 [V54 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP -;* V55 tmp50 [V55 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP -;* V56 tmp51 [V56 ] ( 0, 0 ) byref -> zero-ref "field V35._reference (fldOffset=0x0)" P-INDEP -;* V57 tmp52 [V57 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP -;* V58 tmp53 [V58 ] ( 0, 0 ) byref -> zero-ref "field V36._reference (fldOffset=0x0)" P-INDEP -;* V59 tmp54 [V59 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP -;* V60 tmp55 [V60 ] ( 0, 0 ) byref -> zero-ref "field V37._reference (fldOffset=0x0)" P-INDEP -;* V61 tmp56 [V61 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP -; V62 tmp57 [V62,T29] ( 2, 0 ) ref -> rsi single-def "argument with side effect" -; V63 cse0 [V63,T04] ( 3, 12 ) int -> rdi "CSE - aggressive" -; V64 cse1 [V64,T05] ( 3, 12 ) int -> rax "CSE - aggressive" -; V65 cse2 [V65,T06] ( 3, 12 ) int -> rdi "CSE - aggressive" -; V66 cse3 [V66,T07] ( 3, 12 ) int -> rax "CSE - aggressive" +;* V38 tmp33 [V38,T31] ( 0, 0 ) bool -> zero-ref "Inline return value spill temp" +; V39 tmp34 [V39,T32] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" +; V40 tmp35 [V40,T26] ( 3, 1.50) ref -> r15 class-hnd "Inline return value spill temp" +; V41 tmp36 [V41 ] ( 2, 1 ) struct (16) [rbp-68H] do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op "Inline stloc first use temp" +; V42 tmp37 [V42,T29] ( 2, 1 ) ref -> r15 class-hnd single-def "Inline stloc first use temp" +;* V43 tmp38 [V43 ] ( 0, 0 ) byref -> zero-ref single-def "field V08._reference (fldOffset=0x0)" P-INDEP +;* V44 tmp39 [V44 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP +; V45 tmp40 [V45,T22] ( 2, 2 ) byref -> rax "field V09._reference (fldOffset=0x0)" P-INDEP +; V46 tmp41 [V46,T24] ( 2, 2 ) int -> rsi "field V09._length (fldOffset=0x8)" P-INDEP +; V47 tmp42 [V47,T23] ( 2, 2 ) byref -> rax single-def "field V10._reference (fldOffset=0x0)" P-INDEP +; V48 tmp43 [V48,T25] ( 2, 2 ) int -> rsi "field V10._length (fldOffset=0x8)" P-INDEP +;* V49 tmp44 [V49 ] ( 0, 0 ) byref -> zero-ref single-def "field V11._reference (fldOffset=0x0)" P-INDEP +;* V50 tmp45 [V50 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP +;* V51 tmp46 [V51 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP +;* V52 tmp47 [V52 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP +;* V53 tmp48 [V53 ] ( 0, 0 ) byref -> zero-ref "field V28._reference (fldOffset=0x0)" P-INDEP +;* V54 tmp49 [V54 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP +;* V55 tmp50 [V55 ] ( 0, 0 ) byref -> zero-ref "field V29._reference (fldOffset=0x0)" P-INDEP +;* V56 tmp51 [V56 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP +;* V57 tmp52 [V57 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP +;* V58 tmp53 [V58 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP +;* V59 tmp54 [V59 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP +;* V60 tmp55 [V60 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP +;* V61 tmp56 [V61 ] ( 0, 0 ) byref -> zero-ref "field V35._reference (fldOffset=0x0)" P-INDEP +;* V62 tmp57 [V62 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP +;* V63 tmp58 [V63 ] ( 0, 0 ) byref -> zero-ref "field V36._reference (fldOffset=0x0)" P-INDEP +;* V64 tmp59 [V64 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP +;* V65 tmp60 [V65 ] ( 0, 0 ) byref -> zero-ref "field V37._reference (fldOffset=0x0)" P-INDEP +;* V66 tmp61 [V66 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP +; V67 tmp62 [V67 ] ( 2, 1 ) byref -> [rbp-68H] do-not-enreg[X] addr-exposed "field V41._reference (fldOffset=0x0)" P-DEP +; V68 tmp63 [V68 ] ( 2, 1 ) int -> [rbp-60H] do-not-enreg[X] addr-exposed "field V41._length (fldOffset=0x8)" P-DEP +; V69 tmp64 [V69,T33] ( 2, 0 ) ref -> rsi single-def "argument with side effect" +; V70 tmp65 [V70,T34] ( 2, 0 ) ref -> rsi single-def "argument with side effect" +; V71 cse0 [V71,T04] ( 3, 12 ) int -> rdi "CSE - aggressive" +; V72 cse1 [V72,T05] ( 3, 12 ) int -> rax "CSE - aggressive" +; V73 cse2 [V73,T06] ( 3, 12 ) int -> rdi "CSE - aggressive" +; V74 cse3 [V74,T07] ( 3, 12 ) int -> rax "CSE - aggressive" ; -; Lcl frame size = 72 +; Lcl frame size = 88 ; BEGIN METHOD System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this G_M47648_IG01: push rbp push r15 push r14 push rbx - sub rsp, 72 - lea rbp, [rsp+60H] + sub rsp, 88 + lea rbp, [rsp+70H] xor eax, eax - mov qword ptr [rbp-58H], rax + mov qword ptr [rbp-68H], rax vxorps xmm8, xmm8, xmm8 + vmovdqa xmmword ptr [rbp-60H], xmm8 vmovdqa xmmword ptr [rbp-50H], xmm8 vmovdqa xmmword ptr [rbp-40H], xmm8 vmovdqa xmmword ptr [rbp-30H], xmm8 mov qword ptr [rbp-20H], rax mov rbx, rsi - ;; size=48 bbWeight=1 PerfScore 13.58 + ;; size=53 bbWeight=1 PerfScore 15.58 G_M47648_IG02: test rbx, rbx - je G_M47648_IG29 + je G_M47648_IG32 ;; size=9 bbWeight=1 PerfScore 1.25 G_M47648_IG03: cmp dword ptr [rbx+08H], 0 - je G_M47648_IG29 + je G_M47648_IG32 ;; size=10 bbWeight=0.50 PerfScore 2.00 G_M47648_IG04: mov rdi, gword ptr [rdi+10H] lea rax, bword ptr [rbx+0CH] mov esi, dword ptr [rbx+08H] xor r8, r8 mov gword ptr [rbp-58H], r8 ;; size=18 bbWeight=1 PerfScore 5.75 G_M47648_IG05: mov gword ptr [rbp-50H], r8 mov byte ptr [rbp-30H], 0 mov byte ptr [rbp-2FH], 0 mov byte ptr [rbp-2EH], 0 mov byte ptr [rbp-2DH], 0 mov byte ptr [rbp-2CH], 0 ;; size=24 bbWeight=1 PerfScore 6.00 G_M47648_IG06: mov gword ptr [rbp-48H], r8 ;; size=4 bbWeight=1 PerfScore 1.00 G_M47648_IG07: mov gword ptr [rbp-40H], r8 mov bword ptr [rbp-28H], rax mov dword ptr [rbp-20H], esi ;; size=11 bbWeight=1 PerfScore 3.00 G_M47648_IG08: mov dword ptr [rbp-38H], r8d ;; size=4 bbWeight=1 PerfScore 1.00 G_M47648_IG09: mov dword ptr [rbp-34H], r8d mov byte ptr [rbp-30H], dl mov byte ptr [rbp-2FH], cl mov gword ptr [rbp-40H], rdi mov gword ptr [rbp-48H], rdi lea rdi, [rbp-58H] mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this call [rax]System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this mov rbx, rax test rbx, rbx jne SHORT G_M47648_IG11 ;; size=42 bbWeight=1 PerfScore 10.25 G_M47648_IG10: xor rax, rax - jmp G_M47648_IG27 + jmp G_M47648_IG30 ;; size=7 bbWeight=0.50 PerfScore 1.12 G_M47648_IG11: xor r15, r15 mov edi, dword ptr [rbp-38H] mov dword ptr [rbp-34H], edi jmp SHORT G_M47648_IG13 ;; size=11 bbWeight=0.50 PerfScore 2.12 G_M47648_IG12: mov edi, dword ptr [rbp-38H] inc edi mov dword ptr [rbp-38H], edi ;; size=8 bbWeight=2 PerfScore 4.50 G_M47648_IG13: mov edi, dword ptr [rbp-38H] mov eax, dword ptr [rbp-20H] cmp edi, eax jge SHORT G_M47648_IG16 cmp edi, eax - jae G_M47648_IG30 + jae G_M47648_IG34 mov rax, bword ptr [rbp-28H] movzx rdi, word ptr [rax+2*rdi] cmp edi, 256 jae SHORT G_M47648_IG15 mov rax, 0xD1FFAB1E ; static handle test byte ptr [rdi+rax], 128 jne SHORT G_M47648_IG12 ;; size=50 bbWeight=4 PerfScore 52.00 G_M47648_IG14: jmp SHORT G_M47648_IG16 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M47648_IG15: mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool test eax, eax jne SHORT G_M47648_IG12 ;; size=16 bbWeight=4 PerfScore 18.00 G_M47648_IG16: mov edi, dword ptr [rbp-38H] cmp edi, dword ptr [rbp-20H] jl SHORT G_M47648_IG17 xor edi, edi jmp SHORT G_M47648_IG18 ;; size=12 bbWeight=0.50 PerfScore 3.12 G_M47648_IG17: mov edi, dword ptr [rbp-38H] cmp edi, dword ptr [rbp-20H] - jae G_M47648_IG30 + jae G_M47648_IG34 mov rax, bword ptr [rbp-28H] movzx rdi, word ptr [rax+2*rdi] ;; size=20 bbWeight=0.50 PerfScore 3.50 G_M47648_IG18: movzx rdi, di mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:CharToToken(ushort):int call [rax]System.Reflection.TypeNameParser:CharToToken(ushort):int mov r14d, eax test r14d, r14d je SHORT G_M47648_IG24 cmp r14d, 7 je SHORT G_M47648_IG24 jmp SHORT G_M47648_IG20 ;; size=31 bbWeight=0.50 PerfScore 4.12 G_M47648_IG19: mov edi, dword ptr [rbp-38H] inc edi mov dword ptr [rbp-38H], edi ;; size=8 bbWeight=2 PerfScore 4.50 G_M47648_IG20: mov edi, dword ptr [rbp-38H] mov eax, dword ptr [rbp-20H] cmp edi, eax jge SHORT G_M47648_IG23 cmp edi, eax - jae G_M47648_IG30 + jae G_M47648_IG34 mov rax, bword ptr [rbp-28H] movzx rdi, word ptr [rax+2*rdi] cmp edi, 256 jae SHORT G_M47648_IG22 mov rax, 0xD1FFAB1E ; static handle test byte ptr [rdi+rax], 128 jne SHORT G_M47648_IG19 ;; size=50 bbWeight=4 PerfScore 52.00 G_M47648_IG21: jmp SHORT G_M47648_IG23 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M47648_IG22: mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool test eax, eax jne SHORT G_M47648_IG19 ;; size=16 bbWeight=4 PerfScore 18.00 G_M47648_IG23: mov edi, dword ptr [rbp-38H] cmp edi, dword ptr [rbp-20H] jge SHORT G_M47648_IG24 mov edi, dword ptr [rbp-38H] inc edi mov dword ptr [rbp-38H], edi ;; size=16 bbWeight=0.50 PerfScore 3.12 G_M47648_IG24: test r14d, r14d - je SHORT G_M47648_IG26 + je G_M47648_IG29 cmp r14d, 3 je SHORT G_M47648_IG25 lea rdi, [rbp-58H] mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:ParseError():this call [rax]System.Reflection.TypeNameParser:ParseError():this jmp G_M47648_IG10 - ;; size=32 bbWeight=0.50 PerfScore 4.12 + ;; size=36 bbWeight=0.50 PerfScore 4.12 G_M47648_IG25: + cmp gword ptr [rbp-40H], 0 + je SHORT G_M47648_IG26 + cmp byte ptr [rbp-30H], 0 + jne G_M47648_IG33 + jmp G_M47648_IG10 + ;; size=22 bbWeight=0.50 PerfScore 4.00 +G_M47648_IG26: lea rdi, [rbp-58H] - mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:CheckTopLevelAssemblyQualifiedName():bool:this - call [rax]System.Reflection.TypeNameParser:CheckTopLevelAssemblyQualifiedName():bool:this + mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:StartAssemblyName():bool:this + call [rax]System.Reflection.TypeNameParser:StartAssemblyName():bool:this test eax, eax - je G_M47648_IG10 - lea rdi, [rbp-58H] - mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:GetNextAssemblyName():System.String:this - call [rax]System.Reflection.TypeNameParser:GetNextAssemblyName():System.String:this + jne SHORT G_M47648_IG27 + xor r15, r15 + jmp SHORT G_M47648_IG28 + ;; size=25 bbWeight=0.50 PerfScore 3.62 +G_M47648_IG27: + lea rdi, [rbp-28H] + mov esi, dword ptr [rbp-38H] + mov rax, 0xD1FFAB1E ; code for System.ReadOnlySpan`1[ushort]:Slice(int):System.ReadOnlySpan`1[ushort]:this + call [rax]System.ReadOnlySpan`1[ushort]:Slice(int):System.ReadOnlySpan`1[ushort]:this + mov bword ptr [rbp-68H], rax + mov qword ptr [rbp-60H], rdx + lea rdi, [rbp-68H] + mov rax, 0xD1FFAB1E ; code for System.ReadOnlySpan`1[ushort]:ToString():System.String:this + call [rax]System.ReadOnlySpan`1[ushort]:ToString():System.String:this mov r15, rax + mov esi, dword ptr [rbp-20H] + mov dword ptr [rbp-38H], esi + ;; size=52 bbWeight=0.50 PerfScore 6.38 +G_M47648_IG28: test r15, r15 je G_M47648_IG10 - ;; size=52 bbWeight=0.50 PerfScore 5.12 -G_M47648_IG26: + ;; size=9 bbWeight=0.50 PerfScore 0.62 +G_M47648_IG29: lea rsi, [rbp-58H] mov rdi, rbx mov rdx, r15 mov rax, qword ptr [rbx] mov rax, qword ptr [rax+40H] call [rax+20H]System.Reflection.TypeNameParser+TypeName:ResolveType(byref,System.String):System.Type:this ;; size=20 bbWeight=0.50 PerfScore 4.00 -G_M47648_IG27: +G_M47648_IG30: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M47648_IG28: - add rsp, 72 +G_M47648_IG31: + add rsp, 88 pop rbx pop r14 pop r15 pop rbp ret ;; size=11 bbWeight=1 PerfScore 3.25 -G_M47648_IG29: +G_M47648_IG32: mov edi, 0x18CA7 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rsi, rax mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String) call [rax]System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String) int3 ;; size=39 bbWeight=0 PerfScore 0.00 -G_M47648_IG30: +G_M47648_IG33: + mov rdi, 0xD1FFAB1E ; System.ArgumentException + call CORINFO_HELP_NEWSFAST + mov rbx, rax + mov rax, 0xD1FFAB1E ; code for System.SR:get_Argument_AssemblyGetTypeCannotSpecifyAssembly():System.String + call [rax]System.SR:get_Argument_AssemblyGetTypeCannotSpecifyAssembly():System.String + mov rsi, rax + mov rdi, rbx + mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String):this + call [rax]System.ArgumentException:.ctor(System.String):this + mov rdi, rbx + call CORINFO_HELP_THROW + ;; size=56 bbWeight=0 PerfScore 0.00 +G_M47648_IG34: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 ; END METHOD System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this -; Total bytes of code 580, prolog size 48, PerfScore 286.71, instruction count 160, allocated bytes for code 580 (MethodHash=8d5d45df) for method System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this (FullOpts) +; Total bytes of code 701, prolog size 53, PerfScore 310.31, instruction count 187, allocated bytes for code 701 (MethodHash=8d5d45df) for method System.Reflection.RuntimeModule:GetType(System.String,bool,bool):System.Type:this (FullOpts) ```
94 (24.42 % of base) - System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this ```diff ; Assembly listing for method System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 13 single block inlinees; 8 inlinees without PGO data +; 0 inlinees with PGO data; 13 single block inlinees; 9 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T02] ( 3, 3 ) byref -> rdi this single-def +; V00 this [V00,T06] ( 3, 3 ) byref -> rdi this single-def ;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def -; V02 arg2 [V02,T01] ( 6, 4 ) byref -> rbx single-def +; V02 arg2 [V02,T05] ( 6, 4 ) byref -> rbx single-def ;* V03 arg3 [V03 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def -; V04 arg4 [V04,T16] ( 3, 1.50) ref -> rcx class-hnd single-def +; V04 arg4 [V04,T19] ( 3, 1.50) ref -> rcx class-hnd single-def ;* V05 loc0 [V05 ] ( 0, 0 ) long -> zero-ref ld-addr-op ; V06 OutArgs [V06 ] ( 1, 1 ) struct ( 8) [rsp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V07 tmp1 [V07,T10] ( 4, 2.50) bool -> rax "Inline return value spill temp" +; V07 tmp1 [V07,T14] ( 4, 2.50) bool -> rax "Inline return value spill temp" ;* V08 tmp2 [V08 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" -; V09 tmp3 [V09,T00] ( 7, 8 ) long -> r13 "Inlining Arg" +; V09 tmp3 [V09,T03] ( 7, 8 ) long -> r13 "Inlining Arg" ;* V10 tmp4 [V10 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" -; V11 tmp5 [V11,T09] ( 5, 2.50) ref -> r12 class-hnd "Inline return value spill temp" +; V11 tmp5 [V11,T13] ( 5, 2.50) ref -> r12 class-hnd "Inline return value spill temp" ;* V12 tmp6 [V12 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" -; V13 tmp7 [V13,T13] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" -; V14 tmp8 [V14,T07] ( 6, 3 ) ref -> rax +; V13 tmp7 [V13,T17] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" +; V14 tmp8 [V14,T11] ( 6, 3 ) ref -> rax ;* V15 tmp9 [V15 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V16 tmp10 [V16 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" -; V17 tmp11 [V17,T08] ( 3, 3 ) ref -> [rbp-38H] class-hnd spill-single-def "dup spill" +; V17 tmp11 [V17,T12] ( 3, 3 ) ref -> [rbp-38H] class-hnd spill-single-def "dup spill" ;* V18 tmp12 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" ;* V19 tmp13 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V20 tmp14 [V20 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V21 tmp15 [V21 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V22 tmp16 [V22 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V23 tmp17 [V23,T25] ( 2, 1 ) int -> rcx "Inline stloc first use temp" +; V23 tmp17 [V23,T28] ( 2, 1 ) int -> rcx "Inline stloc first use temp" ;* V24 tmp18 [V24 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" -; V25 tmp19 [V25,T26] ( 2, 1 ) int -> rcx "Inline stloc first use temp" +; V25 tmp19 [V25,T29] ( 2, 1 ) int -> rcx "Inline stloc first use temp" ;* V26 tmp20 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V27 tmp21 [V27 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V28 tmp22 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V29 tmp23 [V29 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" ;* V30 tmp24 [V30 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V31 tmp25 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -; V32 tmp26 [V32,T19] ( 3, 1.50) bool -> rax "Inline return value spill temp" -; V33 tmp27 [V33,T12] ( 4, 2 ) int -> rdi "Inline stloc first use temp" +; V32 tmp26 [V32,T22] ( 3, 1.50) bool -> rax "Inline return value spill temp" +; V33 tmp27 [V33,T16] ( 4, 2 ) int -> rax "Inline stloc first use temp" ;* V34 tmp28 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ; V35 tmp29 [V35 ] ( 2, 1 ) byref -> [rbp-30H] must-init pinned "Inline stloc first use temp" ;* V36 tmp30 [V36 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V37 tmp31 [V37 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V38 tmp32 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V39 tmp33 [V39 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" ;* V40 tmp34 [V40 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" -; V41 tmp35 [V41,T20] ( 3, 1.50) int -> rdi "Inline stloc first use temp" +; V41 tmp35 [V41,T23] ( 3, 1.50) int -> rax "Inline stloc first use temp" ;* V42 tmp36 [V42 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan for CreateSpan" ;* V43 tmp37 [V43 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" ;* V44 tmp38 [V44 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" -; V45 tmp39 [V45,T27] ( 2, 1 ) bool -> rsi ld-addr-op "Inline stloc first use temp" +; V45 tmp39 [V45,T30] ( 2, 1 ) bool -> rdx ld-addr-op "Inline stloc first use temp" ;* V46 tmp40 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V47 tmp41 [V47 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V48 tmp42 [V48 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V49 tmp43 [V49 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V50 tmp44 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V51 tmp45 [V51,T03] ( 4, 2.50) byref -> r15 single-def "field V01._reference (fldOffset=0x0)" P-INDEP -; V52 tmp46 [V52,T04] ( 4, 2.50) int -> r14 single-def "field V01._length (fldOffset=0x8)" P-INDEP -; V53 tmp47 [V53,T05] ( 2, 2 ) byref -> r8 single-def "field V03._reference (fldOffset=0x0)" P-INDEP -; V54 tmp48 [V54,T06] ( 2, 2 ) int -> r9 single-def "field V03._length (fldOffset=0x8)" P-INDEP -; V55 tmp49 [V55,T22] ( 2, 1.50) byref -> rsi single-def "field V08._reference (fldOffset=0x0)" P-INDEP -; V56 tmp50 [V56,T11] ( 3, 2.50) int -> rdx "field V08._length (fldOffset=0x8)" P-INDEP -;* V57 tmp51 [V57 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP -;* V58 tmp52 [V58 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP -;* V59 tmp53 [V59 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP -;* V60 tmp54 [V60 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP -;* V61 tmp55 [V61 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP -;* V62 tmp56 [V62 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP -;* V63 tmp57 [V63 ] ( 0, 0 ) byref -> zero-ref "field V16._reference (fldOffset=0x0)" P-INDEP -;* V64 tmp58 [V64 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP -; V65 tmp59 [V65,T17] ( 3, 1.50) byref -> rdx "field V19._reference (fldOffset=0x0)" P-INDEP -; V66 tmp60 [V66,T21] ( 3, 1.50) int -> rcx "field V19._length (fldOffset=0x8)" P-INDEP -; V67 tmp61 [V67,T23] ( 2, 1 ) byref -> rdx single-def "field V22._reference (fldOffset=0x0)" P-INDEP -;* V68 tmp62 [V68 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP -;* V69 tmp63 [V69 ] ( 0, 0 ) byref -> zero-ref single-def "field V26._reference (fldOffset=0x0)" P-INDEP -;* V70 tmp64 [V70 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP -;* V71 tmp65 [V71 ] ( 0, 0 ) byref -> zero-ref single-def "field V28._reference (fldOffset=0x0)" P-INDEP -;* V72 tmp66 [V72 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP -; V73 tmp67 [V73,T24] ( 2, 1 ) byref -> rdx single-def "field V29._reference (fldOffset=0x0)" P-INDEP -; V74 tmp68 [V74,T28] ( 2, 1 ) int -> rcx "field V29._length (fldOffset=0x8)" P-INDEP -; V75 tmp69 [V75,T18] ( 3, 1.50) byref -> r15 single-def "field V34._reference (fldOffset=0x0)" P-INDEP -;* V76 tmp70 [V76 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP -;* V77 tmp71 [V77 ] ( 0, 0 ) byref -> zero-ref single-def "field V38._reference (fldOffset=0x0)" P-INDEP -;* V78 tmp72 [V78 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP -;* V79 tmp73 [V79 ] ( 0, 0 ) byref -> zero-ref "field V39._reference (fldOffset=0x0)" P-INDEP -;* V80 tmp74 [V80 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP -;* V81 tmp75 [V81 ] ( 0, 0 ) byref -> zero-ref single-def "field V42._reference (fldOffset=0x0)" P-INDEP -;* V82 tmp76 [V82 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP -;* V83 tmp77 [V83 ] ( 0, 0 ) byref -> zero-ref "field V43._reference (fldOffset=0x0)" P-INDEP -;* V84 tmp78 [V84 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP -;* V85 tmp79 [V85 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP -;* V86 tmp80 [V86 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP -;* V87 tmp81 [V87 ] ( 0, 0 ) byref -> zero-ref single-def "field V49._reference (fldOffset=0x0)" P-INDEP -;* V88 tmp82 [V88 ] ( 0, 0 ) int -> zero-ref "field V49._length (fldOffset=0x8)" P-INDEP -;* V89 tmp83 [V89 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP -;* V90 tmp84 [V90 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP -; V91 tmp85 [V91,T14] ( 2, 2 ) long -> r15 "Cast away GC" -; V92 tmp86 [V92,T15] ( 2, 2 ) long -> rdi "argument with side effect" +;* V51 tmp45 [V51 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" +; V52 tmp46 [V52,T00] ( 10, 38 ) long -> r13 "Inlining Arg" +; V53 tmp47 [V53,T01] ( 6, 27 ) long -> rbx "Inlining Arg" +;* V54 tmp48 [V54 ] ( 0, 0 ) long -> zero-ref "dup spill" +;* V55 tmp49 [V55 ] ( 0, 0 ) struct (16) zero-ref "dup spill" +;* V56 tmp50 [V56 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" +; V57 tmp51 [V57,T02] ( 3, 12 ) long -> rdx "Inline stloc first use temp" +;* V58 tmp52 [V58 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +;* V59 tmp53 [V59 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V60 tmp54 [V60 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +; V61 tmp55 [V61,T07] ( 4, 2.50) byref -> r15 single-def "field V01._reference (fldOffset=0x0)" P-INDEP +; V62 tmp56 [V62,T08] ( 4, 2.50) int -> r14 single-def "field V01._length (fldOffset=0x8)" P-INDEP +; V63 tmp57 [V63,T09] ( 2, 2 ) byref -> r8 single-def "field V03._reference (fldOffset=0x0)" P-INDEP +; V64 tmp58 [V64,T10] ( 2, 2 ) int -> r9 single-def "field V03._length (fldOffset=0x8)" P-INDEP +; V65 tmp59 [V65,T25] ( 2, 1.50) byref -> rsi single-def "field V08._reference (fldOffset=0x0)" P-INDEP +; V66 tmp60 [V66,T15] ( 3, 2.50) int -> rdx "field V08._length (fldOffset=0x8)" P-INDEP +;* V67 tmp61 [V67 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP +;* V68 tmp62 [V68 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP +;* V69 tmp63 [V69 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP +;* V70 tmp64 [V70 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP +;* V71 tmp65 [V71 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP +;* V72 tmp66 [V72 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP +;* V73 tmp67 [V73 ] ( 0, 0 ) byref -> zero-ref "field V16._reference (fldOffset=0x0)" P-INDEP +;* V74 tmp68 [V74 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP +; V75 tmp69 [V75,T20] ( 3, 1.50) byref -> rdx "field V19._reference (fldOffset=0x0)" P-INDEP +; V76 tmp70 [V76,T24] ( 3, 1.50) int -> rcx "field V19._length (fldOffset=0x8)" P-INDEP +; V77 tmp71 [V77,T26] ( 2, 1 ) byref -> rdx single-def "field V22._reference (fldOffset=0x0)" P-INDEP +;* V78 tmp72 [V78 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP +;* V79 tmp73 [V79 ] ( 0, 0 ) byref -> zero-ref single-def "field V26._reference (fldOffset=0x0)" P-INDEP +;* V80 tmp74 [V80 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP +;* V81 tmp75 [V81 ] ( 0, 0 ) byref -> zero-ref single-def "field V28._reference (fldOffset=0x0)" P-INDEP +;* V82 tmp76 [V82 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP +; V83 tmp77 [V83,T27] ( 2, 1 ) byref -> rdx single-def "field V29._reference (fldOffset=0x0)" P-INDEP +; V84 tmp78 [V84,T31] ( 2, 1 ) int -> rcx "field V29._length (fldOffset=0x8)" P-INDEP +; V85 tmp79 [V85,T21] ( 3, 1.50) byref -> r15 single-def "field V34._reference (fldOffset=0x0)" P-INDEP +;* V86 tmp80 [V86 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP +;* V87 tmp81 [V87 ] ( 0, 0 ) byref -> zero-ref single-def "field V38._reference (fldOffset=0x0)" P-INDEP +;* V88 tmp82 [V88 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP +;* V89 tmp83 [V89 ] ( 0, 0 ) byref -> zero-ref "field V39._reference (fldOffset=0x0)" P-INDEP +;* V90 tmp84 [V90 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP +;* V91 tmp85 [V91 ] ( 0, 0 ) byref -> zero-ref single-def "field V42._reference (fldOffset=0x0)" P-INDEP +;* V92 tmp86 [V92 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP +;* V93 tmp87 [V93 ] ( 0, 0 ) byref -> zero-ref "field V43._reference (fldOffset=0x0)" P-INDEP +;* V94 tmp88 [V94 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP +;* V95 tmp89 [V95 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP +;* V96 tmp90 [V96 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP +;* V97 tmp91 [V97 ] ( 0, 0 ) byref -> zero-ref single-def "field V49._reference (fldOffset=0x0)" P-INDEP +;* V98 tmp92 [V98 ] ( 0, 0 ) int -> zero-ref "field V49._length (fldOffset=0x8)" P-INDEP +;* V99 tmp93 [V99 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP +;* V100 tmp94 [V100 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP +;* V101 tmp95 [V101 ] ( 0, 0 ) long -> zero-ref "field V55.Item1 (fldOffset=0x0)" P-INDEP +;* V102 tmp96 [V102 ] ( 0, 0 ) long -> zero-ref "field V55.Item2 (fldOffset=0x8)" P-INDEP +;* V103 tmp97 [V103 ] ( 0, 0 ) long -> zero-ref "field V58.Item1 (fldOffset=0x0)" P-INDEP +; V104 tmp98 [V104,T04] ( 2, 8 ) long -> rdi "field V58.Item2 (fldOffset=0x8)" P-INDEP +; V105 tmp99 [V105,T18] ( 2, 2 ) long -> r15 "Cast away GC" ; ; Lcl frame size = 24 ; BEGIN METHOD System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this G_M47651_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 24 lea rbp, [rsp+40H] xor eax, eax mov qword ptr [rbp-30H], rax mov r15, rsi mov r14d, edx mov rbx, rcx mov rcx, gword ptr [rbp+10H] ;; size=38 bbWeight=1 PerfScore 9.75 G_M47651_IG02: mov r13, qword ptr [rdi] mov rsi, r8 mov edx, r9d test edx, edx - jne G_M47651_IG12 + jne G_M47651_IG16 ;; size=17 bbWeight=1 PerfScore 3.75 G_M47651_IG03: test r13, r13 jge G_M47651_IG09 test rcx, rcx je SHORT G_M47651_IG04 mov rdi, rcx mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo call [rax]System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo mov r12, rax jmp SHORT G_M47651_IG05 ;; size=34 bbWeight=0.50 PerfScore 4.12 G_M47651_IG04: mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo mov r12, rax ;; size=15 bbWeight=0.50 PerfScore 1.75 G_M47651_IG05: mov rax, gword ptr [r12+98H] test rax, rax jne SHORT G_M47651_IG06 mov rsi, gword ptr [r12+28H] mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytes(System.String):ubyte[]:this call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytes(System.String):ubyte[]:this mov gword ptr [rbp-38H], rax lea rdi, bword ptr [r12+98H] mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov r12, gword ptr [rbp-38H] mov rax, r12 ;; size=70 bbWeight=0.50 PerfScore 7.38 G_M47651_IG06: test rax, rax jne SHORT G_M47651_IG07 xor rdx, rdx xor ecx, ecx jmp SHORT G_M47651_IG08 ;; size=11 bbWeight=0.50 PerfScore 1.88 G_M47651_IG07: lea rdx, bword ptr [rax+10H] mov ecx, dword ptr [rax+08H] ;; size=7 bbWeight=0.50 PerfScore 1.25 G_M47651_IG08: mov bword ptr [rsp], rbx mov r8, r15 mov r9d, r14d mov rdi, r13 mov esi, -1 mov rax, 0xD1FFAB1E ; code for System.Number:TryNegativeInt64ToDecStr[ubyte](long,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):bool call [rax]System.Number:TryNegativeInt64ToDecStr[ubyte](long,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):bool - jmp G_M47651_IG13 + jmp G_M47651_IG17 ;; size=35 bbWeight=0.50 PerfScore 3.62 G_M47651_IG09: - mov rdi, r13 - or rdi, 1 - lzcnt rdi, rdi - xor edi, 63 - movsxd rdi, edi - mov rsi, 0xD1FFAB1E ; static handle - movzx rdi, byte ptr [rdi+rsi] - mov esi, edi - mov rax, 0xD1FFAB1E ; static handle - cmp r13, qword ptr [rax+8*rsi] - setb sil - movzx rsi, sil - sub edi, esi - cmp edi, r14d - jg SHORT G_M47651_IG10 - mov dword ptr [rbx], edi + mov rax, r13 + or rax, 1 + lzcnt rax, rax + xor eax, 63 + cdqe + mov rdx, 0xD1FFAB1E ; static handle + movzx rax, byte ptr [rax+rdx] + mov edx, eax + mov rdi, 0xD1FFAB1E ; static handle + cmp r13, qword ptr [rdi+8*rdx] + setb dl + movzx rdx, dl + sub eax, edx + cmp eax, r14d + jg G_M47651_IG14 + mov dword ptr [rbx], eax mov bword ptr [rbp-30H], r15 - movsxd rdi, edi - add rdi, r15 - mov rsi, r13 - mov rax, 0xD1FFAB1E ; code for System.Number:UInt64ToDecChars[ubyte](ulong,ulong):ulong - call [rax]System.Number:UInt64ToDecChars[ubyte](ulong,ulong):ulong + movsxd rbx, eax + add rbx, r15 + cmp r13, 10 + jb SHORT G_M47651_IG12 + cmp r13, 100 + jb SHORT G_M47651_IG11 + ;; size=88 bbWeight=0.50 PerfScore 8.25 +G_M47651_IG10: + add rbx, -2 + mov rdx, 0xD1FFAB1E + mov rax, r13 + shr rax, 2 + mul rdx:rax, rdx + shr rdx, 2 + imul rdi, rdx, 100 + sub r13, rdi + mov rdi, r13 + mov r13, rdx + mov rsi, rbx + mov rax, 0xD1FFAB1E ; code for System.Number:WriteTwoDigits[ubyte](uint,ulong) + call [rax]System.Number:WriteTwoDigits[ubyte](uint,ulong) + cmp r13, 100 + jae SHORT G_M47651_IG10 + ;; size=62 bbWeight=4 PerfScore 49.00 +G_M47651_IG11: + cmp r13, 10 + jb SHORT G_M47651_IG12 + lea rsi, [rbx-02H] + mov edi, r13d + mov rax, 0xD1FFAB1E ; code for System.Number:WriteTwoDigits[ubyte](uint,ulong) + call [rax]System.Number:WriteTwoDigits[ubyte](uint,ulong) + jmp SHORT G_M47651_IG13 + ;; size=27 bbWeight=0.50 PerfScore 3.62 +G_M47651_IG12: + lea r8d, [r13+30H] + mov byte ptr [rbx-01H], r8b + ;; size=8 bbWeight=0.50 PerfScore 0.75 +G_M47651_IG13: xor r8d, r8d mov bword ptr [rbp-30H], r8 mov eax, 1 - jmp SHORT G_M47651_IG11 - ;; size=105 bbWeight=0.50 PerfScore 10.50 -G_M47651_IG10: + jmp SHORT G_M47651_IG15 + ;; size=14 bbWeight=0.50 PerfScore 1.75 +G_M47651_IG14: xor eax, eax mov dword ptr [rbx], eax ;; size=4 bbWeight=0.50 PerfScore 0.62 -G_M47651_IG11: - jmp SHORT G_M47651_IG13 +G_M47651_IG15: + jmp SHORT G_M47651_IG17 ;; size=2 bbWeight=0.50 PerfScore 1.00 -G_M47651_IG12: +G_M47651_IG16: mov bword ptr [rsp], rbx mov r8, r15 mov r9d, r14d mov rdi, r13 mov rax, 0xD1FFAB1E ; code for System.Number:g__TryFormatInt64Slow|46_0[ubyte](long,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool call [rax]System.Number:g__TryFormatInt64Slow|46_0[ubyte](long,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ubyte],byref):bool ;; size=25 bbWeight=0.50 PerfScore 2.50 -G_M47651_IG13: +G_M47651_IG17: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M47651_IG14: +G_M47651_IG18: add rsp, 24 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 -G_M47651_IG15: +G_M47651_IG19: call CORINFO_HELP_OVERFLOW int3 ;; size=6 bbWeight=0 PerfScore 0.00 ; END METHOD System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this -; Total bytes of code 385, prolog size 25, PerfScore 91.13, instruction count 106, allocated bytes for code 385 (MethodHash=5bd445dc) for method System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this (FullOpts) +; Total bytes of code 479, prolog size 25, PerfScore 153.40, instruction count 131, allocated bytes for code 479 (MethodHash=5bd445dc) for method System.IntPtr:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool: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/8096c25e72c8b04766506595310a00c6

MihuBot commented 1 year ago

Top method improvements

-135 (-18.42 % of base) - System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool ```diff ; Assembly listing for method System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data -; 0 inlinees with PGO data; 17 single block inlinees; 14 inlinees without PGO data +; 0 inlinees with PGO data; 14 single block inlinees; 12 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T03] ( 12, 7 ) int -> rbx single-def +; V00 arg0 [V00,T03] ( 12, 7 ) int -> rdi single-def ;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def -; V02 arg2 [V02,T04] ( 10, 6 ) byref -> r15 single-def -; V03 arg3 [V03,T11] ( 3, 3 ) struct ( 8) r8 single-def +; V02 arg2 [V02,T06] ( 9, 5.50) byref -> r9 single-def +; V03 arg3 [V03,T10] ( 4, 4 ) struct ( 8) [rbp-18H] do-not-enreg[SF] single-def ; V04 OutArgs [V04 ] ( 1, 1 ) struct ( 8) [rsp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V05 tmp1 [V05,T12] ( 7, 4 ) bool -> rax "Inline return value spill temp" -; V06 tmp2 [V06 ] ( 7, 10 ) struct ( 8) [rbp-30H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" -; V07 tmp3 [V07,T15] ( 7, 3.50) int -> rdx "Inline stloc first use temp" +; V05 tmp1 [V05,T13] ( 7, 4 ) bool -> rax "Inline return value spill temp" +;* V06 tmp2 [V06 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" +; V07 tmp3 [V07,T15] ( 7, 3.50) int -> rcx "Inline stloc first use temp" ;* V08 tmp4 [V08 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" -; V09 tmp5 [V09,T23] ( 2, 2 ) int -> rsi "impAppendStmt" -; V10 tmp6 [V10,T24] ( 2, 2 ) int -> r12 "impAppendStmt" +; V09 tmp5 [V09,T20] ( 2, 2 ) int -> rsi "impAppendStmt" +; V10 tmp6 [V10,T21] ( 2, 2 ) int -> rbx "impAppendStmt" ;* V11 tmp7 [V11 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" -; V12 tmp8 [V12,T25] ( 2, 2 ) int -> rsi "impAppendStmt" -; V13 tmp9 [V13,T34] ( 3, 1.50) bool -> rax "Inline return value spill temp" -; V14 tmp10 [V14,T20] ( 4, 2 ) int -> rax "Inline stloc first use temp" +; V12 tmp8 [V12,T22] ( 2, 2 ) int -> rsi "impAppendStmt" +; V13 tmp9 [V13,T27] ( 3, 1.50) bool -> rax "Inline return value spill temp" +; V14 tmp10 [V14,T18] ( 4, 2 ) int -> rdx "Inline stloc first use temp" ;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V16 tmp12 [V16 ] ( 2, 1 ) byref -> [rbp-38H] must-init pinned "Inline stloc first use temp" +; V16 tmp12 [V16 ] ( 2, 1 ) byref -> [rbp-20H] must-init pinned "Inline stloc first use temp" ;* V17 tmp13 [V17 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V18 tmp14 [V18 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V19 tmp15 [V19 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan for CreateSpan" ;* V20 tmp16 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" ;* V21 tmp17 [V21 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ;* V22 tmp18 [V22 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V23 tmp19 [V23 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V24 tmp20 [V24 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V25 tmp21 [V25 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V26 tmp22 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V27 tmp23 [V27 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ; V28 tmp24 [V28,T00] ( 10, 38 ) int -> registers "Inlining Arg" -; V29 tmp25 [V29,T01] ( 6, 27 ) long -> rdx "Inlining Arg" +; V29 tmp25 [V29,T01] ( 6, 27 ) long -> r8 "Inlining Arg" ;* V30 tmp26 [V30 ] ( 0, 0 ) long -> zero-ref "dup spill" ;* V31 tmp27 [V31 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" ;* V32 tmp28 [V32 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" -; V33 tmp29 [V33,T02] ( 3, 12 ) int -> r8 "Inline stloc first use temp" +; V33 tmp29 [V33,T02] ( 3, 12 ) int -> rcx "Inline stloc first use temp" ;* V34 tmp30 [V34 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" ;* V35 tmp31 [V35 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V36 tmp32 [V36 ] ( 0, 0 ) long -> zero-ref ;* V37 tmp33 [V37 ] ( 0, 0 ) long -> zero-ref -; V38 tmp34 [V38,T05] ( 2, 8 ) ref -> r9 +; V38 tmp34 [V38,T04] ( 2, 8 ) ref -> r9 ;* V39 tmp35 [V39 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V40 tmp36 [V40 ] ( 0, 0 ) long -> zero-ref -; V41 tmp37 [V41,T39] ( 2, 1 ) long -> rdx -; V42 tmp38 [V42,T36] ( 2, 1 ) ref -> rcx single-def +; V41 tmp37 [V41,T32] ( 2, 1 ) long -> r8 +; V42 tmp38 [V42,T29] ( 2, 1 ) ref -> rdx single-def ;* V43 tmp39 [V43 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V44 tmp40 [V44 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -; V45 tmp41 [V45,T40] ( 2, 1 ) ubyte -> rsi "Inline return value spill temp" -; V46 tmp42 [V46,T26] ( 2, 2 ) ushort -> r12 "Inlining Arg" -; V47 tmp43 [V47,T41] ( 2, 1 ) ubyte -> rdi "Inline return value spill temp" -; V48 tmp44 [V48,T35] ( 3, 1.50) bool -> rax "Inline return value spill temp" -; V49 tmp45 [V49,T07] ( 7, 7 ) int -> [rbp-3CH] "Inlining Arg" -; V50 tmp46 [V50,T18] ( 3, 3 ) int -> rbx "Inlining Arg" -; V51 tmp47 [V51,T21] ( 4, 2 ) int -> rdi "Inline stloc first use temp" -;* V52 tmp48 [V52 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V53 tmp49 [V53 ] ( 2, 1 ) byref -> [rbp-48H] must-init pinned "Inline stloc first use temp" -;* V54 tmp50 [V54 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" -;* V55 tmp51 [V55 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -;* V56 tmp52 [V56 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" -;* V57 tmp53 [V57 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -; V58 tmp54 [V58,T42] ( 2, 1 ) int -> rdi "Inline return value spill temp" -; V59 tmp55 [V59,T19] ( 3, 3 ) int -> rax "Inlining Arg" -;* V60 tmp56 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V61 tmp57 [V61,T08] ( 7, 4 ) byref -> r14 single-def "field V01._reference (fldOffset=0x0)" P-INDEP -; V62 tmp58 [V62,T09] ( 7, 4 ) int -> r13 single-def "field V01._length (fldOffset=0x8)" P-INDEP -; V63 tmp59 [V63 ] ( 4, 5 ) ubyte -> [rbp-30H] do-not-enreg[X] addr-exposed "field V06._format (fldOffset=0x0)" P-DEP -; V64 tmp60 [V64 ] ( 6, 6 ) ubyte -> [rbp-2FH] do-not-enreg[X] addr-exposed "field V06._precision (fldOffset=0x1)" P-DEP -; V65 tmp61 [V65,T37] ( 2, 1 ) byref -> rdx single-def "field V08._reference (fldOffset=0x0)" P-INDEP -;* V66 tmp62 [V66,T44] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP -; V67 tmp63 [V67,T38] ( 2, 1 ) byref -> rdx single-def "field V11._reference (fldOffset=0x0)" P-INDEP -;* V68 tmp64 [V68,T45] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP -; V69 tmp65 [V69,T32] ( 3, 1.50) byref -> r14 single-def "field V15._reference (fldOffset=0x0)" P-INDEP -;* V70 tmp66 [V70 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP -;* V71 tmp67 [V71 ] ( 0, 0 ) byref -> zero-ref single-def "field V19._reference (fldOffset=0x0)" P-INDEP -;* V72 tmp68 [V72 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP -;* V73 tmp69 [V73 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP -;* V74 tmp70 [V74 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP -;* V75 tmp71 [V75 ] ( 0, 0 ) byref -> zero-ref single-def "field V23._reference (fldOffset=0x0)" P-INDEP -;* V76 tmp72 [V76 ] ( 0, 0 ) int -> zero-ref "field V23._length (fldOffset=0x8)" P-INDEP -;* V77 tmp73 [V77 ] ( 0, 0 ) byref -> zero-ref single-def "field V26._reference (fldOffset=0x0)" P-INDEP -;* V78 tmp74 [V78 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP -;* V79 tmp75 [V79 ] ( 0, 0 ) int -> zero-ref "field V31.Item1 (fldOffset=0x0)" P-INDEP -;* V80 tmp76 [V80 ] ( 0, 0 ) int -> zero-ref "field V31.Item2 (fldOffset=0x4)" P-INDEP -;* V81 tmp77 [V81 ] ( 0, 0 ) int -> zero-ref "field V34.Item1 (fldOffset=0x0)" P-INDEP -; V82 tmp78 [V82,T06] ( 2, 8 ) int -> rbx "field V34.Item2 (fldOffset=0x4)" P-INDEP -; V83 tmp79 [V83,T33] ( 3, 1.50) byref -> r14 single-def "field V52._reference (fldOffset=0x0)" P-INDEP -; V84 tmp80 [V84,T43] ( 2, 1 ) int -> r13 "field V52._length (fldOffset=0x8)" P-INDEP -;* V85 tmp81 [V85 ] ( 0, 0 ) byref -> zero-ref single-def "field V60._reference (fldOffset=0x0)" P-INDEP -;* V86 tmp82 [V86 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP -; V87 tmp83 [V87,T27] ( 2, 2 ) long -> r14 "Cast away GC" -; V88 tmp84 [V88,T28] ( 2, 2 ) long -> r14 "Cast away GC" -; V89 tmp85 [V89,T29] ( 2, 2 ) long -> rdi "argument with side effect" -; V90 tmp86 [V90,T30] ( 2, 2 ) struct ( 8) [rbp-50H] do-not-enreg[S] "by-value struct argument" -; V91 tmp87 [V91,T31] ( 2, 2 ) int -> rdi "argument with side effect" -; V92 tmp88 [V92,T14] ( 4, 4 ) struct (16) [rbp-60H] do-not-enreg[SFA] multireg-arg must-init "argument with side effect" -; V93 tmp89 [V93,T22] ( 2, 2 ) byref -> r15 single-def "argument with side effect" -; V94 cse0 [V94,T10] ( 4, 5.50) ref -> rcx "CSE - moderate" -; V95 cse1 [V95,T13] ( 6, 4 ) int -> rsi "CSE - moderate" -; V96 cse2 [V96,T17] ( 4, 3 ) int -> r12 "CSE - moderate" -; V97 cse3 [V97,T16] ( 6, 3 ) int -> rsi "CSE - moderate" +; V45 tmp41 [V45,T33] ( 2, 1 ) ubyte -> rsi "Inline return value spill temp" +; V46 tmp42 [V46,T23] ( 2, 2 ) ushort -> rdx "Inlining Arg" +; V47 tmp43 [V47,T34] ( 2, 1 ) ubyte -> rdx "Inline return value spill temp" +; V48 tmp44 [V48,T08] ( 7, 4 ) byref -> r8 single-def "field V01._reference (fldOffset=0x0)" P-INDEP +; V49 tmp45 [V49,T09] ( 7, 4 ) int -> rax single-def "field V01._length (fldOffset=0x8)" P-INDEP +; V50 tmp46 [V50,T16] ( 4, 3 ) ubyte -> rbx "field V06._format (fldOffset=0x0)" P-INDEP +; V51 tmp47 [V51,T12] ( 8, 5 ) ubyte -> r15 "field V06._precision (fldOffset=0x1)" P-INDEP +; V52 tmp48 [V52,T30] ( 2, 1 ) byref -> rdx single-def "field V08._reference (fldOffset=0x0)" P-INDEP +;* V53 tmp49 [V53,T35] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP +; V54 tmp50 [V54,T31] ( 2, 1 ) byref -> rdx single-def "field V11._reference (fldOffset=0x0)" P-INDEP +;* V55 tmp51 [V55,T36] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP +; V56 tmp52 [V56,T26] ( 3, 1.50) byref -> r8 single-def "field V15._reference (fldOffset=0x0)" P-INDEP +;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP +;* V58 tmp54 [V58 ] ( 0, 0 ) byref -> zero-ref single-def "field V19._reference (fldOffset=0x0)" P-INDEP +;* V59 tmp55 [V59 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP +;* V60 tmp56 [V60 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP +;* V61 tmp57 [V61 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP +;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref single-def "field V23._reference (fldOffset=0x0)" P-INDEP +;* V63 tmp59 [V63 ] ( 0, 0 ) int -> zero-ref "field V23._length (fldOffset=0x8)" P-INDEP +;* V64 tmp60 [V64 ] ( 0, 0 ) byref -> zero-ref single-def "field V26._reference (fldOffset=0x0)" P-INDEP +;* V65 tmp61 [V65 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP +;* V66 tmp62 [V66 ] ( 0, 0 ) int -> zero-ref "field V31.Item1 (fldOffset=0x0)" P-INDEP +;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "field V31.Item2 (fldOffset=0x4)" P-INDEP +;* V68 tmp64 [V68 ] ( 0, 0 ) int -> zero-ref "field V34.Item1 (fldOffset=0x0)" P-INDEP +; V69 tmp65 [V69,T05] ( 2, 8 ) int -> rdi "field V34.Item2 (fldOffset=0x4)" P-INDEP +; V70 tmp66 [V70,T24] ( 2, 2 ) long -> r8 "Cast away GC" +; V71 tmp67 [V71,T17] ( 3, 3 ) struct ( 8) [rbp-28H] do-not-enreg[SF] "by-value struct argument" +; V72 tmp68 [V72,T25] ( 2, 2 ) int -> rdi "argument with side effect" +; V73 tmp69 [V73,T14] ( 4, 4 ) struct (16) [rbp-38H] do-not-enreg[SFA] multireg-arg must-init "argument with side effect" +; V74 tmp70 [V74,T19] ( 2, 2 ) byref -> r9 single-def "argument with side effect" +; V75 cse0 [V75,T11] ( 4, 5.50) ref -> rdx "CSE - moderate" +; V76 cse1 [V76,T07] ( 14, 7 ) int -> rsi "CSE - aggressive" +; V77 cse2 [V77,T28] ( 3, 1.50) int -> rdx "CSE - moderate" ; -; Lcl frame size = 72 +; Lcl frame size = 48 ; BEGIN METHOD System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool G_M3495_IG01: push rbp push r15 - push r14 - push r13 - push r12 push rbx - sub rsp, 72 - lea rbp, [rsp+70H] + sub rsp, 48 + lea rbp, [rsp+40H] + xor eax, eax + mov qword ptr [rbp-38H], rax vxorps xmm8, xmm8, xmm8 - vmovdqa xmmword ptr [rbp-60H], xmm8 - vmovdqa xmmword ptr [rbp-50H], xmm8 - vmovdqa xmmword ptr [rbp-40H], xmm8 - mov ebx, edi - mov r14, rsi - mov r13d, edx - mov r15, rcx - ;; size=50 bbWeight=1 PerfScore 14.08 + vmovdqa xmmword ptr [rbp-30H], xmm8 + mov qword ptr [rbp-20H], rax + mov dword ptr [rbp-18H], r8d + mov r8, rsi + mov eax, edx + mov r9, rcx + ;; size=45 bbWeight=1 PerfScore 10.08 G_M3495_IG02: - mov word ptr [rbp-30H], r8w - movzx r12, byte ptr [rbp-30H] - movzx rsi, byte ptr [rbp-2FH] - mov edx, r12d - or edx, esi + movzx rbx, byte ptr [rbp-18H] + movzx r15, byte ptr [rbp-17H] + mov edx, ebx + or edx, r15d jne G_M3495_IG14 - ;; size=26 bbWeight=1 PerfScore 4.50 + ;; size=20 bbWeight=1 PerfScore 3.50 G_M3495_IG03: - test ebx, ebx + test edi, edi jge SHORT G_M3495_IG04 + movzx rsi, r15b xor edx, edx cmp esi, 255 cmove esi, edx mov rdx, 0xD1FFAB1E ; data for :24EA1EBD0BAFD39482DB46EC2D8959E61353A90EFC072719E1308F86C3A106BA - mov bword ptr [rsp], r15 + mov bword ptr [rsp], r9 mov ecx, 1 - mov r8, r14 - mov r9d, r13d - mov edi, ebx + mov r9d, eax mov rax, 0xD1FFAB1E ; code for System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):bool call [rax]System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):bool jmp G_M3495_IG17 align [0 bytes for IG05] - ;; size=59 bbWeight=0.50 PerfScore 4.75 + ;; size=58 bbWeight=0.50 PerfScore 4.62 G_M3495_IG04: - mov eax, ebx - mov edx, ebx - or edx, 1 - lzcnt edx, edx - xor edx, 31 - mov rcx, 0xD1FFAB1E ; static handle - add rax, qword ptr [rcx+8*rdx] - sar rax, 32 - cmp eax, r13d + mov edx, edi + mov ecx, edi + or ecx, 1 + lzcnt ecx, ecx + xor ecx, 31 + mov rsi, 0xD1FFAB1E ; static handle + add rdx, qword ptr [rsi+8*rcx] + sar rdx, 32 + cmp edx, eax jg G_M3495_IG12 - mov dword ptr [r15], eax - mov bword ptr [rbp-38H], r14 - movsxd rdx, eax - add rdx, r14 - cmp ebx, 10 + mov dword ptr [r9], edx + mov bword ptr [rbp-20H], r8 + movsxd r9, edx + add r8, r9 + cmp edi, 10 jb SHORT G_M3495_IG10 - cmp ebx, 100 + cmp edi, 100 jb SHORT G_M3495_IG09 - mov rcx, 0xD1FFAB1E ; const ptr - mov rcx, gword ptr [rcx] - ;; size=77 bbWeight=0.50 PerfScore 7.62 + mov rdx, 0xD1FFAB1E ; const ptr + mov rdx, gword ptr [rdx] + ;; size=76 bbWeight=0.50 PerfScore 7.62 G_M3495_IG05: - add rdx, -2 - mov r8d, ebx - imul r8, r8, 0xD1FFAB1E - shr r8, 37 - imul r9d, r8d, 100 - sub ebx, r9d - mov r9, rcx - add ebx, ebx - mov edi, ebx + add r8, -2 + mov ecx, edi + imul rcx, rcx, 0xD1FFAB1E + shr rcx, 37 + imul eax, ecx, 100 + sub edi, eax + mov r9, rdx + add edi, edi mov r9w, word ptr [r9+rdi+10H] - mov word ptr [rdx], r9w - cmp r8d, 100 + mov word ptr [r8], r9w + cmp ecx, 100 jae SHORT G_M3495_IG08 - ;; size=48 bbWeight=4 PerfScore 41.00 + ;; size=42 bbWeight=4 PerfScore 40.00 G_M3495_IG06: - cmp r8d, 10 + cmp ecx, 10 jb SHORT G_M3495_IG07 - add rdx, -2 - mov rcx, 0xD1FFAB1E ; const ptr - mov rcx, gword ptr [rcx] - add r8d, r8d - mov cx, word ptr [rcx+r8+10H] - mov word ptr [rdx], cx + add r8, -2 + mov rdx, 0xD1FFAB1E ; const ptr + mov rdx, gword ptr [rdx] + add ecx, ecx + mov dx, word ptr [rdx+rcx+10H] + mov word ptr [r8], dx jmp SHORT G_M3495_IG11 - ;; size=37 bbWeight=0.50 PerfScore 4.50 + ;; size=35 bbWeight=0.50 PerfScore 4.50 G_M3495_IG07: - mov ebx, r8d + mov edi, ecx jmp SHORT G_M3495_IG10 - ;; size=5 bbWeight=0.25 PerfScore 0.56 + ;; size=4 bbWeight=0.25 PerfScore 0.56 G_M3495_IG08: - mov ebx, r8d + mov edi, ecx jmp SHORT G_M3495_IG05 - ;; size=5 bbWeight=2 PerfScore 4.50 + ;; size=4 bbWeight=2 PerfScore 4.50 G_M3495_IG09: - mov r8d, ebx + mov ecx, edi jmp SHORT G_M3495_IG06 - ;; size=5 bbWeight=0.25 PerfScore 0.56 + ;; size=4 bbWeight=0.25 PerfScore 0.56 G_M3495_IG10: - lea ecx, [rbx+30H] - mov byte ptr [rdx-01H], cl - ;; size=6 bbWeight=0.50 PerfScore 0.75 + lea edx, [rdi+30H] + mov byte ptr [r8-01H], dl + ;; size=7 bbWeight=0.50 PerfScore 0.75 G_M3495_IG11: xor edx, edx - mov bword ptr [rbp-38H], rdx + mov bword ptr [rbp-20H], rdx mov eax, 1 jmp SHORT G_M3495_IG13 ;; size=13 bbWeight=0.50 PerfScore 1.75 G_M3495_IG12: xor eax, eax - mov dword ptr [r15], eax + mov dword ptr [r9], eax ;; size=5 bbWeight=0.50 PerfScore 0.62 G_M3495_IG13: jmp SHORT G_M3495_IG17 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M3495_IG14: - mov edx, r12d - or edx, 32 - cmp edx, 103 + movzx rdx, bl + mov ecx, edx + or ecx, 32 + cmp ecx, 103 jg SHORT G_M3495_IG19 - cmp edx, 100 + cmp ecx, 100 je SHORT G_M3495_IG16 - cmp edx, 103 - jne G_M3495_IG27 - ;; size=25 bbWeight=0.50 PerfScore 2.12 + cmp ecx, 103 + jne G_M3495_IG24 + ;; size=27 bbWeight=0.50 PerfScore 2.25 G_M3495_IG15: - lea rdi, [rbp-30H] - mov rax, 0xD1FFAB1E ; code for System.Buffers.StandardFormat:get_HasPrecision():bool:this - call [rax]System.Buffers.StandardFormat:get_HasPrecision():bool:this - test eax, eax - jne G_M3495_IG26 - ;; size=24 bbWeight=0.50 PerfScore 2.50 + movzx rsi, r15b + cmp esi, 255 + jne G_M3495_IG23 + ;; size=16 bbWeight=0.50 PerfScore 0.75 G_M3495_IG16: - test ebx, ebx + test edi, edi jge SHORT G_M3495_IG20 - movzx rsi, byte ptr [rbp-2FH] + movzx rsi, r15b xor edx, edx cmp esi, 255 cmove esi, edx mov rdx, 0xD1FFAB1E ; data for :24EA1EBD0BAFD39482DB46EC2D8959E61353A90EFC072719E1308F86C3A106BA - mov bword ptr [rsp], r15 + mov bword ptr [rsp], r9 mov ecx, 1 - mov r8, r14 - mov r9d, r13d - mov edi, ebx + mov r9d, eax mov rax, 0xD1FFAB1E ; code for System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):bool call [rax]System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):bool - ;; size=59 bbWeight=0.50 PerfScore 4.25 + ;; size=53 bbWeight=0.50 PerfScore 3.62 G_M3495_IG17: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M3495_IG18: - add rsp, 72 + add rsp, 48 pop rbx - pop r12 - pop r13 - pop r14 pop r15 pop rbp ret - ;; size=15 bbWeight=1 PerfScore 4.25 + ;; size=9 bbWeight=1 PerfScore 2.75 G_M3495_IG19: - cmp edx, 110 - je G_M3495_IG25 - cmp edx, 114 + cmp ecx, 110 + je SHORT G_M3495_IG22 + cmp ecx, 114 je SHORT G_M3495_IG15 - cmp edx, 120 - jne G_M3495_IG27 - add r12d, -33 - movzx r12, r12w + cmp ecx, 120 + jne G_M3495_IG24 + add edx, -33 + movzx rbx, dx jmp SHORT G_M3495_IG21 - ;; size=33 bbWeight=0.50 PerfScore 3.12 + ;; size=27 bbWeight=0.50 PerfScore 3.12 G_M3495_IG20: - movzx rsi, byte ptr [rbp-2FH] + movzx rsi, r15b xor edx, edx cmp esi, 255 cmove esi, edx - mov rdx, r14 - mov ecx, r13d - mov edi, ebx - mov r8, r15 + mov rdx, r8 + mov ecx, eax + mov r8, r9 mov rax, 0xD1FFAB1E ; code for System.Number:TryUInt32ToDecStr[ubyte](uint,int,System.Span`1[ubyte],byref):bool call [rax]System.Number:TryUInt32ToDecStr[ubyte](uint,int,System.Span`1[ubyte],byref):bool jmp SHORT G_M3495_IG17 - ;; size=41 bbWeight=0.50 PerfScore 4.00 + ;; size=37 bbWeight=0.50 PerfScore 3.50 G_M3495_IG21: - xor edi, edi + movzx rsi, r15b + xor ecx, ecx cmp esi, 255 - cmovne edi, esi - mov eax, 1 - test edi, edi - cmovle edi, eax - mov dword ptr [rbp-3CH], edi - mov edi, ebx - mov rax, 0xD1FFAB1E ; code for System.Numerics.BitOperations:Log2(ulong):int - call [rax]System.Numerics.BitOperations:Log2(ulong):int - sar eax, 2 - inc eax - mov r8d, dword ptr [rbp-3CH] - cmp r8d, eax - mov edi, eax - cmovge edi, r8d - cmp edi, r13d - jle SHORT G_M3495_IG23 - xor edi, edi - mov dword ptr [r15], edi - ;; size=66 bbWeight=0.50 PerfScore 5.50 + mov edx, ecx + cmovne edx, esi + mov rcx, r8 + mov r8d, eax + movzx rsi, bx + mov rax, 0xD1FFAB1E ; code for System.Number:TryInt32ToHexStr[ubyte](int,ushort,int,System.Span`1[ubyte],byref):bool + call [rax]System.Number:TryInt32ToHexStr[ubyte](int,ushort,int,System.Span`1[ubyte],byref):bool + jmp SHORT G_M3495_IG17 + ;; size=40 bbWeight=0.50 PerfScore 3.62 G_M3495_IG22: - xor eax, eax - jmp SHORT G_M3495_IG24 - ;; size=4 bbWeight=0.50 PerfScore 1.12 -G_M3495_IG23: - mov dword ptr [r15], edi - mov bword ptr [rbp-48H], r14 - movsxd rdi, edi - add rdi, r14 - movzx rdx, r12w - mov esi, ebx - mov ecx, r8d - mov rax, 0xD1FFAB1E ; code for System.Number:Int32ToHexChars[ubyte](ulong,uint,int,int):ulong - call [rax]System.Number:Int32ToHexChars[ubyte](ulong,uint,int,int):ulong - xor edi, edi - mov bword ptr [rbp-48H], rdi - mov eax, 1 - ;; size=45 bbWeight=0.50 PerfScore 4.00 -G_M3495_IG24: - jmp G_M3495_IG17 - ;; size=5 bbWeight=0.50 PerfScore 1.00 -G_M3495_IG25: - mov edi, ebx - mov bword ptr [rbp-60H], r14 - mov dword ptr [rbp-58H], r13d - movzx rsi, word ptr [rbp-30H] - mov word ptr [rbp-50H], si - mov rsi, bword ptr [rbp-60H] - mov rdx, qword ptr [rbp-58H] - mov rcx, r15 - movzx r8, word ptr [rbp-50H] + mov bword ptr [rbp-38H], r8 + mov dword ptr [rbp-30H], eax + mov byte ptr [rbp-28H], bl + mov byte ptr [rbp-27H], r15b + mov rsi, bword ptr [rbp-38H] + mov rdx, qword ptr [rbp-30H] + mov rcx, r9 + movzx r8, word ptr [rbp-28H] mov rax, 0xD1FFAB1E ; code for System.Buffers.Text.FormattingHelpers:TryFormat[int](int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool call [rax]System.Buffers.Text.FormattingHelpers:TryFormat[int](int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool jmp G_M3495_IG17 - ;; size=51 bbWeight=0.50 PerfScore 6.38 -G_M3495_IG26: + ;; size=47 bbWeight=0.50 PerfScore 6.25 +G_M3495_IG23: mov rax, 0xD1FFAB1E ; code for System.Buffers.Text.Utf8Formatter:ThrowGWithPrecisionNotSupported() call [rax]System.Buffers.Text.Utf8Formatter:ThrowGWithPrecisionNotSupported() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M3495_IG27: +G_M3495_IG24: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowFormatException_BadFormatSpecifier() call [rax]System.ThrowHelper:ThrowFormatException_BadFormatSpecifier() int3 ;; size=13 bbWeight=0 PerfScore 0.00 ; END METHOD System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool -; Total bytes of code 733, prolog size 50, PerfScore 198.01, instruction count 203, allocated bytes for code 733 (MethodHash=a315f258) for method System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) +; Total bytes of code 598, prolog size 45, PerfScore 166.01, instruction count 166, allocated bytes for code 598 (MethodHash=a315f258) for method System.Buffers.Text.Utf8Formatter:TryFormat(int,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):bool (FullOpts) ```
-86 (-11.36 % of base) - System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type ```diff ; Assembly listing for method System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data -; 0 inlinees with PGO data; 14 single block inlinees; 15 inlinees without PGO data +; 0 inlinees with PGO data; 11 single block inlinees; 16 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T12] ( 3, 3 ) ref -> rdi class-hnd single-def -; V01 arg1 [V01,T13] ( 3, 3 ) ref -> rsi class-hnd single-def -; V02 arg2 [V02,T14] ( 3, 3 ) ref -> rdx class-hnd single-def -; V03 loc0 [V03 ] ( 2, 1.50) int -> [rbp-28H] do-not-enreg[X] addr-exposed ld-addr-op +; V00 arg0 [V00,T10] ( 3, 3 ) ref -> rdi class-hnd single-def +; V01 arg1 [V01,T11] ( 3, 3 ) ref -> rsi class-hnd single-def +; V02 arg2 [V02,T12] ( 3, 3 ) ref -> rdx class-hnd single-def +; V03 loc0 [V03 ] ( 2, 1.50) int -> [rbp-20H] do-not-enreg[X] addr-exposed ld-addr-op ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V05 tmp1 [V05,T22] ( 3, 2 ) ref -> rbx single-def -; V06 tmp2 [V06,T16] ( 4, 3 ) ref -> r15 single-def -; V07 tmp3 [V07,T18] ( 4, 2.50) ref -> r14 single-def -; V08 tmp4 [V08,T15] ( 6, 4 ) ref -> rbx -; V09 tmp5 [V09,T26] ( 3, 1.50) ref -> r15 -; V10 tmp6 [V10,T27] ( 3, 1.50) ref -> r14 -; V11 tmp7 [V11,T28] ( 3, 1.50) ref -> rax -; V12 tmp8 [V12,T23] ( 3, 2 ) ref -> rax class-hnd "Inline return value spill temp" -; V13 tmp9 [V13 ] ( 46, 50 ) struct (64) [rbp-68H] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" +; V05 tmp1 [V05,T20] ( 3, 2 ) ref -> rbx single-def +; V06 tmp2 [V06,T14] ( 4, 3 ) ref -> r15 single-def +; V07 tmp3 [V07,T16] ( 4, 2.50) ref -> r14 single-def +; V08 tmp4 [V08,T13] ( 6, 4 ) ref -> rbx +; V09 tmp5 [V09,T24] ( 3, 1.50) ref -> r15 +; V10 tmp6 [V10,T25] ( 3, 1.50) ref -> r14 +; V11 tmp7 [V11,T26] ( 3, 1.50) ref -> rax +; V12 tmp8 [V12,T21] ( 3, 2 ) ref -> rax class-hnd "Inline return value spill temp" +; V13 tmp9 [V13 ] ( 46, 50 ) struct (64) [rbp-60H] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V14 tmp10 [V14 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ;* V16 tmp12 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V17 tmp13 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" -; V18 tmp14 [V18,T24] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" -; V19 tmp15 [V19,T25] ( 2, 2 ) int -> rcx "Inlining Arg" +; V18 tmp14 [V18,T22] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" +; V19 tmp15 [V19,T23] ( 2, 2 ) int -> rcx "Inlining Arg" ;* V20 tmp16 [V20 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" -; V21 tmp17 [V21,T29] ( 3, 1.50) ref -> rax class-hnd "Inline return value spill temp" -; V22 tmp18 [V22,T19] ( 4, 2 ) ref -> rbx class-hnd single-def "Inline stloc first use temp" -; V23 tmp19 [V23,T20] ( 4, 2 ) ref -> r15 class-hnd "Inline stloc first use temp" -; V24 tmp20 [V24,T30] ( 3, 1.50) int -> r14 "Inline stloc first use temp" +; V21 tmp17 [V21,T27] ( 3, 1.50) ref -> rax class-hnd "Inline return value spill temp" +; V22 tmp18 [V22,T17] ( 4, 2 ) ref -> rbx class-hnd single-def "Inline stloc first use temp" +; V23 tmp19 [V23,T18] ( 4, 2 ) ref -> r15 class-hnd "Inline stloc first use temp" +; V24 tmp20 [V24,T28] ( 3, 1.50) int -> r14 "Inline stloc first use temp" ;* V25 tmp21 [V25 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -; V26 tmp22 [V26,T21] ( 4, 2 ) int -> r14 "Inline stloc first use temp" -; V27 tmp23 [V27,T17] ( 3, 3 ) int -> rdi "Span.get_Item index" -; V28 tmp24 [V28,T31] ( 3, 1.50) int -> rdi -; V29 tmp25 [V29,T34] ( 2, 1 ) ushort -> rdi "Inline stloc first use temp" +; V26 tmp22 [V26,T19] ( 4, 2 ) int -> r14 "Inline stloc first use temp" +; V27 tmp23 [V27,T15] ( 3, 3 ) int -> rdi "Span.get_Item index" +; V28 tmp24 [V28,T29] ( 3, 1.50) int -> rdi +; V29 tmp25 [V29,T32] ( 2, 1 ) ushort -> rdi "Inline stloc first use temp" ; V30 tmp26 [V30,T02] ( 3, 24 ) int -> rdi "Span.get_Item index" -; V31 tmp27 [V31,T09] ( 2, 8 ) bool -> rax "Inline return value spill temp" -; V32 tmp28 [V32,T01] ( 4, 32 ) ushort -> rdi "Inlining Arg" +; V31 tmp27 [V31,T08] ( 2, 8 ) bool -> rax "Inline return value spill temp" +; V32 tmp28 [V32,T00] ( 4, 32 ) ushort -> rdi "Inlining Arg" ;* V33 tmp29 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ;* V34 tmp30 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V35 tmp31 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ;* V36 tmp32 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V37 tmp33 [V37,T03] ( 3, 24 ) int -> rdi "Span.get_Item index" -; V38 tmp34 [V38,T10] ( 2, 8 ) bool -> rax "Inline return value spill temp" -; V39 tmp35 [V39,T00] ( 5, 40 ) ushort -> r13 "Inlining Arg" +; V38 tmp34 [V38,T09] ( 2, 8 ) bool -> rax "Inline return value spill temp" +; V39 tmp35 [V39,T01] ( 4, 32 ) ushort -> rdi "Inlining Arg" ;* V40 tmp36 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ;* V41 tmp37 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V42 tmp38 [V42 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" -; V43 tmp39 [V43 ] ( 4, 32 ) struct (16) [rbp-78H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" -;* V44 tmp40 [V44,T35] ( 0, 0 ) bool -> zero-ref "Inline return value spill temp" -; V45 tmp41 [V45,T38] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" +;* V43 tmp39 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +;* V44 tmp40 [V44,T33] ( 0, 0 ) bool -> zero-ref "Inline return value spill temp" +; V45 tmp41 [V45,T36] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" ;* V46 tmp42 [V46 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP ;* V47 tmp43 [V47 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP -; V48 tmp44 [V48,T32] ( 2, 1 ) byref -> rdi "field V15._reference (fldOffset=0x0)" P-INDEP -; V49 tmp45 [V49,T36] ( 2, 1 ) int -> rcx "field V15._length (fldOffset=0x8)" P-INDEP -; V50 tmp46 [V50,T33] ( 2, 1 ) byref -> rdi single-def "field V16._reference (fldOffset=0x0)" P-INDEP -; V51 tmp47 [V51,T37] ( 2, 1 ) int -> rcx "field V16._length (fldOffset=0x8)" P-INDEP +; V48 tmp44 [V48,T30] ( 2, 1 ) byref -> rdi "field V15._reference (fldOffset=0x0)" P-INDEP +; V49 tmp45 [V49,T34] ( 2, 1 ) int -> rcx "field V15._length (fldOffset=0x8)" P-INDEP +; V50 tmp46 [V50,T31] ( 2, 1 ) byref -> rdi single-def "field V16._reference (fldOffset=0x0)" P-INDEP +; V51 tmp47 [V51,T35] ( 2, 1 ) int -> rcx "field V16._length (fldOffset=0x8)" P-INDEP ;* V52 tmp48 [V52 ] ( 0, 0 ) byref -> zero-ref single-def "field V17._reference (fldOffset=0x0)" P-INDEP ;* V53 tmp49 [V53 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP ;* V54 tmp50 [V54 ] ( 0, 0 ) byref -> zero-ref "field V33._reference (fldOffset=0x0)" P-INDEP ;* V55 tmp51 [V55 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP ;* V56 tmp52 [V56 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP ;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP ;* V58 tmp54 [V58 ] ( 0, 0 ) byref -> zero-ref "field V35._reference (fldOffset=0x0)" P-INDEP ;* V59 tmp55 [V59 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP ;* V60 tmp56 [V60 ] ( 0, 0 ) byref -> zero-ref "field V36._reference (fldOffset=0x0)" P-INDEP ;* V61 tmp57 [V61 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP ;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref "field V40._reference (fldOffset=0x0)" P-INDEP ;* V63 tmp59 [V63 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP ;* V64 tmp60 [V64 ] ( 0, 0 ) byref -> zero-ref "field V41._reference (fldOffset=0x0)" P-INDEP ;* V65 tmp61 [V65 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP -; V66 tmp62 [V66,T08] ( 2, 8 ) byref -> rdi "field V42._reference (fldOffset=0x0)" P-INDEP -; V67 tmp63 [V67,T11] ( 2, 8 ) int -> rax "field V42._length (fldOffset=0x8)" P-INDEP -; V68 tmp64 [V68 ] ( 3, 20 ) byref -> [rbp-78H] do-not-enreg[X] addr-exposed "field V43._reference (fldOffset=0x0)" P-DEP -; V69 tmp65 [V69 ] ( 3, 20 ) int -> [rbp-70H] do-not-enreg[X] addr-exposed "field V43._length (fldOffset=0x8)" P-DEP -; V70 tmp66 [V70,T39] ( 2, 0 ) ref -> rsi single-def "argument with side effect" +;* V66 tmp62 [V66 ] ( 0, 0 ) byref -> zero-ref "field V42._reference (fldOffset=0x0)" P-INDEP +;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP +;* V68 tmp64 [V68 ] ( 0, 0 ) byref -> zero-ref "field V43._reference (fldOffset=0x0)" P-INDEP +;* V69 tmp65 [V69 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP +; V70 tmp66 [V70,T37] ( 2, 0 ) ref -> rsi single-def "argument with side effect" ; V71 cse0 [V71,T04] ( 3, 12 ) int -> rdi "CSE - aggressive" ; V72 cse1 [V72,T05] ( 3, 12 ) int -> rax "CSE - aggressive" ; V73 cse2 [V73,T06] ( 3, 12 ) int -> rdi "CSE - aggressive" -; V74 cse3 [V74,T07] ( 3, 12 ) int -> rsi "CSE - aggressive" +; V74 cse3 [V74,T07] ( 3, 12 ) int -> rax "CSE - aggressive" ; -; Lcl frame size = 96 +; Lcl frame size = 72 ; BEGIN METHOD System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type G_M24565_IG01: push rbp push r15 push r14 - push r13 push rbx - sub rsp, 96 - vzeroupper - lea rbp, [rsp+80H] - xor eax, eax - mov qword ptr [rbp-78H], rax + sub rsp, 72 + lea rbp, [rsp+60H] vxorps xmm8, xmm8, xmm8 - vmovdqa xmmword ptr [rbp-70H], xmm8 vmovdqa xmmword ptr [rbp-60H], xmm8 vmovdqa xmmword ptr [rbp-50H], xmm8 vmovdqa xmmword ptr [rbp-40H], xmm8 - mov qword ptr [rbp-30H], rax - ;; size=58 bbWeight=1 PerfScore 17.33 + vmovdqa xmmword ptr [rbp-30H], xmm8 + ;; size=40 bbWeight=1 PerfScore 13.08 G_M24565_IG02: - mov dword ptr [rbp-28H], 1 + mov dword ptr [rbp-20H], 1 mov rbx, rdi mov r15, rsi mov r14, rdx test r15, r15 je SHORT G_M24565_IG04 ;; size=21 bbWeight=1 PerfScore 3.00 G_M24565_IG03: test r14, r14 jne SHORT G_M24565_IG05 ;; size=5 bbWeight=0.50 PerfScore 0.62 G_M24565_IG04: - lea rdi, [rbp-28H] + lea rdi, [rbp-20H] mov rax, 0xD1FFAB1E ; code for System.Reflection.Assembly:GetExecutingAssembly(byref):System.Reflection.RuntimeAssembly call [rax]System.Reflection.Assembly:GetExecutingAssembly(byref):System.Reflection.RuntimeAssembly jmp SHORT G_M24565_IG06 ;; size=18 bbWeight=0.50 PerfScore 2.88 G_M24565_IG05: xor rax, rax ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M24565_IG06: test rbx, rbx je G_M24565_IG34 cmp dword ptr [rbx+08H], 0 jne SHORT G_M24565_IG08 ;; size=15 bbWeight=1 PerfScore 5.25 G_M24565_IG07: xor rax, rax jmp G_M24565_IG32 ;; size=7 bbWeight=0.50 PerfScore 1.12 G_M24565_IG08: lea rdi, bword ptr [rbx+0CH] mov ecx, dword ptr [rbx+08H] xor rdx, rdx - mov gword ptr [rbp-68H], rdx + mov gword ptr [rbp-60H], rdx ;; size=13 bbWeight=0.50 PerfScore 1.88 G_M24565_IG09: - mov gword ptr [rbp-60H], rdx - mov byte ptr [rbp-40H], 0 - mov byte ptr [rbp-3FH], 0 - mov byte ptr [rbp-3EH], 0 - mov byte ptr [rbp-3DH], 0 - mov byte ptr [rbp-3CH], 0 + mov gword ptr [rbp-58H], rdx + mov byte ptr [rbp-38H], 0 + mov byte ptr [rbp-37H], 0 + mov byte ptr [rbp-36H], 0 + mov byte ptr [rbp-35H], 0 + mov byte ptr [rbp-34H], 0 ;; size=24 bbWeight=0.50 PerfScore 3.00 G_M24565_IG10: - mov gword ptr [rbp-58H], rdx + mov gword ptr [rbp-50H], rdx ;; size=4 bbWeight=0.50 PerfScore 0.50 G_M24565_IG11: - mov gword ptr [rbp-50H], rdx - mov bword ptr [rbp-38H], rdi - mov dword ptr [rbp-30H], ecx + mov gword ptr [rbp-48H], rdx + mov bword ptr [rbp-30H], rdi + mov dword ptr [rbp-28H], ecx ;; size=11 bbWeight=0.50 PerfScore 1.50 G_M24565_IG12: - mov dword ptr [rbp-48H], edx + mov dword ptr [rbp-40H], edx ;; size=3 bbWeight=0.50 PerfScore 0.50 G_M24565_IG13: - mov dword ptr [rbp-44H], edx - mov gword ptr [rbp-68H], r15 - mov gword ptr [rbp-60H], r14 - mov byte ptr [rbp-40H], 0 - mov byte ptr [rbp-3FH], 0 - mov byte ptr [rbp-3EH], 1 - mov gword ptr [rbp-58H], rax - lea rdi, [rbp-68H] + mov dword ptr [rbp-3CH], edx + mov gword ptr [rbp-60H], r15 + mov gword ptr [rbp-58H], r14 + mov byte ptr [rbp-38H], 0 + mov byte ptr [rbp-37H], 0 + mov byte ptr [rbp-36H], 1 + mov gword ptr [rbp-50H], rax + lea rdi, [rbp-60H] mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this call [rax]System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this mov rbx, rax test rbx, rbx jne SHORT G_M24565_IG15 ;; size=51 bbWeight=0.50 PerfScore 6.12 G_M24565_IG14: xor rax, rax jmp G_M24565_IG32 ;; size=7 bbWeight=0.50 PerfScore 1.12 G_M24565_IG15: xor r15, r15 - mov edi, dword ptr [rbp-48H] - mov dword ptr [rbp-44H], edi + mov edi, dword ptr [rbp-40H] + mov dword ptr [rbp-3CH], edi jmp SHORT G_M24565_IG17 ;; size=11 bbWeight=0.50 PerfScore 2.12 G_M24565_IG16: - mov edi, dword ptr [rbp-48H] + mov edi, dword ptr [rbp-40H] inc edi - mov dword ptr [rbp-48H], edi + mov dword ptr [rbp-40H], edi ;; size=8 bbWeight=2 PerfScore 4.50 G_M24565_IG17: - mov edi, dword ptr [rbp-48H] - mov eax, dword ptr [rbp-30H] + mov edi, dword ptr [rbp-40H] + mov eax, dword ptr [rbp-28H] cmp edi, eax jge SHORT G_M24565_IG20 cmp edi, eax jae G_M24565_IG36 - mov rax, bword ptr [rbp-38H] + mov rax, bword ptr [rbp-30H] movzx rdi, word ptr [rax+2*rdi] cmp edi, 256 jae SHORT G_M24565_IG19 mov rax, 0xD1FFAB1E ; static handle test byte ptr [rdi+rax], 128 jne SHORT G_M24565_IG16 ;; size=50 bbWeight=4 PerfScore 52.00 G_M24565_IG18: jmp SHORT G_M24565_IG20 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M24565_IG19: mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool test eax, eax jne SHORT G_M24565_IG16 ;; size=16 bbWeight=4 PerfScore 18.00 G_M24565_IG20: - mov edi, dword ptr [rbp-48H] - cmp edi, dword ptr [rbp-30H] + mov edi, dword ptr [rbp-40H] + cmp edi, dword ptr [rbp-28H] jl SHORT G_M24565_IG21 xor edi, edi jmp SHORT G_M24565_IG22 ;; size=12 bbWeight=0.50 PerfScore 3.12 G_M24565_IG21: - mov edi, dword ptr [rbp-48H] - cmp edi, dword ptr [rbp-30H] + mov edi, dword ptr [rbp-40H] + cmp edi, dword ptr [rbp-28H] jae G_M24565_IG36 - mov rax, bword ptr [rbp-38H] + mov rax, bword ptr [rbp-30H] movzx rdi, word ptr [rax+2*rdi] ;; size=20 bbWeight=0.50 PerfScore 3.50 G_M24565_IG22: movzx rdi, di mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:CharToToken(ushort):int call [rax]System.Reflection.TypeNameParser:CharToToken(ushort):int mov r14d, eax test r14d, r14d - je G_M24565_IG28 + je SHORT G_M24565_IG28 cmp r14d, 7 - je G_M24565_IG28 + je SHORT G_M24565_IG28 jmp SHORT G_M24565_IG24 - ;; size=39 bbWeight=0.50 PerfScore 4.12 + ;; size=31 bbWeight=0.50 PerfScore 4.12 G_M24565_IG23: - mov edi, dword ptr [rbp-48H] + mov edi, dword ptr [rbp-40H] inc edi - mov dword ptr [rbp-48H], edi + mov dword ptr [rbp-40H], edi ;; size=8 bbWeight=2 PerfScore 4.50 G_M24565_IG24: - mov edi, dword ptr [rbp-48H] - mov esi, dword ptr [rbp-30H] - cmp edi, esi + mov edi, dword ptr [rbp-40H] + mov eax, dword ptr [rbp-28H] + cmp edi, eax jge SHORT G_M24565_IG27 - cmp edi, esi + cmp edi, eax jae G_M24565_IG36 - mov rsi, bword ptr [rbp-38H] - movzx r13, word ptr [rsi+2*rdi] - cmp r13d, 256 + mov rax, bword ptr [rbp-30H] + movzx rdi, word ptr [rax+2*rdi] + cmp edi, 256 jae SHORT G_M24565_IG26 - vxorps xmm0, xmm0, xmm0 - vmovdqu xmmword ptr [rbp-78H], xmm0 - lea rdi, [rbp-78H] - mov rsi, 0xD1FFAB1E ; data for :1D715D2A2ED1CDD8C368F519DF4B8B9748F65E031AEA80652432FBBA5C35DFE6 - mov edx, 256 - mov rax, 0xD1FFAB1E ; code for System.ReadOnlySpan`1[ubyte]:.ctor(ulong,int):this - call [rax]System.ReadOnlySpan`1[ubyte]:.ctor(ulong,int):this - mov rdi, bword ptr [rbp-78H] - mov eax, dword ptr [rbp-70H] - cmp r13d, eax - jae G_M24565_IG36 - mov eax, r13d + mov rax, 0xD1FFAB1E ; static handle test byte ptr [rdi+rax], 128 jne SHORT G_M24565_IG23 - ;; size=101 bbWeight=4 PerfScore 87.33 + ;; size=50 bbWeight=4 PerfScore 52.00 G_M24565_IG25: jmp SHORT G_M24565_IG27 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M24565_IG26: - mov edi, r13d mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool test eax, eax - jne G_M24565_IG23 - ;; size=23 bbWeight=4 PerfScore 19.00 + jne SHORT G_M24565_IG23 + ;; size=16 bbWeight=4 PerfScore 18.00 G_M24565_IG27: - mov edi, dword ptr [rbp-48H] - cmp edi, dword ptr [rbp-30H] + mov edi, dword ptr [rbp-40H] + cmp edi, dword ptr [rbp-28H] jge SHORT G_M24565_IG28 - mov edi, dword ptr [rbp-48H] + mov edi, dword ptr [rbp-40H] inc edi - mov dword ptr [rbp-48H], edi + mov dword ptr [rbp-40H], edi ;; size=16 bbWeight=0.50 PerfScore 3.12 G_M24565_IG28: test r14d, r14d je SHORT G_M24565_IG31 cmp r14d, 3 je SHORT G_M24565_IG29 - lea rdi, [rbp-68H] + lea rdi, [rbp-60H] mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:ParseError():this call [rax]System.Reflection.TypeNameParser:ParseError():this jmp G_M24565_IG14 ;; size=32 bbWeight=0.50 PerfScore 4.12 G_M24565_IG29: - cmp gword ptr [rbp-50H], 0 + cmp gword ptr [rbp-48H], 0 je SHORT G_M24565_IG30 - cmp byte ptr [rbp-40H], 0 + cmp byte ptr [rbp-38H], 0 jne SHORT G_M24565_IG35 jmp G_M24565_IG14 ;; size=18 bbWeight=0.50 PerfScore 4.00 G_M24565_IG30: - lea rdi, [rbp-68H] + lea rdi, [rbp-60H] mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:GetNextAssemblyName():System.String:this call [rax]System.Reflection.TypeNameParser:GetNextAssemblyName():System.String:this mov r15, rax test r15, r15 je G_M24565_IG14 ;; size=28 bbWeight=0.50 PerfScore 2.62 G_M24565_IG31: - lea rsi, [rbp-68H] + lea rsi, [rbp-60H] mov rdi, rbx mov rdx, r15 mov rax, qword ptr [rbx] mov rax, qword ptr [rax+40H] call [rax+20H]System.Reflection.TypeNameParser+TypeName:ResolveType(byref,System.String):System.Type:this ;; size=20 bbWeight=0.50 PerfScore 4.00 G_M24565_IG32: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M24565_IG33: - add rsp, 96 + add rsp, 72 pop rbx - pop r13 pop r14 pop r15 pop rbp ret - ;; size=13 bbWeight=1 PerfScore 3.75 + ;; size=11 bbWeight=1 PerfScore 3.25 G_M24565_IG34: mov edi, 0x18CCD mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:Throw(System.String) call [rax]System.ArgumentNullException:Throw(System.String) int3 ;; size=36 bbWeight=0 PerfScore 0.00 G_M24565_IG35: mov rdi, 0xD1FFAB1E ; System.ArgumentException call CORINFO_HELP_NEWSFAST mov rbx, rax mov rax, 0xD1FFAB1E ; code for System.SR:get_Argument_AssemblyGetTypeCannotSpecifyAssembly():System.String call [rax]System.SR:get_Argument_AssemblyGetTypeCannotSpecifyAssembly():System.String mov rsi, rax mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String):this call [rax]System.ArgumentException:.ctor(System.String):this mov rdi, rbx call CORINFO_HELP_THROW ;; size=56 bbWeight=0 PerfScore 0.00 G_M24565_IG36: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 ; END METHOD System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type -; Total bytes of code 757, prolog size 58, PerfScore 342.74, instruction count 201, allocated bytes for code 757 (MethodHash=4d72a00a) for method System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type (FullOpts) +; Total bytes of code 671, prolog size 40, PerfScore 293.06, instruction count 183, allocated bytes for code 671 (MethodHash=4d72a00a) for method System.Type:GetType(System.String,System.Func`2[System.Reflection.AssemblyName,System.Reflection.Assembly],System.Func`4[System.Reflection.Assembly,System.String,bool,System.Type]):System.Type (FullOpts) ```

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

MihuBot commented 1 year ago

@MichalPetryka