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/dotnet-runtime/UIntCastLengthCheck4 #876

Open
MihuBot opened this issue Jan 11, 2025 · 3 comments
Open

[JitDiff X64] xtqqczze/dotnet-runtime/UIntCastLengthCheck4 #876

MihuBot opened this issue Jan 11, 2025 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jan 11, 2025

Job completed in 16 minutes 23 seconds.

Diffs

Diffs
Found 342 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 40205636
Total bytes of diff: 40202249
Total bytes of delta: -3387 (-0.01 % of base)
Total relative delta: -5.46
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
         382 : System.Net.Quic.dasm (0.24 % of base)
          36 : System.Reflection.MetadataLoadContext.dasm (0.02 % of base)
          34 : Microsoft.Extensions.Logging.Console.dasm (0.06 % of base)
          33 : System.Text.RegularExpressions.dasm (0.00 % of base)
          33 : System.Net.NetworkInformation.dasm (0.07 % of base)
          17 : System.Net.NameResolution.dasm (0.04 % of base)
          14 : System.Diagnostics.Process.dasm (0.01 % of base)
          14 : System.IO.Pipes.dasm (0.04 % of base)
          12 : System.Net.WebProxy.dasm (0.22 % of base)
          10 : System.Configuration.ConfigurationManager.dasm (0.00 % of base)
           2 : Microsoft.Extensions.Logging.Configuration.dasm (0.03 % of base)

Top file improvements (bytes):
        -888 : System.Threading.Tasks.Dataflow.dasm (-0.07 % of base)
        -751 : System.Net.Http.dasm (-0.09 % of base)
        -421 : System.Private.CoreLib.dasm (-0.01 % of base)
        -359 : System.Private.Xml.dasm (-0.01 % of base)
        -145 : System.Net.WebSockets.dasm (-0.10 % of base)
        -142 : System.Numerics.Tensors.dasm (-0.01 % of base)
        -126 : Microsoft.Extensions.Http.dasm (-0.18 % of base)
        -124 : System.Text.Json.dasm (-0.01 % of base)
        -104 : System.Linq.Expressions.dasm (-0.01 % of base)
         -84 : System.Diagnostics.DiagnosticSource.dasm (-0.03 % of base)
         -74 : System.Drawing.Primitives.dasm (-0.21 % of base)
         -64 : System.Collections.Immutable.dasm (-0.00 % of base)
         -42 : System.Net.Security.dasm (-0.02 % of base)
         -36 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (-0.05 % of base)
         -35 : Microsoft.Extensions.Logging.dasm (-0.10 % of base)
         -34 : Microsoft.Extensions.DependencyInjection.dasm (-0.05 % of base)
         -33 : System.Private.DataContractSerialization.dasm (-0.00 % of base)
         -32 : System.Net.Sockets.dasm (-0.01 % of base)
         -32 : Microsoft.Extensions.Configuration.dasm (-0.20 % of base)
         -32 : tieringtest.dasm (-0.46 % of base)
         -30 : System.Security.Claims.dasm (-0.22 % of base)
         -26 : Microsoft.Extensions.Diagnostics.dasm (-0.18 % of base)
         -20 : System.Runtime.InteropServices.dasm (-0.08 % of base)
         -20 : runincontext.dasm (-0.13 % of base)
         -19 : Microsoft.Extensions.Caching.Abstractions.dasm (-0.06 % of base)
         -19 : System.ComponentModel.TypeConverter.dasm (-0.01 % of base)
         -19 : System.Net.Mail.dasm (-0.01 % of base)
         -18 : System.Private.Uri.dasm (-0.02 % of base)
         -16 : System.Net.Requests.dasm (-0.01 % of base)
         -15 : System.Data.Common.dasm (-0.00 % of base)
         -15 : System.Net.Primitives.dasm (-0.01 % of base)
         -14 : Microsoft.Extensions.Configuration.FileExtensions.dasm (-0.30 % of base)
         -13 : System.Console.dasm (-0.02 % of base)
         -12 : System.Net.HttpListener.dasm (-0.01 % of base)
         -12 : System.ServiceModel.Syndication.dasm (-0.01 % of base)
         -12 : System.Reflection.Metadata.dasm (-0.00 % of base)
         -11 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.04 % of base)
         -11 : System.Memory.dasm (-0.00 % of base)
          -9 : System.ComponentModel.Composition.dasm (-0.00 % of base)
          -9 : System.Diagnostics.TraceSource.dasm (-0.02 % of base)
          -9 : System.Formats.Tar.dasm (-0.01 % of base)
          -8 : System.Reflection.DispatchProxy.dasm (-0.04 % of base)
          -7 : System.Composition.Runtime.dasm (-0.04 % of base)
          -7 : Microsoft.Extensions.Logging.Debug.dasm (-0.12 % of base)
          -6 : Microsoft.Extensions.Caching.Memory.dasm (-0.03 % of base)
          -5 : System.Runtime.Numerics.dasm (-0.00 % of base)
          -5 : System.IO.FileSystem.DriveInfo.dasm (-0.02 % of base)
          -5 : System.Security.Cryptography.dasm (-0.00 % of base)
          -5 : System.IO.FileSystem.Watcher.dasm (-0.02 % of base)
          -5 : System.IO.MemoryMappedFiles.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.IO.Compression.ZipFile.dasm (-0.04 % of base)
          -4 : System.Security.Cryptography.ProtectedData.dasm (-0.06 % of base)
          -4 : System.DirectoryServices.Protocols.dasm (-0.00 % of base)
          -3 : System.Security.Cryptography.Cose.dasm (-0.00 % of base)
          -2 : Microsoft.Extensions.Logging.Abstractions.dasm (-0.00 % of base)
          -2 : System.Net.WebSockets.Client.dasm (-0.01 % of base)
          -1 : System.Formats.Asn1.dasm (-0.00 % of base)
          -1 : System.IO.Pipelines.dasm (-0.00 % of base)
          -1 : System.Security.Cryptography.Xml.dasm (-0.00 % of base)
          -1 : System.CodeDom.dasm (-0.00 % of base)

73 total files with Code Size differences (62 improved, 11 regressed), 186 unchanged.

Top method regressions (bytes):
         317 (4.52 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_CONNECTION_EVENT:ToString():System.String:this (FullOpts)
         125 (2.45 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_STREAM_EVENT:ToString():System.String:this (FullOpts)
          38 (2.94 % of base) : System.Text.Json.dasm - System.Text.Json.JsonWriterHelper:ValidateNumber(System.ReadOnlySpan`1[ubyte]) (FullOpts)
          38 (2.04 % 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)
          36 (1.34 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaResolver:ComputeTypeRefResolution(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.TypeLoading.Ecma.EcmaModule):System.Reflection.TypeLoading.RoDefinitionType (FullOpts)
          19 (3.65 % of base) : System.Net.Primitives.dasm - Interop+Sys:GetDomainName():System.String (FullOpts)
          19 (3.65 % of base) : System.Net.NetworkInformation.dasm - Interop+Sys:GetDomainName():System.String (FullOpts)
          19 (3.73 % of base) : System.Diagnostics.Process.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          19 (3.73 % of base) : System.IO.Pipes.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          19 (3.73 % of base) : System.Net.NameResolution.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          19 (3.73 % of base) : System.Net.NetworkInformation.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          19 (3.73 % of base) : System.Private.CoreLib.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          17 (0.49 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+<ProcessOutgoingFramesAsync>d__82:MoveNext():this (FullOpts)
          17 (6.01 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:ThrowArgumentException_InvalidUTF16(int) (FullOpts)
          17 (6.49 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:ThrowInvalidOperationException_ReadInvalidUTF16(int) (FullOpts)
          13 (1.40 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ValidateConfigurationKeys(System.Type,System.Lazy`1[System.Collections.Generic.HashSet`1[System.String]],Microsoft.Extensions.Configuration.IConfiguration,Microsoft.Extensions.Configuration.BinderOptions) (FullOpts)
          12 (0.87 % of base) : System.Net.WebProxy.dasm - System.Net.WebProxy:IsMatchInBypassList(System.Uri):ubyte:this (FullOpts)
          10 (2.02 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigurationHost:OpenStreamForWrite(System.String,System.String,byref):System.IO.Stream:this (FullOpts)
           8 (0.23 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+<SendAsync>d__111:MoveNext():this (FullOpts)
           7 (0.99 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[double](System.Enum+EnumInfo`1[double],double):System.String (FullOpts)
           7 (1.13 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[int](System.Enum+EnumInfo`1[int],int):System.String (FullOpts)
           7 (1.10 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[long](System.Enum+EnumInfo`1[long],long):System.String (FullOpts)
           7 (1.11 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts)
           7 (1.11 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
           6 (1.17 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this (FullOpts)
           5 (0.84 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[System.Numerics.Vector`1[float]](System.String,System.String):System.Numerics.Vector`1[float] (FullOpts)
           4 (0.90 % 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 (1.55 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParserHelpers:ThrowArgumentException_InvalidTypeName(int) (FullOpts)
           4 (1.55 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.TypeNameParserHelpers:ThrowArgumentException_InvalidTypeName(int) (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 (3.74 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this (FullOpts)
           3 (0.37 % 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.42 % 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.42 % 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.41 % 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.41 % 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.57 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):this (FullOpts)
           3 (0.59 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this (FullOpts)
           3 (1.61 % 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)
           3 (1.58 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):this (FullOpts)
           3 (1.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this (FullOpts)
           3 (2.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this (FullOpts)
           3 (6.12 % of base) : System.Private.CoreLib.dasm - System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this (FullOpts)
           2 (0.28 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>F36F291D42D9CE2439E1968EC783BE64F61F406B865E6E90EFD25BBD78AB9E1D0__BindingExtensions:ParseBool(System.String,System.String):ubyte (FullOpts)
           2 (0.28 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseBool(System.String,System.String):ubyte (FullOpts)
           2 (0.36 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseChar(System.String,System.String):ushort (FullOpts)
           2 (0.34 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[double](System.String,System.String):double (FullOpts)
           2 (0.35 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[int](System.String,System.String):int (FullOpts)
           2 (0.34 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[long](System.String,System.String):long (FullOpts)
           2 (0.34 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[short](System.String,System.String):short (FullOpts)
           2 (0.34 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[ubyte](System.String,System.String):ubyte (FullOpts)
           2 (0.31 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseInt(System.String,System.String):int (FullOpts)
           2 (0.33 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicSafeHandle:.ctor(ulong,int):this (FullOpts)
           2 (0.08 % of base) : System.Reflection.Metadata.dasm - System.Reflection.AssemblyNameFormatter:ComputeDisplayName(System.String,System.Version,System.String,ubyte[],int,int,ubyte[]):System.String (FullOpts)
           2 (0.08 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyNameFormatter:ComputeDisplayName(System.String,System.Version,System.String,ubyte[],int,int,ubyte[]):System.String (FullOpts)
           2 (0.44 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:ThrowInvalidOperationException_SerializationDuplicateAttribute(System.Type,System.Reflection.MemberInfo) (FullOpts)
           1 (0.13 % of base) : System.Private.CoreLib.dasm - System.IO.Path:Join(System.ReadOnlySpan`1[System.String]):System.String (FullOpts)

Top method improvements (bytes):
        -115 (-9.88 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions:ReserveClient(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Type,System.String,ubyte) (FullOpts)
         -60 (-2.75 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHelper:GetRedactedUriString(System.Uri):System.String (FullOpts)
         -57 (-0.67 % 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)
         -40 (-3.31 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:PrepareForReuse(ubyte):ubyte:this (FullOpts)
         -34 (-1.85 % of base) : System.Private.Xml.dasm - System.Xml.XmlNode+DebuggerDisplayXmlNodeProxy:ToString():System.String:this (FullOpts)
         -32 (-0.46 % of base) : tieringtest.dasm - Program:Main(System.String[]):int (FullOpts)
         -29 (-0.28 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection+<SendAsync>d__56:MoveNext():this (FullOpts)
         -26 (-0.64 % of base) : System.Net.Http.dasm - System.Net.Http.RedirectHandler+<SendAsync>d__4:MoveNext():this (FullOpts)
         -26 (-3.11 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsPrincipal:DebuggerToString():System.String:this (FullOpts)
         -25 (-1.52 % 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)
         -25 (-1.70 % 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)
         -25 (-1.42 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp11ConnectionInjection():this (FullOpts)
         -24 (-3.77 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceProvider:ValidateService(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):this (FullOpts)
         -24 (-1.22 % of base) : System.Private.CoreLib.dasm - System.Numerics.Matrix4x4:ToString():System.String:this (FullOpts)
         -23 (-1.34 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp2ConnectionInjection():this (FullOpts)
         -23 (-1.34 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp3ConnectionInjection():this (FullOpts)
         -22 (-1.08 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ServiceDescriptor:DebuggerToString():System.String:this (FullOpts)
         -22 (-0.54 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2Stream+<SendRequestBodyAsync>d__45:MoveNext():this (FullOpts)
         -22 (-0.31 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
         -21 (-1.09 % of base) : System.Net.Security.dasm - System.Net.Security.TlsFrameHelper+TlsFrameInfo:ToString():System.String:this (FullOpts)
         -20 (-2.93 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         -20 (-0.76 % of base) : System.Net.Http.dasm - System.Net.Http.Http3RequestStream+<ReadFrameEnvelopeAsync>d__45:MoveNext():this (FullOpts)
         -20 (-2.61 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[System.__Canon]:CastIUnknownToInterfaceType(long):ulong (FullOpts)
         -19 (-5.16 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheEntryExtensions:ThrowNullCallback(int,System.String) (FullOpts)
         -19 (-1.01 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection+<<CheckUsabilityOnScavenge>g__ReadAheadWithZeroByteReadAsync|39_0>d:MoveNext():this (FullOpts)
         -19 (-0.80 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionBase:TraceConnection(System.IO.Stream):this (FullOpts)
         -19 (-0.76 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeExceptionHandlingClause:ToString():System.String:this (FullOpts)
         -18 (-1.97 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -18 (-0.60 % of base) : System.Private.Uri.dasm - System.Uri:CombineUri(System.Uri,System.String,int):System.String (FullOpts)
         -17 (-2.25 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         -17 (-1.26 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GetArraySource(System.Xml.Serialization.TypeDesc,System.String,ubyte):System.String (FullOpts)
         -16 (-1.86 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -16 (-0.80 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection+HttpContentReadStream+<DrainOnDisposeAsync>d__16:MoveNext():this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:ToString():System.String:this (FullOpts)
         -15 (-1.69 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -15 (-2.17 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationHelper:GetMember(System.Type,System.String,ubyte):System.Reflection.MemberInfo (FullOpts)
         -14 (-1.88 % of base) : Microsoft.Extensions.Configuration.FileExtensions.dasm - Microsoft.Extensions.Configuration.FileConfigurationProvider:ToString():System.String:this (FullOpts)
         -14 (-0.98 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFilterRule:ToString():System.String:this (FullOpts)
         -14 (-0.23 % of base) : runincontext.dasm - TestRunner:DoWorkStress():int:this (FullOpts)
         -13 (-0.44 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ServiceDescriptor:ToString():System.String:this (FullOpts)
         -13 (-1.92 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider+CharDescriptor:ToString():System.String:this (FullOpts)
         -13 (-0.86 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitConstant(System.Linq.Expressions.ConstantExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -13 (-0.54 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2Stream:OnStatus(int):this (FullOpts)
         -13 (-1.53 % of base) : System.Private.CoreLib.dasm - System.Numerics.Matrix3x2:ToString():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 (-2.08 % of base) : System.Net.Http.dasm - System.Net.CredentialCacheKey:ToString():System.String:this (FullOpts)
         -12 (-0.22 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicApi:.cctor() (FullOpts)
         -12 (-0.51 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket:.ctor(System.IO.Stream,ubyte,System.String,System.TimeSpan,System.TimeSpan):this (FullOpts)
         -12 (-0.14 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[double]:MoveNext():this (FullOpts)
         -12 (-0.14 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[int]:MoveNext():this (FullOpts)
         -12 (-0.14 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[long]:MoveNext():this (FullOpts)
         -12 (-0.14 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[short]:MoveNext():this (FullOpts)
         -12 (-0.13 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.Nullable`1[int]]:MoveNext():this (FullOpts)
         -12 (-0.13 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts)
         -12 (-0.14 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[ubyte]:MoveNext():this (FullOpts)
         -12 (-2.09 % of base) : System.Private.CoreLib.dasm - System.Numerics.Quaternion:ToString():System.String:this (FullOpts)
         -11 (-1.34 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationSection:DebuggerToString():System.String:this (FullOpts)
         -11 (-1.11 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoWrapper:GetDirectory(System.String):Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase:this (FullOpts)
         -11 (-0.78 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LogHelper:GetRedactedUriString(System.Uri):System.String (FullOpts)
         -11 (-0.67 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_LISTENER_EVENT:ToString():System.String:this (FullOpts)
         -11 (-0.65 % 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)
         -11 (-1.62 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Rectangle:ToString():System.String:this (FullOpts)
         -11 (-1.60 % of base) : System.Drawing.Primitives.dasm - System.Drawing.RectangleF:ToString():System.String:this (FullOpts)
         -11 (-1.16 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:SignalAvailableStreamsWaiter(ubyte):this (FullOpts)
         -11 (-0.96 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2Stream:OnReset(System.Exception,System.Nullable`1[int],ubyte):this (FullOpts)
         -11 (-2.17 % of base) : System.Net.Http.dasm - System.Net.Http.HttpRuleParser:IsValidHostName(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -11 (-1.82 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.SequencePoint:GetDebuggerDisplay():System.String:this (FullOpts)
         -11 (-1.27 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:AddJsonExceptionInformation(byref,byref,System.Text.Json.JsonException) (FullOpts)
         -11 (-3.17 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemaExporter:ExportAnonymousPrimitiveMapping(System.Xml.Serialization.PrimitiveMapping):System.Xml.Schema.XmlSchemaSimpleType:this (FullOpts)
         -10 (-1.53 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFilterOptions:DebuggerToString():System.String:this (FullOpts)
         -10 (-1.95 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventCounter:ToString():System.String:this (FullOpts)
         -10 (-0.98 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Color:get_NameAndARGBValue():System.String:this (FullOpts)
         -10 (-0.77 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+ResponseData:ToString():System.String:this (FullOpts)
         -10 (-1.10 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ProcessPingFrame(System.Net.Http.Http2Connection+FrameHeader):this (FullOpts)
         -10 (-1.61 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+FrameHeader:ToString():System.String:this (FullOpts)
         -10 (-0.51 % of base) : System.Net.Http.dasm - System.Net.Http.Http3Connection+<>c__DisplayClass47_0+<<ProcessServerControlStreamAsync>g__ProcessSettingsFrameAsync|1>d:MoveNext():this (FullOpts)
         -10 (-1.02 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SafeSocketHandle:CloseHandle(long):int:this (FullOpts)
         -10 (-0.10 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.__Canon]:MoveNext():this (FullOpts)
         -10 (-1.37 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector3:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -10 (-1.23 % of base) : System.Private.CoreLib.dasm - System.Reflection.ExceptionHandlingClause:ToString():System.String:this (FullOpts)
         -10 (-2.57 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializerOptions:get_DebuggerDisplay():System.String:this (FullOpts)
         -10 (-1.88 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStack:get_DebuggerDisplay():System.String:this (FullOpts)
         -10 (-1.90 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStack:get_DebuggerDisplay():System.String:this (FullOpts)
         -10 (-0.20 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteTypedPrimitive(System.String,System.String,System.Object,ubyte):this (FullOpts)
          -9 (-0.80 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_NEW_CONNECTION_INFO:ToString():System.String:this (FullOpts)
          -9 (-0.15 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper+<SendWithNtAuthAsync>d__52:MoveNext():this (FullOpts)
          -9 (-0.86 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+ActivityStopData:ToString():System.String:this (FullOpts)
          -9 (-0.86 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+RequestData:ToString():System.String:this (FullOpts)
          -9 (-0.16 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+<ProcessIncomingFramesAsync>d__62:MoveNext():this (FullOpts)
          -9 (-1.37 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:Read(System.Span`1[ubyte]):int:this (FullOpts)
          -9 (-0.65 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionBase:IsUsable(long,System.TimeSpan,System.TimeSpan):ubyte:this (FullOpts)
          -9 (-0.37 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketsTelemetry:ConnectStart(System.Net.SocketAddress,int,System.Net.EndPoint,ubyte):System.Diagnostics.Activity: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)

Top method regressions (percentages):
          17 (6.49 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:ThrowInvalidOperationException_ReadInvalidUTF16(int) (FullOpts)
           3 (6.12 % of base) : System.Private.CoreLib.dasm - System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this (FullOpts)
          17 (6.01 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:ThrowArgumentException_InvalidUTF16(int) (FullOpts)
         317 (4.52 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_CONNECTION_EVENT:ToString():System.String:this (FullOpts)
           4 (3.74 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this (FullOpts)
          19 (3.73 % of base) : System.Diagnostics.Process.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          19 (3.73 % of base) : System.IO.Pipes.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          19 (3.73 % of base) : System.Net.NameResolution.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          19 (3.73 % of base) : System.Net.NetworkInformation.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          19 (3.73 % of base) : System.Private.CoreLib.dasm - Interop+Sys:GetHostName():System.String (FullOpts)
          19 (3.65 % of base) : System.Net.Primitives.dasm - Interop+Sys:GetDomainName():System.String (FullOpts)
          19 (3.65 % of base) : System.Net.NetworkInformation.dasm - Interop+Sys:GetDomainName():System.String (FullOpts)
          38 (2.94 % of base) : System.Text.Json.dasm - System.Text.Json.JsonWriterHelper:ValidateNumber(System.ReadOnlySpan`1[ubyte]) (FullOpts)
         125 (2.45 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_STREAM_EVENT:ToString():System.String:this (FullOpts)
           3 (2.26 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this (FullOpts)
          38 (2.04 % 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)
          10 (2.02 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigurationHost:OpenStreamForWrite(System.String,System.String,byref):System.IO.Stream: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.61 % 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)
           3 (1.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this (FullOpts)
           3 (1.58 % 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.55 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParserHelpers:ThrowArgumentException_InvalidTypeName(int) (FullOpts)
           4 (1.55 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.TypeNameParserHelpers:ThrowArgumentException_InvalidTypeName(int) (FullOpts)
          13 (1.40 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ValidateConfigurationKeys(System.Type,System.Lazy`1[System.Collections.Generic.HashSet`1[System.String]],Microsoft.Extensions.Configuration.IConfiguration,Microsoft.Extensions.Configuration.BinderOptions) (FullOpts)
          36 (1.34 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaResolver:ComputeTypeRefResolution(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.TypeLoading.Ecma.EcmaModule):System.Reflection.TypeLoading.RoDefinitionType (FullOpts)
           6 (1.17 % of base) : System.Private.CoreLib.dasm - System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this (FullOpts)
           7 (1.13 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[int](System.Enum+EnumInfo`1[int],int):System.String (FullOpts)
           7 (1.11 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts)
           7 (1.11 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte):System.String (FullOpts)
           7 (1.10 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[long](System.Enum+EnumInfo`1[long],long):System.String (FullOpts)
           7 (0.99 % of base) : System.Private.CoreLib.dasm - System.Enum:FormatFlagNames[double](System.Enum+EnumInfo`1[double],double):System.String (FullOpts)
           4 (0.90 % 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)
          12 (0.87 % of base) : System.Net.WebProxy.dasm - System.Net.WebProxy:IsMatchInBypassList(System.Uri):ubyte:this (FullOpts)
           5 (0.84 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[System.Numerics.Vector`1[float]](System.String,System.String):System.Numerics.Vector`1[float] (FullOpts)
           3 (0.59 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this (FullOpts)
           3 (0.57 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):this (FullOpts)
          17 (0.49 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+<ProcessOutgoingFramesAsync>d__82:MoveNext():this (FullOpts)
           2 (0.44 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:ThrowInvalidOperationException_SerializationDuplicateAttribute(System.Type,System.Reflection.MemberInfo) (FullOpts)
           3 (0.42 % 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.42 % 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.41 % 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.41 % 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.37 % of base) : System.Private.CoreLib.dasm - System.Enum:TryFormatFlagNames[double](System.Enum+EnumInfo`1[double],double,System.Span`1[ushort],byref,byref):ubyte (FullOpts)
           2 (0.36 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseChar(System.String,System.String):ushort (FullOpts)
           2 (0.35 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[int](System.String,System.String):int (FullOpts)
           2 (0.34 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[long](System.String,System.String):long (FullOpts)
           2 (0.34 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[ubyte](System.String,System.String):ubyte (FullOpts)
           2 (0.34 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[double](System.String,System.String):double (FullOpts)
           2 (0.34 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseEnum[short](System.String,System.String):short (FullOpts)
           2 (0.33 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicSafeHandle:.ctor(ulong,int):this (FullOpts)
           2 (0.31 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseInt(System.String,System.String):int (FullOpts)
           2 (0.28 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>F36F291D42D9CE2439E1968EC783BE64F61F406B865E6E90EFD25BBD78AB9E1D0__BindingExtensions:ParseBool(System.String,System.String):ubyte (FullOpts)
           2 (0.28 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FFF5C81C07FB3FF42B0EAA26E805ECA0A586CFB93C880374B495A16C233885A8C__BindingExtensions:ParseBool(System.String,System.String):ubyte (FullOpts)
           8 (0.23 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+<SendAsync>d__111:MoveNext():this (FullOpts)
           1 (0.13 % of base) : System.Private.CoreLib.dasm - System.IO.Path:Join(System.ReadOnlySpan`1[System.String]):System.String (FullOpts)
           2 (0.08 % of base) : System.Reflection.Metadata.dasm - System.Reflection.AssemblyNameFormatter:ComputeDisplayName(System.String,System.Version,System.String,ubyte[],int,int,ubyte[]):System.String (FullOpts)
           2 (0.08 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyNameFormatter:ComputeDisplayName(System.String,System.Version,System.String,ubyte[],int,int,ubyte[]):System.String (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)
        -115 (-9.88 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions:ReserveClient(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Type,System.String,ubyte) (FullOpts)
         -19 (-5.16 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheEntryExtensions:ThrowNullCallback(int,System.String) (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)
         -24 (-3.77 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceProvider:ValidateService(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):this (FullOpts)
         -40 (-3.31 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:PrepareForReuse(ubyte):ubyte:this (FullOpts)
         -11 (-3.17 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemaExporter:ExportAnonymousPrimitiveMapping(System.Xml.Serialization.PrimitiveMapping):System.Xml.Schema.XmlSchemaSimpleType:this (FullOpts)
         -26 (-3.11 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsPrincipal:DebuggerToString():System.String:this (FullOpts)
         -20 (-2.93 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
          -7 (-2.85 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:Path(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String (FullOpts)
          -8 (-2.80 % of base) : System.Private.CoreLib.dasm - System.Enum:WriteMultipleFoundFlagsNames(System.String[],System.ReadOnlySpan`1[int],System.Span`1[ushort]) (FullOpts)
         -60 (-2.75 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHelper:GetRedactedUriString(System.Uri):System.String (FullOpts)
         -20 (-2.61 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[System.__Canon]:CastIUnknownToInterfaceType(long):ulong (FullOpts)
          -8 (-2.57 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.SqlBinary:ToString():System.String:this (FullOpts)
         -10 (-2.57 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializerOptions:get_DebuggerDisplay():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[double]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[int]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[long]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[short]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
         -16 (-2.46 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte]:ToString():System.String:this (FullOpts)
          -8 (-2.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[double]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[int]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[long]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[short]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.__Canon]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Numerics.Vector`1[float]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[ubyte]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.40 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.39 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.36 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.IncrementingEventCounter:ToString():System.String:this (FullOpts)
          -8 (-2.34 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.PollingCounter:ToString():System.String:this (FullOpts)
          -8 (-2.34 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[double]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.34 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[int]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.34 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[long]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.34 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[short]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.34 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.__Canon]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.34 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Nullable`1[int]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.34 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Numerics.Vector`1[float]]:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-2.34 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[ubyte]:get_DebuggerDisplay():System.String:this (FullOpts)
         -17 (-2.25 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         -15 (-2.17 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationHelper:GetMember(System.Type,System.String,ubyte):System.Reflection.MemberInfo (FullOpts)
         -11 (-2.17 % of base) : System.Net.Http.dasm - System.Net.Http.HttpRuleParser:IsValidHostName(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -7 (-2.13 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:DebuggerToString():System.String:this (FullOpts)
          -7 (-2.13 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationRoot:DebuggerToString():System.String:this (FullOpts)
         -12 (-2.09 % of base) : System.Private.CoreLib.dasm - System.Numerics.Quaternion:ToString():System.String:this (FullOpts)
         -12 (-2.08 % of base) : System.Net.Http.dasm - System.Net.CredentialCacheKey:ToString():System.String:this (FullOpts)
          -7 (-2.07 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:GetPrintableString(ubyte):System.String (FullOpts)
          -6 (-2.06 % of base) : System.Net.Primitives.dasm - System.Net.DnsEndPoint:ToString():System.String:this (FullOpts)
          -7 (-2.03 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.IncrementingPollingCounter:ToString():System.String:this (FullOpts)
          -5 (-1.98 % of base) : System.Private.CoreLib.dasm - System.Reflection.MetadataToken:ToString():System.String:this (FullOpts)
         -18 (-1.97 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          -8 (-1.96 % of base) : System.Private.CoreLib.dasm - System.Globalization.SortKey:ToString():System.String:this (FullOpts)
          -8 (-1.95 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:get_DebuggerDisplay():System.String:this (FullOpts)
         -10 (-1.95 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventCounter:ToString():System.String:this (FullOpts)
         -13 (-1.92 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider+CharDescriptor:ToString():System.String:this (FullOpts)
          -6 (-1.92 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataAggregator+RowCounts:ToString():System.String:this (FullOpts)
          -6 (-1.90 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Compiler:CreatePhantomNamespace():System.String:this (FullOpts)
         -10 (-1.90 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStack:get_DebuggerDisplay():System.String:this (FullOpts)
         -10 (-1.88 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStack:get_DebuggerDisplay():System.String:this (FullOpts)
         -14 (-1.88 % of base) : Microsoft.Extensions.Configuration.FileExtensions.dasm - Microsoft.Extensions.Configuration.FileConfigurationProvider:ToString():System.String:this (FullOpts)
          -7 (-1.88 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStackFrame:get_DebuggerDisplay():System.String:this (FullOpts)
          -7 (-1.88 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStackFrame:get_DebuggerDisplay():System.String:this (FullOpts)
         -16 (-1.86 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -34 (-1.85 % of base) : System.Private.Xml.dasm - System.Xml.XmlNode+DebuggerDisplayXmlNodeProxy:ToString():System.String:this (FullOpts)
          -6 (-1.83 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlRootAttribute:get_Key():System.String:this (FullOpts)
         -11 (-1.82 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.SequencePoint:GetDebuggerDisplay():System.String:this (FullOpts)
          -7 (-1.80 % of base) : System.Private.CoreLib.dasm - System.Numerics.Plane:ToString():System.String:this (FullOpts)
          -5 (-1.79 % of base) : System.Net.Primitives.dasm - System.Net.IPNetwork:ToString():System.String:this (FullOpts)
          -7 (-1.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ToString():System.String:this (FullOpts)
          -7 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Memory`1[double]:ToString():System.String:this (FullOpts)
          -7 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Memory`1[int]:ToString():System.String:this (FullOpts)
          -7 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Memory`1[long]:ToString():System.String:this (FullOpts)
          -7 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Memory`1[short]:ToString():System.String:this (FullOpts)
          -7 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
          -7 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Memory`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
          -7 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Memory`1[ubyte]: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)
          -7 (-1.73 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[double]:ToString():System.String:this (FullOpts)
          -7 (-1.73 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[int]:ToString():System.String:this (FullOpts)
          -7 (-1.73 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[long]:ToString():System.String:this (FullOpts)
          -7 (-1.73 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[short]:ToString():System.String:this (FullOpts)
          -7 (-1.73 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
          -7 (-1.73 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
          -7 (-1.73 % of base) : System.Private.CoreLib.dasm - System.ReadOnlyMemory`1[ubyte]:ToString():System.String:this (FullOpts)
          -8 (-1.72 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Point:ToString():System.String:this (FullOpts)
          -6 (-1.71 % of base) : System.Net.Primitives.dasm - System.Net.CredentialHostKey:ToString():System.String:this (FullOpts)
          -6 (-1.70 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.Design.CommandID:ToString():System.String:this (FullOpts)
         -25 (-1.70 % 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)
         -15 (-1.69 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
          -8 (-1.69 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:get_DebuggerDisplay():System.String:this (FullOpts)
          -8 (-1.68 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:GetStringForEnumLongValue(System.String,ubyte):System.String (FullOpts)
          -6 (-1.67 % of base) : System.Net.Security.dasm - System.Net.Security.TlsFrameHeader:ToString():System.String:this (FullOpts)
          -8 (-1.65 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Size:ToString():System.String:this (FullOpts)
          -5 (-1.64 % of base) : System.Net.Http.dasm - System.Net.Http.HttpRequestOptions:DebuggerToString():System.String:this (FullOpts)
          -8 (-1.64 % of base) : System.Drawing.Primitives.dasm - System.Drawing.SizeF:ToString():System.String:this (FullOpts)

773 total methods with Code Size differences (709 improved, 64 regressed), 232287 unchanged.

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

Artifacts:

xtqqczze referenced this issue in xtqqczze/dotnet-runtime Jan 11, 2025
@MihuBot
Copy link
Owner Author

MihuBot commented Jan 11, 2025

Top method regressions

38 (2.94 % of base) - System.Text.Json.JsonWriterHelper:ValidateNumber(System.ReadOnlySpan`1[ubyte])
 ; Assembly listing for method System.Text.Json.JsonWriterHelper:ValidateNumber(System.ReadOnlySpan`1[ubyte]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 11 single block inlinees; 12 inlinees without PGO data
+; 0 inlinees with PGO data; 11 single block inlinees; 8 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ubyte]>
 ;  V01 loc0         [V01,T00] ( 38, 53   )     int  ->  r14        
 ;  V02 loc1         [V02,T03] ( 12,  4   )   ubyte  ->  r13        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T19] (  2,  0   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V05 tmp2         [V05,T07] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;  V06 tmp3         [V06,T08] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;  V07 tmp4         [V07,T09] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;  V08 tmp5         [V08,T20] (  2,  0   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V09 tmp6         [V09,T10] (  3,  0   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;  V10 tmp7         [V10,T11] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;  V11 tmp8         [V11,T12] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;* V12 tmp9         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp10        [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V14 tmp11        [V14,T13] (  3,  0   )     ref  ->  r15         class-hnd "Inline return value spill temp" <System.String>
 ;* V15 tmp12        [V15    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
 ;  V16 tmp13        [V16    ] ( 10,  0   )  struct (40) [rbp-0x48]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;  V17 tmp14        [V17,T17] (  2,  0   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;* V18 tmp15        [V18    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V19 tmp16        [V19,T05] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V20 tmp17        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V21 tmp18        [V21,T21] (  2,  0   )   byref  ->  r15         single-def "Inlining Arg"
-;  V22 tmp19        [V22,T35] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V23 tmp20        [V23,T36] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V24 tmp21        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V25 tmp22        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V26 tmp23        [V26    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V27 tmp24        [V27,T37] (  2,  0   )  ushort  ->  r13         "Inlining Arg"
-;  V28 tmp25        [V28,T14] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "dup spill" <System.String>
-;* V29 tmp26        [V29    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V30 tmp27        [V30,T15] (  3,  0   )     ref  ->  r15         class-hnd "Inline return value spill temp" <System.String>
-;  V31 tmp28        [V31,T04] (  5,  0   )   ubyte  ->  rbx         "Inlining Arg"
-;* V32 tmp29        [V32    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
-;  V33 tmp30        [V33    ] ( 10,  0   )  struct (40) [rbp-0x70]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
-;  V34 tmp31        [V34,T18] (  2,  0   )   ubyte  ->  rdi         "Inline return value spill temp"
-;* V35 tmp32        [V35    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V36 tmp33        [V36,T06] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V37 tmp34        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V38 tmp35        [V38,T22] (  2,  0   )   byref  ->  r15         single-def "Inlining Arg"
-;  V39 tmp36        [V39,T38] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V40 tmp37        [V40,T39] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V41 tmp38        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V42 tmp39        [V42    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V43 tmp40        [V43    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V44 tmp41        [V44,T40] (  2,  0   )  ushort  ->  rbx         "Inlining Arg"
-;  V45 tmp42        [V45,T16] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "dup spill" <System.String>
-;  V46 tmp43        [V46,T02] ( 10, 16.50)   byref  ->  r15         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V47 tmp44        [V47,T01] ( 17, 23.50)     int  ->  rbx         single-def "field V00._length (fldOffset=0x8)" P-INDEP
-;* V48 tmp45        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V49 tmp46        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
-;* V50 tmp47        [V50    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V51 tmp48        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V52 tmp49        [V52    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V53 tmp50        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V54 tmp51        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V35._reference (fldOffset=0x0)" P-INDEP
-;* V55 tmp52        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
-;* V56 tmp53        [V56    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V37._reference (fldOffset=0x0)" P-INDEP
-;* V57 tmp54        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
-;* V58 tmp55        [V58    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V41._reference (fldOffset=0x0)" P-INDEP
-;* V59 tmp56        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
-;  V60 tmp57        [V60,T23] (  2,  0   )     ref  ->  rbx         single-def "argument with side effect"
-;  V61 tmp58        [V61,T24] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V62 tmp59        [V62,T25] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
-;  V63 tmp60        [V63,T26] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V64 tmp61        [V64,T27] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
-;  V65 tmp62        [V65,T28] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V66 tmp63        [V66,T29] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
-;  V67 tmp64        [V67,T30] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V68 tmp65        [V68,T31] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
-;  V69 tmp66        [V69,T32] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V70 tmp67        [V70,T33] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
-;  V71 tmp68        [V71,T34] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V19 tmp16        [V19,T05] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V20 tmp17        [V20    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V21 tmp18        [V21,T21] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V22 tmp19        [V22,T37] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;  V23 tmp20        [V23,T38] (  2,  0   )  ushort  ->  r13         "Inlining Arg"
+;  V24 tmp21        [V24,T14] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "dup spill" <System.String>
+;* V25 tmp22        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;  V26 tmp23        [V26,T15] (  3,  0   )     ref  ->  r15         class-hnd "Inline return value spill temp" <System.String>
+;  V27 tmp24        [V27,T04] (  5,  0   )   ubyte  ->  rbx         "Inlining Arg"
+;* V28 tmp25        [V28    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
+;  V29 tmp26        [V29    ] ( 10,  0   )  struct (40) [rbp-0x70]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V30 tmp27        [V30,T18] (  2,  0   )   ubyte  ->  rdi         "Inline return value spill temp"
+;* V31 tmp28        [V31    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
+;  V32 tmp29        [V32,T06] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V33 tmp30        [V33    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V34 tmp31        [V34,T22] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V35 tmp32        [V35,T39] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;  V36 tmp33        [V36,T40] (  2,  0   )  ushort  ->  rbx         "Inlining Arg"
+;  V37 tmp34        [V37,T16] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "dup spill" <System.String>
+;  V38 tmp35        [V38,T02] ( 10, 16.50)   byref  ->  r15         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V39 tmp36        [V39,T01] ( 17, 23.50)     int  ->  rbx         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;* V40 tmp37        [V40    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V41 tmp38        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;  V42 tmp39        [V42,T23] (  2,  0   )   byref  ->  rsi         single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp40        [V43,T41] (  2,  0   )     int  ->  rdx         "field V20._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp41        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp42        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
+;  V46 tmp43        [V46,T24] (  2,  0   )   byref  ->  rsi         single-def "field V33._reference (fldOffset=0x0)" P-INDEP
+;  V47 tmp44        [V47,T42] (  2,  0   )     int  ->  rdx         "field V33._length (fldOffset=0x8)" P-INDEP
+;  V48 tmp45        [V48,T25] (  2,  0   )     ref  ->  rbx         single-def "argument with side effect"
+;  V49 tmp46        [V49,T26] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V50 tmp47        [V50,T27] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
+;  V51 tmp48        [V51,T28] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V52 tmp49        [V52,T29] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
+;  V53 tmp50        [V53,T30] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V54 tmp51        [V54,T31] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
+;  V55 tmp52        [V55,T32] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V56 tmp53        [V56,T33] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
+;  V57 tmp54        [V57,T34] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V58 tmp55        [V58,T35] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
+;  V59 tmp56        [V59,T36] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;
 ; Lcl frame size = 80
 
 G_M850_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 80
        lea      rbp, [rsp+0x70]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu32 zmmword ptr [rbp-0x70], zmm8
        vmovdqa  xmmword ptr [rbp-0x30], xmm8
        mov      r15, rdi
        mov      ebx, esi
 						;; size=42 bbWeight=1 PerfScore 10.58
 G_M850_IG02:
        xor      r14d, r14d
        test     ebx, ebx
        je       G_M850_IG36
        cmp      byte  ptr [r15], 45
        jne      SHORT G_M850_IG04
 						;; size=17 bbWeight=1 PerfScore 5.50
 G_M850_IG03:
        mov      r14d, 1
        cmp      ebx, 1
        jle      G_M850_IG35
 						;; size=15 bbWeight=0.50 PerfScore 0.75
 G_M850_IG04:
        mov      eax, r14d
        cmp      byte  ptr [r15+rax], 48
        jne      SHORT G_M850_IG07
 						;; size=10 bbWeight=1 PerfScore 4.25
 G_M850_IG05:
        inc      r14d
        jmp      SHORT G_M850_IG08
 						;; size=5 bbWeight=0.50 PerfScore 1.12
 G_M850_IG06:
        inc      r14d
 						;; size=3 bbWeight=2 PerfScore 0.50
 G_M850_IG07:
        cmp      r14d, ebx
        jge      SHORT G_M850_IG08
        mov      eax, r14d
        movzx    rax, byte  ptr [r15+rax]
        add      eax, -48
        cmp      eax, 9
        jbe      SHORT G_M850_IG06
 						;; size=21 bbWeight=4 PerfScore 20.00
 G_M850_IG08:
        cmp      r14d, ebx
        je       G_M850_IG20
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M850_IG09:
        cmp      r14d, ebx
        jae      G_M850_IG36
        mov      eax, r14d
        movzx    r13, byte  ptr [r15+rax]
        cmp      r13d, 46
        jne      SHORT G_M850_IG13
        inc      r14d
        cmp      ebx, r14d
        jg       SHORT G_M850_IG11
        jmp      G_M850_IG34
 						;; size=36 bbWeight=0.50 PerfScore 4.12
 G_M850_IG10:
        inc      r14d
 						;; size=3 bbWeight=2 PerfScore 0.50
 G_M850_IG11:
        cmp      r14d, ebx
        jge      SHORT G_M850_IG12
        mov      eax, r14d
        movzx    rax, byte  ptr [r15+rax]
        add      eax, -48
        cmp      eax, 9
        jbe      SHORT G_M850_IG10
 						;; size=21 bbWeight=4 PerfScore 20.00
 G_M850_IG12:
        cmp      r14d, ebx
        je       G_M850_IG20
        cmp      r14d, ebx
        jae      G_M850_IG36
        mov      eax, r14d
        movzx    r13, byte  ptr [r15+rax]
 						;; size=26 bbWeight=0.50 PerfScore 2.38
 G_M850_IG13:
        cmp      r13d, 101
        je       SHORT G_M850_IG14
        cmp      r13d, 69
        jne      G_M850_IG28
 						;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M850_IG14:
        inc      r14d
        cmp      ebx, r14d
        jle      G_M850_IG27
        cmp      r14d, ebx
        jae      G_M850_IG36
        mov      eax, r14d
        movzx    r13, byte  ptr [r15+rax]
        cmp      r13d, 43
        je       SHORT G_M850_IG15
        cmp      r13d, 45
        jne      SHORT G_M850_IG16
 						;; size=41 bbWeight=0.50 PerfScore 3.75
 G_M850_IG15:
        inc      r14d
 						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M850_IG16:
        cmp      ebx, r14d
        jg       SHORT G_M850_IG18
        jmp      G_M850_IG26
 						;; size=10 bbWeight=0.50 PerfScore 1.62
 G_M850_IG17:
        inc      r14d
 						;; size=3 bbWeight=2 PerfScore 0.50
 G_M850_IG18:
        cmp      r14d, ebx
        jge      SHORT G_M850_IG19
        cmp      r14d, ebx
        jae      G_M850_IG36
        mov      eax, r14d
        movzx    rax, byte  ptr [r15+rax]
        add      eax, -48
        cmp      eax, 9
        jbe      SHORT G_M850_IG17
 						;; size=30 bbWeight=4 PerfScore 25.00
 G_M850_IG19:
        cmp      r14d, ebx
        jne      SHORT G_M850_IG21
 						;; size=5 bbWeight=0.50 PerfScore 0.62
 G_M850_IG20:
        add      rsp, 80
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=13 bbWeight=1 PerfScore 3.75
 G_M850_IG21:
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_ExpectedEndOfDigitNotFound():System.String
        call     [rax]System.SR:get_ExpectedEndOfDigitNotFound():System.String
        mov      r13, rax
        cmp      r14d, ebx
        jae      G_M850_IG36
        mov      edi, r14d
        movzx    rbx, byte  ptr [r15+rdi]
        cmp      ebx, 32
        jl       SHORT G_M850_IG22
        cmp      ebx, 127
        setl     dil
        movzx    rdi, dil
        test     edi, edi
        je       SHORT G_M850_IG22
        mov      edi, 1
        call     System.String:FastAllocateString(int):System.String
        mov      r15, rax
        mov      word  ptr [r15+0x0C], bx
        jmp      G_M850_IG25
 						;; size=75 bbWeight=0 PerfScore 0.00
 G_M850_IG22:
        lea      rdi, [rbp-0x70]
        mov      esi, 2
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
-       mov      edi, dword ptr [rbp-0x60]
-       cmp      edi, dword ptr [rbp-0x50]
+       mov      esi, dword ptr [rbp-0x60]
+       cmp      esi, dword ptr [rbp-0x50]
        ja       G_M850_IG33
-       mov      rsi, bword ptr [rbp-0x58]
-       mov      eax, edi
-       lea      r15, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x50]
-       sub      esi, edi
-       cmp      esi, 2
-       jae      SHORT G_M850_IG23
+       mov      rdx, bword ptr [rbp-0x58]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x50]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; '0x'
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M850_IG23
        lea      rdi, [rbp-0x70]
        mov      rsi, 0xD1FFAB1E      ; '0x'
        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_M850_IG24
-						;; size=86 bbWeight=0 PerfScore 0.00
+						;; size=112 bbWeight=0 PerfScore 0.00
 G_M850_IG23:
-       mov      dword ptr [r15], 0xD1FFAB1E
        mov      edi, dword ptr [rbp-0x60]
        add      edi, 2
        mov      dword ptr [rbp-0x60], edi
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M850_IG24:
        lea      rdi, [rbp-0x70]
        mov      esi, ebx
        mov      rdx, 0xD1FFAB1E      ; 'X2'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[ubyte](ubyte,System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[ubyte](ubyte,System.String):this
        lea      rdi, [rbp-0x70]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        mov      r15, rax
 						;; size=47 bbWeight=0 PerfScore 0.00
 G_M850_IG25:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rdi, r13
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.SR:Format(System.String,System.Object):System.String
        call     [rax]System.SR:Format(System.String,System.Object):System.String
        mov      r15, rax
        mov      edi, 0x3C74
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=89 bbWeight=0 PerfScore 0.00
 G_M850_IG26:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_RequiredDigitNotFoundEndOfData():System.String
        call     [rax]System.SR:get_RequiredDigitNotFoundEndOfData():System.String
        mov      r15, rax
        mov      edi, 0x3C74
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M850_IG27:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_RequiredDigitNotFoundEndOfData():System.String
        call     [rax]System.SR:get_RequiredDigitNotFoundEndOfData():System.String
        mov      r15, rax
        mov      edi, 0x3C74
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M850_IG28:
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_ExpectedEndOfDigitNotFound():System.String
        call     [rax]System.SR:get_ExpectedEndOfDigitNotFound():System.String
        mov      rbx, rax
        cmp      r13d, 32
        jl       SHORT G_M850_IG29
        cmp      r13d, 127
        setl     dil
        movzx    rdi, dil
        test     edi, edi
        je       SHORT G_M850_IG29
        mov      edi, 1
        call     System.String:FastAllocateString(int):System.String
        mov      r15, rax
        mov      word  ptr [r15+0x0C], r13w
        jmp      G_M850_IG32
 						;; size=60 bbWeight=0 PerfScore 0.00
 G_M850_IG29:
        lea      rdi, [rbp-0x48]
        mov      esi, 2
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
-       mov      edi, dword ptr [rbp-0x38]
-       cmp      edi, dword ptr [rbp-0x28]
+       mov      esi, dword ptr [rbp-0x38]
+       cmp      esi, dword ptr [rbp-0x28]
        ja       G_M850_IG33
-       mov      rsi, bword ptr [rbp-0x30]
-       mov      eax, edi
-       lea      r15, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x28]
-       sub      esi, edi
-       cmp      esi, 2
-       jae      SHORT G_M850_IG30
+       mov      rdx, bword ptr [rbp-0x30]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x28]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; '0x'
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M850_IG30
        lea      rdi, [rbp-0x48]
        mov      rsi, 0xD1FFAB1E      ; '0x'
        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_M850_IG31
-						;; size=86 bbWeight=0 PerfScore 0.00
+						;; size=112 bbWeight=0 PerfScore 0.00
 G_M850_IG30:
-       mov      dword ptr [r15], 0xD1FFAB1E
        mov      edi, dword ptr [rbp-0x38]
        add      edi, 2
        mov      dword ptr [rbp-0x38], edi
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M850_IG31:
        lea      rdi, [rbp-0x48]
        mov      esi, r13d
        mov      rdx, 0xD1FFAB1E      ; 'X2'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[ubyte](ubyte,System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[ubyte](ubyte,System.String):this
        lea      rdi, [rbp-0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        mov      r15, rax
 						;; size=48 bbWeight=0 PerfScore 0.00
 G_M850_IG32:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      rdi, rbx
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.SR:Format(System.String,System.Object):System.String
        call     [rax]System.SR:Format(System.String,System.Object):System.String
        mov      rbx, rax
        mov      edi, 0x3C74
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, rbx
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, r14
        call     CORINFO_HELP_THROW
        int3     
 						;; size=89 bbWeight=0 PerfScore 0.00
 G_M850_IG33:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M850_IG34:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_RequiredDigitNotFoundEndOfData():System.String
        call     [rax]System.SR:get_RequiredDigitNotFoundEndOfData():System.String
        mov      r15, rax
        mov      edi, 0x3C74
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M850_IG35:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_RequiredDigitNotFoundEndOfData():System.String
        call     [rax]System.SR:get_RequiredDigitNotFoundEndOfData():System.String
        mov      r15, rax
        mov      edi, 0x3C74
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M850_IG36:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1292, prolog size 42, PerfScore 107.58, instruction count 308, allocated bytes for code 1292 (MethodHash=d00dfcad) for method System.Text.Json.JsonWriterHelper:ValidateNumber(System.ReadOnlySpan`1[ubyte]) (FullOpts)
+; Total bytes of code 1330, prolog size 42, PerfScore 107.58, instruction count 316, allocated bytes for code 1330 (MethodHash=d00dfcad) for method System.Text.Json.JsonWriterHelper:ValidateNumber(System.ReadOnlySpan`1[ubyte]) (FullOpts)
 ; ============================================================
19 (3.65 % of base) - Interop+Sys:GetDomainName():System.String
 ; Assembly listing for method Interop+Sys:GetDomainName():System.String (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 loc0         [V00,T04] (  3,  2   )     int  ->  rbx        
 ;  V01 loc1         [V01,T03] (  6,  3   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;  V02 loc2         [V02    ] ( 11,  0   )  struct (40) [rbp-0x50]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T01] (  3,  6   )    long  ->  r15         "dup spill"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref   
 ;  V06 tmp3         [V06,T06] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
 ;* V07 tmp4         [V07    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V08 tmp5         [V08,T05] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V10 tmp7         [V10,T07] (  2,  0   )   byref  ->  r15         single-def "Inlining Arg"
-;  V11 tmp8         [V11,T09] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V12 tmp9         [V12,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V13 tmp10        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V14 tmp11        [V14    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V15 tmp12        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V16 tmp13        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V17 tmp14        [V17    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V18 tmp15        [V18,T02] (  3,  4   )     ref  ->  rax         "Single return block return value"
-;  V19 FramesRoot   [V19,T00] (  6,  6   )    long  ->  rbx         "Pinvoke FrameListRoot"
-;  V20 PInvokeFrame [V20    ] (  8,  8   )  struct (64) [rbp-0x90]  do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
-;* V21 tmp18        [V21    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V22 tmp19        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;* V23 tmp20        [V23    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V24 tmp21        [V24    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;* V25 tmp22        [V25    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V26 tmp23        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V27 tmp24        [V27,T08] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V28 GsCookie     [V28    ] (  1,  1   )    long  ->  [rbp-0x98]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
+;  V08 tmp5         [V08,T05] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V10 tmp7         [V10,T07] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V11 tmp8         [V11,T10] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;* V12 tmp9         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
+;* V13 tmp10        [V13    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V14 tmp11        [V14,T02] (  3,  4   )     ref  ->  rax         "Single return block return value"
+;  V15 FramesRoot   [V15,T00] (  6,  6   )    long  ->  rbx         "Pinvoke FrameListRoot"
+;  V16 PInvokeFrame [V16    ] (  8,  8   )  struct (64) [rbp-0x90]  do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
+;* V17 tmp14        [V17    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V18 tmp15        [V18    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
+;  V19 tmp16        [V19,T08] (  2,  0   )   byref  ->  rsi         single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V20 tmp17        [V20,T11] (  2,  0   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V21 tmp18        [V21,T09] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V22 GsCookie     [V22    ] (  1,  1   )    long  ->  [rbp-0x98]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
 ;
 ; Lcl frame size = 120
 
 G_M17789_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 120
        vzeroupper 
        lea      rbp, [rsp+0xA0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x50], ymm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0x98], 0xD1FFAB1E
 						;; size=52 bbWeight=1 PerfScore 12.33
 G_M17789_IG02:
        lea      rdi, [rbp-0x88]
        call     CORINFO_HELP_INIT_PINVOKE_FRAME
        mov      rbx, rax
        mov      rdi, rsp
        mov      qword ptr [rbp-0x70], rdi
        mov      rdi, rbp
        mov      qword ptr [rbp-0x60], rdi
        test     dword ptr [rsp], esp
        sub      rsp, 256
        lea      r15, [rsp]
        mov      rdi, r15
        mov      esi, 256
        mov      rax, 0xD1FFAB1E      ; function address
        mov      qword ptr [rbp-0x78], rax
        lea      rax, G_M17789_IG05
        mov      qword ptr [rbp-0x68], rax
        lea      rax, [rbp-0x88]
        mov      qword ptr [rbx+0x08], rax
        mov      byte  ptr [rbx+0x04], 0
 						;; size=91 bbWeight=1 PerfScore 14.25
 G_M17789_IG03:
        mov      rax, 0xD1FFAB1E      ; function address
 						;; size=10 bbWeight=1 PerfScore 0.25
 G_M17789_IG04:
        call     rax ; Interop+Sys:GetDomainName(ulong,int):int
 						;; size=2 bbWeight=1 PerfScore 3.00
 G_M17789_IG05:
        mov      byte  ptr [rbx+0x04], 1
        mov      rcx, 0xD1FFAB1E      ; function address
        cmp      dword ptr [rcx], 0
        je       SHORT G_M17789_IG06
        mov      rdi, 0xD1FFAB1E
        call     [rdi]CORINFO_HELP_STOP_FOR_GC
 						;; size=31 bbWeight=1 PerfScore 8.50
 G_M17789_IG06:
        mov      rdi, qword ptr [rbp-0x80]
        mov      qword ptr [rbx+0x08], rdi
        mov      ebx, eax
        test     ebx, ebx
        jne      SHORT G_M17789_IG14
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.Marshal:PtrToStringUTF8(long):System.String
        call     [rax]System.Runtime.InteropServices.Marshal:PtrToStringUTF8(long):System.String
        test     rax, rax
        je       SHORT G_M17789_IG09
 						;; size=34 bbWeight=1 PerfScore 8.25
 G_M17789_IG07:
        cmp      dword ptr [rax+0x08], 6
        jne      SHORT G_M17789_IG09
 						;; size=6 bbWeight=0.25 PerfScore 1.00
 G_M17789_IG08:
        mov      rdi, 0xD1FFAB1E
        xor      rdi, qword ptr [rax+0x0C]
        mov      esi, dword ptr [rax+0x14]
        xor      esi, 0xD1FFAB1E
        or       rdi, rsi
        je       SHORT G_M17789_IG10
 						;; size=28 bbWeight=0.12 PerfScore 0.84
 G_M17789_IG09:
        jmp      SHORT G_M17789_IG11
 						;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M17789_IG10:
        mov      rax, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M17789_IG11:
        cmp      qword ptr [rbp-0x98], 0xD1FFAB1E
        je       SHORT G_M17789_IG12
        call     CORINFO_HELP_FAIL_FAST
 						;; size=18 bbWeight=1 PerfScore 4.00
 G_M17789_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M17789_IG13:
        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_M17789_IG14:
        lea      rdi, [rbp-0x50]
        mov      esi, 2
        mov      edx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; 'GetDomainName'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
-       mov      edi, dword ptr [rbp-0x40]
-       cmp      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x40]
+       cmp      esi, dword ptr [rbp-0x30]
        ja       G_M17789_IG17
-       mov      rsi, bword ptr [rbp-0x38]
-       mov      eax, edi
-       lea      r15, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x30]
-       sub      esi, edi
-       cmp      esi, 2
-       jae      SHORT G_M17789_IG15
+       mov      rdx, bword ptr [rbp-0x38]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x30]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; ': '
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M17789_IG15
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; ': '
        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_M17789_IG16
-						;; size=112 bbWeight=0 PerfScore 0.00
+						;; size=138 bbWeight=0 PerfScore 0.00
 G_M17789_IG15:
-       mov      dword ptr [r15], 0xD1FFAB1E
        mov      edi, dword ptr [rbp-0x40]
        add      edi, 2
        mov      dword ptr [rbp-0x40], edi
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M17789_IG16:
        lea      rdi, [rbp-0x50]
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=79 bbWeight=0 PerfScore 0.00
 G_M17789_IG17:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 520, prolog size 52, PerfScore 58.30, instruction count 121, allocated bytes for code 520 (MethodHash=8821ba82) for method Interop+Sys:GetDomainName():System.String (FullOpts)
+; Total bytes of code 539, prolog size 52, PerfScore 58.30, instruction count 125, allocated bytes for code 539 (MethodHash=8821ba82) for method Interop+Sys:GetDomainName():System.String (FullOpts)
 ; ============================================================
19 (3.65 % of base) - Interop+Sys:GetDomainName():System.String
 ; Assembly listing for method Interop+Sys:GetDomainName():System.String (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 loc0         [V00,T04] (  3,  2   )     int  ->  rbx        
 ;  V01 loc1         [V01,T03] (  6,  3   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;  V02 loc2         [V02    ] ( 11,  0   )  struct (40) [rbp-0x50]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T01] (  3,  6   )    long  ->  r15         "dup spill"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref   
 ;  V06 tmp3         [V06,T06] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
 ;* V07 tmp4         [V07    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V08 tmp5         [V08,T05] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V10 tmp7         [V10,T07] (  2,  0   )   byref  ->  r15         single-def "Inlining Arg"
-;  V11 tmp8         [V11,T09] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V12 tmp9         [V12,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V13 tmp10        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V14 tmp11        [V14    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V15 tmp12        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V16 tmp13        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V17 tmp14        [V17    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V18 tmp15        [V18,T02] (  3,  4   )     ref  ->  rax         "Single return block return value"
-;  V19 FramesRoot   [V19,T00] (  6,  6   )    long  ->  rbx         "Pinvoke FrameListRoot"
-;  V20 PInvokeFrame [V20    ] (  8,  8   )  struct (64) [rbp-0x90]  do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
-;* V21 tmp18        [V21    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V22 tmp19        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;* V23 tmp20        [V23    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V24 tmp21        [V24    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;* V25 tmp22        [V25    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V26 tmp23        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V27 tmp24        [V27,T08] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V28 GsCookie     [V28    ] (  1,  1   )    long  ->  [rbp-0x98]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
+;  V08 tmp5         [V08,T05] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V10 tmp7         [V10,T07] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V11 tmp8         [V11,T10] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;* V12 tmp9         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
+;* V13 tmp10        [V13    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V14 tmp11        [V14,T02] (  3,  4   )     ref  ->  rax         "Single return block return value"
+;  V15 FramesRoot   [V15,T00] (  6,  6   )    long  ->  rbx         "Pinvoke FrameListRoot"
+;  V16 PInvokeFrame [V16    ] (  8,  8   )  struct (64) [rbp-0x90]  do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
+;* V17 tmp14        [V17    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V18 tmp15        [V18    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
+;  V19 tmp16        [V19,T08] (  2,  0   )   byref  ->  rsi         single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V20 tmp17        [V20,T11] (  2,  0   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V21 tmp18        [V21,T09] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V22 GsCookie     [V22    ] (  1,  1   )    long  ->  [rbp-0x98]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
 ;
 ; Lcl frame size = 120
 
 G_M17789_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 120
        vzeroupper 
        lea      rbp, [rsp+0xA0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x50], ymm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0x98], 0xD1FFAB1E
 						;; size=52 bbWeight=1 PerfScore 12.33
 G_M17789_IG02:
        lea      rdi, [rbp-0x88]
        call     CORINFO_HELP_INIT_PINVOKE_FRAME
        mov      rbx, rax
        mov      rdi, rsp
        mov      qword ptr [rbp-0x70], rdi
        mov      rdi, rbp
        mov      qword ptr [rbp-0x60], rdi
        test     dword ptr [rsp], esp
        sub      rsp, 256
        lea      r15, [rsp]
        mov      rdi, r15
        mov      esi, 256
        mov      rax, 0xD1FFAB1E      ; function address
        mov      qword ptr [rbp-0x78], rax
        lea      rax, G_M17789_IG05
        mov      qword ptr [rbp-0x68], rax
        lea      rax, [rbp-0x88]
        mov      qword ptr [rbx+0x08], rax
        mov      byte  ptr [rbx+0x04], 0
 						;; size=91 bbWeight=1 PerfScore 14.25
 G_M17789_IG03:
        mov      rax, 0xD1FFAB1E      ; function address
 						;; size=10 bbWeight=1 PerfScore 0.25
 G_M17789_IG04:
        call     rax ; Interop+Sys:GetDomainName(ulong,int):int
 						;; size=2 bbWeight=1 PerfScore 3.00
 G_M17789_IG05:
        mov      byte  ptr [rbx+0x04], 1
        mov      rcx, 0xD1FFAB1E      ; function address
        cmp      dword ptr [rcx], 0
        je       SHORT G_M17789_IG06
        mov      rdi, 0xD1FFAB1E
        call     [rdi]CORINFO_HELP_STOP_FOR_GC
 						;; size=31 bbWeight=1 PerfScore 8.50
 G_M17789_IG06:
        mov      rdi, qword ptr [rbp-0x80]
        mov      qword ptr [rbx+0x08], rdi
        mov      ebx, eax
        test     ebx, ebx
        jne      SHORT G_M17789_IG14
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.Marshal:PtrToStringUTF8(long):System.String
        call     [rax]System.Runtime.InteropServices.Marshal:PtrToStringUTF8(long):System.String
        test     rax, rax
        je       SHORT G_M17789_IG09
 						;; size=34 bbWeight=1 PerfScore 8.25
 G_M17789_IG07:
        cmp      dword ptr [rax+0x08], 6
        jne      SHORT G_M17789_IG09
 						;; size=6 bbWeight=0.25 PerfScore 1.00
 G_M17789_IG08:
        mov      rdi, 0xD1FFAB1E
        xor      rdi, qword ptr [rax+0x0C]
        mov      esi, dword ptr [rax+0x14]
        xor      esi, 0xD1FFAB1E
        or       rdi, rsi
        je       SHORT G_M17789_IG10
 						;; size=28 bbWeight=0.12 PerfScore 0.84
 G_M17789_IG09:
        jmp      SHORT G_M17789_IG11
 						;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M17789_IG10:
        mov      rax, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M17789_IG11:
        cmp      qword ptr [rbp-0x98], 0xD1FFAB1E
        je       SHORT G_M17789_IG12
        call     CORINFO_HELP_FAIL_FAST
 						;; size=18 bbWeight=1 PerfScore 4.00
 G_M17789_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M17789_IG13:
        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_M17789_IG14:
        lea      rdi, [rbp-0x50]
        mov      esi, 2
        mov      edx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; 'GetDomainName'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
-       mov      edi, dword ptr [rbp-0x40]
-       cmp      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x40]
+       cmp      esi, dword ptr [rbp-0x30]
        ja       G_M17789_IG17
-       mov      rsi, bword ptr [rbp-0x38]
-       mov      eax, edi
-       lea      r15, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x30]
-       sub      esi, edi
-       cmp      esi, 2
-       jae      SHORT G_M17789_IG15
+       mov      rdx, bword ptr [rbp-0x38]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x30]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; ': '
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M17789_IG15
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; ': '
        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_M17789_IG16
-						;; size=112 bbWeight=0 PerfScore 0.00
+						;; size=138 bbWeight=0 PerfScore 0.00
 G_M17789_IG15:
-       mov      dword ptr [r15], 0xD1FFAB1E
        mov      edi, dword ptr [rbp-0x40]
        add      edi, 2
        mov      dword ptr [rbp-0x40], edi
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M17789_IG16:
        lea      rdi, [rbp-0x50]
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=79 bbWeight=0 PerfScore 0.00
 G_M17789_IG17:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 520, prolog size 52, PerfScore 58.30, instruction count 121, allocated bytes for code 520 (MethodHash=8821ba82) for method Interop+Sys:GetDomainName():System.String (FullOpts)
+; Total bytes of code 539, prolog size 52, PerfScore 58.30, instruction count 125, allocated bytes for code 539 (MethodHash=8821ba82) for method Interop+Sys:GetDomainName():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/7ba0525a38191efcc15c1ae742ad92f6

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 11, 2025

Top method improvements

-115 (-9.88 % of base) - Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions:ReserveClient(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Type,System.String,ubyte)
 ; Assembly listing for method Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions:ReserveClient(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Type,System.String,ubyte) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 10 single block inlinees; 25 inlinees without PGO data
+; 0 inlinees with PGO data; 10 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  4,  4   )     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.DependencyInjection.IHttpClientBuilder>
 ;  V01 arg1         [V01,T04] (  4,  3   )     ref  ->  r13         class-hnd single-def <System.Type>
 ;  V02 arg2         [V02,T03] (  5,  3.50)     ref  ->  r14         class-hnd single-def <System.String>
 ;  V03 arg3         [V03,T01] (  4,  4   )   ubyte  ->  r15         single-def
 ;  V04 loc0         [V04,T06] (  3,  2.50)     ref  ->  rbx         class-hnd exact single-def <Microsoft.Extensions.DependencyInjection.HttpClientMappingRegistry>
 ;  V05 loc1         [V05,T09] (  7,  1.50)     ref  ->  r12         ld-addr-op class-hnd <System.Type>
 ;  V06 loc2         [V06    ] ( 47,  0   )  struct (40) [rbp-0x50]  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,T20] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-;  V09 tmp2         [V09,T21] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
+;  V08 tmp1         [V08,T16] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
+;  V09 tmp2         [V09,T17] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
 ;  V10 tmp3         [V10,T08] (  3,  2   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;  V11 tmp4         [V11,T02] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Type]>
 ;  V12 tmp5         [V12,T07] (  3,  2.50)   byref  ->  rax         single-def "Inline stloc first use temp"
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Type>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V15 tmp8         [V15,T14] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V17 tmp10        [V17,T12] (  5,  0   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V18 tmp11        [V18,T28] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V19 tmp12        [V19,T29] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V20 tmp13        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V21 tmp14        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V22 tmp15        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V23 tmp16        [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V24 tmp17        [V24,T15] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V25 tmp18        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V26 tmp19        [V26,T13] (  4,  0   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V27 tmp20        [V27,T30] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V28 tmp21        [V28,T31] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V30 tmp23        [V30    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V31 tmp24        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V32 tmp25        [V32    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V33 tmp26        [V33,T16] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V34 tmp27        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V35 tmp28        [V35,T22] (  3,  0   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V36 tmp29        [V36,T32] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V37 tmp30        [V37,T33] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V38 tmp31        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V39 tmp32        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V40 tmp33        [V40    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V41 tmp34        [V41    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V42 tmp35        [V42,T17] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V43 tmp36        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V44 tmp37        [V44,T10] (  6,  0   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V45 tmp38        [V45,T34] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V46 tmp39        [V46,T35] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V47 tmp40        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V48 tmp41        [V48    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V49 tmp42        [V49    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V50 tmp43        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V51 tmp44        [V51,T18] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V52 tmp45        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V53 tmp46        [V53,T23] (  2,  0   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V54 tmp47        [V54,T36] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V55 tmp48        [V55,T37] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V56 tmp49        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V57 tmp50        [V57    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V59 tmp52        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V60 tmp53        [V60,T19] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V61 tmp54        [V61    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V62 tmp55        [V62,T11] (  6,  0   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V63 tmp56        [V63,T38] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V64 tmp57        [V64,T39] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V65 tmp58        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V66 tmp59        [V66    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V67 tmp60        [V67    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V68 tmp61        [V68,T05] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Type]>
-;* V69 tmp62        [V69    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
-;* V70 tmp63        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
-;* V71 tmp64        [V71    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
-;* V72 tmp65        [V72    ] (  0,  0   )     int  ->  zero-ref    single-def "field V16._length (fldOffset=0x8)" P-INDEP
-;* V73 tmp66        [V73    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V74 tmp67        [V74    ] (  0,  0   )     int  ->  zero-ref    single-def "field V20._length (fldOffset=0x8)" P-INDEP
-;* V75 tmp68        [V75    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
-;* V76 tmp69        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
-;* V77 tmp70        [V77    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V78 tmp71        [V78    ] (  0,  0   )     int  ->  zero-ref    single-def "field V25._length (fldOffset=0x8)" P-INDEP
-;* V79 tmp72        [V79    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V29._reference (fldOffset=0x0)" P-INDEP
-;* V80 tmp73        [V80    ] (  0,  0   )     int  ->  zero-ref    single-def "field V29._length (fldOffset=0x8)" P-INDEP
-;* V81 tmp74        [V81    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V82 tmp75        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
-;* V83 tmp76        [V83    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V34._reference (fldOffset=0x0)" P-INDEP
-;* V84 tmp77        [V84    ] (  0,  0   )     int  ->  zero-ref    single-def "field V34._length (fldOffset=0x8)" P-INDEP
-;* V85 tmp78        [V85    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V38._reference (fldOffset=0x0)" P-INDEP
-;* V86 tmp79        [V86    ] (  0,  0   )     int  ->  zero-ref    single-def "field V38._length (fldOffset=0x8)" P-INDEP
-;* V87 tmp80        [V87    ] (  0,  0   )   byref  ->  zero-ref    "field V41._reference (fldOffset=0x0)" P-INDEP
-;* V88 tmp81        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
-;* V89 tmp82        [V89    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V90 tmp83        [V90    ] (  0,  0   )     int  ->  zero-ref    single-def "field V43._length (fldOffset=0x8)" P-INDEP
-;* V91 tmp84        [V91    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
-;* V92 tmp85        [V92    ] (  0,  0   )     int  ->  zero-ref    single-def "field V47._length (fldOffset=0x8)" P-INDEP
-;* V93 tmp86        [V93    ] (  0,  0   )   byref  ->  zero-ref    "field V50._reference (fldOffset=0x0)" P-INDEP
-;* V94 tmp87        [V94    ] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
-;* V95 tmp88        [V95    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V52._reference (fldOffset=0x0)" P-INDEP
-;* V96 tmp89        [V96    ] (  0,  0   )     int  ->  zero-ref    single-def "field V52._length (fldOffset=0x8)" P-INDEP
-;* V97 tmp90        [V97    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V56._reference (fldOffset=0x0)" P-INDEP
-;* V98 tmp91        [V98    ] (  0,  0   )     int  ->  zero-ref    single-def "field V56._length (fldOffset=0x8)" P-INDEP
-;* V99 tmp92        [V99    ] (  0,  0   )   byref  ->  zero-ref    "field V59._reference (fldOffset=0x0)" P-INDEP
-;* V100 tmp93       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
-;* V101 tmp94       [V101    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V61._reference (fldOffset=0x0)" P-INDEP
-;* V102 tmp95       [V102    ] (  0,  0   )     int  ->  zero-ref    single-def "field V61._length (fldOffset=0x8)" P-INDEP
-;* V103 tmp96       [V103    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V104 tmp97       [V104    ] (  0,  0   )     int  ->  zero-ref    single-def "field V65._length (fldOffset=0x8)" P-INDEP
-;  V105 tmp98       [V105,T24] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V106 tmp99       [V106,T25] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V107 tmp100      [V107,T26] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V108 tmp101      [V108,T27] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V15 tmp8         [V15,T10] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V17 tmp10        [V17,T18] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V18 tmp11        [V18,T34] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
+;  V20 tmp13        [V20,T11] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V21 tmp14        [V21    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V22 tmp15        [V22,T19] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V23 tmp16        [V23,T35] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;* V24 tmp17        [V24    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
+;  V25 tmp18        [V25,T12] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V26 tmp19        [V26    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V27 tmp20        [V27,T20] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V28 tmp21        [V28,T36] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
+;  V30 tmp23        [V30,T13] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V32 tmp25        [V32,T21] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V33 tmp26        [V33,T37] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;* V34 tmp27        [V34    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
+;  V35 tmp28        [V35,T14] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V36 tmp29        [V36    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V37 tmp30        [V37,T22] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V38 tmp31        [V38,T38] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;* V39 tmp32        [V39    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
+;  V40 tmp33        [V40,T15] (  4,  0   )     int  ->  rsi         "Inlining Arg"
+;* V41 tmp34        [V41    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;  V42 tmp35        [V42,T23] (  2,  0   )   byref  ->  rdx         single-def "Inlining Arg"
+;  V43 tmp36        [V43,T39] (  2,  0   )     int  ->  rdi         "Inlining Arg"
+;  V44 tmp37        [V44,T05] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Type]>
+;* V45 tmp38        [V45    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V46 tmp39        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;  V47 tmp40        [V47,T24] (  2,  0   )   byref  ->  rsi         single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T40] (  2,  0   )     int  ->  rdx         single-def "field V16._length (fldOffset=0x8)" P-INDEP
+;* V49 tmp42        [V49    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V50 tmp43        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;  V51 tmp44        [V51,T25] (  2,  0   )   byref  ->  rsi         single-def "field V21._reference (fldOffset=0x0)" P-INDEP
+;  V52 tmp45        [V52,T41] (  2,  0   )     int  ->  rdx         single-def "field V21._length (fldOffset=0x8)" P-INDEP
+;* V53 tmp46        [V53    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V54 tmp47        [V54    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;  V55 tmp48        [V55,T26] (  2,  0   )   byref  ->  rsi         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;  V56 tmp49        [V56,T42] (  2,  0   )     int  ->  rdx         single-def "field V26._length (fldOffset=0x8)" P-INDEP
+;* V57 tmp50        [V57    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V58 tmp51        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
+;  V59 tmp52        [V59,T27] (  2,  0   )   byref  ->  rsi         single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;  V60 tmp53        [V60,T43] (  2,  0   )     int  ->  rdx         single-def "field V31._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp54        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V62 tmp55        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
+;  V63 tmp56        [V63,T28] (  2,  0   )   byref  ->  rsi         single-def "field V36._reference (fldOffset=0x0)" P-INDEP
+;  V64 tmp57        [V64,T44] (  2,  0   )     int  ->  rdx         single-def "field V36._length (fldOffset=0x8)" P-INDEP
+;* V65 tmp58        [V65    ] (  0,  0   )   byref  ->  zero-ref    "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V66 tmp59        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
+;  V67 tmp60        [V67,T29] (  2,  0   )   byref  ->  rsi         single-def "field V41._reference (fldOffset=0x0)" P-INDEP
+;  V68 tmp61        [V68,T45] (  2,  0   )     int  ->  rdx         single-def "field V41._length (fldOffset=0x8)" P-INDEP
+;  V69 tmp62        [V69,T30] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V70 tmp63        [V70,T31] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V71 tmp64        [V71,T32] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V72 tmp65        [V72,T33] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;
 ; Lcl frame size = 40
 
 G_M8549_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 40
        lea      rbp, [rsp+0x50]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x50], ymm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      rbx, rdi
        mov      r13, rsi
        mov      r14, rdx
        mov      r15d, ecx
 						;; size=47 bbWeight=1 PerfScore 11.33
 G_M8549_IG02:
        mov      rdi, rbx
        mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.IHttpClientBuilder:get_Name():System.String:this
        call     [r11]Microsoft.Extensions.DependencyInjection.IHttpClientBuilder:get_Name():System.String:this
        test     rax, rax
        je       G_M8549_IG25
        mov      rdi, rbx
        mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.IHttpClientBuilder:get_Services():Microsoft.Extensions.DependencyInjection.IServiceCollection:this
        call     [r11]Microsoft.Extensions.DependencyInjection.IHttpClientBuilder:get_Services():Microsoft.Extensions.DependencyInjection.IServiceCollection:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions:GetMappingRegistry(Microsoft.Extensions.DependencyInjection.IServiceCollection):Microsoft.Extensions.DependencyInjection.HttpClientMappingRegistry
        call     [rax]Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions:GetMappingRegistry(Microsoft.Extensions.DependencyInjection.IServiceCollection):Microsoft.Extensions.DependencyInjection.HttpClientMappingRegistry
        mov      rbx, rax
        mov      rdi, gword ptr [rbx+0x08]
        cmp      byte  ptr [rdi], dil
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this
        test     rax, rax
        jne      SHORT G_M8549_IG04
 						;; size=86 bbWeight=1 PerfScore 21.75
 G_M8549_IG03:
        xor      r12, r12
        xor      edi, edi
        jmp      SHORT G_M8549_IG05
 						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M8549_IG04:
        mov      r12, gword ptr [rax]
        mov      edi, 1
 						;; size=8 bbWeight=0.50 PerfScore 1.12
 G_M8549_IG05:
        movzx    rsi, r15b
        test     edi, esi
        je       SHORT G_M8549_IG07
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M8549_IG06:
        mov      rdi, r13
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
        call     [rax]System.Type:op_Equality(System.Type,System.Type):ubyte
        test     eax, eax
        je       SHORT G_M8549_IG11
 						;; size=22 bbWeight=0.50 PerfScore 2.50
 G_M8549_IG07:
        test     r15b, r15b
        je       SHORT G_M8549_IG09
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M8549_IG08:
        mov      rdi, gword ptr [rbx+0x08]
        cmp      byte  ptr [rdi], dil
        mov      rsi, r14
        mov      rdx, r13
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
 						;; size=30 bbWeight=0.50 PerfScore 4.50
 G_M8549_IG09:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M8549_IG10:
-       vzeroupper 
        add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=18 bbWeight=1 PerfScore 5.25
+						;; size=15 bbWeight=1 PerfScore 4.25
 G_M8549_IG11:
        lea      rdi, [rbp-0x50]
        mov      esi, 289
        mov      edx, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
-       mov      edi, dword ptr [rbp-0x40]
-       cmp      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x40]
+       cmp      esi, dword ptr [rbp-0x30]
        ja       G_M8549_IG24
-       mov      rsi, bword ptr [rbp-0x38]
-       mov      eax, edi
-       lea      rbx, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x30]
-       sub      esi, edi
-       cmp      esi, 70
-       jae      SHORT G_M8549_IG12
+       mov      rdx, bword ptr [rbp-0x38]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x30]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; 'The HttpClient factory already has a registered client with the'
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M8549_IG12
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; 'The HttpClient factory already has a registered client with the'
        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_M8549_IG13
-						;; size=86 bbWeight=0 PerfScore 0.00
+						;; size=112 bbWeight=0 PerfScore 0.00
 G_M8549_IG12:
-       vmovups  zmm0, zmmword ptr [reloc @RWD00]
-       vmovups  zmmword ptr [rbx], zmm0
-       vmovups  zmm0, zmmword ptr [reloc @RWD64]
-       vmovups  zmmword ptr [rbx+0x40], zmm0
-       mov      rdi, 0xD1FFAB1E
-       mov      qword ptr [rbx+0x80], rdi
-       mov      dword ptr [rbx+0x88], 0xD1FFAB1E
        mov      edi, dword ptr [rbp-0x40]
        add      edi, 70
        mov      dword ptr [rbp-0x40], edi
-						;; size=69 bbWeight=0 PerfScore 0.00
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M8549_IG13:
        lea      rdi, [rbp-0x50]
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
-       mov      edi, dword ptr [rbp-0x40]
-       cmp      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x40]
+       cmp      esi, dword ptr [rbp-0x30]
        ja       G_M8549_IG24
-       mov      rsi, bword ptr [rbp-0x38]
-       mov      eax, edi
-       lea      rbx, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x30]
-       sub      esi, edi
-       cmp      esi, 22
-       jae      SHORT G_M8549_IG14
+       mov      rdx, bword ptr [rbp-0x38]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x30]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; '', bound to the type ''
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M8549_IG14
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; '', bound to the type ''
        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_M8549_IG15
-						;; size=79 bbWeight=0 PerfScore 0.00
+						;; size=105 bbWeight=0 PerfScore 0.00
 G_M8549_IG14:
-       vmovups  ymm0, ymmword ptr [reloc @RWD128]
-       vmovups  ymmword ptr [rbx], ymm0
-       mov      rdi, 0xD1FFAB1E
-       mov      qword ptr [rbx+0x20], rdi
-       mov      dword ptr [rbx+0x28], 0xD1FFAB1E
        mov      edi, dword ptr [rbp-0x40]
        add      edi, 22
        mov      dword ptr [rbp-0x40], edi
-						;; size=42 bbWeight=0 PerfScore 0.00
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M8549_IG15:
        mov      rdi, r12
        mov      rax, qword ptr [r12]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x20]System.Type:get_FullName():System.String:this
        mov      rsi, rax
        lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
-       mov      edi, dword ptr [rbp-0x40]
-       cmp      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x40]
+       cmp      esi, dword ptr [rbp-0x30]
        ja       G_M8549_IG24
-       mov      rsi, bword ptr [rbp-0x38]
-       mov      eax, edi
-       lea      rbx, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x30]
-       sub      esi, edi
-       cmp      esi, 3
-       jae      SHORT G_M8549_IG16
+       mov      rdx, bword ptr [rbp-0x38]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x30]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; ''. '
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M8549_IG16
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; ''. '
        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_M8549_IG17
-						;; size=93 bbWeight=0 PerfScore 0.00
+						;; size=119 bbWeight=0 PerfScore 0.00
 G_M8549_IG16:
-       mov      dword ptr [rbx], 0xD1FFAB1E
-       mov      word  ptr [rbx+0x04], 32
-       mov      edi, dword ptr [rbp-0x40]
-       add      edi, 3
-       mov      dword ptr [rbp-0x40], edi
-						;; size=21 bbWeight=0 PerfScore 0.00
+       mov      esi, dword ptr [rbp-0x40]
+       add      esi, 3
+       mov      dword ptr [rbp-0x40], esi
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M8549_IG17:
-       mov      edi, dword ptr [rbp-0x40]
-       cmp      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x40]
+       cmp      esi, dword ptr [rbp-0x30]
        ja       G_M8549_IG24
-       mov      rsi, bword ptr [rbp-0x38]
-       mov      eax, edi
-       lea      rbx, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x30]
-       sub      esi, edi
-       cmp      esi, 85
-       jae      SHORT G_M8549_IG18
+       mov      rdx, bword ptr [rbp-0x38]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x30]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; 'Client names are computed based on the type name without consid'
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M8549_IG18
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; 'Client names are computed based on the type name without consid'
        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_M8549_IG19
-						;; size=60 bbWeight=0 PerfScore 0.00
+						;; size=86 bbWeight=0 PerfScore 0.00
 G_M8549_IG18:
-       vmovups  zmm0, zmmword ptr [reloc @RWD192]
-       vmovups  zmmword ptr [rbx], zmm0
-       vmovups  zmm0, zmmword ptr [reloc @RWD256]
-       vmovups  zmmword ptr [rbx+0x40], zmm0
-       vmovups  ymm0, ymmword ptr [reloc @RWD320]
-       vmovups  ymmword ptr [rbx+0x80], ymm0
-       mov      rdi, 0xD1FFAB1E
-       mov      qword ptr [rbx+0xA0], rdi
-       mov      word  ptr [rbx+0xA8], 39
        mov      edi, dword ptr [rbp-0x40]
        add      edi, 85
        mov      dword ptr [rbp-0x40], edi
-						;; size=84 bbWeight=0 PerfScore 0.00
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M8549_IG19:
        mov      rdi, r12
        mov      rax, qword ptr [r12]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x30]System.Reflection.MemberInfo:get_Name():System.String:this
        mov      rsi, rax
        lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
-       mov      edi, dword ptr [rbp-0x40]
-       cmp      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x40]
+       cmp      esi, dword ptr [rbp-0x30]
        ja       G_M8549_IG24
-       mov      rsi, bword ptr [rbp-0x38]
-       mov      eax, edi
-       lea      rbx, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x30]
-       sub      esi, edi
-       cmp      esi, 4
-       jae      SHORT G_M8549_IG20
+       mov      rdx, bword ptr [rbp-0x38]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x30]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; ''). '
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M8549_IG20
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; ''). '
        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_M8549_IG21
-						;; size=93 bbWeight=0 PerfScore 0.00
+						;; size=119 bbWeight=0 PerfScore 0.00
 G_M8549_IG20:
-       mov      rdi, 0xD1FFAB1E
-       mov      qword ptr [rbx], rdi
-       mov      edi, dword ptr [rbp-0x40]
-       add      edi, 4
-       mov      dword ptr [rbp-0x40], edi
-						;; size=22 bbWeight=0 PerfScore 0.00
+       mov      esi, dword ptr [rbp-0x40]
+       add      esi, 4
+       mov      dword ptr [rbp-0x40], esi
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M8549_IG21:
-       mov      edi, dword ptr [rbp-0x40]
-       cmp      edi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x40]
+       cmp      esi, dword ptr [rbp-0x30]
        ja       G_M8549_IG24
-       mov      rsi, bword ptr [rbp-0x38]
-       mov      eax, edi
-       lea      rbx, bword ptr [rsi+2*rax]
-       mov      esi, dword ptr [rbp-0x30]
-       sub      esi, edi
-       cmp      esi, 105
-       jae      SHORT G_M8549_IG22
+       mov      rdx, bword ptr [rbp-0x38]
+       mov      edi, esi
+       lea      rdx, bword ptr [rdx+2*rdi]
+       mov      edi, dword ptr [rbp-0x30]
+       sub      edi, esi
+       mov      rsi, rdx
+       mov      edx, edi
+       mov      rdi, 0xD1FFAB1E      ; 'Use an overload of AddHttpClient that accepts a string and prov'
+       mov      rax, 0xD1FFAB1E      ; code for System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       call     [rax]System.String:TryCopyTo(System.Span`1[ushort]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M8549_IG22
        lea      rdi, [rbp-0x50]
        mov      rsi, 0xD1FFAB1E      ; 'Use an overload of AddHttpClient that accepts a string and prov'
        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_M8549_IG23
-						;; size=60 bbWeight=0 PerfScore 0.00
+						;; size=86 bbWeight=0 PerfScore 0.00
 G_M8549_IG22:
-       vmovups  zmm0, zmmword ptr [reloc @RWD384]
-       vmovups  zmmword ptr [rbx], zmm0
-       vmovups  zmm0, zmmword ptr [reloc @RWD448]
-       vmovups  zmmword ptr [rbx+0x40], zmm0
-       vmovups  zmm0, zmmword ptr [reloc @RWD512]
-       vmovups  zmmword ptr [rbx+0x80], zmm0
-       vmovups  xmm0, xmmword ptr [reloc @RWD576]
-       vmovups  xmmword ptr [rbx+0xC0], xmm0
-       mov      word  ptr [rbx+0xD0], 46
        mov      edi, dword ptr [rbp-0x40]
        add      edi, 105
        mov      dword ptr [rbp-0x40], edi
-						;; size=84 bbWeight=0 PerfScore 0.00
+						;; size=9 bbWeight=0 PerfScore 0.00
 G_M8549_IG23:
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=61 bbWeight=0 PerfScore 0.00
 G_M8549_IG24:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M8549_IG25:
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      edi, 0x50A
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=65 bbWeight=0 PerfScore 0.00
-RWD00  	dq	0020006500680054h, 0070007400740048h, 00650069006C0043h, 006600200074006Eh, 006F007400630061h, 0061002000790072h, 006100650072006Ch, 0068002000790064h
-RWD64  	dq	0061002000730061h, 0067006500720020h, 0065007400730069h, 0020006400650072h, 00650069006C0063h, 007700200074006Eh, 0020006800740069h, 0020006500680074h
-RWD128 	dq	00620020002C0027h, 0064006E0075006Fh, 0020006F00740020h, 0020006500680074h
-RWD160 	dd	00000000h, 00000000h, 00000000h, 00000000h, 00000000h, 00000000h
-	dd	00000000h, 00000000h
-RWD192 	dq	00650069006C0043h, 006E00200074006Eh, 00730065006D0061h, 0065007200610020h, 006D006F00630020h, 0065007400750070h, 0061006200200064h, 0020006400650073h
-RWD256 	dq	00740020006E006Fh, 0074002000650068h, 0020006500700079h, 0065006D0061006Eh, 0074006900770020h, 00740075006F0068h, 006E006F00630020h, 0065006400690073h
-RWD320 	dq	0067006E00690072h, 0065006800740020h, 006D0061006E0020h, 0061007000730065h
-RWD352 	dd	00000000h, 00000000h, 00000000h, 00000000h, 00000000h, 00000000h
-	dd	00000000h, 00000000h
-RWD384 	dq	0020006500730055h, 006F0020006E0061h, 006C007200650076h, 002000640061006Fh, 004100200066006Fh, 0074004800640064h, 006C004300700074h, 0074006E00650069h
-RWD448 	dq	0061006800740020h, 0063006100200074h, 0074007000650063h, 0020006100200073h, 0069007200740073h, 006100200067006Eh, 007000200064006Eh, 00690076006F0072h
-RWD512 	dq	0061002000650064h, 0069006E00750020h, 0020006500750071h, 0065006D0061006Eh, 0020006F00740020h, 006F007300650072h, 002000650076006Ch, 0020006500680074h
-RWD576 	dq	0066006E006F0063h, 007400630069006Ch
 
-
-; Total bytes of code 1164, prolog size 35, PerfScore 50.71, instruction count 264, allocated bytes for code 1164 (MethodHash=738ede9a) for method Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions:ReserveClient(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Type,System.String,ubyte) (FullOpts)
+; Total bytes of code 1049, prolog size 35, PerfScore 49.71, instruction count 259, allocated bytes for code 1049 (MethodHash=738ede9a) for method Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions:ReserveClient(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Type,System.String,ubyte) (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/31812999ffd5251abdcd8604314c5b31

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 11, 2025

@xtqqczze

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

No branches or pull requests

1 participant