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] [EgorBo] JIT: Optimize Memmove unrolling for constant src #693

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

Comments

@MihuBot
Copy link
Owner

MihuBot commented Oct 6, 2024

Job completed in 20 minutes 25 seconds.

Diffs

Diffs
Found 349 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 39447456
Total bytes of diff: 39440778
Total bytes of delta: -6678 (-0.02 % of base)
Total relative delta: -11.74
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
        1835 : ILCompiler.Reflection.ReadyToRun.dasm (0.88 % of base)
         293 : Microsoft.Extensions.Http.dasm (0.44 % of base)
         192 : Microsoft.Extensions.DependencyInjection.dasm (0.28 % of base)
         131 : Microsoft.CSharp.dasm (0.04 % of base)
         119 : System.Security.Cryptography.dasm (0.01 % of base)
         117 : System.Configuration.ConfigurationManager.dasm (0.03 % of base)
         107 : System.CodeDom.dasm (0.05 % of base)
          98 : tieringtest.dasm (1.40 % of base)
          64 : Microsoft.Extensions.Logging.EventLog.dasm (0.34 % of base)
          59 : System.Data.Common.dasm (0.00 % of base)
          50 : System.Net.WebSockets.Client.dasm (0.23 % of base)
          40 : System.Net.Ping.dasm (0.08 % of base)
          27 : System.Private.Xml.Linq.dasm (0.01 % of base)
          18 : Microsoft.Extensions.Caching.Memory.dasm (0.10 % of base)
          16 : System.Diagnostics.FileVersionInfo.dasm (0.15 % of base)
          14 : Microsoft.Extensions.FileSystemGlobbing.dasm (0.06 % of base)
          14 : System.ServiceModel.Syndication.dasm (0.01 % of base)
          10 : System.IO.IsolatedStorage.dasm (0.04 % of base)
           9 : Microsoft.Extensions.Configuration.dasm (0.06 % of base)
           9 : runincontext.dasm (0.06 % of base)
           9 : System.Data.Odbc.dasm (0.00 % of base)
           3 : System.Security.Cryptography.ProtectedData.dasm (0.05 % of base)
           1 : Microsoft.Extensions.Logging.Configuration.dasm (0.01 % of base)

Top file improvements (bytes):
       -1522 : System.Private.CoreLib.dasm (-0.02 % of base)
       -1513 : System.Private.Xml.dasm (-0.04 % of base)
       -1197 : System.Threading.Tasks.Dataflow.dasm (-0.10 % of base)
        -935 : System.Net.Http.dasm (-0.11 % of base)
        -833 : System.Net.Quic.dasm (-0.56 % of base)
        -265 : System.Linq.Expressions.dasm (-0.03 % of base)
        -264 : System.Net.Security.dasm (-0.12 % of base)
        -221 : System.Net.Primitives.dasm (-0.25 % of base)
        -211 : System.Private.DataContractSerialization.dasm (-0.02 % of base)
        -209 : System.Drawing.Primitives.dasm (-0.54 % of base)
        -198 : Microsoft.Extensions.Diagnostics.dasm (-1.33 % of base)
        -168 : System.Net.HttpListener.dasm (-0.16 % of base)
        -155 : System.Text.Json.dasm (-0.01 % of base)
        -152 : System.Memory.dasm (-0.05 % of base)
        -147 : System.Net.Mail.dasm (-0.08 % of base)
        -135 : System.Reflection.Metadata.dasm (-0.02 % of base)
        -133 : System.Net.WebSockets.dasm (-0.09 % of base)
        -128 : System.Net.Requests.dasm (-0.09 % of base)
        -103 : System.Text.RegularExpressions.dasm (-0.01 % of base)
         -97 : System.Net.Sockets.dasm (-0.04 % of base)
         -92 : System.Diagnostics.DiagnosticSource.dasm (-0.04 % of base)
         -92 : System.Net.NameResolution.dasm (-0.20 % of base)
         -80 : System.Collections.Immutable.dasm (-0.00 % of base)
         -79 : Microsoft.Extensions.Logging.dasm (-0.23 % of base)
         -64 : System.Diagnostics.TraceSource.dasm (-0.13 % of base)
         -64 : System.Web.HttpUtility.dasm (-0.33 % of base)
         -64 : Microsoft.Extensions.Logging.Debug.dasm (-1.12 % of base)
         -63 : System.Numerics.Tensors.dasm (-0.00 % of base)
         -57 : System.Formats.Tar.dasm (-0.04 % of base)
         -57 : System.Console.dasm (-0.07 % of base)
         -34 : System.Net.NetworkInformation.dasm (-0.07 % of base)
         -32 : Microsoft.VisualBasic.Core.dasm (-0.01 % of base)
         -31 : System.DirectoryServices.Protocols.dasm (-0.02 % of base)
         -30 : System.Collections.Specialized.dasm (-0.24 % of base)
         -29 : Microsoft.Extensions.Options.DataAnnotations.dasm (-0.66 % of base)
         -29 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (-0.04 % of base)
         -27 : System.Net.WebProxy.dasm (-0.50 % of base)
         -26 : System.Diagnostics.Process.dasm (-0.03 % of base)
         -26 : System.IO.Pipes.dasm (-0.07 % of base)
         -26 : Microsoft.Extensions.DependencyModel.dasm (-0.04 % of base)
         -26 : System.Runtime.InteropServices.dasm (-0.11 % of base)
         -24 : System.IO.MemoryMappedFiles.dasm (-0.11 % of base)
         -22 : Microsoft.Extensions.Configuration.FileExtensions.dasm (-0.45 % of base)
         -22 : System.Composition.Runtime.dasm (-0.12 % of base)
         -18 : System.IO.FileSystem.DriveInfo.dasm (-0.07 % of base)
         -18 : System.IO.FileSystem.Watcher.dasm (-0.07 % of base)
         -18 : System.IO.Compression.ZipFile.dasm (-0.13 % of base)
         -18 : System.IO.Ports.dasm (-0.04 % of base)
         -18 : System.Private.Uri.dasm (-0.02 % of base)
         -16 : System.Reflection.MetadataLoadContext.dasm (-0.01 % of base)
         -16 : System.Security.Cryptography.Cose.dasm (-0.02 % of base)
         -15 : Microsoft.Extensions.Caching.Abstractions.dasm (-0.05 % of base)
         -15 : System.Runtime.Numerics.dasm (-0.01 % of base)
         -12 : System.Reflection.DispatchProxy.dasm (-0.06 % of base)
         -11 : System.Formats.Asn1.dasm (-0.01 % of base)
         -11 : System.Transactions.Local.dasm (-0.01 % of base)
         -11 : System.Security.Cryptography.Xml.dasm (-0.01 % of base)
         -10 : System.IO.Pipelines.dasm (-0.01 % of base)
          -8 : System.Net.WebClient.dasm (-0.01 % of base)
          -7 : System.ComponentModel.TypeConverter.dasm (-0.00 % of base)
          -4 : Microsoft.Extensions.Logging.Abstractions.dasm (-0.01 % of base)
          -2 : System.ComponentModel.Composition.dasm (-0.00 % of base)
          -2 : Microsoft.Extensions.Logging.Console.dasm (-0.00 % of base)
          -1 : System.Reflection.Emit.dasm (-0.00 % of base)

87 total files with Code Size differences (64 improved, 23 regressed), 172 unchanged.

Top method regressions (bytes):
         627 (8.45 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.SignatureDecoder:ParseHelper(System.Text.StringBuilder):this (FullOpts)
         464 (6.75 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.SignatureDecoder:ParseSignature(int,System.Text.StringBuilder):ILCompiler.Reflection.ReadyToRun.ReadyToRunSignature:this (FullOpts)
         325 (10.66 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions+SocketsHttpHandlerConfiguration:PrintMembers(System.Text.StringBuilder):ubyte:this (FullOpts)
         237 (6.59 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.InfoHdrSmall:ToString():System.String:this (FullOpts)
         141 (1.92 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:ToString(ubyte):System.String:this (FullOpts)
         113 (1.35 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
          98 (1.40 % of base) : tieringtest.dasm - Program:Main(System.String[]):int (FullOpts)
          96 (6.87 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:AppendServiceDescriptor(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceDescriptor) (FullOpts)
          93 (2.53 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.CacheControlHeaderValue:ToString():System.String:this (FullOpts)
          90 (2.58 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:GetUpdatedSectionDeclarationXml(System.Configuration.FactoryRecord,System.Configuration.ConfigurationSection,int):System.String:this (FullOpts)
          83 (4.43 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:AddEventParameter(System.Type,System.String):this (FullOpts)
          82 (6.01 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:GetStringForCreateInstance(System.String,System.String,ubyte,System.String):System.String (FullOpts)
          80 (3.66 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:QuoteSnippetString(System.String):System.String:this (FullOpts)
          80 (3.63 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitUnary(System.Linq.Expressions.UnaryExpression):System.Linq.Expressions.Expression:this (FullOpts)
          77 (5.74 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketHandle:<AddWebSocketHeaders>g__GetDeflateOptions|25_0(System.Net.WebSockets.WebSocketDeflateOptions):System.String (FullOpts)
          75 (6.76 % of base) : System.Net.Security.dasm - System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy:ToString():System.String:this (FullOpts)
          64 (5.82 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition:ToString():System.String:this (FullOpts)
          56 (1.54 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:ToString():System.String:this (FullOpts)
          56 (3.29 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendMethod(Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts)
          54 (3.68 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write6_XmlSchemaDocumentation(System.Xml.Schema.XmlSchemaDocumentation):this (FullOpts)
          50 (2.86 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp11ConnectionInjection():this (FullOpts)
          49 (4.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Template:GetDebugName():System.String:this (FullOpts)
          48 (5.13 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcTransitionPointer:ToString():System.String:this (FullOpts)
          48 (2.07 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate:ToString(ubyte):System.String:this (FullOpts)
          47 (2.37 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Arm.UnwindInfo:ToString():System.String:this (FullOpts)
          47 (2.45 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Arm64.UnwindInfo:ToString():System.String:this (FullOpts)
          47 (2.45 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.LoongArch64.UnwindInfo:ToString():System.String:this (FullOpts)
          47 (2.45 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.RiscV64.UnwindInfo:ToString():System.String:this (FullOpts)
          47 (4.47 % of base) : System.Net.Http.dasm - System.Net.Http.HttpRequestMessage:ToString():System.String:this (FullOpts)
          46 (3.84 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileSort(System.Xml.Xsl.Xslt.Sort,System.Xml.Xsl.Qil.QilList,byref):this (FullOpts)
          45 (3.28 % of base) : System.Data.Common.dasm - System.Data.DataViewManager:get_DataViewSettingCollectionString():System.String:this (FullOpts)
          43 (6.36 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcSlotTable:ToString():System.String:this (FullOpts)
          42 (0.98 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightLambda+DebugViewPrinter:ToString():System.String:this (FullOpts)
          41 (1.61 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.UnwindInfo:ToString():System.String:this (FullOpts)
          40 (4.69 % of base) : System.Net.Ping.dasm - System.Net.NetworkInformation.UnixCommandLinePing:ConstructCommandLine(int,int,System.String,ubyte,int,int):System.String (FullOpts)
          39 (10.10 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions+SocketsHttpHandlerConfiguration:ToString():System.String:this (FullOpts)
          39 (3.78 % of base) : System.Runtime.Numerics.dasm - System.Number+NumberBuffer:ToString():System.String:this (FullOpts)
          39 (3.78 % of base) : System.Private.CoreLib.dasm - System.Number+NumberBuffer:ToString():System.String:this (FullOpts)
          39 (4.13 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.SignatureHelper:ToString():System.String:this (FullOpts)
          38 (3.37 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcTransitionCall:ToString():System.String:this (FullOpts)
          38 (1.74 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write1_XmlSchemaAttribute(System.Xml.Schema.XmlSchemaAttribute):this (FullOpts)
          36 (3.09 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:PrepareForReuse(ubyte):ubyte:this (FullOpts)
          36 (1.29 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write46_XmlSchemaElement(System.Xml.Schema.XmlSchemaElement):this (FullOpts)
          35 (2.39 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcSlotTable+GcSlot:ToString():System.String:this (FullOpts)
          35 (2.30 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendSym(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts)
          35 (2.46 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:StartEvent(System.String,System.Diagnostics.Tracing.EventAttribute):this (FullOpts)
          34 (3.12 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackFrame:ToString():System.String:this (FullOpts)
          34 (1.98 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp2ConnectionInjection():this (FullOpts)
          34 (1.98 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp3ConnectionInjection():this (FullOpts)
          34 (2.96 % of base) : System.Net.Http.dasm - System.Net.Http.HttpResponseMessage:ToString():System.String:this (FullOpts)
          34 (5.44 % of base) : System.Net.Mail.dasm - System.Net.Mail.MailMessage:BuildDeliveryStatusNotificationString():System.String:this (FullOpts)
          33 (2.21 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.Cache.XPathNodeInfoAtom:ToString():System.String:this (FullOpts)
          33 (6.18 % of base) : System.Net.WebSockets.dasm - System.Threading.AsyncMutex:EnterAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
          32 (1.68 % of base) : System.Data.Common.dasm - System.Data.Common.DbCommandBuilder:BuildInsertCommand(System.Data.Common.DataTableMapping,System.Data.DataRow):System.Data.Common.DbCommand:this (FullOpts)
          32 (2.42 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket:KeepAlivePingHeartBeat():this (FullOpts)
          31 (4.53 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Key:GetDebugName():System.String:this (FullOpts)
          29 (2.52 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+RttEstimator:OnPingAckReceived(long,System.Net.Http.Http2Connection):this (FullOpts)
          29 (3.90 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:ToXmlString(ubyte):System.String:this (FullOpts)
          29 (3.73 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:ToXmlString(ubyte):System.String:this (FullOpts)
          29 (2.43 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write33_XmlSchemaAnyAttribute(System.Xml.Schema.XmlSchemaAnyAttribute):this (FullOpts)
          28 (1.29 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter:VisitCallSiteMain(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter+CallSiteFormatterContext):System.Object:this (FullOpts)
          28 (0.38 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool+<SendWithVersionDetectionAndRetryAsync>d__50:MoveNext():this (FullOpts)
          28 (1.14 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write35_XmlSchemaComplexType(System.Xml.Schema.XmlSchemaComplexType):this (FullOpts)
          27 (1.10 % of base) : System.Data.Common.dasm - System.Data.Common.DbCommandBuilder:BuildWhereClause(System.Data.Common.DataTableMapping,System.Data.DataRow,System.Text.StringBuilder,System.Data.Common.DbCommand,int,ubyte):int:this (FullOpts)
          27 (3.18 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DsesActivitySourceListener:<NormalizeActivitySourceSpecsList>g__LogIgnoredSpecRule|9_0(System.String,System.String):this (FullOpts)
          27 (3.17 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XDeclaration:ToString():System.String:this (FullOpts)
          27 (3.21 % of base) : System.Private.Xml.dasm - System.Xml.Schema.NamespaceList:ToString():System.String:this (FullOpts)
          26 (3.59 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:EndEvent():this (FullOpts)
          26 (2.42 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write7_XmlSchemaAppInfo(System.Xml.Schema.XmlSchemaAppInfo):this (FullOpts)
          24 (3.61 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcTransitionRegister:ToString():System.String:this (FullOpts)
          24 (3.85 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceProvider:ValidateService(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):this (FullOpts)
          24 (3.79 % of base) : System.Net.Http.dasm - System.Net.Http.Http3RequestStream:GetStaticQPackHeader(int,byref,byref):this (FullOpts)
          23 (2.59 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper:TryGetAuthenticationChallenge(System.Net.Http.HttpResponseMessage,ubyte,System.Uri,System.Net.ICredentials,byref):ubyte (FullOpts)
          23 (3.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.COMException:ToString():System.String:this (FullOpts)
          23 (1.33 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write53_XmlSchemaAny(System.Xml.Schema.XmlSchemaAny):this (FullOpts)
          22 (1.33 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter:VisitIEnumerable(Microsoft.Extensions.DependencyInjection.ServiceLookup.IEnumerableCallSite,Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter+CallSiteFormatterContext):System.Object:this (FullOpts)
          22 (2.14 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:GetUpdatedSectionGroupDeclarationXml(System.Configuration.FactoryRecord,System.Configuration.ConfigurationSectionGroup):System.String:this (FullOpts)
          22 (2.79 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2StreamWindowManager:.ctor(System.Net.Http.Http2Connection,System.Net.Http.Http2Connection+Http2Stream):this (FullOpts)
          22 (0.29 % of base) : System.Net.Http.dasm - System.Net.Http.Http3RequestStream+<SendAsync>d__29:MoveNext():this (FullOpts)
          22 (2.39 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write31_XmlSchemaAttributeGroup(System.Xml.Schema.XmlSchemaAttributeGroup):this (FullOpts)
          21 (0.98 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendType(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this (FullOpts)
          21 (1.10 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:.ctor(System.String,System.Guid,System.String,System.Resources.ResourceManager,int):this (FullOpts)
          21 (1.54 % of base) : System.Private.CoreLib.dasm - System.SR:InternalGetResourceString(System.String):System.String (FullOpts)
          21 (4.38 % of base) : System.Net.WebSockets.dasm - System.Threading.AsyncMutex:Exit():this (FullOpts)
          21 (5.13 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILModule:CreateAssemblyName():System.Reflection.AssemblyName (FullOpts)
          20 (2.26 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ProcessPingFrame(System.Net.Http.Http2Connection+FrameHeader):this (FullOpts)
          20 (2.37 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:AddJsonExceptionInformation(byref,byref,System.Text.Json.JsonException) (FullOpts)
          20 (1.79 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write41_XmlSchemaComplexContent(System.Xml.Schema.XmlSchemaComplexContent):this (FullOpts)
          20 (1.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XsltFunctions:MSUtc(System.String):System.String (FullOpts)
          19 (1.80 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.StringTypeProviderBase`1[System.__Canon]:GetFunctionPointerType(System.Reflection.Metadata.MethodSignature`1[System.String]):System.String:this (FullOpts)
          19 (3.17 % of base) : System.Private.CoreLib.dasm - System.AggregateException:ToString():System.String:this (FullOpts)
          19 (5.14 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitNewArray(System.Linq.Expressions.NewArrayExpression):System.Linq.Expressions.Expression:this (FullOpts)
          18 (1.64 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:OvercapacityCompaction():this (FullOpts)
          18 (1.62 % of base) : runincontext.dasm - RunInContext:Main(System.String[]):int (FullOpts)
          18 (0.43 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2Stream+<SendRequestBodyAsync>d__45:MoveNext():this (FullOpts)
          18 (2.62 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+RttEstimator:OnDataOrHeadersReceived(System.Net.Http.Http2Connection,ubyte):this (FullOpts)
          18 (2.60 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:HandleHttp11ConnectionFailure(System.Net.Http.HttpConnectionWaiter`1[System.Net.Http.HttpConnection],System.Exception):this (FullOpts)
          18 (2.31 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeMethodBuilder:ToString():System.String:this (FullOpts)
          18 (3.51 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStack:get_DebuggerDisplay():System.String:this (FullOpts)
          18 (1.34 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write50_XmlSchemaKeyref(System.Xml.Schema.XmlSchemaKeyref):this (FullOpts)

Top method improvements (bytes):
        -279 (-3.83 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_CONNECTION_EVENT:ToString():System.String:this (FullOpts)
        -245 (-4.59 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_STREAM_EVENT:ToString():System.String:this (FullOpts)
        -156 (-3.13 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GenerateEncodedMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
        -139 (-6.70 % of base) : System.Net.Security.dasm - System.Net.Security.TlsFrameHelper+TlsFrameInfo:ToString():System.String:this (FullOpts)
        -126 (-1.47 % 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)
        -122 (-2.14 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
        -119 (-2.29 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this (FullOpts)
        -119 (-1.63 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
        -112 (-4.49 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeTypedArgument:ToString(ubyte):System.String:this (FullOpts)
        -102 (-3.12 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:WriteTypeInfo(System.Xml.Serialization.TypeScope,System.Xml.Serialization.TypeDesc,System.Type):System.String:this (FullOpts)
        -101 (-1.57 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
         -84 (-5.91 % of base) : System.Net.Primitives.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -84 (-4.52 % of base) : System.Net.HttpListener.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -84 (-5.72 % of base) : System.Net.Security.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -84 (-4.52 % of base) : System.Net.Mail.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -84 (-4.41 % of base) : System.Net.Quic.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -84 (-4.52 % of base) : System.Net.Requests.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -84 (-4.52 % of base) : System.Net.Http.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -84 (-5.91 % of base) : System.Net.NameResolution.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -84 (-4.52 % of base) : System.Net.Sockets.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -82 (-1.64 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
         -80 (-4.00 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareILGen:GetCSharpString(System.String):System.String (FullOpts)
         -73 (-1.04 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
         -72 (-4.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitConstant(System.Linq.Expressions.ConstantExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -69 (-3.47 % 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)
         -68 (-4.62 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LogHelper:GetRedactedUriString(System.Uri):System.String (FullOpts)
         -68 (-3.04 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHelper:GetRedactedUriString(System.Uri):System.String (FullOpts)
         -66 (-10.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int (FullOpts)
         -64 (-3.73 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_LISTENER_EVENT:ToString():System.String:this (FullOpts)
         -64 (-4.41 % of base) : System.Web.HttpUtility.dasm - System.Web.Util.HttpEncoder:<JavaScriptStringEncode>g__EncodeCore|12_0(System.ReadOnlySpan`1[ushort],int,ubyte):System.String (FullOpts)
         -63 (-4.60 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+ResponseData:ToString():System.String:this (FullOpts)
         -60 (-4.03 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFilterRule:ToString():System.String:this (FullOpts)
         -56 (-2.94 % of base) : System.Private.Xml.dasm - System.Xml.XmlNode+DebuggerDisplayXmlNodeProxy:ToString():System.String:this (FullOpts)
         -53 (-6.08 % of base) : System.Private.CoreLib.dasm - System.Exception:ToString():System.String:this (FullOpts)
         -51 (-2.23 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.XplatEventLogger:Serialize(System.Collections.ObjectModel.ReadOnlyCollection`1[System.String],System.Collections.ObjectModel.ReadOnlyCollection`1[System.Object],System.String):System.String (FullOpts)
         -50 (-3.46 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen+Member:.ctor(System.Xml.Serialization.XmlSerializationReaderCodeGen,System.String,System.String,System.String,int,System.Xml.Serialization.MemberMapping,ubyte,System.String):this (FullOpts)
         -50 (-3.69 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen+Member:.ctor(System.String,System.String,System.String,int,System.Xml.Serialization.MemberMapping,ubyte,System.String):this (FullOpts)
         -49 (-4.45 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+ActivityStopData:ToString():System.String:this (FullOpts)
         -49 (-4.47 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+RequestData:ToString():System.String:this (FullOpts)
         -46 (-5.56 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+ExceptionData:ToString():System.String:this (FullOpts)
         -46 (-4.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -45 (-4.96 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -45 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeExceptionHandlingClause:ToString():System.String:this (FullOpts)
         -44 (-5.69 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector3:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -44 (-2.91 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:GetFullValueForDisplayNameField(System.String,System.TimeSpan,byref) (FullOpts)
         -44 (-4.11 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SoapReflectionImporter:XsdTypeName(System.Type,System.Xml.Serialization.SoapAttributes,System.String):System.String:this (FullOpts)
         -44 (-4.11 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlReflectionImporter:XsdTypeName(System.Type,System.Xml.Serialization.XmlAttributes,System.String):System.String:this (FullOpts)
         -44 (-1.59 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteArray(System.String,System.String,System.Object,System.Type):this (FullOpts)
         -43 (-0.78 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+<ProcessIncomingFramesAsync>d__62:MoveNext():this (FullOpts)
         -43 (-6.98 % of base) : System.Private.CoreLib.dasm - System.Numerics.Quaternion:ToString():System.String:this (FullOpts)
         -42 (-5.45 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(ubyte,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):ubyte (FullOpts) (2 methods)
         -42 (-3.65 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ReadGoAwayFrame(System.Net.Http.Http2Connection+FrameHeader):System.ValueTuple`2[int,int]:this (FullOpts)
         -41 (-3.50 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_NEW_CONNECTION_INFO:ToString():System.String:this (FullOpts)
         -41 (-3.05 % of base) : System.Data.Common.dasm - System.Data.Merger:MergeRows(System.Data.DataRow[]):this (FullOpts)
         -41 (-3.25 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ExtendWindow(int):ubyte:this (FullOpts)
         -40 (-2.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.Matrix4x4:ToString():System.String:this (FullOpts)
         -39 (-6.06 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.SequencePoint:GetDebuggerDisplay():System.String:this (FullOpts)
         -39 (-2.47 % of base) : System.Console.dasm - System.TermInfo+DatabaseFactory:ReadDatabase(System.String,System.String):System.TermInfo+Database (FullOpts)
         -38 (-1.19 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ServiceDescriptor:ToString():System.String:this (FullOpts)
         -38 (-3.52 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:WriteIndexedHeader(int,System.String,byref):this (FullOpts)
         -37 (-2.60 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:WriteLiteralHeader(System.String,System.ReadOnlySpan`1[System.String],System.Text.Encoding,byref):this (FullOpts)
         -37 (-6.37 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializer:.cctor() (FullOpts)
         -36 (-3.41 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.DebugInfo:ToString():System.String:this (FullOpts)
         -36 (-5.83 % of base) : System.Private.CoreLib.dasm - System.Reflection.LocalVariableInfo:ToString():System.String:this (FullOpts)
         -34 (-5.36 % of base) : System.Net.Security.dasm - System.Net.SecurityStatusPal:ToString():System.String:this (FullOpts)
         -34 (-4.94 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+DebugView+DebugViewItem:get_Display():System.String:this (FullOpts)
         -34 (-2.29 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:WriteMemberInfo(System.Type,System.String,System.String,System.String):System.String:this (FullOpts)
         -34 (-3.74 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:NameAndType(ubyte):System.String:this (FullOpts)
         -33 (-4.43 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[double](System.Diagnostics.Metrics.Instrument,double,System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
         -33 (-4.42 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[int](System.Diagnostics.Metrics.Instrument,int,System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
         -33 (-4.42 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[long](System.Diagnostics.Metrics.Instrument,long,System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
         -33 (-4.41 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[short](System.Diagnostics.Metrics.Instrument,short,System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
         -33 (-4.43 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[System.Numerics.Vector`1[float]](System.Diagnostics.Metrics.Instrument,System.Numerics.Vector`1[float],System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
         -33 (-4.41 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DebugConsoleMetricListener:MeasurementHandler[ubyte](System.Diagnostics.Metrics.Instrument,ubyte,System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this (FullOpts)
         -33 (-3.55 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.RangeItemHeaderValue:ToString():System.String:this (FullOpts)
         -33 (-8.40 % of base) : System.Net.Security.dasm - System.Net.Security.TlsFrameHeader:ToString():System.String:this (FullOpts)
         -33 (-5.64 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector2:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -33 (-4.26 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilName:ToString():System.String:this (FullOpts)
         -32 (-2.13 % 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)
         -32 (-1.34 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdDateTime:TryFormat(System.Span`1[ushort],byref):ubyte:this (FullOpts)
         -31 (-2.96 % of base) : System.Net.Http.dasm - System.Net.Http.CreditManager:AdjustCredit(int):this (FullOpts)
         -31 (-0.90 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+<ProcessOutgoingFramesAsync>d__82:MoveNext():this (FullOpts)
         -30 (-5.59 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier:ToString():System.String:this (FullOpts)
         -30 (-6.88 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.KeyValuePair:PairToString(System.Object,System.Object):System.String (FullOpts)
         -30 (-3.70 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Activity:get_Id():System.String:this (FullOpts)
         -30 (-3.46 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Activity:get_ParentId():System.String:this (FullOpts)
         -30 (-2.86 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Color:get_NameAndARGBValue():System.String:this (FullOpts)
         -30 (-4.96 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.RuntimeLabel:ToString():System.String:this (FullOpts)
         -30 (-6.44 % of base) : System.Net.Primitives.dasm - System.Net.CredentialCacheKey:ToString():System.String:this (FullOpts)
         -30 (-4.93 % of base) : System.Net.Http.dasm - System.Net.CredentialCacheKey:ToString():System.String:this (FullOpts)
         -30 (-3.72 % of base) : System.Net.Http.dasm - System.Net.Http.ConnectHelper:CreateWrappedException(System.Exception,System.String,int,System.Threading.CancellationToken):System.Exception (FullOpts)
         -30 (-2.37 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:ChangeMaxConcurrentStreams(uint):this (FullOpts)
         -30 (-3.85 % of base) : System.Net.Primitives.dasm - System.Net.IPEndPoint:ToString():System.String:this (FullOpts)
         -30 (-5.38 % of base) : System.Runtime.Numerics.dasm - System.Numerics.Complex:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -30 (-4.87 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:GetStringForArrayMember(System.String,System.String,System.Xml.Serialization.TypeDesc):System.String:this (FullOpts)
         -30 (-5.73 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SourceInfo:CastTo(System.Xml.Serialization.TypeDesc):System.Xml.Serialization.SourceInfo:this (FullOpts)
         -30 (-0.89 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteAttributes(System.Xml.Serialization.XmlSerializationReaderCodeGen+Member[],System.Xml.Serialization.XmlSerializationReaderCodeGen+Member,System.String,System.String):this (FullOpts)
         -30 (-3.32 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteAttribute(System.String,System.Xml.Serialization.AttributeAccessor,System.String):this (FullOpts)
         -30 (-0.41 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteElement(System.String,System.Xml.Serialization.ElementAccessor,System.String,ubyte):this (FullOpts)
         -30 (-2.62 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseReader:IndexOfLocalName(System.String[],System.String):int:this (FullOpts)

Top method regressions (percentages):
         325 (10.66 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions+SocketsHttpHandlerConfiguration:PrintMembers(System.Text.StringBuilder):ubyte:this (FullOpts)
          39 (10.10 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions+SocketsHttpHandlerConfiguration:ToString():System.String:this (FullOpts)
         627 (8.45 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.SignatureDecoder:ParseHelper(System.Text.StringBuilder):this (FullOpts)
           8 (7.02 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitLoop(System.Linq.Expressions.LoopExpression):System.Linq.Expressions.Expression:this (FullOpts)
          96 (6.87 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:AppendServiceDescriptor(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceDescriptor) (FullOpts)
          75 (6.76 % of base) : System.Net.Security.dasm - System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy:ToString():System.String:this (FullOpts)
         464 (6.75 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.SignatureDecoder:ParseSignature(int,System.Text.StringBuilder):ILCompiler.Reflection.ReadyToRun.ReadyToRunSignature:this (FullOpts)
         237 (6.59 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.InfoHdrSmall:ToString():System.String:this (FullOpts)
          43 (6.36 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcSlotTable:ToString():System.String:this (FullOpts)
          33 (6.18 % of base) : System.Net.WebSockets.dasm - System.Threading.AsyncMutex:EnterAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
           7 (6.14 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitTry(System.Linq.Expressions.TryExpression):System.Linq.Expressions.Expression:this (FullOpts)
          82 (6.01 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:GetStringForCreateInstance(System.String,System.String,ubyte,System.String):System.String (FullOpts)
          64 (5.82 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition:ToString():System.String:this (FullOpts)
          77 (5.74 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketHandle:<AddWebSocketHeaders>g__GetDeflateOptions|25_0(System.Net.WebSockets.WebSocketDeflateOptions):System.String (FullOpts)
          34 (5.44 % of base) : System.Net.Mail.dasm - System.Net.Mail.MailMessage:BuildDeliveryStatusNotificationString():System.String:this (FullOpts)
          19 (5.14 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitNewArray(System.Linq.Expressions.NewArrayExpression):System.Linq.Expressions.Expression:this (FullOpts)
          21 (5.13 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILModule:CreateAssemblyName():System.Reflection.AssemblyName (FullOpts)
          48 (5.13 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcTransitionPointer:ToString():System.String:this (FullOpts)
          12 (5.04 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:WriteNameAndMessageAttribs(System.Text.StringBuilder,System.String,System.String):this (FullOpts)
           7 (4.70 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendName(Microsoft.CSharp.RuntimeBinder.Syntax.Name):this (FullOpts)
          40 (4.69 % of base) : System.Net.Ping.dasm - System.Net.NetworkInformation.UnixCommandLinePing:ConstructCommandLine(int,int,System.String,ubyte,int,int):System.String (FullOpts)
          49 (4.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Template:GetDebugName():System.String:this (FullOpts)
          13 (4.64 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:AppendEscapedChar(System.Text.StringBuilder,ushort) (FullOpts)
          31 (4.53 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Key:GetDebugName():System.String:this (FullOpts)
          47 (4.47 % of base) : System.Net.Http.dasm - System.Net.Http.HttpRequestMessage:ToString():System.String:this (FullOpts)
          12 (4.46 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitSwitch(System.Linq.Expressions.SwitchExpression):System.Linq.Expressions.Expression:this (FullOpts)
          83 (4.43 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:AddEventParameter(System.Type,System.String):this (FullOpts)
          21 (4.38 % of base) : System.Net.WebSockets.dasm - System.Threading.AsyncMutex:Exit():this (FullOpts)
          12 (4.14 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitInvocation(System.Linq.Expressions.InvocationExpression):System.Linq.Expressions.Expression:this (FullOpts)
          10 (4.13 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitSwitchCase(System.Linq.Expressions.SwitchCase):System.Linq.Expressions.SwitchCase:this (FullOpts)
          39 (4.13 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.SignatureHelper:ToString():System.String:this (FullOpts)
          12 (4.10 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendParamList(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,ubyte):this (FullOpts)
          29 (3.90 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:ToXmlString(ubyte):System.String:this (FullOpts)
          24 (3.85 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceProvider:ValidateService(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):this (FullOpts)
          46 (3.84 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileSort(System.Xml.Xsl.Xslt.Sort,System.Xml.Xsl.Qil.QilList,byref):this (FullOpts)
          24 (3.79 % of base) : System.Net.Http.dasm - System.Net.Http.Http3RequestStream:GetStaticQPackHeader(int,byref,byref):this (FullOpts)
          39 (3.78 % of base) : System.Runtime.Numerics.dasm - System.Number+NumberBuffer:ToString():System.String:this (FullOpts)
          39 (3.78 % of base) : System.Private.CoreLib.dasm - System.Number+NumberBuffer:ToString():System.String:this (FullOpts)
          29 (3.73 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:ToXmlString(ubyte):System.String:this (FullOpts)
          14 (3.70 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitTypeBinary(System.Linq.Expressions.TypeBinaryExpression):System.Linq.Expressions.Expression:this (FullOpts)
          54 (3.68 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectWriter:Write6_XmlSchemaDocumentation(System.Xml.Schema.XmlSchemaDocumentation):this (FullOpts)
          80 (3.66 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:QuoteSnippetString(System.String):System.String:this (FullOpts)
          80 (3.63 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitUnary(System.Linq.Expressions.UnaryExpression):System.Linq.Expressions.Expression:this (FullOpts)
          24 (3.61 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcTransitionRegister:ToString():System.String:this (FullOpts)
          26 (3.59 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:EndEvent():this (FullOpts)
          18 (3.51 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStack:get_DebuggerDisplay():System.String:this (FullOpts)
          13 (3.46 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializerOptions:get_DebuggerDisplay():System.String:this (FullOpts)
          38 (3.37 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcTransitionCall:ToString():System.String:this (FullOpts)
          17 (3.33 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStack:get_DebuggerDisplay():System.String:this (FullOpts)
          56 (3.29 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendMethod(Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts)
          11 (3.29 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.IncrementingPollingCounter:ToString():System.String:this (FullOpts)
          12 (3.28 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitCatchBlock(System.Linq.Expressions.CatchBlock):System.Linq.Expressions.CatchBlock:this (FullOpts)
          45 (3.28 % of base) : System.Data.Common.dasm - System.Data.DataViewManager:get_DataViewSettingCollectionString():System.String:this (FullOpts)
          23 (3.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.COMException:ToString():System.String:this (FullOpts)
          27 (3.21 % of base) : System.Private.Xml.dasm - System.Xml.Schema.NamespaceList:ToString():System.String:this (FullOpts)
          27 (3.18 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DsesActivitySourceListener:<NormalizeActivitySourceSpecsList>g__LogIgnoredSpecRule|9_0(System.String,System.String):this (FullOpts)
          27 (3.17 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XDeclaration:ToString():System.String:this (FullOpts)
          19 (3.17 % of base) : System.Private.CoreLib.dasm - System.AggregateException:ToString():System.String:this (FullOpts)
          34 (3.12 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackFrame:ToString():System.String:this (FullOpts)
          14 (3.11 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathCompileException:MarkOutError():System.String:this (FullOpts)
          36 (3.09 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:PrepareForReuse(ubyte):ubyte:this (FullOpts)
          34 (2.96 % of base) : System.Net.Http.dasm - System.Net.Http.HttpResponseMessage:ToString():System.String:this (FullOpts)
          50 (2.86 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:CheckForHttp11ConnectionInjection():this (FullOpts)
          22 (2.79 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+Http2StreamWindowManager:.ctor(System.Net.Http.Http2Connection,System.Net.Http.Http2Connection+Http2Stream):this (FullOpts)
           7 (2.71 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionStringBuilder:VisitParameter(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
           9 (2.70 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.PollingCounter:ToString():System.String:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ChooseTarget`1[double]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ChooseTarget`1[int]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ChooseTarget`1[long]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ChooseTarget`1[short]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ChooseTarget`1[System.__Canon]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ChooseTarget`1[System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ChooseTarget`1[System.Numerics.Vector`1[float]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ChooseTarget`1[ubyte]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+OutputAvailableAsyncTarget`1[double]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+OutputAvailableAsyncTarget`1[int]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+OutputAvailableAsyncTarget`1[long]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+OutputAvailableAsyncTarget`1[short]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+OutputAvailableAsyncTarget`1[System.__Canon]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+OutputAvailableAsyncTarget`1[System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+OutputAvailableAsyncTarget`1[System.Numerics.Vector`1[float]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+OutputAvailableAsyncTarget`1[ubyte]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[double]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[int]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[long]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[short]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.__Canon]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.Numerics.Vector`1[float]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.70 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[ubyte]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          18 (2.62 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection+RttEstimator:OnDataOrHeadersReceived(System.Net.Http.Http2Connection,ubyte):this (FullOpts)
          18 (2.60 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:HandleHttp11ConnectionFailure(System.Net.Http.HttpConnectionWaiter`1[System.Net.Http.HttpConnection],System.Exception):this (FullOpts)
          23 (2.59 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper:TryGetAuthenticationChallenge(System.Net.Http.HttpResponseMessage,ubyte,System.Uri,System.Net.ICredentials,byref):ubyte (FullOpts)
          90 (2.58 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:GetUpdatedSectionDeclarationXml(System.Configuration.FactoryRecord,System.Configuration.ConfigurationSection,int):System.String:this (FullOpts)
          12 (2.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.ActionBlock`1[double]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.ActionBlock`1[int]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.ActionBlock`1[long]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.ActionBlock`1[short]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.ActionBlock`1[System.__Canon]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
          12 (2.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.ActionBlock`1[System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)

Top method improvements (percentages):
         -22 (-34.92 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Information:LegacyTypeNameOfCOMObject(System.Object,ubyte):System.String (FullOpts)
         -22 (-34.92 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Information:TypeNameOfCOMObject(System.Object,ubyte):System.String (FullOpts)
         -11 (-16.92 % of base) : System.Net.HttpListener.dasm - System.Net.HttpResponseStream:.cctor() (FullOpts)
         -11 (-16.92 % of base) : System.Net.Mail.dasm - System.Net.Mime.EncodedStreamFactory:.cctor() (FullOpts)
         -66 (-10.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int (FullOpts)
         -24 (-10.08 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.EncodingStreamWrapper:.cctor() (FullOpts)
         -13 (-8.90 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.Utils:VBFriendlyName(System.Type,System.Object):System.String (FullOpts)
         -33 (-8.40 % of base) : System.Net.Security.dasm - System.Net.Security.TlsFrameHeader:ToString():System.String:this (FullOpts)
         -26 (-8.28 % of base) : System.Text.Json.dasm - System.Text.Json.JsonDocument:CreateForLiteral(ubyte):System.Text.Json.JsonDocument (FullOpts)
         -22 (-7.03 % of base) : System.Net.Primitives.dasm - System.Net.DnsEndPoint:ToString():System.String:this (FullOpts)
         -43 (-6.98 % of base) : System.Private.CoreLib.dasm - System.Numerics.Quaternion:ToString():System.String:this (FullOpts)
         -30 (-6.88 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.KeyValuePair:PairToString(System.Object,System.Object):System.String (FullOpts)
        -139 (-6.70 % of base) : System.Net.Security.dasm - System.Net.Security.TlsFrameHelper+TlsFrameInfo:ToString():System.String:this (FullOpts)
         -30 (-6.44 % of base) : System.Net.Primitives.dasm - System.Net.CredentialCacheKey:ToString():System.String:this (FullOpts)
         -37 (-6.37 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializer:.cctor() (FullOpts)
         -27 (-6.37 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ToString():System.String:this (FullOpts)
         -22 (-6.29 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlRootAttribute:get_Key():System.String:this (FullOpts)
         -53 (-6.08 % of base) : System.Private.CoreLib.dasm - System.Exception:ToString():System.String:this (FullOpts)
         -39 (-6.06 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.SequencePoint:GetDebuggerDisplay():System.String:this (FullOpts)
         -25 (-6.05 % of base) : System.Private.CoreLib.dasm - System.Numerics.Plane:ToString():System.String:this (FullOpts)
         -20 (-6.04 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.SqlBinary:ToString():System.String:this (FullOpts)
         -23 (-5.99 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:NextIdName(System.String):System.String:this (FullOpts)
         -22 (-5.91 % of base) : System.Net.Primitives.dasm - System.Net.CredentialHostKey:ToString():System.String:this (FullOpts)
         -84 (-5.91 % of base) : System.Net.Primitives.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -84 (-5.91 % of base) : System.Net.NameResolution.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -23 (-5.90 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:NextIdName(System.String):System.String:this (FullOpts)
         -12 (-5.88 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemEncoding:<TryFind>g__WritePostEB|5_0(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts)
         -36 (-5.83 % of base) : System.Private.CoreLib.dasm - System.Reflection.LocalVariableInfo:ToString():System.String:this (FullOpts)
          -4 (-5.80 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:.cctor() (FullOpts)
         -25 (-5.77 % of base) : System.Private.CoreLib.dasm - System.Globalization.SortKey:ToString():System.String:this (FullOpts)
         -15 (-5.75 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:Path(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String (FullOpts)
         -30 (-5.73 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SourceInfo:CastTo(System.Xml.Serialization.TypeDesc):System.Xml.Serialization.SourceInfo:this (FullOpts)
         -84 (-5.72 % of base) : System.Net.Security.dasm - System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
         -44 (-5.69 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector3:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -33 (-5.64 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector2:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -30 (-5.59 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier:ToString():System.String:this (FullOpts)
         -46 (-5.56 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+ExceptionData:ToString():System.String:this (FullOpts)
         -26 (-5.54 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlMapping:GenerateKey(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String):System.String (FullOpts)
         -27 (-5.49 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Point:ToString():System.String:this (FullOpts)
         -42 (-5.45 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(ubyte,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):ubyte (FullOpts) (2 methods)
         -30 (-5.38 % of base) : System.Runtime.Numerics.dasm - System.Numerics.Complex:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -34 (-5.36 % of base) : System.Net.Security.dasm - System.Net.SecurityStatusPal:ToString():System.String:this (FullOpts)
         -23 (-5.31 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:get_DebuggerDisplay():System.String:this (FullOpts)
         -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.Span`1[double]:ToString():System.String:this (FullOpts)
         -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.Span`1[int]:ToString():System.String:this (FullOpts)
         -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.Span`1[long]:ToString():System.String:this (FullOpts)
         -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.Span`1[short]:ToString():System.String:this (FullOpts)
         -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
         -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
         -22 (-5.29 % of base) : System.Private.CoreLib.dasm - System.Span`1[ubyte]:ToString():System.String:this (FullOpts)
         -15 (-5.08 % of base) : System.Net.Primitives.dasm - System.Net.IPNetwork:ToString():System.String:this (FullOpts)
         -22 (-5.06 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:ToString():System.String:this (FullOpts)
          -7 (-5.04 % of base) : System.Collections.Specialized.dasm - System.Collections.Specialized.BitVector32+<>c:<ToString>b__19_0(System.Span`1[ushort],System.Collections.Specialized.BitVector32):this (FullOpts)
         -45 (-4.96 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitDebugInfo(System.Linq.Expressions.DebugInfoExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -30 (-4.96 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.RuntimeLabel:ToString():System.String:this (FullOpts)
         -34 (-4.94 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+DebugView+DebugViewItem:get_Display():System.String:this (FullOpts)
         -30 (-4.93 % of base) : System.Net.Http.dasm - System.Net.CredentialCacheKey:ToString():System.String:this (FullOpts)
         -27 (-4.87 % of base) : System.Private.CoreLib.dasm - System.Text.Rune:get_DebuggerDisplay():System.String:this (FullOpts)
         -30 (-4.87 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:GetStringForArrayMember(System.String,System.String,System.Xml.Serialization.TypeDesc):System.String:this (FullOpts)
         -19 (-4.83 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:NextMethodName(System.String):System.String:this (FullOpts)
         -19 (-4.83 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:NextMethodName(System.String):System.String:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[double]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[int]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[long]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[short]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Numerics.Vector`1[float]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[ubyte]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[double,System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[int,System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[long,System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[short,System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[System.__Canon,System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[System.Nullable`1[int],System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[System.Numerics.Vector`1[float],System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.82 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[ubyte,System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -46 (-4.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
         -18 (-4.68 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:NextMethodName(System.String):System.String:this (FullOpts)
         -18 (-4.68 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:NextMethodName(System.String):System.String:this (FullOpts)
         -68 (-4.62 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LogHelper:GetRedactedUriString(System.Uri):System.String (FullOpts)
         -19 (-4.60 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:GetChoiceIdentifierSource(System.Xml.Serialization.MemberMapping[],System.Xml.Serialization.MemberMapping):System.String (FullOpts)
         -19 (-4.60 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GetChoiceIdentifierSource(System.Xml.Serialization.MemberMapping[],System.Xml.Serialization.MemberMapping):System.String (FullOpts)
         -63 (-4.60 % of base) : System.Net.Http.dasm - System.Net.Http.DiagnosticsHandler+ResponseData:ToString():System.String:this (FullOpts)
        -245 (-4.59 % of base) : System.Net.Quic.dasm - Microsoft.Quic.QUIC_STREAM_EVENT:ToString():System.String:this (FullOpts)
         -21 (-4.59 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Error:UnknownBindingType(int):System.ArgumentException (FullOpts)
         -72 (-4.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.DebugViewWriter:VisitConstant(System.Linq.Expressions.ConstantExpression):System.Linq.Expressions.Expression:this (FullOpts)
         -19 (-4.57 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[double]:ToString():System.String:this (FullOpts)
         -19 (-4.57 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[int]:ToString():System.String:this (FullOpts)
         -19 (-4.57 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[long]:ToString():System.String:this (FullOpts)
         -19 (-4.57 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[short]:ToString():System.String:this (FullOpts)
         -19 (-4.57 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Nullable`1[int]]:ToString():System.String:this (FullOpts)
         -19 (-4.57 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]:ToString():System.String:this (FullOpts)
         -19 (-4.57 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[ubyte]:ToString():System.String:this (FullOpts)
         -21 (-4.55 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+TargetObserver`1[double]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.55 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+TargetObserver`1[int]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.55 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+TargetObserver`1[long]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.55 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+TargetObserver`1[short]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.55 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+TargetObserver`1[System.__Canon]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
         -21 (-4.55 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+TargetObserver`1[System.Nullable`1[int]]:get_DebuggerDisplayContent():System.Object:this (FullOpts)

1048 total methods with Code Size differences (678 improved, 370 regressed), 231492 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 6, 2024

Top method regressions

96 (6.87 % of base) - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:AppendServiceDescriptor(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)
 ; Assembly listing for method Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:AppendServiceDescriptor(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceDescriptor) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 27 single block inlinees; 42 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] ( 48, 29   )     ref  ->  rbx         class-hnd single-def <System.Text.StringBuilder>
 ;  V01 arg1         [V01,T01] ( 14,  9   )     ref  ->  r15         class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceDescriptor>
-;  V02 loc0         [V02,T51] (  2,  1   )     ref  ->  r15         class-hnd single-def <System.Object>
+;  V02 loc0         [V02,T61] (  2,  1   )     ref  ->  r15         class-hnd single-def <System.Object>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T20] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Single-def Box Helper" <Microsoft.Extensions.DependencyInjection.ServiceLifetime>
-;  V05 tmp2         [V05,T27] (  3,  2.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V06 tmp3         [V06,T16] (  4,  3   )     int  ->  r13         single-def "Inline stloc first use temp"
-;  V07 tmp4         [V07,T12] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V04 tmp1         [V04,T21] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Single-def Box Helper" <Microsoft.Extensions.DependencyInjection.ServiceLifetime>
+;  V05 tmp2         [V05,T30] (  3,  2.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V06 tmp3         [V06,T17] (  4,  3   )     int  ->  r13         single-def "Inline stloc first use temp"
+;  V07 tmp4         [V07,T26] (  2,  3   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V08 tmp5         [V08    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;* V09 tmp6         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Text.StringBuilder>
 ;  V10 tmp7         [V10,T02] (  4,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Type>
-;  V11 tmp8         [V11,T03] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V12 tmp9         [V12,T28] (  3,  2.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V13 tmp10        [V13,T17] (  4,  3   )     int  ->  r13         single-def "Inline stloc first use temp"
-;  V14 tmp11        [V14,T13] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V11 tmp8         [V11,T05] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V12 tmp9         [V12,T31] (  3,  2.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V13 tmp10        [V13,T18] (  4,  3   )     int  ->  r13         single-def "Inline stloc first use temp"
+;  V14 tmp11        [V14,T27] (  2,  3   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V15 tmp12        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;* V16 tmp13        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Text.StringBuilder>
-;  V17 tmp14        [V17,T31] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLifetime>
-;  V18 tmp15        [V18,T04] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V19 tmp16        [V19,T29] (  3,  2.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V20 tmp17        [V20,T18] (  4,  3   )     int  ->  r13         single-def "Inline stloc first use temp"
-;  V21 tmp18        [V21,T14] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V17 tmp14        [V17,T34] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLifetime>
+;  V18 tmp15        [V18,T06] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V19 tmp16        [V19,T32] (  3,  2.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V20 tmp17        [V20,T19] (  4,  3   )     int  ->  r13         single-def "Inline stloc first use temp"
+;  V21 tmp18        [V21,T28] (  2,  3   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V22 tmp19        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V23 tmp20        [V23,T33] (  3,  1.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V24 tmp21        [V24,T39] (  3,  1.50)     int  ->  r13         single-def "Inline stloc first use temp"
-;  V25 tmp22        [V25,T21] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V23 tmp20        [V23,T43] (  3,  1.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V24 tmp21        [V24,T49] (  3,  1.50)     int  ->  r13         single-def "Inline stloc first use temp"
+;  V25 tmp22        [V25,T35] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V26 tmp23        [V26    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;* V27 tmp24        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Text.StringBuilder>
-;  V28 tmp25        [V28,T05] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Type>
-;  V29 tmp26        [V29,T06] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V30 tmp27        [V30,T34] (  3,  1.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V31 tmp28        [V31,T40] (  3,  1.50)     int  ->  r13         single-def "Inline stloc first use temp"
-;  V32 tmp29        [V32,T22] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V28 tmp25        [V28,T07] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Type>
+;  V29 tmp26        [V29,T08] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V30 tmp27        [V30,T44] (  3,  1.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V31 tmp28        [V31,T50] (  3,  1.50)     int  ->  r13         single-def "Inline stloc first use temp"
+;  V32 tmp29        [V32,T36] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V33 tmp30        [V33    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;* V34 tmp31        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Func`2[System.IServiceProvider,System.Object]>
 ;* V35 tmp32        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Text.StringBuilder>
-;  V36 tmp33        [V36,T07] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Reflection.MethodInfo>
-;  V37 tmp34        [V37,T08] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V38 tmp35        [V38,T35] (  3,  1.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V39 tmp36        [V39,T41] (  3,  1.50)     int  ->  r13         single-def "Inline stloc first use temp"
-;  V40 tmp37        [V40,T23] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V36 tmp33        [V36,T09] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Reflection.MethodInfo>
+;  V37 tmp34        [V37,T10] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V38 tmp35        [V38,T45] (  3,  1.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V39 tmp36        [V39,T51] (  3,  1.50)     int  ->  r13         single-def "Inline stloc first use temp"
+;  V40 tmp37        [V40,T37] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V41 tmp38        [V41    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;* V42 tmp39        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Func`3[System.IServiceProvider,System.Object,System.Object]>
 ;* V43 tmp40        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Text.StringBuilder>
-;  V44 tmp41        [V44,T09] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Reflection.MethodInfo>
-;  V45 tmp42        [V45,T10] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V46 tmp43        [V46,T36] (  3,  1.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V47 tmp44        [V47,T42] (  3,  1.50)     int  ->  r13         single-def "Inline stloc first use temp"
-;  V48 tmp45        [V48,T24] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V44 tmp41        [V44,T11] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Reflection.MethodInfo>
+;  V45 tmp42        [V45,T12] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V46 tmp43        [V46,T46] (  3,  1.50)     ref  ->  r14         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V47 tmp44        [V47,T52] (  3,  1.50)     int  ->  r13         single-def "Inline stloc first use temp"
+;  V48 tmp45        [V48,T38] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V49 tmp46        [V49    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;* V50 tmp47        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Text.StringBuilder>
-;  V51 tmp48        [V51,T32] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
-;  V52 tmp49        [V52,T11] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V53 tmp50        [V53,T37] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V54 tmp51        [V54,T43] (  3,  1.50)     int  ->  r14         single-def "Inline stloc first use temp"
-;  V55 tmp52        [V55,T25] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V51 tmp48        [V51,T39] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
+;  V52 tmp49        [V52,T13] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V53 tmp50        [V53,T47] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V54 tmp51        [V54,T53] (  3,  1.50)     int  ->  r14         single-def "Inline stloc first use temp"
+;  V55 tmp52        [V55,T40] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V56 tmp53        [V56    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V57 tmp54        [V57,T38] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V58 tmp55        [V58,T44] (  3,  1.50)     int  ->  r14         single-def "Inline stloc first use temp"
-;  V59 tmp56        [V59,T26] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V57 tmp54        [V57,T48] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V58 tmp55        [V58,T54] (  3,  1.50)     int  ->  r14         single-def "Inline stloc first use temp"
+;  V59 tmp56        [V59,T41] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V60 tmp57        [V60    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V61 tmp58        [V61,T30] (  3,  2.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V62 tmp59        [V62,T19] (  4,  3   )     int  ->  r14         single-def "Inline stloc first use temp"
-;  V63 tmp60        [V63,T15] (  3,  4   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V61 tmp58        [V61,T33] (  3,  2.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V62 tmp59        [V62,T20] (  4,  3   )     int  ->  r14         single-def "Inline stloc first use temp"
+;  V63 tmp60        [V63,T29] (  2,  3   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V64 tmp61        [V64    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V65 cse0         [V65,T45] (  3,  1.50)     int  ->  r12         "CSE #04: conservative"
-;  V66 cse1         [V66,T46] (  3,  1.50)     int  ->  r12         "CSE #05: conservative"
-;  V67 cse2         [V67,T47] (  3,  1.50)     int  ->  r12         "CSE #08: conservative"
-;  V68 cse3         [V68,T48] (  3,  1.50)     int  ->  r12         "CSE #09: conservative"
-;  V69 cse4         [V69,T49] (  3,  1.50)     int  ->  r13         "CSE #10: conservative"
-;  V70 cse5         [V70,T50] (  3,  1.50)     int  ->  r13         "CSE #11: conservative"
+;  V65 cse0         [V65,T55] (  3,  1.50)     int  ->  r12         "CSE #04: conservative"
+;  V66 cse1         [V66,T56] (  3,  1.50)     int  ->  r12         "CSE #05: conservative"
+;  V67 cse2         [V67,T57] (  3,  1.50)     int  ->  r12         "CSE #08: conservative"
+;  V68 cse3         [V68,T58] (  3,  1.50)     int  ->  r12         "CSE #09: conservative"
+;  V69 cse4         [V69,T59] (  3,  1.50)     int  ->  r13         "CSE #10: conservative"
+;  V70 cse5         [V70,T60] (  3,  1.50)     int  ->  r13         "CSE #11: conservative"
+;  V71 rat0         [V71,T22] (  3,  3   )   byref  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V72 rat1         [V72,T42] (  2,  2   )   byref  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V73 rat2         [V73,T23] (  3,  3   )   byref  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V74 rat3         [V74,T03] (  5,  5   )   byref  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V75 rat4         [V75,T14] (  4,  4   )   byref  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V76 rat5         [V76,T15] (  4,  4   )   byref  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V77 rat6         [V77,T04] (  5,  5   )   byref  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V78 rat7         [V78,T16] (  4,  4   )   byref  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V79 rat8         [V79,T24] (  3,  3   )   byref  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V80 rat9         [V80,T25] (  3,  3   )   byref  ->  rax         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
 G_M8294_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        mov      r15, rsi
 						;; size=22 bbWeight=1 PerfScore 8.00
 G_M8294_IG02:
        mov      rsi, 0xD1FFAB1E
        mov      r14, gword ptr [rbx+0x08]
        mov      r13d, dword ptr [rbx+0x18]
        lea      edi, [r13+0x12]
        cmp      dword ptr [r14+0x08], edi
        jae      SHORT G_M8294_IG04
 						;; size=28 bbWeight=1 PerfScore 8.75
 G_M8294_IG03:
        mov      rdi, rbx
        mov      edx, 18
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M8294_IG05
 						;; size=22 bbWeight=0.50 PerfScore 2.88
 G_M8294_IG04:
        movsxd   rdi, r13d
        lea      rdi, bword ptr [r14+2*rdi+0x10]
-       vmovdqu  ymm0, ymmword ptr [rsi]
-       vmovdqu  xmm1, xmmword ptr [rsi+0x14]
-       vmovdqu  ymmword ptr [rdi], ymm0
-       vmovdqu  xmmword ptr [rdi+0x14], xmm1
+       vmovups  ymm0, ymmword ptr [reloc @RWD00]
+       vmovups  ymmword ptr [rdi], ymm0
+       mov      dword ptr [rdi+0x20], 0xD1FFAB1E
        add      r13d, 18
        mov      dword ptr [rbx+0x18], r13d
-						;; size=34 bbWeight=0.50 PerfScore 7.75
+						;; size=35 bbWeight=0.50 PerfScore 4.75
 G_M8294_IG05:
        mov      rdi, gword ptr [r15+0x10]
        test     rdi, rdi
        je       SHORT G_M8294_IG07
 						;; size=9 bbWeight=1 PerfScore 3.25
 G_M8294_IG06:
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x08]System.Object:ToString():System.String:this
        mov      rsi, rax
        test     rsi, rsi
        je       SHORT G_M8294_IG07
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=40 bbWeight=0.50 PerfScore 7.12
 G_M8294_IG07:
        mov      rsi, 0xD1FFAB1E
        mov      r14, gword ptr [rbx+0x08]
        mov      r13d, dword ptr [rbx+0x18]
        lea      edi, [r13+0x10]
        cmp      dword ptr [r14+0x08], edi
        jae      SHORT G_M8294_IG09
 						;; size=28 bbWeight=1 PerfScore 8.75
 G_M8294_IG08:
        mov      rdi, rbx
        mov      edx, 16
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M8294_IG10
 						;; size=22 bbWeight=0.50 PerfScore 2.88
 G_M8294_IG09:
        movsxd   rdi, r13d
        lea      rdi, bword ptr [r14+2*rdi+0x10]
-       vmovdqu  ymm0, ymmword ptr [rsi]
-       vmovdqu  ymmword ptr [rdi], ymm0
+       vmovups  ymm0, ymmword ptr [reloc @RWD32]
+       vmovups  ymmword ptr [rdi], ymm0
        add      r13d, 16
        mov      dword ptr [rbx+0x18], r13d
-						;; size=24 bbWeight=0.50 PerfScore 4.75
+						;; size=28 bbWeight=0.50 PerfScore 4.25
 G_M8294_IG10:
        mov      rdi, 0xD1FFAB1E      ; Microsoft.Extensions.DependencyInjection.ServiceLifetime
        call     CORINFO_HELP_NEWSFAST
        mov      rdi, rax
        mov      eax, dword ptr [r15+0x30]
        mov      dword ptr [rdi+0x08], eax
        mov      rax, 0xD1FFAB1E      ; code for System.Enum:ToString():System.String:this
        call     [rax]System.Enum:ToString():System.String:this
        mov      rsi, rax
        test     rsi, rsi
        je       SHORT G_M8294_IG11
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=67 bbWeight=0.50 PerfScore 7.50
 G_M8294_IG11:
        mov      rsi, 0xD1FFAB1E
        mov      r14, gword ptr [rbx+0x08]
        mov      r13d, dword ptr [rbx+0x18]
        lea      edi, [r13+0x03]
        cmp      dword ptr [r14+0x08], edi
        jae      SHORT G_M8294_IG13
 						;; size=28 bbWeight=1 PerfScore 8.75
 G_M8294_IG12:
        mov      rdi, rbx
        mov      edx, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M8294_IG14
 						;; size=22 bbWeight=0.50 PerfScore 2.88
 G_M8294_IG13:
        movsxd   rdi, r13d
        lea      rdi, bword ptr [r14+2*rdi+0x10]
-       mov      eax, dword ptr [rsi]
-       mov      ecx, dword ptr [rsi+0x02]
-       mov      dword ptr [rdi], eax
-       mov      dword ptr [rdi+0x02], ecx
+       mov      dword ptr [rdi], 0xD1FFAB1E
+       mov      word  ptr [rdi+0x04], 32
        add      r13d, 3
        mov      dword ptr [rbx+0x18], r13d
-						;; size=26 bbWeight=0.50 PerfScore 4.25
+						;; size=28 bbWeight=0.50 PerfScore 2.25
 G_M8294_IG14:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceDescriptorExtensions:GetImplementationType(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):System.Type
        call     [rax]Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceDescriptorExtensions:GetImplementationType(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):System.Type
        test     rax, rax
        jne      G_M8294_IG30
 						;; size=24 bbWeight=1 PerfScore 4.75
 G_M8294_IG15:
        cmp      gword ptr [r15+0x08], 0
        jne      SHORT G_M8294_IG16
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.ServiceDescriptor:get_ImplementationFactory():System.Func`2[System.IServiceProvider,System.Object]:this
        call     [rax]Microsoft.Extensions.DependencyInjection.ServiceDescriptor:get_ImplementationFactory():System.Func`2[System.IServiceProvider,System.Object]:this
        test     rax, rax
        jne      G_M8294_IG27
 						;; size=31 bbWeight=0.50 PerfScore 4.38
 G_M8294_IG16:
        cmp      gword ptr [r15+0x08], 0
        je       SHORT G_M8294_IG17
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.ServiceDescriptor:get_KeyedImplementationFactory():System.Func`3[System.IServiceProvider,System.Object,System.Object]:this
        call     [rax]Microsoft.Extensions.DependencyInjection.ServiceDescriptor:get_KeyedImplementationFactory():System.Func`3[System.IServiceProvider,System.Object,System.Object]:this
        test     rax, rax
        jne      G_M8294_IG24
 						;; size=31 bbWeight=0.50 PerfScore 4.38
 G_M8294_IG17:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceDescriptorExtensions:GetImplementationInstance(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):System.Object
        call     [rax]Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceDescriptorExtensions:GetImplementationInstance(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):System.Object
        test     rax, rax
        jne      SHORT G_M8294_IG19
        mov      rsi, 0xD1FFAB1E
        mov      r15, gword ptr [rbx+0x08]
        mov      r14d, dword ptr [rbx+0x18]
        lea      r13d, [r14+0x0C]
        cmp      dword ptr [r15+0x08], r13d
        jae      SHORT G_M8294_IG18
        mov      rdi, rbx
        mov      edx, 12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      G_M8294_IG33
 						;; size=73 bbWeight=0.50 PerfScore 9.62
 G_M8294_IG18:
        movsxd   rdi, r14d
        lea      rdi, bword ptr [r15+2*rdi+0x10]
-       vmovdqu  xmm0, xmmword ptr [rsi]
-       vmovdqu  xmm1, xmmword ptr [rsi+0x08]
-       vmovdqu  xmmword ptr [rdi], xmm0
-       vmovdqu  xmmword ptr [rdi+0x08], xmm1
+       vmovups  xmm0, xmmword ptr [reloc @RWD64]
+       vmovups  xmmword ptr [rdi], xmm0
+       mov      rax, 0xD1FFAB1E
+       mov      qword ptr [rdi+0x10], rax
        mov      dword ptr [rbx+0x18], r13d
        jmp      G_M8294_IG33
-						;; size=35 bbWeight=0.50 PerfScore 8.12
+						;; size=43 bbWeight=0.50 PerfScore 5.25
 G_M8294_IG19:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceDescriptorExtensions:GetImplementationInstance(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):System.Object
        call     [rax]Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceDescriptorExtensions:GetImplementationInstance(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):System.Object
        mov      r15, rax
        mov      rsi, 0xD1FFAB1E
        mov      r14, gword ptr [rbx+0x08]
        mov      r13d, dword ptr [rbx+0x18]
        lea      r12d, [r13+0x1B]
        cmp      dword ptr [r14+0x08], r12d
        jae      SHORT G_M8294_IG20
        mov      rdi, rbx
        mov      edx, 27
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M8294_IG21
 						;; size=68 bbWeight=0.50 PerfScore 9.12
 G_M8294_IG20:
        movsxd   rdi, r13d
        lea      rdi, bword ptr [r14+2*rdi+0x10]
-       vmovdqu  ymm0, ymmword ptr [rsi]
-       vmovdqu  ymm1, ymmword ptr [rsi+0x16]
-       vmovdqu  ymmword ptr [rdi], ymm0
-       vmovdqu  ymmword ptr [rdi+0x16], ymm1
+       vmovups  ymm0, ymmword ptr [reloc @RWD96]
+       vmovups  ymmword ptr [rdi], ymm0
+       vmovups  xmm0, xmmword ptr [reloc @RWD128]
+       vmovups  xmmword ptr [rdi+0x20], xmm0
+       mov      dword ptr [rdi+0x30], 0xD1FFAB1E
+       mov      word  ptr [rdi+0x34], 34
        mov      dword ptr [rbx+0x18], r12d
-						;; size=30 bbWeight=0.50 PerfScore 8.12
+						;; size=50 bbWeight=0.50 PerfScore 7.62
 G_M8294_IG21:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Object:GetType():System.Type:this
        call     [rax]System.Object:GetType():System.Type:this
        mov      rdi, rax
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.RuntimeType:GetCachedName(int):System.String:this
        call     [rax]System.RuntimeType:GetCachedName(int):System.String:this
        mov      rsi, rax
        test     rsi, rsi
        je       SHORT G_M8294_IG22
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=65 bbWeight=0.50 PerfScore 7.25
 G_M8294_IG22:
        mov      rsi, 0xD1FFAB1E
        mov      r15, gword ptr [rbx+0x08]
        mov      r14d, dword ptr [rbx+0x18]
        lea      r13d, [r14+0x0B]
        cmp      dword ptr [r15+0x08], r13d
        jae      SHORT G_M8294_IG23
        mov      rdi, rbx
        mov      edx, 11
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      G_M8294_IG33
 						;; size=53 bbWeight=0.50 PerfScore 7.25
 G_M8294_IG23:
        movsxd   rdi, r14d
        lea      rdi, bword ptr [r15+2*rdi+0x10]
-       vmovdqu  xmm0, xmmword ptr [rsi]
-       vmovdqu  xmm1, xmmword ptr [rsi+0x06]
-       vmovdqu  xmmword ptr [rdi], xmm0
-       vmovdqu  xmmword ptr [rdi+0x06], xmm1
+       vmovups  xmm0, xmmword ptr [reloc @RWD144]
+       vmovups  xmmword ptr [rdi], xmm0
+       mov      dword ptr [rdi+0x10], 0xD1FFAB1E
+       mov      word  ptr [rdi+0x14], 41
        mov      dword ptr [rbx+0x18], r13d
        jmp      G_M8294_IG33
-						;; size=35 bbWeight=0.50 PerfScore 8.12
+						;; size=42 bbWeight=0.50 PerfScore 5.62
 G_M8294_IG24:
        mov      rsi, 0xD1FFAB1E
        mov      r14, gword ptr [rbx+0x08]
        mov      r13d, dword ptr [rbx+0x18]
        lea      r12d, [r13+0x1A]
        cmp      dword ptr [r14+0x08], r12d
        jae      SHORT G_M8294_IG25
        mov      rdi, rbx
        mov      edx, 26
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M8294_IG26
 						;; size=50 bbWeight=0.50 PerfScore 7.25
 G_M8294_IG25:
        movsxd   rdi, r13d
        lea      rdi, bword ptr [r14+2*rdi+0x10]
-       vmovdqu  ymm0, ymmword ptr [rsi]
-       vmovdqu  ymm1, ymmword ptr [rsi+0x14]
-       vmovdqu  ymmword ptr [rdi], ymm0
-       vmovdqu  ymmword ptr [rdi+0x14], ymm1
+       vmovups  ymm0, ymmword ptr [reloc @RWD160]
+       vmovups  ymmword ptr [rdi], ymm0
+       vmovups  xmm0, xmmword ptr [reloc @RWD192]
+       vmovups  xmmword ptr [rdi+0x20], xmm0
+       mov      dword ptr [rdi+0x30], 0xD1FFAB1E
        mov      dword ptr [rbx+0x18], r12d
-						;; size=30 bbWeight=0.50 PerfScore 8.12
+						;; size=44 bbWeight=0.50 PerfScore 7.12
 G_M8294_IG26:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.ServiceDescriptor:get_KeyedImplementationFactory():System.Func`3[System.IServiceProvider,System.Object,System.Object]:this
        call     [rax]Microsoft.Extensions.DependencyInjection.ServiceDescriptor:get_KeyedImplementationFactory():System.Func`3[System.IServiceProvider,System.Object,System.Object]:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this
        test     rax, rax
        je       G_M8294_IG33
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x08]System.Object:ToString():System.String:this
        mov      rsi, rax
        test     rsi, rsi
        je       G_M8294_IG33
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
        jmp      G_M8294_IG33
 						;; size=93 bbWeight=0.50 PerfScore 13.88
 G_M8294_IG27:
        mov      rsi, 0xD1FFAB1E
        mov      r14, gword ptr [rbx+0x08]
        mov      r13d, dword ptr [rbx+0x18]
        lea      r12d, [r13+0x1A]
        cmp      dword ptr [r14+0x08], r12d
        jae      SHORT G_M8294_IG28
        mov      rdi, rbx
        mov      edx, 26
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M8294_IG29
 						;; size=50 bbWeight=0.50 PerfScore 7.25
 G_M8294_IG28:
        movsxd   rdi, r13d
        lea      rdi, bword ptr [r14+2*rdi+0x10]
-       vmovdqu  ymm0, ymmword ptr [rsi]
-       vmovdqu  ymm1, ymmword ptr [rsi+0x14]
-       vmovdqu  ymmword ptr [rdi], ymm0
-       vmovdqu  ymmword ptr [rdi+0x14], ymm1
+       vmovups  ymm0, ymmword ptr [reloc @RWD160]
+       vmovups  ymmword ptr [rdi], ymm0
+       vmovups  xmm0, xmmword ptr [reloc @RWD192]
+       vmovups  xmmword ptr [rdi+0x20], xmm0
+       mov      dword ptr [rdi+0x30], 0xD1FFAB1E
        mov      dword ptr [rbx+0x18], r12d
-						;; size=30 bbWeight=0.50 PerfScore 8.12
+						;; size=44 bbWeight=0.50 PerfScore 7.12
 G_M8294_IG29:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.ServiceDescriptor:get_ImplementationFactory():System.Func`2[System.IServiceProvider,System.Object]:this
        call     [rax]Microsoft.Extensions.DependencyInjection.ServiceDescriptor:get_ImplementationFactory():System.Func`2[System.IServiceProvider,System.Object]:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this
        test     rax, rax
        je       G_M8294_IG33
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x08]System.Object:ToString():System.String:this
        mov      rsi, rax
        test     rsi, rsi
        je       G_M8294_IG33
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
        jmp      G_M8294_IG33
 						;; size=93 bbWeight=0.50 PerfScore 13.88
 G_M8294_IG30:
        mov      rsi, 0xD1FFAB1E
        mov      r14, gword ptr [rbx+0x08]
        mov      r13d, dword ptr [rbx+0x18]
        lea      r12d, [r13+0x17]
        cmp      dword ptr [r14+0x08], r12d
        jae      SHORT G_M8294_IG31
        mov      rdi, rbx
        mov      edx, 23
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M8294_IG32
 						;; size=50 bbWeight=0.50 PerfScore 7.25
 G_M8294_IG31:
        movsxd   rdi, r13d
        lea      rdi, bword ptr [r14+2*rdi+0x10]
-       vmovdqu  ymm0, ymmword ptr [rsi]
-       vmovdqu  xmm1, xmmword ptr [rsi+0x1E]
-       vmovdqu  ymmword ptr [rdi], ymm0
-       vmovdqu  xmmword ptr [rdi+0x1E], xmm1
+       vmovups  ymm0, ymmword ptr [reloc @RWD224]
+       vmovups  ymmword ptr [rdi], ymm0
+       mov      rax, 0xD1FFAB1E
+       mov      qword ptr [rdi+0x20], rax
+       mov      dword ptr [rdi+0x28], 0xD1FFAB1E
+       mov      word  ptr [rdi+0x2C], 34
        mov      dword ptr [rbx+0x18], r12d
-						;; size=30 bbWeight=0.50 PerfScore 7.62
+						;; size=51 bbWeight=0.50 PerfScore 5.75
 G_M8294_IG32:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceDescriptorExtensions:GetImplementationType(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):System.Type
        call     [rax]Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceDescriptorExtensions:GetImplementationType(Microsoft.Extensions.DependencyInjection.ServiceDescriptor):System.Type
        test     rax, rax
        je       SHORT G_M8294_IG33
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x08]System.Object:ToString():System.String:this
        mov      rsi, rax
        test     rsi, rsi
        je       SHORT G_M8294_IG33
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=63 bbWeight=0.50 PerfScore 9.62
 G_M8294_IG33:
        mov      rsi, 0xD1FFAB1E
        mov      r15, gword ptr [rbx+0x08]
        mov      r14d, dword ptr [rbx+0x18]
        lea      edi, [r14+0x03]
        cmp      dword ptr [r15+0x08], edi
        jae      SHORT G_M8294_IG35
 						;; size=28 bbWeight=1 PerfScore 8.75
 G_M8294_IG34:
        mov      rdi, rbx
        mov      edx, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M8294_IG36
 						;; size=22 bbWeight=0.50 PerfScore 2.88
 G_M8294_IG35:
        movsxd   rax, r14d
        lea      rax, bword ptr [r15+2*rax+0x10]
-       mov      ecx, dword ptr [rsi]
-       mov      edx, dword ptr [rsi+0x02]
-       mov      dword ptr [rax], ecx
-       mov      dword ptr [rax+0x02], edx
+       mov      dword ptr [rax], 0xD1FFAB1E
+       mov      word  ptr [rax+0x04], 125
        add      r14d, 3
        mov      dword ptr [rbx+0x18], r14d
-						;; size=26 bbWeight=0.50 PerfScore 4.25
+						;; size=28 bbWeight=0.50 PerfScore 2.25
 G_M8294_IG36:
+       vzeroupper 
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
+						;; size=18 bbWeight=1 PerfScore 5.25
+RWD00  	dq	007300220020007Bh, 0069007600720065h, 0079005400650063h, 003A002200650070h
+RWD32  	dq	00220020002C0022h, 006500660069006Ch, 0065006D00690074h, 00220020003A0022h
+RWD64  	dq	006B006E00750022h, 006E0077006F006Eh
+RWD80  	dd	00000000h, 00000000h, 00000000h, 00000000h
+RWD96  	dq	0070006D00690022h, 0065006D0065006Ch, 007400610074006Eh, 0049006E006F0069h
+RWD128 	dq	006100740073006Eh, 002200650063006Eh
+RWD144 	dq	006E006900280020h, 006E006100740073h
+RWD160 	dq	0070006D00690022h, 0065006D0065006Ch, 007400610074006Eh, 0046006E006F0069h
+RWD192 	dq	006F007400630061h, 003A002200790072h
+RWD208 	dd	00000000h, 00000000h, 00000000h, 00000000h
+RWD224 	dq	0070006D00690022h, 0065006D0065006Ch, 007400610074006Eh, 0054006E006F0069h
 
-; Total bytes of code 1397, prolog size 16, PerfScore 251.75, instruction count 335, allocated bytes for code 1397 (MethodHash=a1b8df99) for method Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:AppendServiceDescriptor(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceDescriptor) (FullOpts)
+
+; Total bytes of code 1493, prolog size 16, PerfScore 235.50, instruction count 337, allocated bytes for code 1493 (MethodHash=a1b8df99) for method Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:AppendServiceDescriptor(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceDescriptor) (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/f977ed26cf5757ffe5afad778093bd61

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 6, 2024

Top method improvements

-84 (-5.91 % of base) - System.Net.NetEventSource:Format(System.Object):System.String
 ; Assembly listing for method System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 15 single block inlinees; 32 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] ( 14,  8.50)     ref  ->  rbx         class-hnd single-def <System.Object>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.String>
 ;  V02 loc1         [V02,T38] (  3,  1.50)     ref  ->  r15         class-hnd single-def <System.Array>
-;  V03 loc2         [V03,T11] (  4,  2   )     ref  ->  r15         class-hnd single-def <System.Collections.ICollection>
+;  V03 loc2         [V03,T12] (  4,  2   )     ref  ->  r15         class-hnd single-def <System.Collections.ICollection>
 ;  V04 loc3         [V04,T10] (  6,  3   )     ref  ->  r15         class-hnd single-def <System.Runtime.InteropServices.SafeHandle>
 ;  V05 loc4         [V05,T39] (  3,  1.50)     ref  ->  r14         class-hnd exact single-def <System.String>
 ;  V06 loc5         [V06    ] ( 64, 32   )  struct (40) [rbp-0x40]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     int  ->  zero-ref    "spilling qmarkNull"
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.RuntimeType>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V11 tmp4         [V11,T02] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V13 tmp6         [V13,T12] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
+;  V13 tmp6         [V13,T13] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
 ;  V14 tmp7         [V14,T27] (  2,  2   )     int  ->  rsi         "Inlining Arg"
 ;* V15 tmp8         [V15,T41] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V17 tmp10        [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V18 tmp11        [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Array>
 ;* V20 tmp13        [V20    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V21 tmp14        [V21,T03] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V23 tmp16        [V23,T13] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V23 tmp16        [V23,T14] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
 ;  V24 tmp17        [V24,T28] (  2,  2   )     int  ->  rsi         "Inlining Arg"
 ;* V25 tmp18        [V25,T42] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V26 tmp19        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V27 tmp20        [V27    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp21        [V28    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp22        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.RuntimeType>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V31 tmp24        [V31,T04] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V32 tmp25        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V33 tmp26        [V33,T14] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V33 tmp26        [V33,T15] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
 ;  V34 tmp27        [V34,T29] (  2,  2   )     int  ->  rsi         "Inlining Arg"
 ;* V35 tmp28        [V35,T43] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V36 tmp29        [V36    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V37 tmp30        [V37    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V38 tmp31        [V38    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V39 tmp32        [V39    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V40 tmp33        [V40,T05] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V41 tmp34        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V42 tmp35        [V42,T15] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V42 tmp35        [V42,T16] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
 ;  V43 tmp36        [V43,T30] (  2,  2   )     int  ->  rsi         "Inlining Arg"
 ;* V44 tmp37        [V44,T44] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V45 tmp38        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V47 tmp40        [V47    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V48 tmp41        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.RuntimeType>
 ;* V49 tmp42        [V49    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V50 tmp43        [V50,T06] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V51 tmp44        [V51    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V52 tmp45        [V52,T16] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V52 tmp45        [V52,T17] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
 ;  V53 tmp46        [V53,T31] (  2,  2   )     int  ->  rsi         "Inlining Arg"
 ;* V54 tmp47        [V54,T45] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V55 tmp48        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V57 tmp50        [V57    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V58 tmp51        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V59 tmp52        [V59,T07] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V60 tmp53        [V60    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V61 tmp54        [V61,T17] (  2,  2   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V61 tmp54        [V61,T11] (  3,  3   )   byref  ->  rbx         single-def "Inlining Arg"
 ;  V62 tmp55        [V62,T32] (  2,  2   )     int  ->  rsi         "Inlining Arg"
 ;* V63 tmp56        [V63,T46] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V64 tmp57        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V65 tmp58        [V65    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V66 tmp59        [V66    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V67 tmp60        [V67    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V68 tmp61        [V68,T08] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V69 tmp62        [V69    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V70 tmp63        [V70,T18] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V71 tmp64        [V71,T33] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V72 tmp65        [V72,T47] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V73 tmp66        [V73    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V74 tmp67        [V74    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V75 tmp68        [V75    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V76 tmp69        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V77 tmp70        [V77,T09] (  4,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V78 tmp71        [V78    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V79 tmp72        [V79,T19] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
 ;  V80 tmp73        [V80,T34] (  2,  2   )     int  ->  rsi         "Inlining Arg"
 ;* V81 tmp74        [V81,T48] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V82 tmp75        [V82    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V83 tmp76        [V83    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V84 tmp77        [V84    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V85 tmp78        [V85    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.RuntimeType>
 ;* V86 tmp79        [V86    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V87 tmp80        [V87,T01] (  5,  6   )     ref  ->  rax         "Single return block return value"
 ;* V88 tmp81        [V88    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V89 tmp82        [V89    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V90 tmp83        [V90    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V91 tmp84        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V92 tmp85        [V92    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V93 tmp86        [V93    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V94 tmp87        [V94    ] (  0,  0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V95 tmp88        [V95    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;* V96 tmp89        [V96    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V97 tmp90        [V97    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V98 tmp91        [V98    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V99 tmp92        [V99    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V100 tmp93       [V100    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V101 tmp94       [V101    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;* V102 tmp95       [V102    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V103 tmp96       [V103    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
 ;* V104 tmp97       [V104    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V36._reference (fldOffset=0x0)" P-INDEP
 ;* V105 tmp98       [V105    ] (  0,  0   )     int  ->  zero-ref    "field V36._length (fldOffset=0x8)" P-INDEP
 ;* V106 tmp99       [V106    ] (  0,  0   )   byref  ->  zero-ref    "field V39._reference (fldOffset=0x0)" P-INDEP
 ;* V107 tmp100      [V107    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
 ;* V108 tmp101      [V108    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V41._reference (fldOffset=0x0)" P-INDEP
 ;* V109 tmp102      [V109    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
 ;* V110 tmp103      [V110    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V45._reference (fldOffset=0x0)" P-INDEP
 ;* V111 tmp104      [V111    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
 ;* V112 tmp105      [V112    ] (  0,  0   )   byref  ->  zero-ref    "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V113 tmp106      [V113    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
 ;* V114 tmp107      [V114    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V51._reference (fldOffset=0x0)" P-INDEP
 ;* V115 tmp108      [V115    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V116 tmp109      [V116    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V55._reference (fldOffset=0x0)" P-INDEP
 ;* V117 tmp110      [V117    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
 ;* V118 tmp111      [V118    ] (  0,  0   )   byref  ->  zero-ref    "field V58._reference (fldOffset=0x0)" P-INDEP
 ;* V119 tmp112      [V119    ] (  0,  0   )     int  ->  zero-ref    "field V58._length (fldOffset=0x8)" P-INDEP
 ;* V120 tmp113      [V120    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V60._reference (fldOffset=0x0)" P-INDEP
 ;* V121 tmp114      [V121    ] (  0,  0   )     int  ->  zero-ref    "field V60._length (fldOffset=0x8)" P-INDEP
 ;* V122 tmp115      [V122    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V64._reference (fldOffset=0x0)" P-INDEP
 ;* V123 tmp116      [V123    ] (  0,  0   )     int  ->  zero-ref    "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V124 tmp117      [V124    ] (  0,  0   )   byref  ->  zero-ref    "field V67._reference (fldOffset=0x0)" P-INDEP
 ;* V125 tmp118      [V125    ] (  0,  0   )     int  ->  zero-ref    "field V67._length (fldOffset=0x8)" P-INDEP
 ;* V126 tmp119      [V126    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V127 tmp120      [V127    ] (  0,  0   )     int  ->  zero-ref    "field V69._length (fldOffset=0x8)" P-INDEP
 ;* V128 tmp121      [V128    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V73._reference (fldOffset=0x0)" P-INDEP
 ;* V129 tmp122      [V129    ] (  0,  0   )     int  ->  zero-ref    "field V73._length (fldOffset=0x8)" P-INDEP
 ;* V130 tmp123      [V130    ] (  0,  0   )   byref  ->  zero-ref    "field V76._reference (fldOffset=0x0)" P-INDEP
 ;* V131 tmp124      [V131    ] (  0,  0   )     int  ->  zero-ref    "field V76._length (fldOffset=0x8)" P-INDEP
 ;* V132 tmp125      [V132    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V78._reference (fldOffset=0x0)" P-INDEP
 ;* V133 tmp126      [V133    ] (  0,  0   )     int  ->  zero-ref    "field V78._length (fldOffset=0x8)" P-INDEP
 ;* V134 tmp127      [V134    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V82._reference (fldOffset=0x0)" P-INDEP
 ;* V135 tmp128      [V135    ] (  0,  0   )     int  ->  zero-ref    "field V82._length (fldOffset=0x8)" P-INDEP
 ;  V136 tmp129      [V136,T20] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V137 tmp130      [V137,T21] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V138 tmp131      [V138,T22] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V139 tmp132      [V139,T23] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V140 tmp133      [V140,T35] (  2,  2   )     int  ->  rsi         "argument with side effect"
 ;  V141 tmp134      [V141,T24] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V142 tmp135      [V142,T25] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V143 tmp136      [V143,T36] (  2,  2   )     int  ->  rsi         "argument with side effect"
 ;  V144 tmp137      [V144,T26] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V145 tmp138      [V145,T37] (  2,  2   )     int  ->  rsi         "argument with side effect"
 ;  V146 cse0        [V146,T40] (  3,  1.50)    long  ->  r15         "CSE #19: conservative"
 ;
 ; Lcl frame size = 40
 
 G_M4972_IG01:
        push     rbp
        push     r15
        push     r14
        push     rbx
        sub      rsp, 40
        lea      rbp, [rsp+0x40]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x40], ymm8
        xor      eax, eax
        mov      qword ptr [rbp-0x20], rax
        mov      rbx, rdi
 						;; size=34 bbWeight=1 PerfScore 8.58
 G_M4972_IG02:
        test     rbx, rbx
        je       G_M4972_IG24
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M4972_IG03:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Array
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      r15, rax
        test     r15, r15
        jne      G_M4972_IG18
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Collections.ICollection
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
        call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
        mov      r15, rax
        test     r15, r15
        jne      G_M4972_IG13
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.InteropServices.SafeHandle
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      r15, rax
        test     r15, r15
        jne      G_M4972_IG08
        mov      rdi, 0xD1FFAB1E      ; System.IntPtr
        cmp      qword ptr [rbx], rdi
        jne      G_M4972_IG06
        lea      rdi, [rbp-0x40]
        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-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       G_M4972_IG26
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      r15, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
        cmp      esi, 2
        jae      SHORT G_M4972_IG04
        lea      rdi, [rbp-0x40]
        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_M4972_IG05
 						;; size=216 bbWeight=0.50 PerfScore 19.25
 G_M4972_IG04:
-       mov      rdi, 0xD1FFAB1E
-       mov      edx, dword ptr [rdi]
-       mov      dword ptr [r15], edx
+       mov      dword ptr [r15], 0xD1FFAB1E
        mov      edi, dword ptr [rbp-0x30]
        add      edi, 2
        mov      dword ptr [rbp-0x30], edi
-						;; size=24 bbWeight=0.50 PerfScore 2.75
+						;; size=16 bbWeight=0.50 PerfScore 1.62
 G_M4972_IG05:
        lea      rdi, [rbp-0x40]
        mov      rdx, rbx
        mov      rsi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Object](System.Object,System.String):this
        mov      rcx, 0xD1FFAB1E      ; 'X'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon,System.String):this
        jmp      G_M4972_IG23
 						;; size=44 bbWeight=0.50 PerfScore 3.25
 G_M4972_IG06:
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      r15, qword ptr [rax+0x40]
        call     [r15+0x08]System.Object:ToString():System.String:this
        mov      r14, rax
        test     r14, r14
        je       SHORT G_M4972_IG07
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Object:GetType():System.Type:this
        call     [rax]System.Object:GetType():System.Type:this
        mov      rdi, rax
        mov      esi, 2
        mov      rax, 0xD1FFAB1E      ; code for System.RuntimeType:GetCachedName(int):System.String:this
        call     [rax]System.RuntimeType:GetCachedName(int):System.String:this
        mov      rsi, rax
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.String:Equals(System.String,System.String):ubyte
        call     [rax]System.String:Equals(System.String,System.String):ubyte
        test     eax, eax
        jne      SHORT G_M4972_IG07
        mov      rdi, rbx
        call     [r15+0x08]System.Object:ToString():System.String:this
        jmp      G_M4972_IG25
 						;; size=91 bbWeight=0.50 PerfScore 13.12
 G_M4972_IG07:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
        call     [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
        jmp      G_M4972_IG25
 						;; size=20 bbWeight=0.50 PerfScore 2.75
 G_M4972_IG08:
        lea      rdi, [rbp-0x40]
        mov      esi, 5
        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      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Object:GetType():System.Type:this
        call     [rax]System.Object:GetType():System.Type:this
        mov      rdi, rax
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.RuntimeType:GetCachedName(int):System.String:this
        call     [rax]System.RuntimeType:GetCachedName(int):System.String:this
        mov      rsi, rax
        lea      rdi, [rbp-0x40]
        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-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       G_M4972_IG26
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
        jne      SHORT G_M4972_IG09
        lea      rdi, [rbp-0x40]
        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_M4972_IG10
 						;; size=134 bbWeight=0.50 PerfScore 14.75
 G_M4972_IG09:
-       mov      rdi, 0xD1FFAB1E
-       movzx    rax, word  ptr [rdi]
-       mov      word  ptr [rbx], ax
+       mov      word  ptr [rbx], 58
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
-						;; size=24 bbWeight=0.50 PerfScore 2.75
+						;; size=13 bbWeight=0.50 PerfScore 1.62
 G_M4972_IG10:
        mov      rdi, r15
        mov      rax, qword ptr [r15]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x18]System.Object:GetHashCode():int:this
        mov      esi, eax
        lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        mov      edi, dword ptr [rbp-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       G_M4972_IG26
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
        cmp      esi, 3
        jae      SHORT G_M4972_IG11
        lea      rdi, [rbp-0x40]
        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_M4972_IG12
 						;; size=91 bbWeight=0.50 PerfScore 12.75
 G_M4972_IG11:
-       mov      rsi, 0xD1FFAB1E
-       mov      edx, dword ptr [rsi]
-       mov      edi, dword ptr [rsi+0x02]
-       mov      dword ptr [rbx], edx
-       mov      dword ptr [rbx+0x02], edi
+       mov      dword ptr [rbx], 0xD1FFAB1E
+       mov      word  ptr [rbx+0x04], 120
        mov      esi, dword ptr [rbp-0x30]
        add      esi, 3
        mov      dword ptr [rbp-0x30], esi
-						;; size=29 bbWeight=0.50 PerfScore 4.25
+						;; size=21 bbWeight=0.50 PerfScore 2.12
 G_M4972_IG12:
        mov      rsi, qword ptr [r15+0x08]
        lea      rdi, [rbp-0x40]
        mov      rdx, 0xD1FFAB1E      ; 'X'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long,System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long,System.String):this
        mov      edi, dword ptr [rbp-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       G_M4972_IG26
        mov      rsi, bword ptr [rbp-0x28]
        mov      edx, edi
        lea      rsi, bword ptr [rsi+2*rdx]
        mov      edx, dword ptr [rbp-0x20]
        sub      edx, edi
        je       G_M4972_IG16
-       mov      rdi, 0xD1FFAB1E
-       movzx    rdx, word  ptr [rdi]
-       mov      word  ptr [rsi], dx
+       mov      word  ptr [rsi], 41
        jmp      G_M4972_IG22
-						;; size=84 bbWeight=0.50 PerfScore 9.62
+						;; size=73 bbWeight=0.50 PerfScore 8.50
 G_M4972_IG13:
        lea      rdi, [rbp-0x40]
        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
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Object:GetType():System.Type:this
        call     [rax]System.Object:GetType():System.Type:this
        mov      rdi, rax
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.RuntimeType:GetCachedName(int):System.String:this
        call     [rax]System.RuntimeType:GetCachedName(int):System.String:this
        mov      rsi, rax
        lea      rdi, [rbp-0x40]
        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-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       G_M4972_IG26
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
        jne      SHORT G_M4972_IG14
        lea      rdi, [rbp-0x40]
        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_M4972_IG15
 						;; size=134 bbWeight=0.50 PerfScore 14.75
 G_M4972_IG14:
-       mov      rdi, 0xD1FFAB1E
-       movzx    r11, word  ptr [rdi]
-       mov      word  ptr [rbx], r11w
+       mov      word  ptr [rbx], 40
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
-						;; size=26 bbWeight=0.50 PerfScore 2.75
+						;; size=13 bbWeight=0.50 PerfScore 1.62
 G_M4972_IG15:
        mov      rdi, r15
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.ICollection:get_Count():int:this
        call     [r11]System.Collections.ICollection:get_Count():int:this
        mov      esi, eax
        lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        mov      edi, dword ptr [rbp-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       G_M4972_IG26
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
        jne      SHORT G_M4972_IG17
 						;; size=63 bbWeight=0.50 PerfScore 7.75
 G_M4972_IG16:
        lea      rdi, [rbp-0x40]
        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      G_M4972_IG23
 						;; size=31 bbWeight=0.50 PerfScore 3.00
 G_M4972_IG17:
-       mov      rdi, 0xD1FFAB1E
-       movzx    rsi, word  ptr [rdi]
-       mov      word  ptr [rbx], si
+       mov      word  ptr [rbx], 41
        jmp      G_M4972_IG22
-						;; size=21 bbWeight=0.50 PerfScore 2.62
+						;; size=10 bbWeight=0.50 PerfScore 1.50
 G_M4972_IG18:
        lea      rdi, [rbp-0x40]
        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
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Object:GetType():System.Type:this
        call     [rax]System.Object:GetType():System.Type:this
        mov      rdi, rax
        call     System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType
        mov      rdx, rax
        lea      rdi, [rbp-0x40]
        mov      rsi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Type](System.Type):this
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this
        mov      edi, dword ptr [rbp-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       G_M4972_IG26
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      r15, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
        jne      SHORT G_M4972_IG19
        lea      rdi, [rbp-0x40]
        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_M4972_IG20
 						;; size=135 bbWeight=0.50 PerfScore 13.62
 G_M4972_IG19:
-       mov      rsi, 0xD1FFAB1E
-       movzx    rdi, word  ptr [rsi]
-       mov      word  ptr [r15], di
+       mov      word  ptr [r15], 91
        mov      esi, dword ptr [rbp-0x30]
        inc      esi
        mov      dword ptr [rbp-0x30], esi
-						;; size=25 bbWeight=0.50 PerfScore 2.75
+						;; size=14 bbWeight=0.50 PerfScore 1.62
 G_M4972_IG20:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Array
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        mov      esi, dword ptr [rax+0x08]
        test     esi, esi
        jl       G_M4972_IG27
        lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
        mov      edi, dword ptr [rbp-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       SHORT G_M4972_IG26
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
        jne      SHORT G_M4972_IG21
        lea      rdi, [rbp-0x40]
        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_M4972_IG23
 						;; size=105 bbWeight=0.50 PerfScore 12.38
 G_M4972_IG21:
-       mov      rdi, 0xD1FFAB1E
-       movzx    rax, word  ptr [rdi]
-       mov      word  ptr [rbx], ax
-						;; size=16 bbWeight=0.50 PerfScore 1.62
+       mov      word  ptr [rbx], 93
+						;; size=5 bbWeight=0.50 PerfScore 0.50
 G_M4972_IG22:
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
 						;; size=8 bbWeight=0.50 PerfScore 1.12
 G_M4972_IG23:
        lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        jmp      SHORT G_M4972_IG25
 						;; size=18 bbWeight=0.50 PerfScore 2.88
 G_M4972_IG24:
        mov      rax, 0xD1FFAB1E      ; '(null)'
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M4972_IG25:
        add      rsp, 40
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=11 bbWeight=1 PerfScore 3.25
 G_M4972_IG26:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M4972_IG27:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1422, prolog size 31, PerfScore 163.71, instruction count 324, allocated bytes for code 1422 (MethodHash=7d61ec93) for method System.Net.NetEventSource:Format(System.Object):System.String (FullOpts)
+; Total bytes of code 1338, prolog size 31, PerfScore 153.71, instruction count 307, allocated bytes for code 1338 (MethodHash=7d61ec93) for method System.Net.NetEventSource:Format(System.Object):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/ca80434cf9e393a85df5f2a8879bac7f

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 6, 2024

@MihaZupan

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

No branches or pull requests

1 participant