Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[JitDiff X64] [xtqqczze] Remove uint casts in string.(Try)CopyTo #700

Open
MihuBot opened this issue Oct 7, 2024 · 5 comments
Open

[JitDiff X64] [xtqqczze] Remove uint casts in string.(Try)CopyTo #700

MihuBot opened this issue Oct 7, 2024 · 5 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Oct 7, 2024

Job completed in 18 minutes 32 seconds.
dotnet/runtime#108614

Diffs

Diffs
Found 342 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 39447434
Total bytes of diff: 39445211
Total bytes of delta: -2223 (-0.01 % of base)
Total relative delta: -3.66
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
          58 : System.Text.RegularExpressions.dasm (0.01 % of base)
          21 : System.Console.dasm (0.02 % of base)
          10 : Microsoft.Extensions.Diagnostics.dasm (0.07 % of base)
          10 : System.Net.HttpListener.dasm (0.01 % of base)
           8 : System.Net.Mail.dasm (0.00 % of base)
           7 : System.Net.NameResolution.dasm (0.02 % of base)
           6 : Microsoft.Extensions.Options.DataAnnotations.dasm (0.14 % of base)
           6 : System.Numerics.Tensors.dasm (0.00 % of base)
           4 : System.Private.Uri.dasm (0.00 % of base)
           4 : Microsoft.CSharp.dasm (0.00 % of base)
           4 : System.ComponentModel.Composition.dasm (0.00 % of base)
           4 : System.Net.WebProxy.dasm (0.07 % of base)
           4 : System.Net.Requests.dasm (0.00 % of base)
           2 : System.Collections.Specialized.dasm (0.02 % of base)
           2 : System.DirectoryServices.Protocols.dasm (0.00 % of base)
           2 : System.Transactions.Local.dasm (0.00 % of base)
           2 : System.Net.WebSockets.Client.dasm (0.01 % of base)
           1 : System.Runtime.InteropServices.dasm (0.00 % of base)
           1 : System.CodeDom.dasm (0.00 % of base)
           1 : System.Security.Cryptography.Xml.dasm (0.00 % of base)
           1 : System.Formats.Asn1.dasm (0.00 % of base)

Top file improvements (bytes):
        -622 : System.Threading.Tasks.Dataflow.dasm (-0.05 % of base)
        -458 : System.Net.Http.dasm (-0.05 % of base)
        -211 : System.Private.CoreLib.dasm (-0.00 % of base)
        -163 : System.Text.Json.dasm (-0.01 % of base)
        -138 : System.Net.WebSockets.dasm (-0.09 % of base)
        -113 : System.Net.Quic.dasm (-0.08 % of base)
         -64 : System.Collections.Immutable.dasm (-0.00 % of base)
         -57 : Microsoft.Extensions.Logging.Console.dasm (-0.10 % of base)
         -50 : System.Drawing.Primitives.dasm (-0.13 % of base)
         -44 : tieringtest.dasm (-0.63 % of base)
         -33 : System.Private.Xml.dasm (-0.00 % of base)
         -33 : Microsoft.Extensions.Logging.dasm (-0.09 % of base)
         -29 : Microsoft.Extensions.Configuration.dasm (-0.18 % of base)
         -28 : System.Security.Claims.dasm (-0.21 % of base)
         -27 : runincontext.dasm (-0.17 % of base)
         -24 : System.Linq.Expressions.dasm (-0.00 % of base)
         -23 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (-0.03 % of base)
         -23 : System.Diagnostics.DiagnosticSource.dasm (-0.01 % of base)
         -22 : System.Security.Cryptography.dasm (-0.00 % of base)
         -18 : System.ComponentModel.TypeConverter.dasm (-0.01 % of base)
         -17 : System.Reflection.Metadata.dasm (-0.00 % of base)
         -12 : System.ServiceModel.Syndication.dasm (-0.01 % of base)
         -12 : Microsoft.Extensions.Http.dasm (-0.02 % of base)
         -11 : Microsoft.Extensions.DependencyInjection.dasm (-0.02 % of base)
         -11 : Microsoft.Extensions.Configuration.FileExtensions.dasm (-0.22 % of base)
          -9 : Microsoft.Extensions.Caching.Memory.dasm (-0.05 % of base)
          -8 : System.Memory.dasm (-0.00 % of base)
          -7 : System.Net.NetworkInformation.dasm (-0.01 % of base)
          -7 : System.Net.Sockets.dasm (-0.00 % of base)
          -7 : Microsoft.Extensions.Logging.Debug.dasm (-0.12 % of base)
          -7 : System.Data.Common.dasm (-0.00 % of base)
          -6 : System.Diagnostics.Process.dasm (-0.01 % of base)
          -6 : Microsoft.Extensions.Logging.Configuration.dasm (-0.08 % of base)
          -6 : System.IO.Pipes.dasm (-0.02 % of base)
          -5 : System.IO.Compression.ZipFile.dasm (-0.04 % of base)
          -5 : System.Private.DataContractSerialization.dasm (-0.00 % of base)
          -5 : System.IO.FileSystem.Watcher.dasm (-0.02 % of base)
          -5 : System.IO.FileSystem.DriveInfo.dasm (-0.02 % of base)
          -5 : Microsoft.Extensions.DependencyModel.dasm (-0.01 % of base)
          -5 : System.IO.Ports.dasm (-0.01 % of base)
          -5 : System.Formats.Tar.dasm (-0.00 % of base)
          -5 : System.IO.MemoryMappedFiles.dasm (-0.02 % of base)
          -5 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.02 % of base)
          -4 : System.Diagnostics.TraceSource.dasm (-0.01 % of base)
          -4 : System.Reflection.MetadataLoadContext.dasm (-0.00 % of base)
          -4 : System.Reflection.DispatchProxy.dasm (-0.02 % of base)
          -3 : System.Composition.Runtime.dasm (-0.02 % of base)
          -3 : System.Security.Cryptography.Cose.dasm (-0.00 % of base)
          -2 : Microsoft.Extensions.Caching.Abstractions.dasm (-0.01 % of base)
          -2 : Microsoft.Extensions.Logging.Abstractions.dasm (-0.00 % of base)
          -2 : System.Web.HttpUtility.dasm (-0.01 % of base)
          -2 : System.Security.Cryptography.ProtectedData.dasm (-0.04 % of base)
          -1 : System.Net.Primitives.dasm (-0.00 % of base)
          -1 : System.IO.Pipelines.dasm (-0.00 % of base)
          -1 : System.Net.Security.dasm (-0.00 % of base)
          -1 : System.Configuration.ConfigurationManager.dasm (-0.00 % of base)

77 total files with Code Size differences (56 improved, 21 regressed), 182 unchanged.

Top method regressions (bytes):
          59 (2.97 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexLWCGCompiler:FactoryInstanceFromCode(System.String,System.Text.RegularExpressions.RegexTree,int,ubyte):System.Text.RegularExpressions.RegexRunnerFactory:this (FullOpts)
          54 (1.08 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GenerateEncodedMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          23 (3.22 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[double](System.Enum+EnumInfo`1[double],double):System.String (FullOpts)
          19 (3.01 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[long](System.Enum+EnumInfo`1[long],long):System.String (FullOpts)
          18 (0.35 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this (FullOpts)
          18 (1.14 % of base) : System.Console.dasm - System.TermInfo+DatabaseFactory:ReadDatabase(System.String,System.String):System.TermInfo+Database (FullOpts)
          15 (2.39 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[int](System.Enum+EnumInfo`1[int],int):System.String (FullOpts)
          15 (2.34 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts)
          15 (2.33 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
          10 (0.20 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          10 (0.14 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
           9 (0.36 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeTypedArgument:ToString(ubyte):System.String:this (FullOpts)
           8 (0.42 % of base) : System.Net.Quic.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.43 % of base) : System.Net.Mail.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.43 % of base) : System.Net.Http.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.56 % of base) : System.Net.Primitives.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.43 % of base) : System.Net.Requests.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.54 % of base) : System.Net.Security.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.56 % of base) : System.Net.NameResolution.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.43 % of base) : System.Net.Sockets.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.43 % of base) : System.Net.HttpListener.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (4.15 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):this (FullOpts)
           8 (0.17 % of base) : System.Console.dasm - System.TermInfo+ParameterizedStrings:EvaluateInternal(System.String,byref,System.TermInfo+ParameterizedStrings+FormatParam[],System.Collections.Generic.Stack`1[System.TermInfo+ParameterizedStrings+FormatParam],byref,byref):System.String (FullOpts)
           8 (0.24 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:WriteTypeInfo(System.Xml.Serialization.TypeScope,System.Xml.Serialization.TypeDesc,System.Type):System.String:this (FullOpts)
           8 (0.75 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SoapReflectionImporter:XsdTypeName(System.Type,System.Xml.Serialization.SoapAttributes,System.String):System.String:this (FullOpts)
           8 (0.75 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlReflectionImporter:XsdTypeName(System.Type,System.Xml.Serialization.XmlAttributes,System.String):System.String:this (FullOpts)
           6 (0.15 % of base) : Microsoft.Extensions.Options.DataAnnotations.dasm - Microsoft.Extensions.Options.DataAnnotationValidateOptions`1[System.__Canon]:TryValidateOptions(System.Object,System.String,System.Collections.Generic.List`1[System.ComponentModel.DataAnnotations.ValidationResult],byref,byref):ubyte (FullOpts)
           6 (2.42 % of base) : System.Net.Primitives.dasm - System.Net.IPNetwork:TryFormat(System.Span`1[ushort],byref):ubyte:this (FullOpts)
           6 (1.16 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this (FullOpts)
           5 (0.09 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.MetadataViewGenerator:GenerateInterfaceViewProxyType(System.Type):System.Type (FullOpts)
           5 (0.67 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
           4 (0.61 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ValidateBindArgument(System.Dynamic.DynamicMetaObject[],System.String) (FullOpts)
           4 (0.76 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
           4 (0.30 % of base) : System.Data.Common.dasm - System.Data.Merger:MergeRows(System.Data.DataRow[]):this (FullOpts)
           4 (0.58 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Activity:.cctor() (FullOpts)
           4 (0.78 % of base) : System.Linq.Expressions.dasm - System.Dynamic.Utils.ContractUtils:GetParamName(System.String,int):System.String (FullOpts)
           4 (0.79 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Error:GetParamName(System.String,int):System.String (FullOpts)
           4 (0.38 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.DebugInfo:ToString():System.String:this (FullOpts)
           4 (0.43 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.RangeItemHeaderValue:ToString():System.String:this (FullOpts)
           4 (0.35 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ReadGoAwayFrame(System.Net.Http.Http2Connection+FrameHeader):System.ValueTuple`2[int,int]:this (FullOpts)
           4 (0.28 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:WriteLiteralHeader(System.String,System.ReadOnlySpan`1[System.String],System.Text.Encoding,byref):this (FullOpts)
           4 (0.88 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListener+<>c:<AddPrefix>b__32_1(System.Span`1[ushort],System.ValueTuple`3[System.String,int,int]):this (FullOpts)
           4 (0.29 % of base) : System.Net.WebProxy.dasm - System.Net.WebProxy:IsMatchInBypassList(System.Uri):ubyte:this (FullOpts)
           4 (1.63 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[double](double,System.String):this (FullOpts)
           4 (1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[int](int,System.String):this (FullOpts)
           4 (1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[long](long,System.String):this (FullOpts)
           4 (1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[short](short,System.String):this (FullOpts)
           4 (1.90 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[System.__Canon](System.__Canon,System.String):this (FullOpts)
           4 (1.68 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
           4 (1.65 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):this (FullOpts)
           4 (1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[ubyte](ubyte,System.String):this (FullOpts)
           4 (0.74 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):this (FullOpts)
           4 (0.77 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this (FullOpts)
           4 (0.59 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
           4 (1.99 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):this (FullOpts)
           4 (0.58 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+DebugView+DebugViewItem:get_Display():System.String:this (FullOpts)
           4 (0.87 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:ThrowInvalidOperationException_SerializationDuplicateAttribute(System.Type,System.Reflection.MemberInfo) (FullOpts)
           4 (0.13 % of base) : System.Private.Uri.dasm - System.Uri:CombineUri(System.Uri,System.String,int):System.String (FullOpts)
           4 (0.71 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:GetStringForCreateInstance(System.String,ubyte,ubyte,ubyte,System.String):System.String:this (FullOpts)
           4 (0.85 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlMapping:GenerateKey(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String):System.String (FullOpts)
           4 (0.12 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteAttributes(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],System.Xml.Serialization.XmlSerializationReaderCodeGen+Member,System.String,System.String):this (FullOpts)
           4 (0.13 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteDerivedSerializable(System.Xml.Serialization.SerializableMapping,System.Xml.Serialization.SerializableMapping,System.String,ubyte):this (FullOpts)
           4 (0.15 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteEnumAndArrayTypes():this (FullOpts)
           4 (0.16 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteMemberBegin(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[]):this (FullOpts)
           4 (0.05 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteElement(System.String,System.Xml.Serialization.ElementAccessor,System.String,ubyte):this (FullOpts)
           4 (0.07 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
           4 (0.44 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:NameAndType(ubyte):System.String:this (FullOpts)
           3 (0.40 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[double](System.Diagnostics.Metrics.Instrument,double,System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
           3 (0.40 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[System.Numerics.Vector`1[float]](System.Diagnostics.Metrics.Instrument,System.Numerics.Vector`1[float],System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
           3 (0.20 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.MetricsEventSource+CommandHandler:SetMaxValue(System.Collections.Generic.IDictionary`2[System.String,System.String],System.String,System.String,int,byref):ubyte:this (FullOpts)
           3 (0.35 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[double](System.Enum+EnumInfo`1[double],double,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           3 (0.40 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[int](System.Enum+EnumInfo`1[int],int,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           3 (0.40 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[long](System.Enum+EnumInfo`1[long],long,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           3 (0.39 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[short](System.Enum+EnumInfo`1[short],short,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           3 (0.39 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           3 (0.42 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitBlock(System.Linq.Expressions.BlockExpression):System.Linq.Expressions.Expression:this (FullOpts)
           3 (0.61 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ToString():System.String:this (FullOpts)
           3 (0.61 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:ToString():System.String:this (FullOpts)
           3 (0.34 % of base) : System.Net.Mail.dasm - System.Net.Mime.SmtpDateTime:ToString():System.String:this (FullOpts)
           3 (0.05 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicApi:.cctor() (FullOpts)
           3 (1.53 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this (FullOpts)
           3 (2.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this (FullOpts)
           3 (2.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this (FullOpts)
           3 (0.30 % 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)
           3 (6.12 % of base) : System.Private.CoreLib.dasm - System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this (FullOpts)
           3 (0.25 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:TryGetOrdinalCaseInsensitiveString(int,int,byref,byref,ubyte):ubyte:this (FullOpts)
           3 (0.39 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilName:ToString():System.String:this (FullOpts)
           2 (0.39 % of base) : System.Collections.Specialized.dasm - System.Collections.Specialized.BitVector32+Section:ToString(System.Collections.Specialized.BitVector32+Section):System.String (FullOpts)
           2 (0.21 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DsesFilterAndTransform+TransformSpec+PropertySpec+PropertyFetch+EnumeratePropertyFetch:Fetch(System.Object):System.Object:this (FullOpts)
           2 (0.28 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceListener:Fail(System.String,System.String):this (FullOpts)
           2 (0.32 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceListener:WriteHeader(System.String,int,int):this (FullOpts)
           2 (0.29 % of base) : System.Net.Http.dasm - System.Net.Http.CreditManager:.ctor(System.Net.Http.IHttpTrace,System.String,int):this (FullOpts)
           2 (0.13 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ProcessSettingsFrame(System.Net.Http.Http2Connection+FrameHeader,ubyte):this (FullOpts)
           2 (0.30 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:WriteBytes(System.ReadOnlySpan`1[ubyte],byref):this (FullOpts)
           2 (0.18 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+<>c:<SendStreamDataAsync>b__98_0(System.ValueTuple`4[System.Net.Http.Http2Connection,int,System.ReadOnlyMemory`1[ubyte],ubyte],System.Memory`1[ubyte]):ubyte:this (FullOpts)
           2 (0.09 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp2Connection(System.Net.Http.Http2Connection,ubyte,System.Net.Http.HttpConnectionWaiter`1[System.Net.Http.Http2Connection]):this (FullOpts)
           2 (0.11 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp3Connection(System.Net.Http.Http3Connection,ubyte,System.Net.Http.HttpConnectionWaiter`1[System.Net.Http.Http3Connection]):this (FullOpts)
           2 (0.37 % of base) : System.Net.Http.dasm - System.Net.Http.HttpTelemetry:RequestStart(System.String,System.String,int,System.String,ubyte,ubyte,int):this (FullOpts)
           2 (0.31 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicSafeHandle:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketValidate:ValidateSubprotocol(System.String) (FullOpts)

Top method improvements (bytes):
         -53 (-0.62 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteElements(System.String,System.String,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte):this (FullOpts)
         -47 (-0.88 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_STREAM_EVENT:ToString():System.String:this (FullOpts)
         -44 (-0.63 % of base) : tieringtest.dasm - Program:Main(System.String[]):int (FullOpts)
         -42 (-0.58 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_CONNECTION_EVENT:ToString():System.String:this (FullOpts)
         -28 (-0.69 % of base) : System.Net.Http.dasm - System.Net.Http.RedirectHandler+<SendAsync>d__4:MoveNext():this (FullOpts)
         -25 (-3.00 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsPrincipal:DebuggerToString():System.String:this (FullOpts)
         -23 (-0.37 % of base) : runincontext.dasm - TestRunner:DoWorkStress():int:this (FullOpts)
         -22 (-0.91 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionBase:TraceConnection(System.IO.Stream):this (FullOpts)
         -22 (-0.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeExceptionHandlingClause:ToString():System.String:this (FullOpts)
         -21 (-1.02 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection+HttpContentReadStream+<DrainOnDisposeAsync>d__16:MoveNext():this (FullOpts)
         -20 (-1.16 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp2ConnectionInjection():this (FullOpts)
         -20 (-1.16 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp3ConnectionInjection():this (FullOpts)
         -18 (-1.03 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp11ConnectionInjection():this (FullOpts)
         -18 (-1.32 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GetArraySource(System.Xml.Serialization.TypeDesc,System.String,ubyte):System.String (FullOpts)
         -16 (-1.75 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -16 (-0.16 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection+<SendAsync>d__56:MoveNext():this (FullOpts)
         -15 (-0.63 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket:.ctor(System.IO.Stream,ubyte,System.String,System.TimeSpan,System.TimeSpan):this (FullOpts)
         -14 (-0.69 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ServiceDescriptor:DebuggerToString():System.String:this (FullOpts)
         -13 (-1.43 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -13 (-0.53 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2Stream:OnStatus(int):this (FullOpts)
         -13 (-1.35 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -13 (-13.68 % of base) : System.Text.Json.dasm - System.Text.Json.JsonCamelCaseNamingPolicy+<>c:<ConvertName>b__0_0(System.Span`1[ushort],System.String):this (FullOpts)
         -12 (-0.81 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFilterRule:ToString():System.String:this (FullOpts)
         -12 (-1.78 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider+CharDescriptor:ToString():System.String:this (FullOpts)
         -12 (-0.71 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DsesFilterAndTransform+TransformSpec+PropertySpec+PropertyFetch:FetcherForProperty(System.Diagnostics.DiagnosticSourceEventSource,System.Type,System.String):System.Diagnostics.DsesFilterAndTransform+TransformSpec+PropertySpec+PropertyFetch (FullOpts)
         -12 (-0.61 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2Stream+<ReadResponseHeadersAsync>d__74:MoveNext():this (FullOpts)
         -12 (-0.46 % of base) : System.Net.Http.dasm - System.Net.Http.Http3RequestStream+<ReadFrameEnvelopeAsync>d__45:MoveNext():this (FullOpts)
         -12 (-1.44 % of base) : System.Private.CoreLib.dasm - System.Reflection.ExceptionHandlingClause:ToString():System.String:this (FullOpts)
         -12 (-2.77 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:get_DebuggerDisplay():System.String:this (FullOpts)
         -12 (-0.40 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:GetSerializedString(System.TimeZoneInfo):System.String (FullOpts)
         -11 (-1.43 % of base) : Microsoft.Extensions.Configuration.FileExtensions.dasm - Microsoft.Extensions.Configuration.FileConfigurationProvider:ToString():System.String:this (FullOpts)
         -11 (-0.80 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+ResponseData:ToString():System.String:this (FullOpts)
         -11 (-0.13 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[double]:MoveNext():this (FullOpts)
         -11 (-0.13 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[int]:MoveNext():this (FullOpts)
         -11 (-0.13 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[long]:MoveNext():this (FullOpts)
         -11 (-0.13 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[short]:MoveNext():this (FullOpts)
         -11 (-0.12 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.Nullable`1[int]]:MoveNext():this (FullOpts)
         -11 (-0.12 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts)
         -11 (-0.13 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[ubyte]:MoveNext():this (FullOpts)
         -11 (-1.61 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:ToString():System.String:this (FullOpts)
         -11 (-1.61 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.__Canon]:ToString():System.String:this (FullOpts)
         -11 (-5.39 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemEncoding:<TryFind>g__WritePostEB|5_0(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
         -10 (-1.23 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSection:DebuggerToString():System.String:this (FullOpts)
         -10 (-0.95 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Color:get_NameAndARGBValue():System.String:this (FullOpts)
         -10 (-1.62 % of base) : System.Private.CoreLib.dasm - System.Numerics.Quaternion:ToString():System.String:this (FullOpts)
         -10 (-2.12 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:get_DebuggerDisplay():System.String:this (FullOpts)
         -10 (-0.88 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILConstructInfo:ToString():System.String:this (FullOpts)
          -9 (-0.82 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:OvercapacityCompaction():this (FullOpts)
          -9 (-0.86 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions:ReserveClient(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Type,System.String,ubyte) (FullOpts)
          -9 (-1.36 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFilterOptions:DebuggerToString():System.String:this (FullOpts)
          -9 (-0.52 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_LISTENER_EVENT:ToString():System.String:this (FullOpts)
          -9 (-0.77 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_NEW_CONNECTION_INFO:ToString():System.String:this (FullOpts)
          -9 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventCounter:ToString():System.String:this (FullOpts)
          -9 (-1.13 % of base) : System.Private.CoreLib.dasm - System.IO.Path:Join(System.ReadOnlySpan`1[System.String]):System.String (FullOpts)
          -9 (-0.82 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+ActivityStopData:ToString():System.String:this (FullOpts)
          -9 (-0.82 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+RequestData:ToString():System.String:this (FullOpts)
          -9 (-0.93 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:SignalAvailableStreamsWaiter(ubyte):this (FullOpts)
          -9 (-1.70 % of base) : System.Net.Http.dasm - System.Net.Http.HttpRuleParser:IsValidHostName(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -9 (-0.09 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.__Canon]:MoveNext():this (FullOpts)
          -9 (-0.66 % of base) : System.Private.CoreLib.dasm - System.SR:InternalGetResourceString(System.String):System.String (FullOpts)
          -9 (-14.29 % of base) : System.Private.CoreLib.dasm - System.String:CopyTo(System.Span`1[ushort]):this (FullOpts)
          -8 (-0.25 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ServiceDescriptor:ToString():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[double]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[int]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[long]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[short]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.__Canon]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Numerics.Vector`1[float]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[ubyte]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.40 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.IncrementingEventCounter:ToString():System.String:this (FullOpts)
          -8 (-2.40 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.IncrementingPollingCounter:ToString():System.String:this (FullOpts)
          -8 (-2.80 % of base) : System.Private.CoreLib.dasm - System.Enum:WriteMultipleFoundFlagsNames(System.String[],System.ReadOnlySpan`1[int],System.Span`1[ushort]) (FullOpts)
          -8 (-1.85 % of base) : System.Private.CoreLib.dasm - System.Globalization.SortKey:ToString():System.String:this (FullOpts)
          -8 (-1.44 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):ubyte:this (FullOpts)
          -8 (-1.49 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):ubyte:this (FullOpts)
          -8 (-1.32 % of base) : System.Net.Http.dasm - System.Net.CredentialCacheKey:ToString():System.String:this (FullOpts)
          -8 (-1.25 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+FrameHeader:ToString():System.String:this (FullOpts)
          -8 (-1.94 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionBase:<LogExceptions>g__LogFaulted|29_1(System.Net.Http.HttpConnectionBase,System.Threading.Tasks.Task) (FullOpts)
          -8 (-0.53 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionBase:IsUsable(long,System.TimeSpan,System.TimeSpan):ubyte:this (FullOpts)
          -8 (-1.25 % of base) : System.Private.CoreLib.dasm - System.OperatingSystem:get_VersionString():System.String:this (FullOpts)
          -8 (-1.24 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.SequencePoint:GetDebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.13 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializerOptions:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-4.21 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeIdentifier+<>c:<MakeCamel>b__3_0(System.Span`1[ushort],System.String):this (FullOpts)
          -8 (-4.21 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeIdentifier+<>c:<MakePascal>b__2_0(System.Span`1[ushort],System.String):this (FullOpts)
          -7 (-1.52 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSectionDebugView:ToString():System.String:this (FullOpts)
          -7 (-1.36 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFactory:DebuggerToString():System.String:this (FullOpts)
          -7 (-0.42 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.MetricsEventSource+CommandHandler:GetRefreshIntervalSecs(System.Collections.Generic.IDictionary`2[System.String,System.String],System.String,double,byref):ubyte:this (FullOpts)
          -7 (-1.10 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.MetricsEventSource+CommandHandler:SetRefreshIntervalSecs(System.Collections.Generic.IDictionary`2[System.String,System.String],double,double,byref):this (FullOpts)
          -7 (-2.10 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.PollingCounter:ToString():System.String:this (FullOpts)
          -7 (-0.99 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Rectangle:ToString():System.String:this (FullOpts)
          -7 (-0.98 % of base) : System.Drawing.Primitives.dasm - System.Drawing.RectangleF:ToString():System.String:this (FullOpts)
          -7 (-0.31 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHelper:GetRedactedUriString(System.Uri):System.String (FullOpts)
          -7 (-0.60 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2Stream:OnReset(System.Exception,System.Nullable`1[int],ubyte):this (FullOpts)
          -7 (-0.89 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2StreamWindowManager:.ctor(System.Net.Http.Http2Connection,System.Net.Http.Http2Connection+Http2Stream):this (FullOpts)
          -7 (-0.61 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+RttEstimator:OnPingAckReceived(long,System.Net.Http.Http2Connection):this (FullOpts)
          -7 (-0.77 % of base) : System.Net.Http.dasm - System.Net.Http.Http3Connection:StreamCapacityCallback(System.Net.Quic.QuicConnection,System.Net.Quic.QuicStreamCapacityChangedArgs):this (FullOpts)
          -7 (-1.09 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicHelpers:GetMsQuicParameter(System.Net.Quic.MsQuicSafeHandle,uint,uint,ulong) (FullOpts)
          -7 (-0.53 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket:KeepAlivePingHeartBeat():this (FullOpts)
          -7 (-1.22 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket:OnAbortedCore():this (FullOpts)

Top method regressions (percentages):
           3 (6.12 % of base) : System.Private.CoreLib.dasm - System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this (FullOpts)
           8 (4.15 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):this (FullOpts)
          23 (3.22 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[double](System.Enum+EnumInfo`1[double],double):System.String (FullOpts)
          19 (3.01 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[long](System.Enum+EnumInfo`1[long],long):System.String (FullOpts)
          59 (2.97 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexLWCGCompiler:FactoryInstanceFromCode(System.String,System.Text.RegularExpressions.RegexTree,int,ubyte):System.Text.RegularExpressions.RegexRunnerFactory:this (FullOpts)
           3 (2.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this (FullOpts)
           6 (2.42 % of base) : System.Net.Primitives.dasm - System.Net.IPNetwork:TryFormat(System.Span`1[ushort],byref):ubyte:this (FullOpts)
          15 (2.39 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[int](System.Enum+EnumInfo`1[int],int):System.String (FullOpts)
          15 (2.34 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts)
          15 (2.33 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
           3 (2.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this (FullOpts)
           4 (1.99 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):this (FullOpts)
           4 (1.90 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[System.__Canon](System.__Canon,System.String):this (FullOpts)
           4 (1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[int](int,System.String):this (FullOpts)
           4 (1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[long](long,System.String):this (FullOpts)
           4 (1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[ubyte](ubyte,System.String):this (FullOpts)
           4 (1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[short](short,System.String):this (FullOpts)
           4 (1.68 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
           4 (1.65 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):this (FullOpts)
           4 (1.63 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendCustomFormatter[double](double,System.String):this (FullOpts)
           3 (1.53 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this (FullOpts)
           6 (1.16 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this (FullOpts)
          18 (1.14 % of base) : System.Console.dasm - System.TermInfo+DatabaseFactory:ReadDatabase(System.String,System.String):System.TermInfo+Database (FullOpts)
          54 (1.08 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GenerateEncodedMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
           4 (0.88 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListener+<>c:<AddPrefix>b__32_1(System.Span`1[ushort],System.ValueTuple`3[System.String,int,int]):this (FullOpts)
           4 (0.87 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:ThrowInvalidOperationException_SerializationDuplicateAttribute(System.Type,System.Reflection.MemberInfo) (FullOpts)
           4 (0.85 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlMapping:GenerateKey(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String):System.String (FullOpts)
           4 (0.79 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Error:GetParamName(System.String,int):System.String (FullOpts)
           4 (0.78 % of base) : System.Linq.Expressions.dasm - System.Dynamic.Utils.ContractUtils:GetParamName(System.String,int):System.String (FullOpts)
           4 (0.77 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this (FullOpts)
           4 (0.76 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
           8 (0.75 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SoapReflectionImporter:XsdTypeName(System.Type,System.Xml.Serialization.SoapAttributes,System.String):System.String:this (FullOpts)
           8 (0.75 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlReflectionImporter:XsdTypeName(System.Type,System.Xml.Serialization.XmlAttributes,System.String):System.String:this (FullOpts)
           4 (0.74 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):this (FullOpts)
           4 (0.71 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:GetStringForCreateInstance(System.String,ubyte,ubyte,ubyte,System.String):System.String:this (FullOpts)
           2 (0.69 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:GenerateVariableName(System.String,System.String):System.String:this (FullOpts)
           5 (0.67 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):this (FullOpts)
           2 (0.64 % of base) : System.Transactions.Local.dasm - System.Transactions.InternalTransaction+<>c:<get_InstanceIdentifier>b__52_0():System.String:this (FullOpts)
           4 (0.61 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ValidateBindArgument(System.Dynamic.DynamicMetaObject[],System.String) (FullOpts)
           3 (0.61 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ToString():System.String:this (FullOpts)
           3 (0.61 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:ToString():System.String:this (FullOpts)
           2 (0.60 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.RuntimeEnvironment:GetSystemVersion():System.String (FullOpts)
           4 (0.59 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):this (FullOpts)
           4 (0.58 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Activity:.cctor() (FullOpts)
           4 (0.58 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+DebugView+DebugViewItem:get_Display():System.String:this (FullOpts)
           8 (0.56 % of base) : System.Net.Primitives.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.56 % of base) : System.Net.NameResolution.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.54 % of base) : System.Net.Security.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           2 (0.48 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GetChoiceIdentifierSource(System.Xml.Serialization.MemberMapping[],System.Xml.Serialization.MemberMapping):System.String (FullOpts)
           2 (0.48 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GetChoiceIdentifierSource(System.Xml.Serialization.MemberMapping[],System.Xml.Serialization.MemberMapping):System.String (FullOpts)
           4 (0.44 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:NameAndType(ubyte):System.String:this (FullOpts)
           4 (0.43 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.RangeItemHeaderValue:ToString():System.String:this (FullOpts)
           8 (0.43 % of base) : System.Net.Mail.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.43 % of base) : System.Net.Http.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.43 % of base) : System.Net.Requests.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.43 % of base) : System.Net.Sockets.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           8 (0.43 % of base) : System.Net.HttpListener.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           3 (0.42 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitBlock(System.Linq.Expressions.BlockExpression):System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.42 % of base) : System.Net.Quic.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
           3 (0.40 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[double](System.Diagnostics.Metrics.Instrument,double,System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
           3 (0.40 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[System.Numerics.Vector`1[float]](System.Diagnostics.Metrics.Instrument,System.Numerics.Vector`1[float],System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
           3 (0.40 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[int](System.Enum+EnumInfo`1[int],int,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           3 (0.40 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[long](System.Enum+EnumInfo`1[long],long,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           3 (0.39 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[short](System.Enum+EnumInfo`1[short],short,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           3 (0.39 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           2 (0.39 % of base) : System.Collections.Specialized.dasm - System.Collections.Specialized.BitVector32+Section:ToString(System.Collections.Specialized.BitVector32+Section):System.String (FullOpts)
           3 (0.39 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilName:ToString():System.String:this (FullOpts)
           4 (0.38 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.DebugInfo:ToString():System.String:this (FullOpts)
           2 (0.37 % of base) : System.Net.Http.dasm - System.Net.Http.HttpTelemetry:RequestStart(System.String,System.String,int,System.String,ubyte,ubyte,int):this (FullOpts)
           9 (0.36 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeTypedArgument:ToString(ubyte):System.String:this (FullOpts)
           2 (0.36 % of base) : System.Runtime.Numerics.dasm - System.Numerics.Complex:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
           3 (0.35 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[double](System.Enum+EnumInfo`1[double],double,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           4 (0.35 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ReadGoAwayFrame(System.Net.Http.Http2Connection+FrameHeader):System.ValueTuple`2[int,int]:this (FullOpts)
          18 (0.35 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this (FullOpts)
           2 (0.34 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlWriterDelegator:WriteXmlnsAttribute(System.String):this (FullOpts)
           3 (0.34 % of base) : System.Net.Mail.dasm - System.Net.Mime.SmtpDateTime:ToString():System.String:this (FullOpts)
           2 (0.32 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:GetStringForArrayMember(System.String,System.String,System.Xml.Serialization.TypeDesc):System.String:this (FullOpts)
           2 (0.32 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceListener:WriteHeader(System.String,int,int):this (FullOpts)
           2 (0.31 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicSafeHandle:ToString():System.String:this (FullOpts)
           3 (0.30 % 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)
           2 (0.30 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketValidate:ValidateSubprotocol(System.String) (FullOpts)
           2 (0.30 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.WebSocketValidate:ValidateSubprotocol(System.String) (FullOpts)
           2 (0.30 % of base) : System.Net.HttpListener.dasm - System.Net.WebSockets.WebSocketValidate:ValidateSubprotocol(System.String) (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[double]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[int]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[long]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[short]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
           2 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[ubyte]:ToString():System.String:this (FullOpts)
           4 (0.30 % of base) : System.Data.Common.dasm - System.Data.Merger:MergeRows(System.Data.DataRow[]):this (FullOpts)
           2 (0.30 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:WriteBytes(System.ReadOnlySpan`1[ubyte],byref):this (FullOpts)
           4 (0.29 % of base) : System.Net.WebProxy.dasm - System.Net.WebProxy:IsMatchInBypassList(System.Uri):ubyte:this (FullOpts)

Top method improvements (percentages):
          -9 (-14.29 % of base) : System.Private.CoreLib.dasm - System.String:CopyTo(System.Span`1[ushort]):this (FullOpts)
         -13 (-13.68 % of base) : System.Text.Json.dasm - System.Text.Json.JsonCamelCaseNamingPolicy+<>c:<ConvertName>b__0_0(System.Span`1[ushort],System.String):this (FullOpts)
         -11 (-5.39 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemEncoding:<TryFind>g__WritePostEB|5_0(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
          -8 (-4.21 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeIdentifier+<>c:<MakeCamel>b__3_0(System.Span`1[ushort],System.String):this (FullOpts)
          -8 (-4.21 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeIdentifier+<>c:<MakePascal>b__2_0(System.Span`1[ushort],System.String):this (FullOpts)
         -25 (-3.00 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsPrincipal:DebuggerToString():System.String:this (FullOpts)
          -8 (-2.80 % of base) : System.Private.CoreLib.dasm - System.Enum:WriteMultipleFoundFlagsNames(System.String[],System.ReadOnlySpan`1[int],System.Span`1[ushort]) (FullOpts)
         -12 (-2.77 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.40 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.IncrementingEventCounter:ToString():System.String:this (FullOpts)
          -8 (-2.40 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.IncrementingPollingCounter:ToString():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[double]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[int]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[long]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[short]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.__Canon]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Numerics.Vector`1[float]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[ubyte]:get_DebuggerDisplay():System.String:this (FullOpts)
          -4 (-2.14 % of base) : System.Web.HttpUtility.dasm - System.Web.Util.Utf16StringValidator+<>c:<ValidateString>b__1_0(System.Span`1[ushort],System.ValueTuple`2[System.String,int]):this (FullOpts)
          -8 (-2.13 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializerOptions:get_DebuggerDisplay():System.String:this (FullOpts)
         -10 (-2.12 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-2.10 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.PollingCounter:ToString():System.String:this (FullOpts)
          -7 (-2.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[double]:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-2.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[int]:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-2.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[long]:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-2.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[short]:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-2.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.__Canon]:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-2.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Nullable`1[int]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-2.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Numerics.Vector`1[float]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-2.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[ubyte]:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-2.02 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:GetPrintableString(ubyte):System.String (FullOpts)
          -7 (-1.97 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemaExporter:ExportAnonymousPrimitiveMapping(System.Xml.Serialization.PrimitiveMapping):System.Xml.Schema.XmlSchemaSimpleType:this (FullOpts)
          -8 (-1.94 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionBase:<LogExceptions>g__LogFaulted|29_1(System.Net.Http.HttpConnectionBase,System.Threading.Tasks.Task) (FullOpts)
          -5 (-1.92 % of base) : System.Private.CoreLib.dasm - System.Reflection.MetadataToken:ToString():System.String:this (FullOpts)
          -5 (-1.92 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:Path(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String (FullOpts)
          -6 (-1.85 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataAggregator+RowCounts:ToString():System.String:this (FullOpts)
          -6 (-1.85 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Compiler:CreatePhantomNamespace():System.String:this (FullOpts)
          -8 (-1.85 % of base) : System.Private.CoreLib.dasm - System.Globalization.SortKey:ToString():System.String:this (FullOpts)
          -6 (-1.82 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:DebuggerToString():System.String:this (FullOpts)
          -6 (-1.82 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationRoot:DebuggerToString():System.String:this (FullOpts)
          -6 (-1.81 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.SqlBinary:ToString():System.String:this (FullOpts)
          -7 (-1.81 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStackFrame:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-1.81 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStackFrame:get_DebuggerDisplay():System.String:this (FullOpts)
          -6 (-1.78 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo:get_DebuggerDisplay():System.String:this (FullOpts)
         -12 (-1.78 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider+CharDescriptor:ToString():System.String:this (FullOpts)
         -16 (-1.75 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
          -6 (-1.74 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:get_DebuggerDisplay():System.String:this (FullOpts)
          -9 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventCounter:ToString():System.String:this (FullOpts)
          -4 (-1.73 % of base) : System.Private.Xml.dasm - System.Xml.XmlEntityReference+<>c:<ConstructBaseURI>b__27_0(System.Span`1[ushort],System.ValueTuple`2[System.String,System.String]):this (FullOpts)
          -9 (-1.70 % of base) : System.Net.Http.dasm - System.Net.Http.HttpRuleParser:IsValidHostName(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -6 (-1.67 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.Design.CommandID:ToString():System.String:this (FullOpts)
         -10 (-1.62 % of base) : System.Private.CoreLib.dasm - System.Numerics.Quaternion:ToString():System.String:this (FullOpts)
          -5 (-1.61 % of base) : System.Net.Http.dasm - System.Net.Http.HttpRequestOptions:DebuggerToString():System.String:this (FullOpts)
         -11 (-1.61 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.__Canon]:ToString():System.String:this (FullOpts)
         -11 (-1.61 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpan`1[System.__Canon]:ToString():System.String:this (FullOpts)
          -7 (-1.52 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSectionDebugView:ToString():System.String:this (FullOpts)
          -8 (-1.49 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):ubyte:this (FullOpts)
          -4 (-1.49 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParserHelpers:ThrowArgumentException_InvalidTypeName(int) (FullOpts)
          -4 (-1.49 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.TypeNameParserHelpers:ThrowArgumentException_InvalidTypeName(int) (FullOpts)
          -8 (-1.44 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):ubyte:this (FullOpts)
         -12 (-1.44 % of base) : System.Private.CoreLib.dasm - System.Reflection.ExceptionHandlingClause:ToString():System.String:this (FullOpts)
         -11 (-1.43 % of base) : Microsoft.Extensions.Configuration.FileExtensions.dasm - Microsoft.Extensions.Configuration.FileConfigurationProvider:ToString():System.String:this (FullOpts)
         -13 (-1.43 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
          -7 (-1.37 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStack:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-1.36 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFactory:DebuggerToString():System.String:this (FullOpts)
          -7 (-1.36 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStack:get_DebuggerDisplay():System.String:this (FullOpts)
          -9 (-1.36 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFilterOptions:DebuggerToString():System.String:this (FullOpts)
         -13 (-1.35 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          -6 (-1.35 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.SyndicationFeedFormatter:ToString():System.String:this (FullOpts)
          -6 (-1.35 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.SyndicationItemFormatter:ToString():System.String:this (FullOpts)
         -18 (-1.32 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GetArraySource(System.Xml.Serialization.TypeDesc,System.String,ubyte):System.String (FullOpts)
          -8 (-1.32 % of base) : System.Net.Http.dasm - System.Net.CredentialCacheKey:ToString():System.String:this (FullOpts)
          -8 (-1.25 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+FrameHeader:ToString():System.String:this (FullOpts)
          -8 (-1.25 % of base) : System.Private.CoreLib.dasm - System.OperatingSystem:get_VersionString():System.String:this (FullOpts)
          -8 (-1.24 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.SequencePoint:GetDebuggerDisplay():System.String:this (FullOpts)
         -10 (-1.23 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSection:DebuggerToString():System.String:this (FullOpts)
          -5 (-1.22 % of base) : System.Data.Common.dasm - System.Data.ExceptionBuilder:ProblematicChars(ushort):System.Exception (FullOpts)
          -6 (-1.22 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Point:ToString():System.String:this (FullOpts)
          -7 (-1.22 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket:OnAbortedCore():this (FullOpts)
          -5 (-1.21 % of base) : System.Private.CoreLib.dasm - System.Numerics.Plane:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.Memory`1[double]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.Memory`1[int]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.Memory`1[long]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.Memory`1[short]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.Memory`1[ubyte]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[double]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[int]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[long]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[short]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[ubyte]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[double]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[int]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[long]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[short]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
          -5 (-1.20 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)

820 total methods with Code Size differences (639 improved, 181 regressed), 231720 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 7, 2024

Top method regressions

23 (3.22 % of base) - System.Enum:FormatFlagNames[double](System.Enum+EnumInfo`1[double],double):System.String
 ; Assembly listing for method System.Enum:FormatFlagNames[double](System.Enum+EnumInfo`1[double],double):System.String (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 24 single block inlinees; 11 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T21] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Enum+EnumInfo`1[double]>
 ;  V01 arg1         [V01,T51] (  6,  8   )  double  ->  mm0         single-def
 ;  V02 loc0         [V02,T08] ( 11, 16   )     ref  ->  rbx         class-hnd exact single-def <System.String[]>
 ;  V03 loc1         [V03,T16] (  7, 11   )     ref  ->  r15         class-hnd single-def <double[]>
 ;  V04 loc2         [V04,T25] (  6,  4.50)     ref  ->  r13         class-hnd <System.String>
 ;  V05 loc3         [V05,T31] (  6,  3   )     int  ->  rdi         ld-addr-op
 ;* V06 loc4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V07 loc5         [V07,T23] (  4,  5   )     int  ->  rax         ld-addr-op
 ;  V08 loc6         [V08,T17] (  8, 10   )     int  ->  [rbp-0x2C]  ld-addr-op
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V10 tmp1         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V11 tmp2         [V11    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[int]>
 ;* V12 tmp3         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V13 tmp4         [V13,T32] (  5,  3   )     ref  ->  r13         class-hnd "Inline return value spill temp" <System.String>
 ;  V14 tmp5         [V14,T30] (  7,  3.25)     int  ->  rdi         "Inline stloc first use temp"
 ;* V15 tmp6         [V15    ] (  0,  0   )  double  ->  zero-ref    "impAppendStmt"
 ;* V16 tmp7         [V16    ] (  0,  0   )  double  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp8         [V17    ] (  0,  0   )  double  ->  zero-ref    "Inlining Arg"
 ;  V18 tmp9         [V18,T35] (  2,  2   )    long  ->  r12         "Inlining Arg"
 ;  V19 tmp10        [V19,T36] (  2,  2   )     int  ->  rdi         "Inlining Arg"
 ;  V20 tmp11        [V20,T49] (  6, 22   )  double  ->  mm0         "Inlining Arg"
 ;  V21 tmp12        [V21,T50] (  5, 16   )  double  ->  mm1         "Inline stloc first use temp"
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    "Span.get_Item index"
 ;* V24 tmp15        [V24    ] (  0,  0   )  double  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp16        [V25    ] (  0,  0   )  double  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp17        [V26    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V27 tmp18        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V28 tmp19        [V28    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp20        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V30 tmp21        [V30    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V31 tmp22        [V31    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp23        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V33 tmp24        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[int]>
 ;* V34 tmp25        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V35 tmp26        [V35    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V36 tmp27        [V36,T34] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
 ;  V37 tmp28        [V37,T37] (  2,  2   )     int  ->  r14         "Inlining Arg"
 ;* V38 tmp29        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[int]>
 ;  V39 tmp30        [V39,T42] (  2,  1   )     int  ->  rdx         "Inline stloc first use temp"
 ;  V40 tmp31        [V40,T14] (  3, 12   )     ref  ->  rsi         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V41 tmp32        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V42 tmp33        [V42    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[ushort]>
 ;* V43 tmp34        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V44 tmp35        [V44    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V45 tmp36        [V45    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V46 tmp37        [V46    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V47 tmp38        [V47,T03] (  3, 24   )     int  ->   r8         "Inlining Arg"
+;  V47 tmp38        [V47,T03] (  3, 24   )     int  ->  rdx         "Inlining Arg"
 ;* V48 tmp39        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V49 tmp40        [V49,T10] (  2, 16   )   byref  ->  r15         "Inlining Arg"
 ;  V50 tmp41        [V50,T04] (  2, 16   )     int  ->  r14         "Inlining Arg"
 ;* V51 tmp42        [V51    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V52 tmp43        [V52,T11] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V52 tmp43        [V52,T11] (  2, 16   )   byref  ->  rdx         "Inlining Arg"
 ;  V53 tmp44        [V53,T12] (  2, 16   )     int  ->  r14         "Inlining Arg"
-;  V54 tmp45        [V54,T26] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;* V55 tmp46        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V54 tmp45        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;  V55 tmp46        [V55,T26] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V56 tmp47        [V56    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V57 tmp48        [V57    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V58 tmp49        [V58    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V59 tmp50        [V59,T29] (  3,  3   )   byref  ->  r12         "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V60 tmp51        [V60,T45] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;  V61 tmp52        [V61,T38] (  2,  1   )   byref  ->  r12         single-def "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V62 tmp53        [V62,T46] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V63 tmp54        [V63    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V64 tmp55        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;  V65 tmp56        [V65,T39] (  2,  1   )   byref  ->  r15         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
 ;  V66 tmp57        [V66,T43] (  2,  1   )     int  ->  r14         "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V67 tmp58        [V67,T44] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V68 tmp59        [V68,T47] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;  V69 tmp60        [V69,T40] (  2,  1   )   byref  ->  r12         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V70 tmp61        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V71 tmp62        [V71    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V72 tmp63        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
 ;  V73 tmp64        [V73,T41] (  2,  1   )   byref  ->  r12         single-def "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V74 tmp65        [V74,T48] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
 ;  V75 tmp66        [V75,T24] (  3,  5   )   byref  ->  r12         single-def "field V38._reference (fldOffset=0x0)" P-INDEP
 ;  V76 tmp67        [V76,T22] (  4,  5.50)     int  ->  [rbp-0x30]  spill-single-def "field V38._length (fldOffset=0x8)" P-INDEP
 ;  V77 tmp68        [V77,T00] (  9, 29   )   byref  ->  r15         "field V41._reference (fldOffset=0x0)" P-INDEP
 ;  V78 tmp69        [V78,T01] (  9, 29   )     int  ->  r14         "field V41._length (fldOffset=0x8)" P-INDEP
 ;* V79 tmp70        [V79    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
 ;* V80 tmp71        [V80    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V81 tmp72        [V81    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V82 tmp73        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;  V83 tmp74        [V83,T18] (  2,  8   )   byref  ->  r15         "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V84 tmp75        [V84,T28] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
-;  V85 tmp76        [V85,T19] (  2,  8   )   byref  ->  rax         "field V51._reference (fldOffset=0x0)" P-INDEP
+;  V85 tmp76        [V85,T19] (  2,  8   )   byref  ->  rdx         "field V51._reference (fldOffset=0x0)" P-INDEP
 ;  V86 tmp77        [V86,T20] (  2,  8   )     int  ->  r14         "field V51._length (fldOffset=0x8)" P-INDEP
-;* V87 tmp78        [V87    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V55._reference (fldOffset=0x0)" P-INDEP
-;* V88 tmp79        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
+;* V87 tmp78        [V87    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V88 tmp79        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;  V89 tmp80        [V89,T05] (  3, 24   )     int  ->  rdx         "index expr"
-;  V90 tmp81        [V90,T33] (  3,  3   )     int  ->  rax         "index expr"
+;  V90 tmp81        [V90,T33] (  3,  3   )     int  ->  rdx         "index expr"
 ;  V91 GsCookie     [V91    ] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
 ;  V92 cse0         [V92,T15] (  3, 12   )    long  ->  [rbp-0x38]  spill-single-def "CSE #12: moderate"
 ;  V93 cse1         [V93,T13] (  8, 14.50)     int  ->  r14         multi-def "CSE #01: moderate"
 ;  V94 cse2         [V94,T09] (  4, 16   )     int  ->  [rbp-0x3C]  spill-single-def "CSE #10: moderate"
 ;  V95 cse3         [V95,T27] (  2,  4   )    long  ->  rdi         "CSE #07: moderate"
 ;  V96 rat0         [V96,T06] (  9, 21.75)    long  ->  rax         "Widened IV V14"
 ;  V97 rat1         [V97,T02] (  9, 26.50)    long  ->  rdx         "Widened IV V19"
 ;  V98 rat2         [V98,T07] (  7, 21   )    long  ->  [rbp-0x48]  "Widened IV V39"
 ;
 ; Lcl frame size = 40
 
 G_M41568_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 40
        lea      rbp, [rsp+0x50]
        mov      qword ptr [rbp-0x50], 0xD1FFAB1E
 						;; size=27 bbWeight=1 PerfScore 7.75
 G_M41568_IG02:
        mov      rbx, gword ptr [rdi+0x10]
        mov      r15, gword ptr [rdi+0x08]
        vxorps   xmm1, xmm1, xmm1
        vucomisd xmm0, xmm1
        jp       SHORT G_M41568_IG03
        je       SHORT G_M41568_IG09
 						;; size=20 bbWeight=1 PerfScore 8.33
 G_M41568_IG03:
        mov      r14d, dword ptr [r15+0x08]
        lea      edi, [r14-0x01]
        mov      eax, edi
        cmp      r14d, eax
        jbe      SHORT G_M41568_IG07
        align    [2 bytes for IG04]
 						;; size=17 bbWeight=0.50 PerfScore 2.12
 G_M41568_IG04:
        cmp      eax, r14d
-       jae      G_M41568_IG28
+       jae      G_M41568_IG29
        vucomisd xmm0, qword ptr [r15+8*rax+0x10]
        jae      SHORT G_M41568_IG06
        dec      eax
        cmp      r14d, eax
        ja       SHORT G_M41568_IG04
 						;; size=25 bbWeight=4 PerfScore 35.00
 G_M41568_IG05:
        mov      edi, eax
        jmp      SHORT G_M41568_IG07
        align    [3 bytes for IG13]
 						;; size=7 bbWeight=0.25 PerfScore 0.56
 G_M41568_IG06:
        mov      edi, eax
        mov      eax, edi
        vmovsd   xmm1, qword ptr [r15+8*rax+0x10]
        vucomisd xmm1, xmm0
        jp       SHORT G_M41568_IG07
        je       SHORT G_M41568_IG08
 						;; size=19 bbWeight=0.50 PerfScore 4.25
 G_M41568_IG07:
        xor      r13, r13
        jmp      SHORT G_M41568_IG11
 						;; size=5 bbWeight=0.50 PerfScore 1.12
 G_M41568_IG08:
        cmp      edi, dword ptr [rbx+0x08]
-       jae      G_M41568_IG28
+       jae      G_M41568_IG29
        mov      eax, edi
        mov      r13, gword ptr [rbx+8*rax+0x10]
        jmp      SHORT G_M41568_IG11
 						;; size=18 bbWeight=0.50 PerfScore 4.12
 G_M41568_IG09:
        xor      edi, edi
        mov      r14d, dword ptr [r15+0x08]
        test     r14d, r14d
        je       SHORT G_M41568_IG10
        vmovsd   xmm1, qword ptr [r15+0x10]
        vxorps   xmm2, xmm2, xmm2
        vucomisd xmm1, xmm2
        jp       SHORT G_M41568_IG10
        jne      SHORT G_M41568_IG10
        cmp      dword ptr [rbx+0x08], 0
-       jbe      G_M41568_IG28
+       jbe      G_M41568_IG29
        mov      r13, gword ptr [rbx+0x10]
        jmp      SHORT G_M41568_IG11
 						;; size=45 bbWeight=0.50 PerfScore 9.92
 G_M41568_IG10:
        mov      r13, 0xD1FFAB1E      ; '0'
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M41568_IG11:
        test     r13, r13
-       jne      G_M41568_IG20
+       jne      G_M41568_IG23
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M41568_IG12:
        test     dword ptr [rsp], esp
        sub      rsp, 256
        lea      r12, [rsp]
        xor      eax, eax
        xor      ecx, ecx
        mov      edx, edi
        jmp      SHORT G_M41568_IG14
 						;; size=22 bbWeight=0.50 PerfScore 3.25
 G_M41568_IG13:
        dec      edx
 						;; size=2 bbWeight=4 PerfScore 1.00
 G_M41568_IG14:
        cmp      r14d, edx
        jbe      G_M41568_IG18
        vmovsd   xmm1, qword ptr [r15+8*rdx+0x10]
        test     edx, edx
        jne      SHORT G_M41568_IG16
 						;; size=20 bbWeight=4 PerfScore 26.00
 G_M41568_IG15:
        vxorps   xmm2, xmm2, xmm2
        vucomisd xmm1, xmm2
        jp       SHORT G_M41568_IG16
        je       SHORT G_M41568_IG18
 						;; size=12 bbWeight=2 PerfScore 8.67
 G_M41568_IG16:
        vmovd    rdi, xmm0
        vmovd    rsi, xmm1
        and      rdi, rsi
        vmovd    xmm2, rdi
        vucomisd xmm2, xmm1
        jp       SHORT G_M41568_IG13
        jne      SHORT G_M41568_IG13
 						;; size=26 bbWeight=4 PerfScore 41.00
 G_M41568_IG17:
        vmovd    rdi, xmm1
        not      rdi
        vmovd    rsi, xmm0
        and      rdi, rsi
        vmovd    xmm0, rdi
        cmp      ecx, 64
-       jae      G_M41568_IG28
+       jae      G_M41568_IG29
        mov      edi, ecx
        mov      dword ptr [r12+4*rdi], edx
        inc      ecx
        cmp      edx, dword ptr [rbx+0x08]
-       jae      G_M41568_IG28
+       jae      G_M41568_IG29
        mov      rdi, gword ptr [rbx+8*rdx+0x10]
        add      eax, dword ptr [rdi+0x08]
-       jo       G_M41568_IG29
+       jo       G_M41568_IG30
        vxorps   xmm1, xmm1, xmm1
        vucomisd xmm0, xmm1
        jp       G_M41568_IG13
        jne      G_M41568_IG13
 						;; size=81 bbWeight=2 PerfScore 47.17
 G_M41568_IG18:
        vxorps   xmm1, xmm1, xmm1
        vucomisd xmm0, xmm1
-       jp       SHORT G_M41568_IG20
-       jne      SHORT G_M41568_IG20
+       jp       G_M41568_IG23
+       jne      G_M41568_IG23
        cmp      ecx, 64
-       ja       G_M41568_IG27
+       ja       G_M41568_IG28
        mov      dword ptr [rbp-0x2C], ecx
        lea      edi, [rcx+rcx]
        add      edi, -2
        add      edi, eax
-       jo       G_M41568_IG29
+       jo       G_M41568_IG30
        call     System.String:FastAllocateString(int):System.String
        mov      r13, rax
        lea      r15, bword ptr [r13+0x0C]
        mov      r14d, dword ptr [r13+0x08]
        mov      eax, dword ptr [rbp-0x2C]
        mov      dword ptr [rbp-0x30], eax
        lea      edx, [rax-0x01]
        mov      ecx, edx
        test     ecx, ecx
-       jne      SHORT G_M41568_IG25
-						;; size=69 bbWeight=0.50 PerfScore 8.17
+       jne      SHORT G_M41568_IG21
+						;; size=77 bbWeight=0.50 PerfScore 8.17
 G_M41568_IG19:
        cmp      dword ptr [rbp-0x30], 0
-       jbe      G_M41568_IG28
-       mov      eax, dword ptr [r12]
-       cmp      eax, dword ptr [rbx+0x08]
-       jae      G_M41568_IG28
-       mov      rsi, gword ptr [rbx+8*rax+0x10]
+       jbe      G_M41568_IG29
+       mov      edx, dword ptr [r12]
+       cmp      edx, dword ptr [rbx+0x08]
+       jae      G_M41568_IG29
+       mov      rsi, gword ptr [rbx+8*rdx+0x10]
        cmp      dword ptr [rsi+0x08], r14d
-       jg       G_M41568_IG26
+       jle      G_M41568_IG22
+       jmp      G_M41568_IG27
+						;; size=43 bbWeight=0.50 PerfScore 8.50
+G_M41568_IG20:
+       mov      eax, dword ptr [rbp-0x30]
+						;; size=3 bbWeight=2 PerfScore 2.00
+G_M41568_IG21:
+       cmp      ecx, eax
+       jae      G_M41568_IG29
+       mov      qword ptr [rbp-0x48], rcx
+       mov      edx, dword ptr [r12+4*rcx]
+       cmp      edx, dword ptr [rbx+0x08]
+       jae      G_M41568_IG29
+       mov      rsi, gword ptr [rbx+8*rdx+0x10]
+       mov      r8d, dword ptr [rsi+0x08]
+       mov      dword ptr [rbp-0x3C], r8d
+       cmp      r8d, r14d
+       jg       G_M41568_IG27
+       mov      r9d, r8d
+       add      r9, r9
+       mov      qword ptr [rbp-0x38], r9
+       mov      rdx, r9
+       add      rsi, 12
+       mov      rdi, r15
+       mov      r10, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
+       call     [r10]System.SpanHelpers:Memmove(byref,byref,ulong)
+       mov      edx, dword ptr [rbp-0x3C]
+       cmp      edx, r14d
+       ja       G_M41568_IG28
+       mov      rsi, qword ptr [rbp-0x38]
+       add      r15, rsi
+       sub      r14d, edx
+       cmp      r14d, 2
+       jb       SHORT G_M41568_IG28
+       lea      rdx, bword ptr [r15+0x04]
+       add      r14d, -2
+       mov      word  ptr [r15], 44
+       mov      word  ptr [r15+0x02], 32
+       mov      r15, rdx
+       mov      rdx, qword ptr [rbp-0x48]
+       dec      edx
+       mov      rcx, rdx
+       jne      G_M41568_IG20
+       jmp      G_M41568_IG19
+						;; size=152 bbWeight=4 PerfScore 130.00
+G_M41568_IG22:
        mov      edx, dword ptr [rsi+0x08]
        add      rdx, rdx
        add      rsi, 12
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
-						;; size=63 bbWeight=0.50 PerfScore 10.50
-G_M41568_IG20:
+						;; size=25 bbWeight=0.50 PerfScore 3.00
+G_M41568_IG23:
        mov      rax, r13
 						;; size=3 bbWeight=1 PerfScore 0.25
-G_M41568_IG21:
+G_M41568_IG24:
        cmp      qword ptr [rbp-0x50], 0xD1FFAB1E
-       je       SHORT G_M41568_IG22
+       je       SHORT G_M41568_IG25
        call     CORINFO_HELP_FAIL_FAST
 						;; size=15 bbWeight=1 PerfScore 4.00
-G_M41568_IG22:
+G_M41568_IG25:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M41568_IG23:
+G_M41568_IG26:
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.50
-G_M41568_IG24:
-       mov      eax, dword ptr [rbp-0x30]
-						;; size=3 bbWeight=2 PerfScore 2.00
-G_M41568_IG25:
-       cmp      ecx, eax
-       jae      G_M41568_IG28
-       mov      qword ptr [rbp-0x48], rcx
-       mov      edx, dword ptr [r12+4*rcx]
-       cmp      edx, dword ptr [rbx+0x08]
-       jae      G_M41568_IG28
-       mov      rsi, gword ptr [rbx+8*rdx+0x10]
-       mov      r8d, dword ptr [rsi+0x08]
-       mov      dword ptr [rbp-0x3C], r8d
-       cmp      r8d, r14d
-       jg       SHORT G_M41568_IG26
-       mov      r9d, r8d
-       add      r9, r9
-       mov      qword ptr [rbp-0x38], r9
-       mov      rdx, r9
-       add      rsi, 12
-       mov      rdi, r15
-       mov      r10, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
-       call     [r10]System.SpanHelpers:Memmove(byref,byref,ulong)
-       mov      r8d, dword ptr [rbp-0x3C]
-       cmp      r8d, r14d
-       ja       SHORT G_M41568_IG27
-       mov      r9, qword ptr [rbp-0x38]
-       add      r15, r9
-       sub      r14d, r8d
-       cmp      r14d, 2
-       jb       SHORT G_M41568_IG27
-       lea      rax, bword ptr [r15+0x04]
-       add      r14d, -2
-       mov      word  ptr [r15], 44
-       mov      word  ptr [r15+0x02], 32
-       mov      r15, rax
-       mov      rcx, qword ptr [rbp-0x48]
-       dec      ecx
-       jne      G_M41568_IG24
-       jmp      G_M41568_IG19
-						;; size=142 bbWeight=4 PerfScore 129.00
-G_M41568_IG26:
+G_M41568_IG27:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M41568_IG27:
+G_M41568_IG28:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M41568_IG28:
+G_M41568_IG29:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M41568_IG29:
+G_M41568_IG30:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 714, prolog size 27, PerfScore 360.31, instruction count 198, allocated bytes for code 714 (MethodHash=7b8d5d9f) for method System.Enum:FormatFlagNames[double](System.Enum+EnumInfo`1[double],double):System.String (FullOpts)
+; Total bytes of code 737, prolog size 27, PerfScore 362.31, instruction count 200, allocated bytes for code 737 (MethodHash=7b8d5d9f) for method System.Enum:FormatFlagNames[double](System.Enum+EnumInfo`1[double],double):System.String (FullOpts)
 ; ============================================================
19 (3.01 % of base) - System.Enum:FormatFlagNames[long](System.Enum+EnumInfo`1[long],long):System.String
 ; Assembly listing for method System.Enum:FormatFlagNames[long](System.Enum+EnumInfo`1[long],long):System.String (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 24 single block inlinees; 11 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T24] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Enum+EnumInfo`1[long]>
 ;  V01 arg1         [V01,T20] (  6,  8   )    long  ->  rsi         single-def
 ;  V02 loc0         [V02,T09] ( 11, 16   )     ref  ->  rbx         class-hnd exact single-def <System.String[]>
 ;  V03 loc1         [V03,T18] (  7, 11   )     ref  ->  r15         class-hnd single-def <long[]>
 ;  V04 loc2         [V04,T28] (  6,  4.50)     ref  ->  r13         class-hnd <System.String>
 ;  V05 loc3         [V05,T33] (  6,  3   )     int  ->  rdi         ld-addr-op
 ;* V06 loc4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V07 loc5         [V07,T26] (  4,  5   )     int  ->  rax         ld-addr-op
 ;  V08 loc6         [V08,T19] (  8, 10   )     int  ->  [rbp-0x2C]  ld-addr-op
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V10 tmp1         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V11 tmp2         [V11    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[int]>
 ;* V12 tmp3         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V13 tmp4         [V13,T34] (  5,  3   )     ref  ->  r13         class-hnd "Inline return value spill temp" <System.String>
 ;  V14 tmp5         [V14,T32] (  7,  3.25)     int  ->  rdi         "Inline stloc first use temp"
 ;* V15 tmp6         [V15    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
 ;* V16 tmp7         [V16    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp8         [V17    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V18 tmp9         [V18,T37] (  2,  2   )    long  ->  r12         "Inlining Arg"
 ;  V19 tmp10        [V19,T38] (  2,  2   )     int  ->  rdi         "Inlining Arg"
 ;  V20 tmp11        [V20,T06] (  6, 22   )    long  ->  rsi         "Inlining Arg"
 ;  V21 tmp12        [V21,T10] (  5, 16   )    long  ->  rdi         "Inline stloc first use temp"
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    "Span.get_Item index"
 ;* V24 tmp15        [V24    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp16        [V25    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp17        [V26    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V27 tmp18        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V28 tmp19        [V28    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp20        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V30 tmp21        [V30    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V31 tmp22        [V31    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp23        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V33 tmp24        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[int]>
 ;* V34 tmp25        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V35 tmp26        [V35    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V36 tmp27        [V36,T36] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
 ;  V37 tmp28        [V37,T39] (  2,  2   )     int  ->  r14         "Inlining Arg"
 ;* V38 tmp29        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[int]>
 ;  V39 tmp30        [V39,T44] (  2,  1   )     int  ->  rdx         "Inline stloc first use temp"
 ;  V40 tmp31        [V40,T16] (  3, 12   )     ref  ->  rsi         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V41 tmp32        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V42 tmp33        [V42    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Span`1[ushort]>
 ;* V43 tmp34        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V44 tmp35        [V44    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V45 tmp36        [V45    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V46 tmp37        [V46    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V47 tmp38        [V47,T03] (  3, 24   )     int  ->   r8         "Inlining Arg"
+;  V47 tmp38        [V47,T03] (  3, 24   )     int  ->  rdx         "Inlining Arg"
 ;* V48 tmp39        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V49 tmp40        [V49,T12] (  2, 16   )   byref  ->  r15         "Inlining Arg"
 ;  V50 tmp41        [V50,T04] (  2, 16   )     int  ->  r14         "Inlining Arg"
 ;* V51 tmp42        [V51    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V52 tmp43        [V52,T13] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V52 tmp43        [V52,T13] (  2, 16   )   byref  ->  rdx         "Inlining Arg"
 ;  V53 tmp44        [V53,T14] (  2, 16   )     int  ->  r14         "Inlining Arg"
-;  V54 tmp45        [V54,T29] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;* V55 tmp46        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V54 tmp45        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;  V55 tmp46        [V55,T29] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V56 tmp47        [V56    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V57 tmp48        [V57    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V58 tmp49        [V58    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V59 tmp50        [V59,T31] (  3,  3   )   byref  ->  r12         "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V60 tmp51        [V60,T47] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;  V61 tmp52        [V61,T40] (  2,  1   )   byref  ->  r12         single-def "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V62 tmp53        [V62,T48] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V63 tmp54        [V63    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V64 tmp55        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;  V65 tmp56        [V65,T41] (  2,  1   )   byref  ->  r15         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
 ;  V66 tmp57        [V66,T45] (  2,  1   )     int  ->  r14         "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V67 tmp58        [V67,T46] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V68 tmp59        [V68,T49] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;  V69 tmp60        [V69,T42] (  2,  1   )   byref  ->  r12         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V70 tmp61        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V71 tmp62        [V71    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V72 tmp63        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
 ;  V73 tmp64        [V73,T43] (  2,  1   )   byref  ->  r12         single-def "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V74 tmp65        [V74,T50] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
 ;  V75 tmp66        [V75,T27] (  3,  5   )   byref  ->  r12         single-def "field V38._reference (fldOffset=0x0)" P-INDEP
 ;  V76 tmp67        [V76,T25] (  4,  5.50)     int  ->  [rbp-0x30]  spill-single-def "field V38._length (fldOffset=0x8)" P-INDEP
 ;  V77 tmp68        [V77,T00] (  9, 29   )   byref  ->  r15         "field V41._reference (fldOffset=0x0)" P-INDEP
 ;  V78 tmp69        [V78,T01] (  9, 29   )     int  ->  r14         "field V41._length (fldOffset=0x8)" P-INDEP
 ;* V79 tmp70        [V79    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
 ;* V80 tmp71        [V80    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V81 tmp72        [V81    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V82 tmp73        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;  V83 tmp74        [V83,T21] (  2,  8   )   byref  ->  r15         "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V84 tmp75        [V84,T30] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
-;  V85 tmp76        [V85,T22] (  2,  8   )   byref  ->  rax         "field V51._reference (fldOffset=0x0)" P-INDEP
+;  V85 tmp76        [V85,T22] (  2,  8   )   byref  ->  rdx         "field V51._reference (fldOffset=0x0)" P-INDEP
 ;  V86 tmp77        [V86,T23] (  2,  8   )     int  ->  r14         "field V51._length (fldOffset=0x8)" P-INDEP
-;* V87 tmp78        [V87    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V55._reference (fldOffset=0x0)" P-INDEP
-;* V88 tmp79        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
+;* V87 tmp78        [V87    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V88 tmp79        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;  V89 tmp80        [V89,T05] (  3, 24   )     int  ->  rdx         "index expr"
-;  V90 tmp81        [V90,T35] (  3,  3   )     int  ->  rax         "index expr"
+;  V90 tmp81        [V90,T35] (  3,  3   )     int  ->  rdx         "index expr"
 ;  V91 GsCookie     [V91    ] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
 ;  V92 cse0         [V92,T17] (  3, 12   )    long  ->  [rbp-0x38]  spill-single-def "CSE #09: moderate"
 ;  V93 cse1         [V93,T15] (  8, 14.50)     int  ->  r14         multi-def "CSE #01: moderate"
 ;  V94 cse2         [V94,T11] (  4, 16   )     int  ->  [rbp-0x3C]  spill-single-def "CSE #07: moderate"
 ;  V95 rat0         [V95,T07] (  9, 21.75)    long  ->  rax         "Widened IV V14"
 ;  V96 rat1         [V96,T02] (  9, 26.50)    long  ->  rdx         "Widened IV V19"
 ;  V97 rat2         [V97,T08] (  7, 21   )    long  ->  [rbp-0x48]  "Widened IV V39"
 ;
 ; Lcl frame size = 40
 
 G_M735_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 40
        lea      rbp, [rsp+0x50]
        mov      qword ptr [rbp-0x50], 0xD1FFAB1E
 						;; size=27 bbWeight=1 PerfScore 7.75
 G_M735_IG02:
        mov      rbx, gword ptr [rdi+0x10]
        mov      r15, gword ptr [rdi+0x08]
        test     rsi, rsi
        je       SHORT G_M735_IG09
 						;; size=13 bbWeight=1 PerfScore 5.25
 G_M735_IG03:
        mov      r14d, dword ptr [r15+0x08]
        lea      edi, [r14-0x01]
        mov      eax, edi
        cmp      r14d, eax
        jbe      SHORT G_M735_IG07
        align    [9 bytes for IG04]
 						;; size=24 bbWeight=0.50 PerfScore 2.12
 G_M735_IG04:
        cmp      eax, r14d
-       jae      G_M735_IG28
+       jae      G_M735_IG29
        cmp      qword ptr [r15+8*rax+0x10], rsi
        jle      SHORT G_M735_IG06
        dec      eax
        cmp      r14d, eax
        ja       SHORT G_M735_IG04
 						;; size=23 bbWeight=4 PerfScore 27.00
 G_M735_IG05:
        mov      edi, eax
        jmp      SHORT G_M735_IG07
        align    [8 bytes for IG13]
 						;; size=12 bbWeight=0.25 PerfScore 0.56
 G_M735_IG06:
        mov      edi, eax
        mov      eax, edi
        cmp      qword ptr [r15+8*rax+0x10], rsi
        je       SHORT G_M735_IG08
 						;; size=11 bbWeight=0.50 PerfScore 2.25
 G_M735_IG07:
        xor      r13, r13
        jmp      SHORT G_M735_IG11
 						;; size=5 bbWeight=0.50 PerfScore 1.12
 G_M735_IG08:
        cmp      edi, dword ptr [rbx+0x08]
-       jae      G_M735_IG28
+       jae      G_M735_IG29
        mov      eax, edi
        mov      r13, gword ptr [rbx+8*rax+0x10]
        jmp      SHORT G_M735_IG11
 						;; size=18 bbWeight=0.50 PerfScore 4.12
 G_M735_IG09:
        xor      edi, edi
        mov      r14d, dword ptr [r15+0x08]
        test     r14d, r14d
        je       SHORT G_M735_IG10
        cmp      qword ptr [r15+0x10], 0
        jne      SHORT G_M735_IG10
        cmp      dword ptr [rbx+0x08], 0
-       jbe      G_M735_IG28
+       jbe      G_M735_IG29
        mov      r13, gword ptr [rbx+0x10]
        jmp      SHORT G_M735_IG11
 						;; size=34 bbWeight=0.50 PerfScore 7.75
 G_M735_IG10:
        mov      r13, 0xD1FFAB1E      ; '0'
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M735_IG11:
        test     r13, r13
-       jne      G_M735_IG20
+       jne      G_M735_IG23
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M735_IG12:
        test     dword ptr [rsp], esp
        sub      rsp, 256
        lea      r12, [rsp]
        xor      eax, eax
        xor      ecx, ecx
        mov      edx, edi
        jmp      SHORT G_M735_IG14
 						;; size=22 bbWeight=0.50 PerfScore 3.25
 G_M735_IG13:
        dec      edx
 						;; size=2 bbWeight=4 PerfScore 1.00
 G_M735_IG14:
        cmp      r14d, edx
        jbe      SHORT G_M735_IG18
        mov      rdi, qword ptr [r15+8*rdx+0x10]
        test     edx, edx
        jne      SHORT G_M735_IG16
 						;; size=14 bbWeight=4 PerfScore 18.00
 G_M735_IG15:
        test     rdi, rdi
        je       SHORT G_M735_IG18
 						;; size=5 bbWeight=2 PerfScore 2.50
 G_M735_IG16:
        mov      r8, rsi
        and      r8, rdi
        cmp      r8, rdi
        jne      SHORT G_M735_IG13
 						;; size=11 bbWeight=4 PerfScore 7.00
 G_M735_IG17:
        andn     rsi, rdi, rsi
        cmp      ecx, 64
-       jae      G_M735_IG28
+       jae      G_M735_IG29
        mov      edi, ecx
        mov      dword ptr [r12+4*rdi], edx
        inc      ecx
        cmp      edx, dword ptr [rbx+0x08]
-       jae      G_M735_IG28
+       jae      G_M735_IG29
        mov      rdi, gword ptr [rbx+8*rdx+0x10]
        add      eax, dword ptr [rdi+0x08]
-       jo       G_M735_IG29
+       jo       G_M735_IG30
        test     rsi, rsi
        jne      SHORT G_M735_IG13
 						;; size=50 bbWeight=2 PerfScore 29.00
 G_M735_IG18:
        test     rsi, rsi
-       jne      SHORT G_M735_IG20
+       jne      G_M735_IG23
        cmp      ecx, 64
-       ja       G_M735_IG27
+       ja       G_M735_IG28
        mov      dword ptr [rbp-0x2C], ecx
        lea      edi, [rcx+rcx]
        add      edi, -2
        add      edi, eax
-       jo       G_M735_IG29
+       jo       G_M735_IG30
        call     System.String:FastAllocateString(int):System.String
        mov      r13, rax
        lea      r15, bword ptr [r13+0x0C]
        mov      r14d, dword ptr [r13+0x08]
        mov      eax, dword ptr [rbp-0x2C]
        mov      dword ptr [rbp-0x30], eax
        lea      edx, [rax-0x01]
        mov      ecx, edx
        test     ecx, ecx
-       jne      SHORT G_M735_IG25
-						;; size=62 bbWeight=0.50 PerfScore 6.62
+       jne      SHORT G_M735_IG21
+						;; size=66 bbWeight=0.50 PerfScore 6.62
 G_M735_IG19:
        cmp      dword ptr [rbp-0x30], 0
-       jbe      G_M735_IG28
-       mov      eax, dword ptr [r12]
-       cmp      eax, dword ptr [rbx+0x08]
-       jae      G_M735_IG28
-       mov      rsi, gword ptr [rbx+8*rax+0x10]
+       jbe      G_M735_IG29
+       mov      edx, dword ptr [r12]
+       cmp      edx, dword ptr [rbx+0x08]
+       jae      G_M735_IG29
+       mov      rsi, gword ptr [rbx+8*rdx+0x10]
        cmp      dword ptr [rsi+0x08], r14d
-       jg       G_M735_IG26
+       jle      G_M735_IG22
+       jmp      G_M735_IG27
+						;; size=43 bbWeight=0.50 PerfScore 8.50
+G_M735_IG20:
+       mov      eax, dword ptr [rbp-0x30]
+						;; size=3 bbWeight=2 PerfScore 2.00
+G_M735_IG21:
+       cmp      ecx, eax
+       jae      G_M735_IG29
+       mov      qword ptr [rbp-0x48], rcx
+       mov      edx, dword ptr [r12+4*rcx]
+       cmp      edx, dword ptr [rbx+0x08]
+       jae      G_M735_IG29
+       mov      rsi, gword ptr [rbx+8*rdx+0x10]
+       mov      r8d, dword ptr [rsi+0x08]
+       mov      dword ptr [rbp-0x3C], r8d
+       cmp      r8d, r14d
+       jg       G_M735_IG27
+       mov      r9d, r8d
+       add      r9, r9
+       mov      qword ptr [rbp-0x38], r9
+       mov      rdx, r9
+       add      rsi, 12
+       mov      rdi, r15
+       mov      r10, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
+       call     [r10]System.SpanHelpers:Memmove(byref,byref,ulong)
+       mov      edx, dword ptr [rbp-0x3C]
+       cmp      edx, r14d
+       ja       G_M735_IG28
+       mov      rsi, qword ptr [rbp-0x38]
+       add      r15, rsi
+       sub      r14d, edx
+       cmp      r14d, 2
+       jb       SHORT G_M735_IG28
+       lea      rdx, bword ptr [r15+0x04]
+       add      r14d, -2
+       mov      word  ptr [r15], 44
+       mov      word  ptr [r15+0x02], 32
+       mov      r15, rdx
+       mov      rdx, qword ptr [rbp-0x48]
+       dec      edx
+       mov      rcx, rdx
+       jne      G_M735_IG20
+       jmp      G_M735_IG19
+						;; size=152 bbWeight=4 PerfScore 130.00
+G_M735_IG22:
        mov      edx, dword ptr [rsi+0x08]
        add      rdx, rdx
        add      rsi, 12
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
-						;; size=63 bbWeight=0.50 PerfScore 10.50
-G_M735_IG20:
+						;; size=25 bbWeight=0.50 PerfScore 3.00
+G_M735_IG23:
        mov      rax, r13
 						;; size=3 bbWeight=1 PerfScore 0.25
-G_M735_IG21:
+G_M735_IG24:
        cmp      qword ptr [rbp-0x50], 0xD1FFAB1E
-       je       SHORT G_M735_IG22
+       je       SHORT G_M735_IG25
        call     CORINFO_HELP_FAIL_FAST
 						;; size=15 bbWeight=1 PerfScore 4.00
-G_M735_IG22:
+G_M735_IG25:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M735_IG23:
+G_M735_IG26:
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.50
-G_M735_IG24:
-       mov      eax, dword ptr [rbp-0x30]
-						;; size=3 bbWeight=2 PerfScore 2.00
-G_M735_IG25:
-       cmp      ecx, eax
-       jae      G_M735_IG28
-       mov      qword ptr [rbp-0x48], rcx
-       mov      edx, dword ptr [r12+4*rcx]
-       cmp      edx, dword ptr [rbx+0x08]
-       jae      G_M735_IG28
-       mov      rsi, gword ptr [rbx+8*rdx+0x10]
-       mov      r8d, dword ptr [rsi+0x08]
-       mov      dword ptr [rbp-0x3C], r8d
-       cmp      r8d, r14d
-       jg       SHORT G_M735_IG26
-       mov      r9d, r8d
-       add      r9, r9
-       mov      qword ptr [rbp-0x38], r9
-       mov      rdx, r9
-       add      rsi, 12
-       mov      rdi, r15
-       mov      r10, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
-       call     [r10]System.SpanHelpers:Memmove(byref,byref,ulong)
-       mov      r8d, dword ptr [rbp-0x3C]
-       cmp      r8d, r14d
-       ja       SHORT G_M735_IG27
-       mov      r9, qword ptr [rbp-0x38]
-       add      r15, r9
-       sub      r14d, r8d
-       cmp      r14d, 2
-       jb       SHORT G_M735_IG27
-       lea      rax, bword ptr [r15+0x04]
-       add      r14d, -2
-       mov      word  ptr [r15], 44
-       mov      word  ptr [r15+0x02], 32
-       mov      r15, rax
-       mov      rcx, qword ptr [rbp-0x48]
-       dec      ecx
-       jne      G_M735_IG24
-       jmp      G_M735_IG19
-						;; size=142 bbWeight=4 PerfScore 129.00
-G_M735_IG26:
+G_M735_IG27:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M735_IG27:
+G_M735_IG28:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M735_IG28:
+G_M735_IG29:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M735_IG29:
+G_M735_IG30:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 632, prolog size 27, PerfScore 277.19, instruction count 178, allocated bytes for code 632 (MethodHash=3492fd20) for method System.Enum:FormatFlagNames[long](System.Enum+EnumInfo`1[long],long):System.String (FullOpts)
+; Total bytes of code 651, prolog size 27, PerfScore 279.19, instruction count 180, allocated bytes for code 651 (MethodHash=3492fd20) for method System.Enum:FormatFlagNames[long](System.Enum+EnumInfo`1[long],long):System.String (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/69d3ed4316730595238de0f15df80e30

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 7, 2024

Top method improvements

-25 (-3.00 % of base) - System.Security.Claims.ClaimsPrincipal:DebuggerToString():System.String:this
 ; Assembly listing for method System.Security.Claims.ClaimsPrincipal:DebuggerToString():System.String:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 12 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T04] (  7,  5.50)     ref  ->  rbx         this class-hnd single-def <System.Security.Claims.ClaimsPrincipal>
 ;  V01 loc0         [V01,T01] (  5, 10.50)     int  ->  r15        
 ;  V02 loc1         [V02,T18] (  3,  1.50)     ref  ->  rax         class-hnd single-def <System.Security.Claims.ClaimsIdentity>
 ;  V03 loc2         [V03,T02] (  4,  9   )     int  ->  r14        
-;  V04 loc3         [V04,T00] (  6, 13   )     ref  ->  [rbp-0x50]  class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[System.Security.Claims.ClaimsIdentity]>
-;  V05 loc4         [V05,T03] (  6,  8.50)     ref  ->  [rbp-0x58]  class-hnd EH-live single-def <System.Collections.Generic.IEnumerator`1[System.Security.Claims.Claim]>
-;  V06 loc5         [V06    ] ( 25, 12.50)  struct (40) [rbp-0x48]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V04 loc3         [V04,T00] (  6, 13   )     ref  ->  [rbp-0x48]  class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[System.Security.Claims.ClaimsIdentity]>
+;  V05 loc4         [V05,T03] (  6,  8.50)     ref  ->  [rbp-0x50]  class-hnd EH-live single-def <System.Collections.Generic.IEnumerator`1[System.Security.Claims.Claim]>
+;  V06 loc5         [V06    ] ( 25, 12.50)  struct (40) [rbp-0x40]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
 ;  V09 tmp2         [V09,T05] (  5,  5   )     ref  ->  rax         class-hnd single-def "dup spill" <ushort[]>
 ;* V10 tmp3         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <ushort[]>
 ;* V11 tmp4         [V11    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V14 tmp7         [V14,T06] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V16 tmp9         [V16,T11] (  2,  2   )   byref  ->  r13         single-def "Inlining Arg"
+;  V16 tmp9         [V16,T11] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
 ;  V17 tmp10        [V17,T16] (  2,  2   )     int  ->  rsi         "Inlining Arg"
-;* V18 tmp11        [V18,T29] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V18 tmp11        [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V20 tmp13        [V20    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp14        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V23 tmp16        [V23,T07] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V24 tmp17        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V25 tmp18        [V25,T12] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
+;  V25 tmp18        [V25,T12] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
 ;  V26 tmp19        [V26,T17] (  2,  2   )     int  ->  rsi         "Inlining Arg"
-;* V27 tmp20        [V27,T30] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V27 tmp20        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V28 tmp21        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V29 tmp22        [V29    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V30 tmp23        [V30    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V32 tmp25        [V32,T13] (  2,  2   )     ref  ->  r15         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V33 tmp26        [V33    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V34 tmp27        [V34,T09] (  3,  3   )     int  ->  rsi         "Inlining Arg"
 ;* V35 tmp28        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V36 tmp29        [V36    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V37 tmp30        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V38 tmp31        [V38    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V39 tmp32        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V40 tmp33        [V40    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V41 tmp34        [V41,T19] (  3,  1.50)     ref  ->  rsi         class-hnd single-def "Inline stloc first use temp" <ushort[]>
 ;  V42 tmp35        [V42,T20] (  3,  1.50)   byref  ->  rdi         "field V12._reference (fldOffset=0x0)" P-INDEP
 ;  V43 tmp36        [V43,T22] (  3,  1.50)     int  ->  rsi         "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V44 tmp37        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V45 tmp38        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V48 tmp41        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V50 tmp43        [V50    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V51 tmp44        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V52 tmp45        [V52    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V53 tmp46        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
 ;* V54 tmp47        [V54    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V55 tmp48        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V59 tmp52        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
 ;  V60 tmp53        [V60,T25] (  2,  1   )   byref  ->  rdi         single-def "field V35._reference (fldOffset=0x0)" P-INDEP
 ;* V61 tmp54        [V61    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;* V62 tmp55        [V62    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V37._reference (fldOffset=0x0)" P-INDEP
 ;* V63 tmp56        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
 ;  V64 tmp57        [V64,T26] (  2,  1   )   byref  ->  rdi         single-def "field V38._reference (fldOffset=0x0)" P-INDEP
 ;  V65 tmp58        [V65,T27] (  2,  1   )     int  ->  rsi         "field V38._length (fldOffset=0x8)" P-INDEP
 ;  V66 tmp59        [V66,T08] (  2,  4   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V67 tmp60        [V67,T14] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V68 tmp61        [V68,T15] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V69 PSPSym       [V69,T28] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
 ;  V70 cse0         [V70,T10] (  3,  2.50)    long  ->  r14         "CSE #02: moderate"
 ;  V71 cse1         [V71,T21] (  3,  1.50)     ref  ->  rbx         "CSE #07: moderate"
 ;  V72 cse2         [V72,T23] (  3,  1.50)     int  ->  rsi         "CSE #03: moderate"
 ;  V73 cse3         [V73,T24] (  3,  1.50)     int  ->  rsi         "CSE #05: moderate"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 72
 
 G_M15577_IG01:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 64
+       sub      rsp, 72
        lea      rbp, [rsp+0x60]
-       xor      eax, eax
-       mov      qword ptr [rbp-0x48], rax
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x40], ymm8
+       xor      eax, eax
+       mov      qword ptr [rbp-0x20], rax
        mov      qword ptr [rbp-0x60], rsp
        mov      rbx, rdi
-						;; size=40 bbWeight=1 PerfScore 10.58
+						;; size=38 bbWeight=1 PerfScore 9.58
 G_M15577_IG02:
        xor      r15d, r15d
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      r14, qword ptr [rax+0x50]
        call     [r14]System.Security.Claims.ClaimsPrincipal:get_Identities():System.Collections.Generic.IEnumerable`1[System.Security.Claims.ClaimsIdentity]:this
        mov      rdi, rax
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this
        call     [r11]System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this
        mov      rdi, rax
-       mov      gword ptr [rbp-0x50], rdi
+       mov      gword ptr [rbp-0x48], rdi
 						;; size=39 bbWeight=1 PerfScore 12.25
 G_M15577_IG03:
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
        je       SHORT G_M15577_IG05
 						;; size=17 bbWeight=8 PerfScore 36.00
 G_M15577_IG04:
-       mov      rdi, gword ptr [rbp-0x50]
+       mov      rdi, gword ptr [rbp-0x48]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this
        call     [r11]System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this
        inc      r15d
-       mov      rdi, gword ptr [rbp-0x50]
+       mov      rdi, gword ptr [rbp-0x48]
        jmp      SHORT G_M15577_IG03
 						;; size=26 bbWeight=4 PerfScore 30.00
 G_M15577_IG05:
-       mov      rdi, gword ptr [rbp-0x50]
+       mov      rdi, gword ptr [rbp-0x48]
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
        cmp      r15d, 1
        jne      SHORT G_M15577_IG07
 						;; size=23 bbWeight=1 PerfScore 5.50
 G_M15577_IG06:
        mov      rdi, rbx
        call     [r14+0x08]System.Security.Claims.ClaimsPrincipal:get_Identity():System.Security.Principal.IIdentity:this
        mov      rsi, rax
        mov      rdi, 0xD1FFAB1E      ; System.Security.Claims.ClaimsIdentity
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        jne      G_M15577_IG18
 						;; size=41 bbWeight=0.50 PerfScore 4.12
 G_M15577_IG07:
        xor      r14d, r14d
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x30]System.Security.Claims.ClaimsPrincipal:get_Claims():System.Collections.Generic.IEnumerable`1[System.Security.Claims.Claim]:this
        mov      rdi, rax
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this
        call     [r11]System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this
-       mov      gword ptr [rbp-0x58], rax
+       mov      gword ptr [rbp-0x50], rax
 						;; size=36 bbWeight=0.50 PerfScore 6.00
 G_M15577_IG08:
-       mov      rdi, gword ptr [rbp-0x58]
+       mov      rdi, gword ptr [rbp-0x50]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
        je       SHORT G_M15577_IG09
-       mov      rdi, gword ptr [rbp-0x58]
+       mov      rdi, gword ptr [rbp-0x50]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this
        call     [r11]System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this
        inc      r14d
        jmp      SHORT G_M15577_IG08
 						;; size=43 bbWeight=4 PerfScore 48.00
 G_M15577_IG09:
-       mov      rdi, gword ptr [rbp-0x58]
+       mov      rdi, gword ptr [rbp-0x50]
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
        xor      rdi, rdi
-       mov      gword ptr [rbp-0x48], rdi
+       mov      gword ptr [rbp-0x40], rdi
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rbx, gword ptr [rdi]
        mov      rdi, rbx
        mov      esi, 256
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
        call     [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
-       mov      gword ptr [rbp-0x40], rax
+       mov      gword ptr [rbp-0x38], rax
        test     rax, rax
        je       SHORT G_M15577_IG10
        lea      rdi, bword ptr [rax+0x10]
        mov      esi, dword ptr [rax+0x08]
        jmp      SHORT G_M15577_IG11
 						;; size=74 bbWeight=0.50 PerfScore 9.12
 G_M15577_IG10:
        xor      rdi, rdi
        xor      esi, esi
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M15577_IG11:
-       mov      bword ptr [rbp-0x30], rdi
-       mov      dword ptr [rbp-0x28], esi
+       mov      bword ptr [rbp-0x28], rdi
+       mov      dword ptr [rbp-0x20], esi
        xor      edi, edi
-       mov      dword ptr [rbp-0x38], edi
-       mov      byte  ptr [rbp-0x34], 0
-       mov      edi, dword ptr [rbp-0x38]
-       mov      esi, dword ptr [rbp-0x28]
+       mov      dword ptr [rbp-0x30], edi
+       mov      byte  ptr [rbp-0x2C], 0
+       mov      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x20]
        cmp      edi, esi
        ja       G_M15577_IG20
-       mov      rax, bword ptr [rbp-0x30]
+       mov      rax, bword ptr [rbp-0x28]
        mov      ecx, edi
-       lea      r13, bword ptr [rax+2*rcx]
+       lea      rax, bword ptr [rax+2*rcx]
        sub      esi, edi
        cmp      esi, 13
-       jae      SHORT G_M15577_IG12
-       lea      rdi, [rbp-0x48]
-       mov      rsi, 0xD1FFAB1E      ; 'Identities = '
-       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
-       call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
-       jmp      SHORT G_M15577_IG13
-						;; size=75 bbWeight=0.50 PerfScore 8.38
-G_M15577_IG12:
+       jl       SHORT G_M15577_IG12
        mov      rdi, 0xD1FFAB1E
        vmovdqu  xmm0, xmmword ptr [rdi]
        vmovdqu  xmm1, xmmword ptr [rdi+0x0A]
-       vmovdqu  xmmword ptr [r13], xmm0
-       vmovdqu  xmmword ptr [r13+0x0A], xmm1
-       mov      edi, dword ptr [rbp-0x38]
+       vmovdqu  xmmword ptr [rax], xmm0
+       vmovdqu  xmmword ptr [rax+0x0A], xmm1
+       mov      edi, dword ptr [rbp-0x30]
        add      edi, 13
-       mov      dword ptr [rbp-0x38], edi
-						;; size=40 bbWeight=0.50 PerfScore 7.25
+       mov      dword ptr [rbp-0x30], edi
+       jmp      SHORT G_M15577_IG13
+						;; size=86 bbWeight=0.50 PerfScore 13.62
+G_M15577_IG12:
+       lea      rdi, [rbp-0x40]
+       mov      rsi, 0xD1FFAB1E      ; 'Identities = '
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
+       call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
+						;; size=26 bbWeight=0.50 PerfScore 2.00
 G_M15577_IG13:
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x40]
        mov      esi, r15d
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
-       mov      edi, dword ptr [rbp-0x38]
-       mov      esi, dword ptr [rbp-0x28]
+       mov      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x20]
        cmp      edi, esi
        ja       G_M15577_IG20
-       mov      rax, bword ptr [rbp-0x30]
+       mov      rax, bword ptr [rbp-0x28]
        mov      ecx, edi
-       lea      r15, bword ptr [rax+2*rcx]
+       lea      rax, bword ptr [rax+2*rcx]
        sub      esi, edi
        cmp      esi, 11
-       jae      SHORT G_M15577_IG14
-       lea      rdi, [rbp-0x48]
-       mov      rsi, 0xD1FFAB1E      ; ', Claims = '
-       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
-       call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
-       jmp      SHORT G_M15577_IG15
-						;; size=78 bbWeight=0.50 PerfScore 8.25
-G_M15577_IG14:
+       jl       SHORT G_M15577_IG14
        mov      rdi, 0xD1FFAB1E
        vmovdqu  xmm0, xmmword ptr [rdi]
        vmovdqu  xmm1, xmmword ptr [rdi+0x06]
-       vmovdqu  xmmword ptr [r15], xmm0
-       vmovdqu  xmmword ptr [r15+0x06], xmm1
-       mov      edi, dword ptr [rbp-0x38]
+       vmovdqu  xmmword ptr [rax], xmm0
+       vmovdqu  xmmword ptr [rax+0x06], xmm1
+       mov      edi, dword ptr [rbp-0x30]
        add      edi, 11
-       mov      dword ptr [rbp-0x38], edi
-						;; size=39 bbWeight=0.50 PerfScore 7.25
+       mov      dword ptr [rbp-0x30], edi
+       jmp      SHORT G_M15577_IG15
+						;; size=89 bbWeight=0.50 PerfScore 13.50
+G_M15577_IG14:
+       lea      rdi, [rbp-0x40]
+       mov      rsi, 0xD1FFAB1E      ; ', Claims = '
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
+       call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
+						;; size=26 bbWeight=0.50 PerfScore 2.00
 G_M15577_IG15:
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x40]
        mov      esi, r14d
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
-       mov      esi, dword ptr [rbp-0x38]
-       cmp      esi, dword ptr [rbp-0x28]
+       mov      esi, dword ptr [rbp-0x30]
+       cmp      esi, dword ptr [rbp-0x20]
        ja       SHORT G_M15577_IG20
-       mov      rdi, bword ptr [rbp-0x30]
+       mov      rdi, bword ptr [rbp-0x28]
        call     System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
        mov      r15, rax
-       mov      rsi, gword ptr [rbp-0x40]
+       mov      rsi, gword ptr [rbp-0x38]
        vxorps   ymm0, ymm0, ymm0
-       vmovdqu  ymmword ptr [rbp-0x48], ymm0
-       vmovdqu  xmmword ptr [rbp-0x30], xmm0
+       vmovdqu  ymmword ptr [rbp-0x40], ymm0
+       vmovdqu  xmmword ptr [rbp-0x28], xmm0
        test     rsi, rsi
        je       SHORT G_M15577_IG16
        mov      rdi, rbx
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
        call     [rax]System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
 						;; size=79 bbWeight=0.50 PerfScore 9.29
 G_M15577_IG16:
        mov      rax, r15
 						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M15577_IG17:
-       add      rsp, 64
+       add      rsp, 72
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0.50 PerfScore 1.88
+						;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M15577_IG18:
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Claims.ClaimsIdentity:DebuggerToString():System.String:this
        call     [rax]System.Security.Claims.ClaimsIdentity:DebuggerToString():System.String:this
        nop      
 						;; size=16 bbWeight=0.50 PerfScore 1.88
 G_M15577_IG19:
-       add      rsp, 64
+       add      rsp, 72
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0.50 PerfScore 1.88
+						;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M15577_IG20:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M15577_IG21:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x60]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M15577_IG22:
-       cmp      gword ptr [rbp-0x50], 0
+       cmp      gword ptr [rbp-0x48], 0
        je       SHORT G_M15577_IG23
-       mov      rdi, gword ptr [rbp-0x50]
+       mov      rdi, gword ptr [rbp-0x48]
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M15577_IG23:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
 G_M15577_IG24:
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0 PerfScore 0.00
+						;; size=11 bbWeight=0 PerfScore 0.00
 G_M15577_IG25:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x60]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M15577_IG26:
-       cmp      gword ptr [rbp-0x58], 0
+       cmp      gword ptr [rbp-0x50], 0
        je       SHORT G_M15577_IG27
-       mov      rdi, gword ptr [rbp-0x58]
+       mov      rdi, gword ptr [rbp-0x50]
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M15577_IG27:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
 G_M15577_IG28:
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0 PerfScore 0.00
+						;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 834, prolog size 40, PerfScore 208.00, instruction count 225, allocated bytes for code 834 (MethodHash=5d18c326) for method System.Security.Claims.ClaimsPrincipal:DebuggerToString():System.String:this (FullOpts)
+; Total bytes of code 809, prolog size 38, PerfScore 206.50, instruction count 218, allocated bytes for code 809 (MethodHash=5d18c326) for method System.Security.Claims.ClaimsPrincipal:DebuggerToString():System.String: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/16500ddb06abc15b53673b5b4bb8da3c

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 7, 2024

@xtqqczze

@xtqqczze
Copy link

xtqqczze commented Oct 7, 2024

@xtqqczze
Copy link

xtqqczze commented Oct 7, 2024

UIntCastLengthCheck

xtqqczze referenced this issue in xtqqczze/dotnet-runtime Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants