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] [MichalPetryka] Remove ldsfld quirk #699

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

[JitDiff X64] [MichalPetryka] Remove ldsfld quirk #699

MihuBot opened this issue Oct 7, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Oct 7, 2024

Job completed in 18 minutes 41 seconds.
dotnet/runtime#108606

Diffs

Diffs
Found 351 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 39447434
Total bytes of diff: 39441649
Total bytes of delta: -5785 (-0.01 % of base)
Total relative delta: -9.48
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
         353 : System.Private.CoreLib.dasm (0.01 % of base)
         286 : System.Net.WebSockets.dasm (0.19 % of base)
         264 : Microsoft.CSharp.dasm (0.08 % of base)
          99 : Microsoft.VisualBasic.Core.dasm (0.02 % of base)
          90 : System.Runtime.Serialization.Schema.dasm (0.16 % of base)
          88 : System.Linq.Parallel.dasm (0.00 % of base)
          74 : System.Net.Security.dasm (0.03 % of base)
          47 : System.Text.Encoding.CodePages.dasm (0.06 % of base)
          38 : System.Net.Mail.dasm (0.02 % of base)
          20 : Microsoft.Extensions.Logging.Abstractions.dasm (0.03 % of base)
          16 : System.Net.NameResolution.dasm (0.04 % of base)
          11 : System.Net.Sockets.dasm (0.00 % of base)

Top file improvements (bytes):
       -2280 : System.Private.DataContractSerialization.dasm (-0.23 % of base)
       -1627 : System.Private.Xml.dasm (-0.04 % of base)
        -904 : System.Threading.Tasks.Dataflow.dasm (-0.07 % of base)
        -310 : System.ComponentModel.Composition.dasm (-0.07 % of base)
        -181 : System.Composition.Hosting.dasm (-0.17 % of base)
        -166 : System.Net.HttpListener.dasm (-0.16 % of base)
        -165 : System.CodeDom.dasm (-0.08 % of base)
        -163 : System.Net.Http.dasm (-0.02 % of base)
        -155 : System.Data.Common.dasm (-0.01 % of base)
        -144 : System.Security.Cryptography.Xml.dasm (-0.07 % of base)
        -137 : System.Formats.Tar.dasm (-0.11 % of base)
         -97 : System.Web.HttpUtility.dasm (-0.50 % of base)
         -75 : System.Configuration.ConfigurationManager.dasm (-0.02 % of base)
         -74 : System.Security.Cryptography.dasm (-0.01 % of base)
         -53 : System.Text.Json.dasm (-0.00 % of base)
         -49 : System.Private.Xml.Linq.dasm (-0.03 % of base)
         -46 : System.DirectoryServices.Protocols.dasm (-0.03 % of base)
         -43 : System.Linq.Expressions.dasm (-0.00 % of base)
         -42 : Microsoft.Extensions.DependencyInjection.dasm (-0.06 % of base)
         -41 : System.Net.WebClient.dasm (-0.08 % of base)
         -31 : System.Formats.Cbor.dasm (-0.07 % of base)
         -27 : System.Net.Requests.dasm (-0.02 % of base)
         -26 : System.ComponentModel.TypeConverter.dasm (-0.01 % of base)
         -25 : System.Runtime.InteropServices.dasm (-0.11 % of base)
         -24 : System.Diagnostics.TraceSource.dasm (-0.05 % of base)
         -20 : Microsoft.Extensions.DependencyModel.dasm (-0.03 % of base)
         -20 : Microsoft.Extensions.Logging.Console.dasm (-0.03 % of base)
         -19 : System.Collections.Immutable.dasm (-0.00 % of base)
         -18 : Microsoft.Extensions.FileProviders.Physical.dasm (-0.10 % of base)
         -18 : System.ServiceModel.Syndication.dasm (-0.01 % of base)
         -17 : ILCompiler.Reflection.ReadyToRun.dasm (-0.01 % of base)
         -15 : System.Console.dasm (-0.02 % of base)
         -14 : System.Diagnostics.DiagnosticSource.dasm (-0.01 % of base)
         -14 : System.Text.RegularExpressions.dasm (-0.00 % of base)
         -13 : System.IO.Pipelines.dasm (-0.02 % of base)
         -12 : System.Runtime.Caching.dasm (-0.02 % of base)
          -9 : System.Runtime.Serialization.Formatters.dasm (-0.04 % of base)
          -9 : System.Reflection.DispatchProxy.dasm (-0.05 % of base)
          -9 : System.Composition.Convention.dasm (-0.01 % of base)
          -7 : System.ComponentModel.Annotations.dasm (-0.01 % of base)
          -7 : System.Reflection.MetadataLoadContext.dasm (-0.00 % of base)
          -6 : System.Net.Primitives.dasm (-0.01 % of base)
          -6 : System.Reflection.Metadata.dasm (-0.00 % of base)
          -6 : Microsoft.Extensions.Configuration.dasm (-0.04 % of base)
          -6 : System.Resources.Writer.dasm (-0.07 % of base)
          -6 : System.Resources.Extensions.dasm (-0.01 % of base)
          -5 : System.Net.Http.Json.dasm (-0.00 % of base)
          -4 : System.Data.Odbc.dasm (-0.00 % of base)
          -4 : System.Drawing.Primitives.dasm (-0.01 % of base)
          -4 : System.Formats.Nrbf.dasm (-0.01 % of base)
          -3 : System.Net.WebHeaderCollection.dasm (-0.02 % of base)
          -3 : System.IO.Packaging.dasm (-0.00 % of base)
          -3 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (-0.00 % of base)
          -3 : System.Collections.Specialized.dasm (-0.02 % of base)
          -2 : System.ComponentModel.Composition.Registration.dasm (-0.00 % of base)
          -1 : System.Threading.RateLimiting.dasm (-0.00 % of base)
          -1 : System.Net.Quic.dasm (-0.00 % of base)
          -1 : System.Formats.Asn1.dasm (-0.00 % of base)
          -1 : Microsoft.Extensions.Http.dasm (-0.00 % of base)

71 total files with Code Size differences (59 improved, 12 regressed), 188 unchanged.

Top method regressions (bytes):
         417 (13.20 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<CloseAsyncPrivate>d__69:MoveNext():this (FullOpts)
         281 (6.37 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(System.Object,System.Type,System.Xml.IXmlNamespaceResolver):System.Object:this (FullOpts)
          87 (0.86 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.__Canon]:MoveNext():this (FullOpts)
          76 (4.99 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendSym(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts)
          75 (7.11 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XsltFunctions:SystemProperty(System.Xml.XmlQualifiedName):System.Xml.XPath.XPathItem (FullOpts)
          66 (1.91 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VB6File:InternalWriteHelper(System.Object[]):this (FullOpts)
          66 (1.91 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VB6File:Print(System.Object[]):this (FullOpts)
          62 (15.16 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimePart:set_TransferEncoding(int):this (FullOpts)
          62 (8.76 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:BuildXsiAttributes() (FullOpts)
          57 (1.93 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryRuntime:ChangeTypeXsltResult(System.Xml.Xsl.XmlQueryType,System.Object):System.Object:this (FullOpts)
          42 (2.76 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapSessionOptions:ProcessQueryConnection(long,long,long,long,int,ulong,ulong,ulong):int:this (FullOpts)
          42 (1.07 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:SelectClientCertificate():System.Security.Cryptography.X509Certificates.X509Certificate2:this (FullOpts)
          37 (7.74 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this (FullOpts)
          36 (2.12 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendMethod(Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts)
          36 (1.68 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendType(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this (FullOpts)
          33 (3.15 % of base) : System.Private.CoreLib.dasm - System.IO.BufferedStream:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          30 (9.17 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimePart:set_ContentDisposition(System.Net.Mime.ContentDisposition):this (FullOpts)
          30 (3.13 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:InternalValidateEndElement(System.Xml.Schema.XmlSchemaInfo,System.Object):System.Object:this (FullOpts)
          30 (9.09 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:SkipToEndElement(System.Xml.Schema.XmlSchemaInfo):this (FullOpts)
          30 (0.93 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateTypedSerializer(System.String,System.String,System.Xml.Serialization.XmlMapping,System.Xml.Serialization.CodeIdentifiers,System.String,System.String,System.String):System.String:this (FullOpts)
          28 (5.42 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:PrepareHeaders(ubyte):this (FullOpts)
          27 (3.60 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.XmlJsonWriter:WriteEscapedJsonString(System.String):this (FullOpts)
          27 (7.85 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(System.String,System.Type,System.Xml.IXmlNamespaceResolver):System.Object:this (FullOpts)
          26 (3.55 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.BufferedFileStreamStrategy:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          25 (2.05 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdBuilder:ParseBlockFinalEnum(System.String,System.String):int:this (FullOpts)
          25 (21.74 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdValidator:.cctor() (FullOpts)
          24 (2.88 % of base) : System.Private.CoreLib.dasm - System.Globalization.OrdinalCasing:CompareStringIgnoreCase(byref,int,byref,int):int (FullOpts)
          24 (2.59 % of base) : System.Private.CoreLib.dasm - System.Globalization.OrdinalCasing:IndexOf(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int (FullOpts)
          24 (2.76 % of base) : System.Private.CoreLib.dasm - System.Globalization.OrdinalCasing:LastIndexOf(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int (FullOpts)
          24 (0.42 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          23 (18.70 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:set_ContentID(System.String):this (FullOpts)
          23 (18.70 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:set_ContentLocation(System.String):this (FullOpts)
          22 (1.97 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:GenerateType(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):this (FullOpts)
          21 (5.33 % of base) : System.Private.CoreLib.dasm - System.Globalization.UmAlQuraCalendar:ConvertHijriToGregorian(int,int,int,byref,byref,byref) (FullOpts)
          20 (13.42 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendName(Microsoft.CSharp.RuntimeBinder.Syntax.Name):this (FullOpts)
          20 (2.33 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendProperty(Microsoft.CSharp.RuntimeBinder.Semantics.PropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this (FullOpts)
          20 (2.02 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrArgToString(byref,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg,byref):ubyte:this (FullOpts)
          20 (3.96 % of base) : System.Private.CoreLib.dasm - System.Globalization.OrdinalCasing:ToUpperOrdinal(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]) (FullOpts)
          20 (7.69 % of base) : System.Net.Mail.dasm - System.Net.Mail.AttachmentBase:set_ContentId(System.String):this (FullOpts)
          20 (0.51 % of base) : System.Net.Mail.dasm - System.Net.Mail.MailMessage:SetContent(ubyte):this (FullOpts)
          20 (8.03 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:set_ContentType(System.Net.Mime.ContentType):this (FullOpts)
          20 (8.62 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimePart:get_TransferEncoding():int:this (FullOpts)
          20 (9.85 % of base) : System.Private.Xml.dasm - System.Xml.Schema.DatatypeImplementation:GetNormalizedStringTypeV1Compat():System.Xml.Schema.XmlSchemaSimpleType (FullOpts)
          20 (9.85 % of base) : System.Private.Xml.dasm - System.Xml.Schema.DatatypeImplementation:GetTokenTypeV1Compat():System.Xml.Schema.XmlSchemaSimpleType (FullOpts)
          20 (3.32 % of base) : System.Private.Xml.dasm - System.Xml.Schema.FacetsChecker+FacetsCompiler:CompileTotalDigitsFacet(System.Xml.Schema.XmlSchemaFacet):this (FullOpts)
          20 (5.29 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(System.Decimal,System.Type):System.Object:this (FullOpts)
          20 (4.50 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:.cctor() (FullOpts)
          20 (2.72 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:ValidateElement(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String):this (FullOpts)
          19 (4.27 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:Validate(int,System.Data.Common.DataColumnMapping):this (FullOpts)
          19 (4.26 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:Validate(int,System.Data.Common.DataTableMapping):this (FullOpts)
          19 (6.48 % of base) : System.Data.Common.dasm - System.Data.XMLSchema:GenUniqueColumnName(System.String,System.Data.DataTable):System.String (FullOpts)
          19 (1.65 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          19 (3.97 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:AddNamespaceFragment(System.Text.StringBuilder,int,int,System.Collections.Generic.Dictionary`2[System.String,System.Object]) (FullOpts)
          19 (3.12 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:GetMemberName(System.String,System.Runtime.Serialization.ContractCodeDomInfo):System.String (FullOpts)
          19 (3.36 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.BaseCodePageEncoding:FindCodePage(int):ubyte:this (FullOpts)
          19 (2.03 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XdrBuilder:XDR_EndAttributeType(System.Xml.Schema.XdrBuilder) (FullOpts)
          18 (6.64 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:GenerateUniqueName(System.Collections.Generic.Dictionary`2[System.String,int],byref,int,int):int (FullOpts)
          18 (2.89 % of base) : System.Data.Common.dasm - System.Data.Common.DataAdapter:FillSchemaFromReader(System.Data.DataSet,System.Data.DataTable,int,System.String,System.Data.IDataReader):System.Object:this (FullOpts)
          18 (0.75 % of base) : System.Data.Common.dasm - System.Data.NewDiffgramGen:GenerateTableErrors(System.Data.DataTable):this (FullOpts)
          18 (2.45 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:ToString():System.String:this (FullOpts)
          18 (3.91 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpTransport:GetConnection(System.String,int):this (FullOpts)
          18 (1.53 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          18 (1.53 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          18 (1.53 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[int]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          18 (1.53 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[short]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          18 (1.53 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          18 (1.53 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          18 (1.53 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[int]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          18 (1.53 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[short]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          18 (1.53 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:ToString(System.String,System.IFormatProvider):System.String:this (FullOpts)
          18 (3.02 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:GetClrNamespace(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):System.String:this (FullOpts)
          18 (1.82 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:GetNestedType(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):System.CodeDom.CodeTypeDeclaration:this (FullOpts)
          17 (25.00 % of base) : System.Private.CoreLib.dasm - System.Globalization.HebrewNumber:IsDigit(ushort):ubyte (FullOpts)
          17 (1.79 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PartBasedPackageProperties:ValidateXsiType(System.Xml.XmlReader,System.Object,System.String) (FullOpts)
          17 (1.42 % of base) : System.Net.Mail.dasm - System.Net.Mail.Message:PrepareEnvelopeHeaders(ubyte):this (FullOpts)
          16 (27.59 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.NamespaceSymbol:GetRootNamespaceSymbol():Microsoft.CSharp.RuntimeBinder.Semantics.NamespaceSymbol (FullOpts)
          16 (1.02 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeBind:CheckSingleConstraint(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,int):ubyte (FullOpts)
          16 (12.31 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.Symbols:IsNarrowingConversionOperator(System.Reflection.MethodBase):ubyte (FullOpts)
          16 (8.25 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.Symbols:MapToUserDefinedOperator(System.Reflection.MethodBase):byte (FullOpts)
          16 (30.19 % of base) : System.Private.CoreLib.dasm - System.IO.Stream+NullStream:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (2.95 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader:ReadAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (2.61 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader:ReadBlockAsync(System.Memory`1[ushort],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this (FullOpts)
          16 (69.57 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader+NullStreamReader:ReadAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (69.57 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader+NullStreamReader:ReadBlockAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (11.68 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentDisposition:PersistIfNeeded(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          16 (11.43 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:PersistIfNeeded(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          16 (33.33 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:get_ContentID():System.String:this (FullOpts)
          16 (33.33 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:get_ContentLocation():System.String:this (FullOpts)
          16 (1.06 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:AcquireServerCredentials(byref):ubyte:this (FullOpts)
          16 (2.93 % of base) : System.Private.CoreLib.dasm - System.Text.TranscodingStream:BeginRead(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
          16 (2.93 % of base) : System.Private.CoreLib.dasm - System.Text.TranscodingStream:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (5.16 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(int,System.Type):System.Object:this (FullOpts)
          16 (5.16 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(long,System.Type):System.Object:this (FullOpts)
          16 (5.16 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(System.DateTime,System.Type):System.Object:this (FullOpts)
          16 (5.21 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(ubyte,System.Type):System.Object:this (FullOpts)
          16 (11.68 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:EndValidation():this (FullOpts)
          16 (14.04 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:ValidateEndOfAttributes(System.Xml.Schema.XmlSchemaInfo):this (FullOpts)
          16 (5.21 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdBuilder:BuildSimpleTypeUnion_MemberTypes(System.Xml.Schema.XsdBuilder,System.String) (FullOpts)
          16 (1.93 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseReader:get_NameTable():System.Xml.XmlNameTable:this (FullOpts)
          16 (6.25 % of base) : System.Private.Xml.dasm - System.Xml.XmlCharCheckingReader:ReadElementContentAsBase64Async(ubyte[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)

Top method improvements (bytes):
        -774 (-10.79 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.String,System.String,byref):ubyte (FullOpts)
        -348 (-5.44 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WritePrimitive(System.Xml.Serialization.TypeMapping,System.String):this (FullOpts)
        -236 (-9.45 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:MatchCountPattern(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilIterator):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
        -229 (-3.13 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteElement(System.String,System.String,System.String,System.Xml.Serialization.ElementAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte,int,int):this (FullOpts)
        -195 (-2.66 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
        -157 (-10.14 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
        -120 (-1.90 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:PrecompileProtoTemplatesHeaders():this (FullOpts)
        -119 (-1.18 % of base) : System.Data.Common.dasm - System.Data.XmlTreeGen:SchemaTree(System.Xml.XmlDocument,System.Xml.XmlWriter,System.Data.DataSet,System.Data.DataTable,ubyte):this (FullOpts)
        -115 (-1.16 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
        -111 (-13.59 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:ReadPosixAndGnuSharedAttributes(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
        -110 (-11.89 % of base) : System.Net.Mail.dasm - System.Net.Mail.CheckCommand:BeginSend(System.Net.Mail.SmtpConnection,System.AsyncCallback,System.Object):System.IAsyncResult (FullOpts)
         -97 (-8.50 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):this (FullOpts)
         -93 (-5.59 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CreateGeneralKeyFunction():System.Xml.Xsl.Qil.QilFunction:this (FullOpts)
         -89 (-3.60 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.Type,byref):ubyte (FullOpts)
         -88 (-6.91 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteSerializationInfo(System.Runtime.Serialization.XmlWriterDelegator,System.Type,System.Runtime.Serialization.SerializationInfo):this (FullOpts)
         -84 (-5.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[double]:CleanupAndComplete(int):this (FullOpts)
         -84 (-5.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[int]:CleanupAndComplete(int):this (FullOpts)
         -84 (-5.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[long]:CleanupAndComplete(int):this (FullOpts)
         -84 (-5.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[short]:CleanupAndComplete(int):this (FullOpts)
         -84 (-5.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.Nullable`1[int]]:CleanupAndComplete(int):this (FullOpts)
         -84 (-5.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.Numerics.Vector`1[float]]:CleanupAndComplete(int):this (FullOpts)
         -84 (-5.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[ubyte]:CleanupAndComplete(int):this (FullOpts)
         -81 (-5.00 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.__Canon]:CleanupAndComplete(int):this (FullOpts)
         -80 (-1.12 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XdrBuilder:.cctor() (FullOpts)
         -74 (-1.26 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatReaderGenerator+CriticalHelper:ReadCollection(System.Runtime.Serialization.DataContracts.CollectionDataContract):this (FullOpts)
         -68 (-8.16 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -65 (-2.45 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathBuilder:Function(System.String,System.String,System.Collections.Generic.IList`1[System.Xml.Xsl.Qil.QilNode]):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -62 (-3.63 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileFnDocument(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -59 (-3.49 % of base) : System.Web.HttpUtility.dasm - System.Web.HttpUtility+HttpQSCollection:ToString():System.String:this (FullOpts)
         -59 (-2.75 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateSerializerContract(System.Xml.Serialization.XmlMapping[],System.Type[],System.String,System.String[],System.String,System.String[],System.Collections.Generic.Dictionary`2[System.String,System.String]):this (FullOpts)
         -54 (-1.66 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpClient:Send(System.Net.Mail.MailMessage):this (FullOpts)
         -54 (-3.67 % of base) : System.Private.Xml.dasm - System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this (FullOpts)
         -54 (-2.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:XslChoose():System.Xml.Xsl.Xslt.XslNode:this (FullOpts)
         -52 (-2.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadTemplate(System.Xml.Xsl.Xslt.NsDecl):this (FullOpts)
         -49 (-1.69 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FinishRevocation(int,int,int):this (FullOpts)
         -47 (-2.94 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileFnKey(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.XPath.IFocus):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -45 (-0.48 % of base) : System.Data.Common.dasm - System.Data.Common.SqlConvert:ChangeTypeForXML(System.Object,System.Type):System.Object (FullOpts)
         -45 (-1.22 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<HandleReceivedCloseAsync>d__63:MoveNext():this (FullOpts)
         -39 (-5.42 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -39 (-3.10 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateBaseSerializer(System.String,System.String,System.String,System.Xml.Serialization.CodeIdentifiers):System.String:this (FullOpts)
         -35 (-1.61 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapSessionOptions:ProcessNotifyConnection(long,long,long,long,long,int,ulong,ulong,int):int:this (FullOpts)
         -34 (-1.55 % of base) : System.Net.Mail.dasm - System.Net.Mail.Message:PrepareHeaders(ubyte):this (FullOpts)
         -33 (-6.09 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:DefineEventPipeEvents():this (FullOpts)
         -32 (-2.20 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MatchArguments(Microsoft.VisualBasic.CompilerServices.Symbols+Method,System.Object[],System.Object[]) (FullOpts)
         -31 (-3.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:OnHandleIsReference(System.Runtime.Serialization.XmlWriterDelegator,System.Runtime.Serialization.DataContracts.DataContract,System.Object):ubyte:this (FullOpts)
         -31 (-0.89 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:HandleFilterPatterns(System.Xml.Xsl.Qil.QilLoop):ubyte:this (FullOpts)
         -30 (-3.67 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlCanonicalWriter:SetOutput(System.IO.Stream,ubyte,System.String[]):this (FullOpts)
         -30 (-0.93 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:InvokeApplyFunction(System.Xml.Xsl.Xslt.StylesheetLevel,System.Xml.Xsl.Qil.QilName,System.Collections.Generic.IList`1[System.Xml.Xsl.Xslt.XslNode]):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -29 (-0.33 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[double]:MoveNext():this (FullOpts)
         -29 (-0.33 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[int]:MoveNext():this (FullOpts)
         -29 (-0.33 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[long]:MoveNext():this (FullOpts)
         -29 (-0.33 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[short]:MoveNext():this (FullOpts)
         -29 (-0.32 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts)
         -29 (-0.33 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[ubyte]:MoveNext():this (FullOpts)
         -29 (-1.96 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateTypeElement(System.Xml.Serialization.XmlTypeMapping):System.String:this (FullOpts)
         -29 (-9.57 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILModule:CreateLREModule():System.Reflection.Emit.ModuleBuilder (FullOpts)
         -28 (-1.63 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.AttributedModel.AttributedModelDiscovery:CreateMemberImportDefinition(System.Reflection.MemberInfo,System.ComponentModel.Composition.Primitives.ICompositionElement):System.ComponentModel.Composition.ReflectionModel.ReflectionMemberImportDefinition (FullOpts)
         -28 (-4.27 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborReader:ReadDateTimeOffset():System.DateTimeOffset:this (FullOpts)
         -28 (-7.00 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpConnection+ConnectAndHandshakeAsyncResult:AuthenticateContinue():ubyte:this (FullOpts)
         -28 (-1.28 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileKeys():this (FullOpts)
         -27 (-1.60 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.DirectoryAttribute:GetValues(System.Type):System.Object[]:this (FullOpts)
         -26 (-0.80 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:AdjustCallArgumentsForParams(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,byref):this (FullOpts)
         -26 (-1.82 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileCopyOf(System.Xml.Xsl.Xslt.XslNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -26 (-3.69 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.MessageAction:Execute(System.Xml.Xsl.XsltOld.Processor,System.Xml.Xsl.XsltOld.ActionFrame):this (FullOpts)
         -25 (-1.26 % 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)
         -24 (-2.73 % of base) : System.Net.WebClient.dasm - System.Net.WebClient:GetValuesToUpload(System.Collections.Specialized.NameValueCollection):ubyte[]:this (FullOpts)
         -24 (-1.91 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
         -24 (-5.53 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryTypeFactory+ItemType:Create(int,System.Xml.Xsl.XmlQualifiedNameTest,System.Xml.Schema.XmlSchemaType,ubyte):System.Xml.Xsl.XmlQueryType (FullOpts)
         -24 (-1.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.MatcherBuilder:BuildMatcher(System.Xml.Xsl.Qil.QilIterator,System.Collections.Generic.IList`1[System.Xml.Xsl.Xslt.XslNode],System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -23 (-5.09 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteExtensionISerializableData(System.Runtime.Serialization.XmlWriterDelegator,System.Runtime.Serialization.ISerializableDataNode):this (FullOpts)
         -23 (-2.09 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[double]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-2.09 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[int]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-2.08 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[long]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-2.08 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[short]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-2.08 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[ubyte]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-3.41 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlCustomFormatter:ToTime(System.String):System.DateTime (FullOpts)
         -22 (-3.99 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonReaderWriterFactory:CreateJsonWriter(System.IO.Stream):System.Xml.XmlDictionaryWriter (FullOpts)
         -21 (-6.75 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.SignedXmlDebugLog:LogBeginCanonicalization(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.Xml.Transform) (FullOpts)
         -21 (-3.80 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XAttribute:ToString():System.String:this (FullOpts)
         -21 (-1.54 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateGetSerializer(System.Collections.Generic.Dictionary`2[System.String,System.String],System.Xml.Serialization.XmlMapping[],System.Reflection.Emit.TypeBuilder):this (FullOpts)
         -20 (-7.12 % of base) : System.Web.HttpUtility.dasm - System.Web.Util.HttpEncoder:HtmlAttributeEncode(System.String):System.String (FullOpts)
         -20 (-1.89 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathNavigator:get_OuterXml():System.String:this (FullOpts)
         -20 (-2.30 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathQilFactory:InvokeEqualityOperator(int,System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -20 (-2.15 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathQilFactory:InvokeRelationalOperator(int,System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -19 (-3.78 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ConstraintServices:CreateMetadataOfTypeExpression(System.Linq.Expressions.ParameterExpression,System.String,System.Type):System.Linq.Expressions.MethodCallExpression (FullOpts)
         -19 (-4.39 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ConstraintServices:CreateMetadataValueEqualsExpression(System.Linq.Expressions.ParameterExpression,System.Object,System.String):System.Linq.Expressions.MethodCallExpression (FullOpts)
         -19 (-2.73 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ConstraintServices:CreatePartCreatorConstraint(System.Linq.Expressions.Expression`1[System.Func`2[System.ComponentModel.Composition.Primitives.ExportDefinition,ubyte]],System.ComponentModel.Composition.Primitives.ImportDefinition):System.Linq.Expressions.Expression`1[System.Func`2[System.ComponentModel.Composition.Primitives.ExportDefinition,ubyte]] (FullOpts)
         -19 (-10.00 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[]):this (FullOpts)
         -19 (-2.70 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy:EmitIgnoresAccessChecksToAttribute(System.Reflection.Emit.ModuleBuilder):System.Type (FullOpts)
         -19 (-4.25 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.XmlJsonWriter:SetOutput(System.IO.Stream,System.Text.Encoding,ubyte):this (FullOpts)
         -19 (-1.26 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:GetCollectionSetItemDelegate[double](System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Object,ubyte):System.Runtime.Serialization.ReflectionReader+CollectionSetItemDelegate (FullOpts)
         -19 (-1.26 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:GetCollectionSetItemDelegate[int](System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Object,ubyte):System.Runtime.Serialization.ReflectionReader+CollectionSetItemDelegate (FullOpts)
         -19 (-1.26 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:GetCollectionSetItemDelegate[long](System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Object,ubyte):System.Runtime.Serialization.ReflectionReader+CollectionSetItemDelegate (FullOpts)
         -19 (-1.26 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:GetCollectionSetItemDelegate[short](System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Object,ubyte):System.Runtime.Serialization.ReflectionReader+CollectionSetItemDelegate (FullOpts)
         -19 (-1.26 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:GetCollectionSetItemDelegate[System.Nullable`1[int]](System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Object,ubyte):System.Runtime.Serialization.ReflectionReader+CollectionSetItemDelegate (FullOpts)
         -19 (-1.26 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:GetCollectionSetItemDelegate[System.Numerics.Vector`1[float]](System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Object,ubyte):System.Runtime.Serialization.ReflectionReader+CollectionSetItemDelegate (FullOpts)
         -19 (-1.26 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:GetCollectionSetItemDelegate[ubyte](System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Object,ubyte):System.Runtime.Serialization.ReflectionReader+CollectionSetItemDelegate (FullOpts)
         -19 (-4.44 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryRuntime:DebugSetGlobalValue(System.String,System.Object):this (FullOpts)
         -19 (-4.86 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadSimplifiedStylesheet():this (FullOpts)
         -18 (-10.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.NewLateBinding:FallbackSetComplex(System.Object,System.String,System.Object[],ubyte,ubyte) (FullOpts)

Top method regressions (percentages):
          16 (69.57 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader+NullStreamReader:ReadAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (69.57 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader+NullStreamReader:ReadBlockAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (33.33 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:get_ContentID():System.String:this (FullOpts)
          16 (33.33 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:get_ContentLocation():System.String:this (FullOpts)
          16 (30.19 % of base) : System.Private.CoreLib.dasm - System.IO.Stream+NullStream:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (27.59 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.NamespaceSymbol:GetRootNamespaceSymbol():Microsoft.CSharp.RuntimeBinder.Semantics.NamespaceSymbol (FullOpts)
          17 (25.00 % of base) : System.Private.CoreLib.dasm - System.Globalization.HebrewNumber:IsDigit(ushort):ubyte (FullOpts)
          25 (21.74 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdValidator:.cctor() (FullOpts)
          23 (18.70 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:set_ContentID(System.String):this (FullOpts)
          23 (18.70 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:set_ContentLocation(System.String):this (FullOpts)
          62 (15.16 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimePart:set_TransferEncoding(int):this (FullOpts)
          16 (14.04 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:ValidateEndOfAttributes(System.Xml.Schema.XmlSchemaInfo):this (FullOpts)
          20 (13.42 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendName(Microsoft.CSharp.RuntimeBinder.Syntax.Name):this (FullOpts)
         417 (13.20 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<CloseAsyncPrivate>d__69:MoveNext():this (FullOpts)
          16 (12.31 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.Symbols:IsNarrowingConversionOperator(System.Reflection.MethodBase):ubyte (FullOpts)
          16 (11.68 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentDisposition:PersistIfNeeded(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          16 (11.68 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:EndValidation():this (FullOpts)
          16 (11.43 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:PersistIfNeeded(System.Net.Mime.HeaderCollection,ubyte):this (FullOpts)
          10 (10.64 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.XPathParser:GetAxis():int:this (FullOpts)
          20 (9.85 % of base) : System.Private.Xml.dasm - System.Xml.Schema.DatatypeImplementation:GetNormalizedStringTypeV1Compat():System.Xml.Schema.XmlSchemaSimpleType (FullOpts)
          20 (9.85 % of base) : System.Private.Xml.dasm - System.Xml.Schema.DatatypeImplementation:GetTokenTypeV1Compat():System.Xml.Schema.XmlSchemaSimpleType (FullOpts)
          30 (9.17 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimePart:set_ContentDisposition(System.Net.Mime.ContentDisposition):this (FullOpts)
          12 (9.09 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[int]:SetResult(int):this (FullOpts)
          30 (9.09 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:SkipToEndElement(System.Xml.Schema.XmlSchemaInfo):this (FullOpts)
          62 (8.76 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:BuildXsiAttributes() (FullOpts)
          20 (8.62 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimePart:get_TransferEncoding():int:this (FullOpts)
          12 (8.28 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[int]:AsTask():System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (8.25 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.Symbols:MapToUserDefinedOperator(System.Reflection.MethodBase):byte (FullOpts)
          20 (8.03 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:set_ContentType(System.Net.Mime.ContentType):this (FullOpts)
          27 (7.85 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(System.String,System.Type,System.Xml.IXmlNamespaceResolver):System.Object:this (FullOpts)
          37 (7.74 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this (FullOpts)
          20 (7.69 % of base) : System.Net.Mail.dasm - System.Net.Mail.AttachmentBase:set_ContentId(System.String):this (FullOpts)
          14 (7.18 % of base) : System.Data.Common.dasm - System.Data.ColumnTypeConverter:ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object):System.Object:this (FullOpts)
          75 (7.11 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XsltFunctions:SystemProperty(System.Xml.XmlQualifiedName):System.Xml.XPath.XPathItem (FullOpts)
          18 (6.64 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:GenerateUniqueName(System.Collections.Generic.Dictionary`2[System.String,int],byref,int,int):int (FullOpts)
          19 (6.48 % of base) : System.Data.Common.dasm - System.Data.XMLSchema:GenUniqueColumnName(System.String,System.Data.DataTable):System.String (FullOpts)
         281 (6.37 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(System.Object,System.Type,System.Xml.IXmlNamespaceResolver):System.Object:this (FullOpts)
          16 (6.25 % of base) : System.Private.Xml.dasm - System.Xml.XmlCharCheckingReader:ReadElementContentAsBase64Async(ubyte[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (6.25 % of base) : System.Private.Xml.dasm - System.Xml.XmlCharCheckingReader:ReadElementContentAsBinHexAsync(ubyte[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
           8 (6.02 % of base) : System.Private.CoreLib.dasm - System.Globalization.TextInfo:ToUpperOrdinal(ushort):ushort (FullOpts)
           8 (5.76 % of base) : System.Private.CoreLib.dasm - System.Globalization.OrdinalCasing:ToUpper(ushort):ushort (FullOpts)
          14 (5.67 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:GetGroupNames():System.String[]:this (FullOpts)
          28 (5.42 % of base) : System.Net.Mail.dasm - System.Net.Mime.MimeBasePart:PrepareHeaders(ubyte):this (FullOpts)
           7 (5.38 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:InsertAggregate(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType) (FullOpts)
          14 (5.36 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder:AppendJoinCore[ubyte](byref,int,System.ReadOnlySpan`1[ubyte]):System.Text.StringBuilder:this (FullOpts)
          21 (5.33 % of base) : System.Private.CoreLib.dasm - System.Globalization.UmAlQuraCalendar:ConvertHijriToGregorian(int,int,int,byref,byref,byref) (FullOpts)
          20 (5.29 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(System.Decimal,System.Type):System.Object:this (FullOpts)
          16 (5.21 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(ubyte,System.Type):System.Object:this (FullOpts)
          16 (5.21 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdBuilder:BuildSimpleTypeUnion_MemberTypes(System.Xml.Schema.XsdBuilder,System.String) (FullOpts)
          16 (5.16 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(int,System.Type):System.Object:this (FullOpts)
          16 (5.16 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(long,System.Type):System.Object:this (FullOpts)
          16 (5.16 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(System.DateTime,System.Type):System.Object:this (FullOpts)
          76 (4.99 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendSym(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts)
          12 (4.82 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.TcpListener:.ctor(System.Net.IPEndPoint):this (FullOpts)
          12 (4.63 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.OSFileStreamStrategy:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          12 (4.62 % of base) : System.Private.CoreLib.dasm - System.IO.StringReader:ReadAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          12 (4.62 % of base) : System.Private.CoreLib.dasm - System.IO.StringReader:ReadBlockAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          20 (4.50 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:.cctor() (FullOpts)
          19 (4.27 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:Validate(int,System.Data.Common.DataColumnMapping):this (FullOpts)
          19 (4.26 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:Validate(int,System.Data.Common.DataTableMapping):this (FullOpts)
          15 (4.23 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.BaseCodePageEncoding:GetCodePageByteSize(int):int (FullOpts)
          15 (4.01 % of base) : System.Private.Xml.dasm - System.Xml.XmlSubtreeReader:ReadValueChunkAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          19 (3.97 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:AddNamespaceFragment(System.Text.StringBuilder,int,int,System.Collections.Generic.Dictionary`2[System.String,System.Object]) (FullOpts)
          20 (3.96 % of base) : System.Private.CoreLib.dasm - System.Globalization.OrdinalCasing:ToUpperOrdinal(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]) (FullOpts)
          12 (3.92 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:Accept(System.Net.Sockets.SafeSocketHandle,System.Memory`1[ubyte],byref,byref):int (FullOpts)
          18 (3.91 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpTransport:GetConnection(System.String,int):this (FullOpts)
           5 (3.82 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:LookupAggregate(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType (FullOpts)
          12 (3.74 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlAnyConverter:ChangeType(double,System.Type):System.Object:this (FullOpts)
          27 (3.60 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.XmlJsonWriter:WriteEscapedJsonString(System.String):this (FullOpts)
          26 (3.55 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.BufferedFileStreamStrategy:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          12 (3.46 % of base) : System.Net.Mail.dasm - System.Net.Mail.MailMessage:.ctor(System.String,System.String):this (FullOpts)
          11 (3.44 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:Decrypt(System.Span`1[ubyte],byref,byref):System.Net.SecurityStatusPal:this (FullOpts)
          12 (3.36 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.OSFileStreamStrategy:BeginRead(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
          19 (3.36 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.BaseCodePageEncoding:FindCodePage(int):ubyte:this (FullOpts)
          20 (3.32 % of base) : System.Private.Xml.dasm - System.Xml.Schema.FacetsChecker+FacetsCompiler:CompileTotalDigitsFacet(System.Xml.Schema.XmlSchemaFacet):this (FullOpts)
          16 (3.30 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:ItemTypeToString(ubyte):System.String:this (FullOpts)
          12 (3.18 % of base) : System.Private.CoreLib.dasm - System.IO.TextReader+SyncTextReader:ReadAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          12 (3.18 % of base) : System.Private.CoreLib.dasm - System.IO.TextReader+SyncTextReader:ReadBlockAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          33 (3.15 % of base) : System.Private.CoreLib.dasm - System.IO.BufferedStream:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          30 (3.13 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:InternalValidateEndElement(System.Xml.Schema.XmlSchemaInfo,System.Object):System.Object:this (FullOpts)
          19 (3.12 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:GetMemberName(System.String,System.Runtime.Serialization.ContractCodeDomInfo):System.String (FullOpts)
          12 (3.07 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.TcpListener:.ctor(System.Net.IPAddress,int):this (FullOpts)
           8 (3.07 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:ValidateCarriageReturns(System.String) (FullOpts)
          12 (3.04 % of base) : System.Private.CoreLib.dasm - System.IO.TextReader:ReadAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          12 (3.03 % of base) : System.Private.CoreLib.dasm - System.IO.TextReader:ReadBlockAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          18 (3.02 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:GetClrNamespace(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):System.String:this (FullOpts)
          13 (2.97 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder:AppendJoinCore[ubyte](byref,int,System.Collections.Generic.IEnumerable`1[ubyte]):System.Text.StringBuilder:this (FullOpts)
          16 (2.95 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader:ReadAsync(ushort[],int,int):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (2.93 % of base) : System.Private.CoreLib.dasm - System.Text.TranscodingStream:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts)
          16 (2.93 % of base) : System.Private.CoreLib.dasm - System.Text.TranscodingStream:BeginRead(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
          18 (2.89 % of base) : System.Data.Common.dasm - System.Data.Common.DataAdapter:FillSchemaFromReader(System.Data.DataSet,System.Data.DataTable,int,System.String,System.Data.IDataReader):System.Object:this (FullOpts)
          24 (2.88 % of base) : System.Private.CoreLib.dasm - System.Globalization.OrdinalCasing:CompareStringIgnoreCase(byref,int,byref,int):int (FullOpts)
          15 (2.86 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XdrBuilder:.ctor(System.Xml.XmlReader,System.Xml.XmlNamespaceManager,System.Xml.Schema.SchemaInfo,System.String,System.Xml.XmlNameTable,System.Xml.Schema.SchemaNames,System.Xml.Schema.ValidationEventHandler):this (FullOpts)
          42 (2.76 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapSessionOptions:ProcessQueryConnection(long,long,long,long,int,ulong,ulong,ulong):int:this (FullOpts)
          24 (2.76 % of base) : System.Private.CoreLib.dasm - System.Globalization.OrdinalCasing:LastIndexOf(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int (FullOpts)
          10 (2.75 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseWriter+NamespaceManager:AddNamespace(System.String,System.Xml.XmlDictionaryString):System.String:this (FullOpts)
          20 (2.72 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:ValidateElement(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String):this (FullOpts)
          12 (2.71 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[ubyte](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts)
           6 (2.70 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:Format[int](int):System.String:this (FullOpts)
           6 (2.67 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:Format[long](long):System.String:this (FullOpts)

Top method improvements (percentages):
         -12 (-21.43 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentDisposition:GetHashCode():int:this (FullOpts)
         -12 (-21.43 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:GetHashCode():int:this (FullOpts)
         -17 (-20.48 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.DotNetReferenceAssembliesPathResolver:Resolve():System.String (FullOpts)
         -12 (-18.18 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.WeakHashtable:.ctor():this (FullOpts)
         -12 (-17.39 % of base) : System.Net.Sockets.dasm - System.Net.NetEventSource:ConnectedAsyncDns(System.Net.Sockets.Socket) (FullOpts)
         -14 (-16.87 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.XmlJsonWriter+JsonNodeWriter:.ctor():this (FullOpts)
         -14 (-16.87 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlUTF8NodeWriter:.ctor():this (FullOpts)
          -9 (-16.36 % of base) : System.Private.CoreLib.dasm - System.Enum:InternalGetUnderlyingType(System.RuntimeType):System.RuntimeType (FullOpts)
         -13 (-15.85 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryTypeFactory+SequenceType:.cctor() (FullOpts)
          -9 (-15.52 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:get_IsNode():ubyte:this (FullOpts)
          -9 (-14.52 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:get_IsAtomicValue():ubyte:this (FullOpts)
         -12 (-14.46 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.TypeDescriptor+<>c:<get_AssociationTable>b__27_0():System.ComponentModel.WeakHashtable:this (FullOpts)
        -111 (-13.59 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:ReadPosixAndGnuSharedAttributes(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
         -18 (-12.86 % of base) : System.Net.WebClient.dasm - System.Net.WebClient:UrlEncode(System.String):System.String (FullOpts)
         -18 (-12.86 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.SignedXmlDebugLog:LogVerificationFailure(System.Security.Cryptography.Xml.SignedXml,System.String) (FullOpts)
         -18 (-12.86 % of base) : System.Web.HttpUtility.dasm - System.Web.HttpUtility:UrlEncode(System.String):System.String (FullOpts)
        -110 (-11.89 % of base) : System.Net.Mail.dasm - System.Net.Mail.CheckCommand:BeginSend(System.Net.Mail.SmtpConnection,System.AsyncCallback,System.Object):System.IAsyncResult (FullOpts)
         -18 (-11.69 % of base) : System.Text.Json.dasm - System.Text.Json.Schema.JsonSchema:EnsureMutable(byref) (FullOpts)
         -12 (-11.54 % of base) : System.Net.Http.dasm - System.Net.NetEventSource:ContentNull(System.Object) (FullOpts)
         -12 (-11.01 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.CompositionElement:.ctor(System.Object):this (FullOpts)
         -12 (-10.81 % of base) : System.Private.CoreLib.dasm - System.IO.File:CreateText(System.String):System.IO.StreamWriter (FullOpts)
        -774 (-10.79 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.String,System.String,byref):ubyte (FullOpts)
         -18 (-10.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.NewLateBinding:FallbackSetComplex(System.Object,System.String,System.Object[],ubyte,ubyte) (FullOpts)
         -18 (-10.78 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.CompositionElementExtensions:ToElementCore(System.Object):System.ComponentModel.Composition.Primitives.ICompositionElement (FullOpts)
         -18 (-10.71 % of base) : System.Net.Mail.dasm - System.Net.Mail.SendMailAsyncResult:SendMailFrom():this (FullOpts)
         -12 (-10.53 % of base) : System.Private.CoreLib.dasm - System.IO.File:AppendText(System.String):System.IO.StreamWriter (FullOpts)
         -18 (-10.47 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpConnection+ConnectAndHandshakeAsyncResult:SendHello():ubyte:this (FullOpts)
         -12 (-10.17 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.AsyncMethodBuilderCore:LogTraceOperationBegin(System.Threading.Tasks.Task,System.Type) (FullOpts)
        -157 (-10.14 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
         -12 (-10.08 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:GetMakeNewInstanceFunc(System.Type):System.Func`1[System.Object] (FullOpts)
         -16 (-10.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CompilerParameters:get_TempFiles():System.CodeDom.Compiler.TempFileCollection:this (FullOpts)
         -19 (-10.00 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[]):this (FullOpts)
         -12 (-9.92 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.FilterElement:GetRuntimeObject():System.Diagnostics.TraceFilter:this (FullOpts)
         -12 (-9.92 % of base) : System.Private.CoreLib.dasm - System.IO.FileInfo:CreateText():System.IO.StreamWriter:this (FullOpts)
         -12 (-9.68 % of base) : System.Private.CoreLib.dasm - System.IO.FileInfo:AppendText():System.IO.StreamWriter:this (FullOpts)
         -12 (-9.68 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.XmlKeyHelper+ParseState+Functions:GetElements(System.Object):System.Collections.IEnumerable (FullOpts)
         -29 (-9.57 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILModule:CreateLREModule():System.Reflection.Emit.ModuleBuilder (FullOpts)
        -236 (-9.45 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:MatchCountPattern(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilIterator):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -97 (-8.50 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):this (FullOpts)
         -12 (-8.39 % of base) : System.Private.CoreLib.dasm - System.CodeDom.Compiler.IndentedTextWriter:.ctor(System.IO.TextWriter,System.String):this (FullOpts)
         -10 (-8.33 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:Trace(System.String,System.String):this (FullOpts)
         -18 (-8.18 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteTypeInfo(System.Runtime.Serialization.XmlWriterDelegator,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString):this (FullOpts)
         -12 (-8.16 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:HlAddChild(System.String,System.Configuration.BaseConfigurationRecord):this (FullOpts)
         -68 (-8.16 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -12 (-8.05 % of base) : System.Runtime.Caching.dasm - System.Runtime.Caching.FileChangeNotificationSystem:.ctor():this (FullOpts)
         -12 (-8.00 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentDisposition:get_Parameters():System.Collections.Specialized.StringDictionary:this (FullOpts)
         -18 (-7.50 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation:PostAction(System.Object) (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.AsmxCharDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.AsmxGuidDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.BooleanDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ByteArrayDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CharDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DateDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DateTimeDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DecimalDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DoubleDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ENTITIESDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ENTITYDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.FloatDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GDayDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GMonthDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GMonthDayDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GuidDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GYearDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GYearMonthDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.HexBinaryDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IDDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IDREFDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IDREFSDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IntDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.LanguageDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.LongDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NameDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NCNameDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NegativeIntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NMTOKENDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NMTOKENSDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NonNegativeIntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NonPositiveIntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NormalizedStringDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ObjectDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.PositiveIntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.QNameDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ShortDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.SignedByteDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.StringDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.TimeDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.TimeSpanDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.TokenDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UnsignedByteDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UnsignedIntDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UnsignedLongDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UnsignedShortDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UriDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.XsDurationDataContract:.ctor():this (FullOpts)
         -12 (-7.14 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.CurrentScope.CurrentScopeExportDescriptorProvider+<>c:<GetExportDescriptors>b__1_0(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
         -20 (-7.12 % of base) : System.Web.HttpUtility.dasm - System.Web.Util.HttpEncoder:HtmlAttributeEncode(System.String):System.String (FullOpts)
         -18 (-7.06 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.SignedXmlDebugLog:LogSignedXmlRecursionLimit(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.Xml.Reference) (FullOpts)
         -28 (-7.00 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpConnection+ConnectAndHandshakeAsyncResult:AuthenticateContinue():ubyte:this (FullOpts)

996 total methods with Code Size differences (704 improved, 292 regressed), 231544 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 7, 2024

Top method regressions

76 (4.99 % of base) - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendSym(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this
 ; Assembly listing for method Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendSym(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (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; 51 single block inlinees; 32 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 23, 12.50)   byref  ->  rbx         this single-def
 ;  V01 arg1         [V01,T01] ( 23, 10.12)     ref  ->  r15         class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.Symbol>
 ;  V02 arg2         [V02,T02] (  7,  4.50)     ref  ->  r14         class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext>
-;  V03 arg3         [V03,T11] (  3,  2.50)   ubyte  ->  rcx         single-def
+;  V03 arg3         [V03,T12] (  3,  2.50)   ubyte  ->  rcx         single-def
 ;* V04 loc0         [V04    ] (  0,  0   )     int  ->  zero-ref   
-;  V05 loc1         [V05,T43] (  4,  2   )     ref  ->  rsi         class-hnd exact single-def <System.String>
-;  V06 loc2         [V06,T57] (  3,  1.50)     ref  ->  r14         class-hnd exact single-def <Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterSymbol>
+;  V05 loc1         [V05,T44] (  4,  2   )     ref  ->  rsi         class-hnd exact single-def <System.String>
+;  V06 loc2         [V06,T52] (  3,  1.50)     ref  ->  r14         class-hnd exact single-def <Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterSymbol>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T20] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "dup spill" <System.Object[]>
-;  V09 tmp2         [V09,T21] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
-;  V10 tmp3         [V10,T47] (  2,  2   )     ref  ->  rdi         class-hnd "spilling qmarkNull" <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol>
-;  V11 tmp4         [V11,T22] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V12 tmp5         [V12,T23] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
-;  V13 tmp6         [V13,T05] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V14 tmp7         [V14,T58] (  3,  1.50)     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V15 tmp8         [V15,T65] (  3,  1.50)     int  ->  r12         "Inline stloc first use temp"
-;  V16 tmp9         [V16,T24] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V08 tmp1         [V08,T21] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "dup spill" <System.Object[]>
+;  V09 tmp2         [V09,T22] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
+;  V10 tmp3         [V10,T48] (  2,  2   )     ref  ->  rdi         class-hnd "spilling qmarkNull" <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol>
+;  V11 tmp4         [V11,T23] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V12 tmp5         [V12,T24] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
+;  V13 tmp6         [V13,T06] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V14 tmp7         [V14,T53] (  3,  1.50)     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V15 tmp8         [V15,T60] (  3,  1.50)     int  ->  r12         "Inline stloc first use temp"
+;  V16 tmp9         [V16,T25] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V17 tmp10        [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V18 tmp11        [V18,T12] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V19 tmp12        [V19,T25] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V18 tmp11        [V18,T13] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V19 tmp12        [V19,T26] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
 ;* V20 tmp13        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol>
 ;* V21 tmp14        [V21    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;  V22 tmp15        [V22,T26] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <Microsoft.CSharp.RuntimeBinder.Errors.MessageID>
-;  V23 tmp16        [V23,T27] (  3,  3   )     ref  ->  rsi         class-hnd exact single-def "dup spill" <System.String>
-;  V24 tmp17        [V24,T13] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V25 tmp18        [V25,T28] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V26 tmp19        [V26,T29] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
-;  V27 tmp20        [V27,T06] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V28 tmp21        [V28,T59] (  3,  1.50)     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V29 tmp22        [V29,T66] (  3,  1.50)     int  ->  r15         "Inline stloc first use temp"
-;  V30 tmp23        [V30,T30] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V22 tmp15        [V22,T27] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <Microsoft.CSharp.RuntimeBinder.Errors.MessageID>
+;  V23 tmp16        [V23,T28] (  3,  3   )     ref  ->  rsi         class-hnd exact single-def "dup spill" <System.String>
+;  V24 tmp17        [V24,T14] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V25 tmp18        [V25,T29] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V26 tmp19        [V26,T30] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
+;  V27 tmp20        [V27,T07] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V28 tmp21        [V28,T54] (  3,  1.50)     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V29 tmp22        [V29,T61] (  3,  1.50)     int  ->  r15         "Inline stloc first use temp"
+;  V30 tmp23        [V30,T31] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V31 tmp24        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V32 tmp25        [V32,T14] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V33 tmp26        [V33,T31] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V34 tmp27        [V34,T32] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
-;  V35 tmp28        [V35,T07] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V36 tmp29        [V36,T60] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V37 tmp30        [V37,T67] (  3,  1.50)     int  ->  rbx         "Inline stloc first use temp"
-;  V38 tmp31        [V38,T33] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V32 tmp25        [V32,T15] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V33 tmp26        [V33,T32] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V34 tmp27        [V34,T33] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
+;  V35 tmp28        [V35,T08] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V36 tmp29        [V36,T55] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V37 tmp30        [V37,T62] (  3,  1.50)     int  ->  r13         "Inline stloc first use temp"
+;  V38 tmp31        [V38,T34] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V39 tmp32        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V40 tmp33        [V40,T15] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V41 tmp34        [V41,T34] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V40 tmp33        [V40,T16] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V41 tmp34        [V41,T35] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
 ;* V42 tmp35        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
 ;  V43 tmp36        [V43,T03] (  6,  6   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V44 tmp37        [V44,T68] (  3,  1.50)     int  ->  r15         "Inline stloc first use temp"
-;  V45 tmp38        [V45,T61] (  3,  1.50)     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V44 tmp37        [V44,T63] (  3,  1.50)     int  ->  r15         "Inline stloc first use temp"
+;  V45 tmp38        [V45,T56] (  3,  1.50)     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <ushort[]>
 ;* V46 tmp39        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-;  V47 tmp40        [V47,T08] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V48 tmp41        [V48,T69] (  3,  1.50)     int  ->  rax         "Inline stloc first use temp"
-;  V49 tmp42        [V49,T62] (  3,  1.50)     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V50 tmp43        [V50,T48] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
+;  V47 tmp40        [V47,T09] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V48 tmp41        [V48,T64] (  3,  1.50)     int  ->  rax         "Inline stloc first use temp"
+;  V49 tmp42        [V49,T57] (  3,  1.50)     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;* V50 tmp43        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Globalization.CultureInfo>
 ;* V51 tmp44        [V51    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Object]>
 ;* V52 tmp45        [V52    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V53 tmp46        [V53    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
-;  V54 tmp47        [V54,T16] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V55 tmp48        [V55,T35] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V56 tmp49        [V56,T36] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
-;  V57 tmp50        [V57,T09] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V58 tmp51        [V58,T63] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V59 tmp52        [V59,T70] (  3,  1.50)     int  ->  rbx         "Inline stloc first use temp"
-;  V60 tmp53        [V60,T37] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V54 tmp47        [V54,T17] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V55 tmp48        [V55,T36] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V56 tmp49        [V56,T37] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
+;  V57 tmp50        [V57,T10] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V58 tmp51        [V58,T58] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V59 tmp52        [V59,T65] (  3,  1.50)     int  ->  rbx         "Inline stloc first use temp"
+;  V60 tmp53        [V60,T38] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V61 tmp54        [V61    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V62 tmp55        [V62,T17] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V63 tmp56        [V63,T38] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V64 tmp57        [V64,T39] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
-;  V65 tmp58        [V65,T10] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
-;  V66 tmp59        [V66,T64] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V67 tmp60        [V67,T71] (  3,  1.50)     int  ->  rbx         "Inline stloc first use temp"
-;  V68 tmp61        [V68,T40] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V62 tmp55        [V62,T18] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V63 tmp56        [V63,T39] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V64 tmp57        [V64,T40] (  3,  3   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
+;  V65 tmp58        [V65,T11] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V66 tmp59        [V66,T59] (  3,  1.50)     ref  ->  r15         class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;  V67 tmp60        [V67,T66] (  3,  1.50)     int  ->  rbx         "Inline stloc first use temp"
+;  V68 tmp61        [V68,T41] (  3,  3   )   byref  ->  rsi         single-def "Inlining Arg"
 ;* V69 tmp62        [V69    ] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
-;  V70 tmp63        [V70,T18] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V71 tmp64        [V71,T41] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
+;  V70 tmp63        [V70,T19] (  4,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V71 tmp64        [V71,T42] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.StringBuilder>
 ;* V72 tmp65        [V72    ] (  0,  0   )   byref  ->  zero-ref    "field V51._reference (fldOffset=0x0)" P-INDEP
 ;* V73 tmp66        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0x8)" P-INDEP
-;  V74 tmp67        [V74,T80] (  2,  1   )   byref  ->  rdx         single-def "field V53._reference (fldOffset=0x0)" P-INDEP
-;* V75 tmp68        [V75,T82] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0x8)" P-INDEP
+;  V74 tmp67        [V74,T75] (  2,  1   )   byref  ->  rdx         single-def "field V53._reference (fldOffset=0x0)" P-INDEP
+;* V75 tmp68        [V75,T77] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0x8)" P-INDEP
 ;  V76 tmp69        [V76,T49] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V77 tmp70        [V77,T50] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V78 tmp71        [V78,T51] (  2,  2   )     ref  ->  rsi         single-def "arr expr"
-;  V79 tmp72        [V79,T52] (  2,  2   )     ref  ->  rsi         single-def "arr expr"
-;  V80 tmp73        [V80,T53] (  2,  2   )     ref  ->  rsi         single-def "arr expr"
-;  V81 tmp74        [V81,T54] (  2,  2   )     ref  ->  rsi         single-def "arr expr"
-;  V82 tmp75        [V82,T55] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V83 tmp76        [V83,T56] (  2,  2   )     ref  ->  rsi         single-def "arr expr"
-;  V84 cse0         [V84,T19] (  6,  3   )     int  ->  r13         multi-def "CSE #19: conservative"
-;  V85 cse1         [V85,T72] (  3,  1.50)     int  ->  rax         "CSE #01: conservative"
-;  V86 cse2         [V86,T73] (  3,  1.50)     int  ->  r14         "CSE #07: conservative"
-;  V87 cse3         [V87,T74] (  3,  1.50)     int  ->  r13         "CSE #10: conservative"
-;  V88 cse4         [V88,T81] (  2,  1   )     int  ->  rsi         "CSE #14: conservative"
-;  V89 cse5         [V89,T75] (  3,  1.50)     int  ->  r15         "CSE #15: conservative"
-;  V90 rat0         [V90,T44] (  3,  2   )     ref  ->  rsi         "replacement local"
-;  V91 rat1         [V91,T77] (  3,  1   )    long  ->  rdi         "CSE for expectedClsNode"
-;  V92 rat2         [V92,T45] (  3,  2   )     ref  ->  rsi         "replacement local"
-;  V93 rat3         [V93,T78] (  3,  1   )    long  ->  rdi         "CSE for expectedClsNode"
-;  V94 rat4         [V94,T42] (  4,  2.25)     ref  ->  rsi         "replacement local"
-;  V95 rat5         [V95,T76] (  3,  1.25)    long  ->  rdi         "CSE for expectedClsNode"
-;  V96 rat6         [V96,T46] (  3,  2   )     ref  ->  r14         "replacement local"
-;  V97 rat7         [V97,T79] (  3,  1   )    long  ->  rdi         "CSE for expectedClsNode"
-;  V98 rat8         [V98,T04] (  3,  5.78)     int  ->  rsi         "ReplaceWithLclVar is creating a new local variable"
+;  V78 tmp71        [V78,T51] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
+;  V79 cse0         [V79,T05] ( 10,  5   )     ref  ->  r13         multi-def "CSE #01: aggressive"
+;  V80 cse1         [V80,T20] (  6,  3   )     int  ->  r12         multi-def "CSE #19: conservative"
+;  V81 cse2         [V81,T67] (  3,  1.50)     int  ->  rax         "CSE #02: conservative"
+;  V82 cse3         [V82,T68] (  3,  1.50)     int  ->  r14         "CSE #07: conservative"
+;  V83 cse4         [V83,T69] (  3,  1.50)     int  ->  rbx         "CSE #10: conservative"
+;  V84 cse5         [V84,T76] (  2,  1   )     int  ->  rsi         "CSE #14: conservative"
+;  V85 cse6         [V85,T70] (  3,  1.50)     int  ->  r15         "CSE #15: conservative"
+;  V86 rat0         [V86,T45] (  3,  2   )     ref  ->  rsi         "replacement local"
+;  V87 rat1         [V87,T72] (  3,  1   )    long  ->  rdi         "CSE for expectedClsNode"
+;  V88 rat2         [V88,T46] (  3,  2   )     ref  ->  rsi         "replacement local"
+;  V89 rat3         [V89,T73] (  3,  1   )    long  ->  rdi         "CSE for expectedClsNode"
+;  V90 rat4         [V90,T43] (  4,  2.25)     ref  ->  rsi         "replacement local"
+;  V91 rat5         [V91,T71] (  3,  1.25)    long  ->  rdi         "CSE for expectedClsNode"
+;  V92 rat6         [V92,T47] (  3,  2   )     ref  ->  r14         "replacement local"
+;  V93 rat7         [V93,T74] (  3,  1   )    long  ->  rdi         "CSE for expectedClsNode"
+;  V94 rat8         [V94,T04] (  3,  5.78)     int  ->  rsi         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
 G_M48351_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
        mov      r14, rdx
 						;; size=25 bbWeight=1 PerfScore 8.25
 G_M48351_IG02:
        mov      esi, dword ptr [r15+0x28]
        cmp      esi, 7
        ja       G_M48351_IG34
 						;; size=13 bbWeight=1 PerfScore 3.25
 G_M48351_IG03:
        mov      esi, esi
        lea      rdi, [reloc @RWD00]
        mov      edi, dword ptr [rdi+4*rsi]
        lea      rax, G_M48351_IG02
        add      rdi, rax
        jmp      rdi
 						;; size=24 bbWeight=0.89 PerfScore 5.33
 G_M48351_IG04:
        mov      rsi, r15
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CSharp.RuntimeBinder.Semantics.PropertySymbol
        cmp      qword ptr [rsi], rdi
        je       SHORT G_M48351_IG06
 						;; size=18 bbWeight=0.25 PerfScore 1.12
 G_M48351_IG05:
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      rsi, rax
 						;; size=18 bbWeight=0.12 PerfScore 0.47
 G_M48351_IG06:
        mov      rdi, rbx
        mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendProperty(Microsoft.CSharp.RuntimeBinder.Semantics.PropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        call     [rax]Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendProperty(Microsoft.CSharp.RuntimeBinder.Semantics.PropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        jmp      G_M48351_IG34
 						;; size=23 bbWeight=0.50 PerfScore 2.88
 G_M48351_IG07:
        mov      rsi, r15
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol
        cmp      qword ptr [rsi], rdi
        jne      G_M48351_IG36
 						;; size=22 bbWeight=0.25 PerfScore 1.12
 G_M48351_IG08:
        movzx    rcx, cl
        mov      rdi, rbx
        mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendMethod(Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this
        call     [rax]Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendMethod(Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this
        jmp      G_M48351_IG34
 						;; size=26 bbWeight=0.50 PerfScore 3.00
 G_M48351_IG09:
        mov      rdx, gword ptr [r15+0x08]
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      rdx, gword ptr [rsi+0x90]
+       mov      r13, gword ptr [rsi]
+       mov      esi, 121
+       cmp      esi, 16
+       jbe      G_M48351_IG39
+       cmp      rdx, gword ptr [r13+0x90]
        je       SHORT G_M48351_IG10
        mov      rsi, gword ptr [rdx+0x08]
        mov      rdi, gword ptr [rbx]
        cmp      byte  ptr [rdi], dil
        test     rsi, rsi
        je       G_M48351_IG34
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
        jmp      G_M48351_IG34
-						;; size=69 bbWeight=0.50 PerfScore 12.00
+						;; size=83 bbWeight=0.50 PerfScore 12.75
 G_M48351_IG10:
        mov      rdi, gword ptr [rbx]
        mov      rsi, 0xD1FFAB1E
        mov      r15, gword ptr [rdi+0x08]
        mov      ebx, dword ptr [rdi+0x18]
-       lea      r13d, [rbx+0x04]
-       cmp      dword ptr [r15+0x08], r13d
+       lea      r12d, [rbx+0x04]
+       cmp      dword ptr [r15+0x08], r12d
        jae      SHORT G_M48351_IG11
        mov      edx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      G_M48351_IG34
 						;; size=52 bbWeight=0.50 PerfScore 8.12
 G_M48351_IG11:
        movsxd   rdx, ebx
        lea      rdx, bword ptr [r15+2*rdx+0x10]
        mov      rax, qword ptr [rsi]
        mov      qword ptr [rdx], rax
-       mov      dword ptr [rdi+0x18], r13d
+       mov      dword ptr [rdi+0x18], r12d
        jmp      G_M48351_IG34
 						;; size=23 bbWeight=0.50 PerfScore 3.62
 G_M48351_IG12:
        mov      rsi, gword ptr [r15+0x10]
        mov      rdi, rbx
        mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendParentCore(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        call     [rax]Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendParentCore(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        mov      rdx, gword ptr [r15+0x08]
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      rdx, gword ptr [rsi+0x90]
+       mov      r13, gword ptr [rsi]
+       mov      esi, 121
+       cmp      esi, 16
+       jbe      G_M48351_IG39
+       cmp      rdx, gword ptr [r13+0x90]
        je       SHORT G_M48351_IG13
        mov      rsi, gword ptr [rdx+0x08]
        mov      rdi, gword ptr [rbx]
        cmp      byte  ptr [rdi], dil
        test     rsi, rsi
        je       G_M48351_IG34
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
        jmp      G_M48351_IG34
-						;; size=91 bbWeight=0.50 PerfScore 14.88
+						;; size=105 bbWeight=0.50 PerfScore 15.62
 G_M48351_IG13:
        mov      rdi, gword ptr [rbx]
        mov      rsi, 0xD1FFAB1E
        mov      r15, gword ptr [rdi+0x08]
-       mov      ebx, dword ptr [rdi+0x18]
-       lea      r13d, [rbx+0x04]
-       cmp      dword ptr [r15+0x08], r13d
+       mov      r13d, dword ptr [rdi+0x18]
+       lea      ebx, [r13+0x04]
+       cmp      dword ptr [r15+0x08], ebx
        jae      SHORT G_M48351_IG14
        mov      edx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      G_M48351_IG34
-						;; size=52 bbWeight=0.50 PerfScore 8.12
+						;; size=53 bbWeight=0.50 PerfScore 8.12
 G_M48351_IG14:
-       movsxd   rdx, ebx
+       movsxd   rdx, r13d
        lea      rdx, bword ptr [r15+2*rdx+0x10]
        mov      rax, qword ptr [rsi]
        mov      qword ptr [rdx], rax
-       mov      dword ptr [rdi+0x18], r13d
+       mov      dword ptr [rdi+0x18], ebx
        jmp      G_M48351_IG34
-						;; size=23 bbWeight=0.50 PerfScore 3.62
+						;; size=22 bbWeight=0.50 PerfScore 3.62
 G_M48351_IG15:
        cmp      gword ptr [r15+0x08], 0
        je       G_M48351_IG18
        mov      rdx, gword ptr [r15+0x08]
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      rdx, gword ptr [rsi+0x90]
+       mov      r13, gword ptr [rsi]
+       mov      esi, 121
+       cmp      esi, 16
+       jbe      G_M48351_IG39
+       cmp      rdx, gword ptr [r13+0x90]
        je       SHORT G_M48351_IG16
        mov      rsi, gword ptr [rdx+0x08]
        mov      rdi, gword ptr [rbx]
        cmp      byte  ptr [rdi], dil
        test     rsi, rsi
        je       G_M48351_IG34
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
        jmp      G_M48351_IG34
-						;; size=80 bbWeight=0.50 PerfScore 14.00
+						;; size=94 bbWeight=0.50 PerfScore 14.75
 G_M48351_IG16:
        mov      rdi, gword ptr [rbx]
        mov      rsi, 0xD1FFAB1E
        mov      r15, gword ptr [rdi+0x08]
        mov      ebx, dword ptr [rdi+0x18]
-       lea      r13d, [rbx+0x04]
-       cmp      dword ptr [r15+0x08], r13d
+       lea      r12d, [rbx+0x04]
+       cmp      dword ptr [r15+0x08], r12d
        jae      SHORT G_M48351_IG17
        mov      edx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      G_M48351_IG34
 						;; size=52 bbWeight=0.50 PerfScore 8.12
 G_M48351_IG17:
        movsxd   rax, ebx
        lea      rax, bword ptr [r15+2*rax+0x10]
        mov      rcx, qword ptr [rsi]
        mov      qword ptr [rax], rcx
-       mov      dword ptr [rdi+0x18], r13d
+       mov      dword ptr [rdi+0x18], r12d
        jmp      G_M48351_IG34
 						;; size=23 bbWeight=0.50 PerfScore 3.62
 G_M48351_IG18:
        mov      r14, r15
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterSymbol
        cmp      qword ptr [r14], rdi
        jne      G_M48351_IG37
 						;; size=22 bbWeight=0.25 PerfScore 1.12
 G_M48351_IG19:
        cmp      byte  ptr [r14+0x4C], 0
        je       SHORT G_M48351_IG21
        mov      rdi, gword ptr [rbx]
        mov      r15d, dword ptr [rdi+0x18]
        mov      r13, gword ptr [rdi+0x08]
        cmp      dword ptr [r13+0x08], r15d
        ja       SHORT G_M48351_IG20
        mov      esi, 33
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
        jmp      SHORT G_M48351_IG21
 						;; size=43 bbWeight=0.50 PerfScore 9.75
 G_M48351_IG20:
        mov      esi, r15d
        mov      word  ptr [r13+2*rsi+0x10], 33
        inc      dword ptr [rdi+0x18]
 						;; size=14 bbWeight=0.50 PerfScore 2.12
 G_M48351_IG21:
        mov      rdi, gword ptr [rbx]
        mov      r15d, dword ptr [rdi+0x18]
        mov      eax, r15d
        mov      r13, gword ptr [rdi+0x08]
        mov      esi, dword ptr [r13+0x08]
        cmp      esi, eax
        ja       SHORT G_M48351_IG22
        mov      esi, 33
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
        jmp      SHORT G_M48351_IG23
 						;; size=41 bbWeight=0.50 PerfScore 7.50
 G_M48351_IG22:
        mov      esi, eax
        mov      word  ptr [r13+2*rsi+0x10], 33
        inc      r15d
        mov      dword ptr [rdi+0x18], r15d
 						;; size=17 bbWeight=0.50 PerfScore 1.25
 G_M48351_IG23:
        mov      rdi, 0xD1FFAB1E      ; System.Object[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
        mov      edi, dword ptr [r14+0x48]
        mov      dword ptr [rax+0x08], edi
        lea      rdi, bword ptr [r15+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      rdi, gword ptr [rdx]
        lea      rdx, bword ptr [r15+0x10]
        mov      ecx, 1
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rdi, gword ptr [rdi]
        mov      rsi, 0xD1FFAB1E      ; '{0}'
        mov      rax, 0xD1FFAB1E      ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        call     [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        mov      rsi, rax
        mov      rdi, gword ptr [rbx]
        cmp      byte  ptr [rdi], dil
        test     rsi, rsi
        je       G_M48351_IG34
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
        jmp      G_M48351_IG34
 						;; size=143 bbWeight=0.50 PerfScore 14.12
 G_M48351_IG24:
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol
        xor      rax, rax
        cmp      qword ptr [r15], rdi
        mov      rdi, rax
        cmove    rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypes:GetNiceName(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol):System.String
        call     [rax]Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypes:GetNiceName(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol):System.String
        mov      rsi, rax
        test     rsi, rsi
        jne      G_M48351_IG29
        mov      rsi, gword ptr [r15+0x10]
        mov      rdi, rbx
        mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendParentCore(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        call     [rax]Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendParentCore(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        mov      rdx, gword ptr [r15+0x08]
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      rdx, gword ptr [rsi+0x90]
+       mov      r13, gword ptr [rsi]
+       mov      esi, 121
+       cmp      esi, 16
+       jbe      G_M48351_IG39
+       cmp      rdx, gword ptr [r13+0x90]
        je       SHORT G_M48351_IG25
        mov      rsi, gword ptr [rdx+0x08]
        mov      rdi, gword ptr [rbx]
        cmp      byte  ptr [rdi], dil
        test     rsi, rsi
        je       SHORT G_M48351_IG27
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
        jmp      SHORT G_M48351_IG27
-						;; size=130 bbWeight=0.50 PerfScore 19.25
+						;; size=144 bbWeight=0.50 PerfScore 20.00
 G_M48351_IG25:
        mov      rdi, gword ptr [rbx]
        mov      rsi, 0xD1FFAB1E
        mov      r13, gword ptr [rdi+0x08]
        mov      r12d, dword ptr [rdi+0x18]
        lea      eax, [r12+0x04]
        cmp      dword ptr [r13+0x08], eax
        jae      SHORT G_M48351_IG26
        mov      edx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M48351_IG27
 						;; size=51 bbWeight=0.50 PerfScore 8.12
 G_M48351_IG26:
        movsxd   rdx, r12d
        lea      rdx, bword ptr [r13+2*rdx+0x10]
        mov      rcx, qword ptr [rsi]
        mov      qword ptr [rdx], rcx
        mov      dword ptr [rdi+0x18], eax
 						;; size=17 bbWeight=0.50 PerfScore 3.12
 G_M48351_IG27:
        mov      rsi, r15
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol
        cmp      qword ptr [rsi], rdi
        jne      G_M48351_IG38
 						;; size=22 bbWeight=0.25 PerfScore 1.12
 G_M48351_IG28:
        mov      rsi, gword ptr [rsi+0x78]
        mov      rdi, rbx
        mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendTypeParameters(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        call     [rax]Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendTypeParameters(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        jmp      G_M48351_IG34
 						;; size=27 bbWeight=0.50 PerfScore 3.88
 G_M48351_IG29:
        mov      rdi, gword ptr [rbx]
        cmp      byte  ptr [rdi], dil
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
        jmp      G_M48351_IG34
 						;; size=30 bbWeight=0.50 PerfScore 6.25
 G_M48351_IG30:
        mov      rsi, 0xD1FFAB1E      ; const ptr
        cmp      r15, gword ptr [rsi]
        je       G_M48351_IG33
        mov      rsi, gword ptr [r15+0x10]
        mov      rdi, rbx
        xor      rdx, rdx
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendParentCore(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        call     [rax]Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendParentCore(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this
        mov      rdx, gword ptr [r15+0x08]
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rsi, gword ptr [rsi]
-       cmp      rdx, gword ptr [rsi+0x90]
+       mov      r13, gword ptr [rsi]
+       mov      esi, 121
+       cmp      esi, 16
+       jbe      G_M48351_IG39
+       cmp      rdx, gword ptr [r13+0x90]
        je       SHORT G_M48351_IG31
        mov      rsi, gword ptr [rdx+0x08]
        mov      rdi, gword ptr [rbx]
        cmp      byte  ptr [rdi], dil
        test     rsi, rsi
        je       G_M48351_IG34
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
        jmp      G_M48351_IG34
-						;; size=109 bbWeight=0.50 PerfScore 17.00
+						;; size=123 bbWeight=0.50 PerfScore 17.75
 G_M48351_IG31:
        mov      rdi, gword ptr [rbx]
        mov      rsi, 0xD1FFAB1E
        mov      rbx, gword ptr [rdi+0x08]
        mov      r15d, dword ptr [rdi+0x18]
        lea      r14d, [r15+0x04]
        cmp      dword ptr [rbx+0x08], r14d
        jae      SHORT G_M48351_IG32
        mov      edx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        call     [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this
        jmp      SHORT G_M48351_IG34
 						;; size=50 bbWeight=0.50 PerfScore 8.12
 G_M48351_IG32:
        movsxd   rax, r15d
        lea      rax, bword ptr [rbx+2*rax+0x10]
        mov      rcx, qword ptr [rsi]
        mov      qword ptr [rax], rcx
        mov      dword ptr [rdi+0x18], r14d
        jmp      SHORT G_M48351_IG34
 						;; size=20 bbWeight=0.50 PerfScore 3.62
 G_M48351_IG33:
        mov      rdi, 0xD1FFAB1E      ; Microsoft.CSharp.RuntimeBinder.Errors.MessageID
        call     CORINFO_HELP_NEWSFAST
        mov      dword ptr [rax+0x08], 12
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Enum:ToString():System.String:this
        call     [rax]System.Enum:ToString():System.String:this
        mov      rsi, rax
        mov      rdi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String,System.String):System.String
        call     [rax]System.SR:GetResourceString(System.String,System.String):System.String
        mov      rsi, rax
        mov      rdi, gword ptr [rbx]
        cmp      byte  ptr [rdi], dil
        test     rsi, rsi
        je       SHORT G_M48351_IG34
        mov      edx, dword ptr [rsi+0x08]
        add      rsi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.Text.StringBuilder:Append(byref,int):this
        call     [rax]System.Text.StringBuilder:Append(byref,int):this
 						;; size=88 bbWeight=0.50 PerfScore 10.75
 G_M48351_IG34:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M48351_IG35:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M48351_IG36:
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        int3     
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M48351_IG37:
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        int3     
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M48351_IG38:
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        int3     
 						;; size=16 bbWeight=0 PerfScore 0.00
+G_M48351_IG39:
+       call     CORINFO_HELP_RNGCHKFAIL
+       int3     
+						;; size=6 bbWeight=0 PerfScore 0.00
 RWD00  	dd	G_M48351_IG30 - G_M48351_IG02
        	dd	G_M48351_IG24 - G_M48351_IG02
        	dd	G_M48351_IG15 - G_M48351_IG02
        	dd	G_M48351_IG12 - G_M48351_IG02
        	dd	G_M48351_IG09 - G_M48351_IG02
        	dd	G_M48351_IG07 - G_M48351_IG02
        	dd	G_M48351_IG04 - G_M48351_IG02
        	dd	G_M48351_IG34 - G_M48351_IG02
 
 
-; Total bytes of code 1522, prolog size 16, PerfScore 223.18, instruction count 350, allocated bytes for code 1522 (MethodHash=9e6a4320) for method Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendSym(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts)
+; Total bytes of code 1598, prolog size 16, PerfScore 226.93, instruction count 367, allocated bytes for code 1598 (MethodHash=9e6a4320) for method Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendSym(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts)
 ; ============================================================
62 (15.16 % of base) - System.Net.Mime.MimePart:set_TransferEncoding(int):this
 ; Assembly listing for method System.Net.Mime.MimePart:set_TransferEncoding(int):this (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; 4 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  6,  4   )     ref  ->  rdi         this class-hnd single-def <System.Net.Mime.MimePart>
 ;  V01 arg1         [V01,T00] (  7,  4.50)     int  ->  rbx         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T14] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "Single-def Box Helper" <System.Net.Mime.TransferEncoding>
-;  V04 tmp2         [V04,T16] (  2,  0   )     ref  ->  r14         class-hnd exact single-def "impImportAndPushBox" <System.String>
-;  V05 tmp3         [V05,T15] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.NotSupportedException>
+;  V03 tmp1         [V03,T07] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "Single-def Box Helper" <System.Net.Mime.TransferEncoding>
+;  V04 tmp2         [V04,T09] (  2,  0   )     ref  ->  r14         class-hnd exact single-def "impImportAndPushBox" <System.String>
+;  V05 tmp3         [V05,T08] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.NotSupportedException>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Specialized.NameValueCollection>
 ;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Specialized.NameValueCollection>
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Specialized.NameValueCollection>
 ;* V09 tmp7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Specialized.NameValueCollection>
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.String>
 ;* V11 tmp9         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.String>
 ;* V12 tmp10        [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.String>
 ;* V13 tmp11        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.String>
-;  V14 tmp12        [V14,T17] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V15 tmp13        [V15,T06] (  2,  2   )     ref  ->  rdi         single-def "arr expr"
-;  V16 tmp14        [V16,T02] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
-;  V17 tmp15        [V17,T07] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V18 tmp16        [V18,T08] (  2,  2   )     ref  ->  rdi         single-def "arr expr"
-;  V19 tmp17        [V19,T03] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
-;  V20 tmp18        [V20,T09] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V21 tmp19        [V21,T10] (  2,  2   )     ref  ->  rdi         single-def "arr expr"
-;  V22 tmp20        [V22,T04] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
-;  V23 tmp21        [V23,T11] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V24 tmp22        [V24,T12] (  2,  2   )     ref  ->  rdi         single-def "arr expr"
-;  V25 tmp23        [V25,T05] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
-;  V26 tmp24        [V26,T13] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
+;  V14 tmp12        [V14,T10] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V15 tmp13        [V15,T03] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
+;  V16 tmp14        [V16,T04] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
+;  V17 tmp15        [V17,T05] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
+;  V18 tmp16        [V18,T06] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
+;  V19 cse0         [V19,T02] (  8,  4   )     ref  ->  r15         multi-def "CSE #01: aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M56664_IG01:
        push     rbp
        push     r15
        push     r14
        push     rbx
        push     rax
        lea      rbp, [rsp+0x20]
        mov      ebx, esi
 						;; size=14 bbWeight=1 PerfScore 5.75
 G_M56664_IG02:
        cmp      ebx, 1
        je       G_M56664_IG09
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M56664_IG03:
        test     ebx, ebx
        je       G_M56664_IG07
        cmp      ebx, 2
        je       SHORT G_M56664_IG05
        cmp      ebx, 3
        jne      G_M56664_IG11
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this
        call     [rax]System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rdi, gword ptr [rdi]
-       mov      rsi, gword ptr [rdi+0x80]
        mov      rdi, rax
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      r15, gword ptr [rsi]
+       mov      esi, 33
+       cmp      esi, 7
+       jbe      G_M56664_IG12
+       mov      rsi, gword ptr [r15+0x80]
        mov      rdx, 0xD1FFAB1E      ; '8bit'
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x50]
-						;; size=74 bbWeight=0.50 PerfScore 7.88
+						;; size=88 bbWeight=0.50 PerfScore 8.62
 G_M56664_IG04:
        add      rsp, 8
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=14 bbWeight=0.50 PerfScore 2.12
 G_M56664_IG05:
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this
        call     [rax]System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rdi, gword ptr [rdi]
-       mov      rsi, gword ptr [rdi+0x80]
        mov      rdi, rax
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      r15, gword ptr [rsi]
+       mov      esi, 33
+       cmp      esi, 7
+       jbe      G_M56664_IG12
+       mov      rsi, gword ptr [r15+0x80]
        mov      rdx, 0xD1FFAB1E      ; '7bit'
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x50]
-						;; size=52 bbWeight=0.50 PerfScore 6.00
+						;; size=66 bbWeight=0.50 PerfScore 6.75
 G_M56664_IG06:
        add      rsp, 8
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=14 bbWeight=0.50 PerfScore 2.12
 G_M56664_IG07:
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this
        call     [rax]System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rdi, gword ptr [rdi]
-       mov      rsi, gword ptr [rdi+0x80]
        mov      rdi, rax
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      r15, gword ptr [rsi]
+       mov      esi, 33
+       cmp      esi, 7
+       jbe      G_M56664_IG12
+       mov      rsi, gword ptr [r15+0x80]
        mov      rdx, 0xD1FFAB1E      ; 'quoted-printable'
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x50]
-						;; size=52 bbWeight=0.50 PerfScore 6.00
+						;; size=66 bbWeight=0.50 PerfScore 6.75
 G_M56664_IG08:
        add      rsp, 8
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=14 bbWeight=0.50 PerfScore 2.12
 G_M56664_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this
        call     [rax]System.Net.Mime.MimeBasePart:get_Headers():System.Collections.Specialized.NameValueCollection:this
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rdi, gword ptr [rdi]
-       mov      rsi, gword ptr [rdi+0x80]
        mov      rdi, rax
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      r15, gword ptr [rsi]
+       mov      esi, 33
+       cmp      esi, 7
+       jbe      G_M56664_IG12
+       mov      rsi, gword ptr [r15+0x80]
        mov      rdx, 0xD1FFAB1E      ; 'base64'
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x50]
-						;; size=52 bbWeight=0.50 PerfScore 6.00
+						;; size=66 bbWeight=0.50 PerfScore 6.75
 G_M56664_IG10:
        add      rsp, 8
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=14 bbWeight=0.50 PerfScore 2.12
 G_M56664_IG11:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Mime.TransferEncoding
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_MimeTransferEncodingNotSupported():System.String
        call     [rax]System.SR:get_MimeTransferEncodingNotSupported():System.String
        mov      r14, rax
        mov      dword ptr [r15+0x08], ebx
        mov      rdi, 0xD1FFAB1E      ; System.NotSupportedException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rsi, r15
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.SR:Format(System.String,System.Object):System.String
        call     [rax]System.SR:Format(System.String,System.Object):System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.NotSupportedException:.ctor(System.String):this
        call     [rax]System.NotSupportedException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=100 bbWeight=0 PerfScore 0.00
+G_M56664_IG12:
+       call     CORINFO_HELP_RNGCHKFAIL
+       int3     
+						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 409, prolog size 12, PerfScore 41.38, instruction count 96, allocated bytes for code 409 (MethodHash=ed4122a7) for method System.Net.Mime.MimePart:set_TransferEncoding(int):this (FullOpts)
+; Total bytes of code 471, prolog size 12, PerfScore 44.38, instruction count 110, allocated bytes for code 471 (MethodHash=ed4122a7) for method System.Net.Mime.MimePart:set_TransferEncoding(int):this (FullOpts)
 ; ============================================================

Note: some changes were skipped as they were too large to fit into a comment.

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

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 7, 2024

Top method improvements

-157 (-10.14 % of base) - System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this
 ; Assembly listing for method System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (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; 38 single block inlinees; 11 inlinees without PGO data
+; 0 inlinees with PGO data; 36 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 39, 23   )     ref  ->  rbx         this class-hnd single-def <System.Net.HttpListenerResponse>
-;  V01 arg1         [V01,T06] (  3,  2.50)   ubyte  ->  r13         single-def
+;  V01 arg1         [V01,T05] (  3,  2.50)   ubyte  ->  r13         single-def
 ;  V02 arg2         [V02,T02] (  7,  7   )     ref  ->  r15         class-hnd single-def <System.IO.MemoryStream>
-;  V03 arg3         [V03,T04] (  4,  4   )   ubyte  ->  r14         single-def
-;  V04 loc0         [V04,T09] (  3,  3   )     ref  ->  r13         class-hnd exact single-def <System.Text.UTF8Encoding+UTF8EncodingSealed>
-;  V05 loc1         [V05,T10] (  3,  3   )     ref  ->  rax         class-hnd single-def <ubyte[]>
+;  V03 arg3         [V03,T03] (  4,  4   )   ubyte  ->  r14         single-def
+;  V04 loc0         [V04,T08] (  3,  3   )     ref  ->  r13         class-hnd exact single-def <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V05 loc1         [V05,T09] (  3,  3   )     ref  ->  rax         class-hnd single-def <ubyte[]>
 ;* V06 loc2         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;  V07 loc3         [V07,T07] (  8,  4   )   ubyte  ->  r13        
+;  V07 loc3         [V07,T06] (  8,  4   )   ubyte  ->  r13        
 ;* V08 loc4         [V08    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.DateTime>
 ;* V09 loc5         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V11 tmp1         [V11,T01] (  9, 18   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamWriter>
-;  V12 tmp2         [V12,T05] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
+;  V12 tmp2         [V12,T04] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
 ;* V13 tmp3         [V13    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ubyte]>
-;  V14 tmp4         [V14,T35] (  3,  1.50)     int  ->  rax        
-;  V15 tmp5         [V15,T11] (  3,  3   )     ref  ->  r13         class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
-;  V16 tmp6         [V16,T25] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
+;  V14 tmp4         [V14,T30] (  3,  1.50)     int  ->  rax        
+;  V15 tmp5         [V15,T10] (  3,  3   )     ref  ->  r13         class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
+;* V16 tmp6         [V16    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V17 tmp7         [V17    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V19 tmp9         [V19,T38] (  2,  1   )     int  ->  rdi        
-;  V20 tmp10        [V20,T12] (  3,  3   )     ref  ->  r12         class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
+;  V19 tmp9         [V19,T33] (  2,  1   )     int  ->  rdi        
+;  V20 tmp10        [V20,T11] (  3,  3   )     ref  ->  r12         class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
 ;* V21 tmp11        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
 ;* V22 tmp12        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
-;  V23 tmp13        [V23,T26] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
+;* V23 tmp13        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Globalization.CultureInfo>
 ;* V24 tmp14        [V24    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.DateTime>
-;* V25 tmp15        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-;* V26 tmp16        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V27 tmp17        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
-;* V28 tmp18        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V29 tmp19        [V29,T13] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Version>
-;  V30 tmp20        [V30,T27] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Version>
-;* V31 tmp21        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerResponse>
-;  V32 tmp22        [V32,T28] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Net.HttpListenerResponse>
-;  V33 tmp23        [V33,T29] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
-;  V34 tmp24        [V34,T37] (  2,  1   )     ref  ->  rdx         class-hnd single-def "Inline return value spill temp" <System.String>
-;  V35 tmp25        [V35,T33] (  2,  2   )    long  ->  rdi         "Inlining Arg"
-;* V36 tmp26        [V36    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V37 tmp27        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V38 tmp28        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V39 tmp29        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V40 tmp30        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpConnection>
+;* V25 tmp15        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Globalization.CultureInfo>
+;* V26 tmp16        [V26    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+;* V27 tmp17        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V28 tmp18        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
+;* V29 tmp19        [V29    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V30 tmp20        [V30,T12] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Version>
+;  V31 tmp21        [V31,T23] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Version>
+;* V32 tmp22        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerResponse>
+;  V33 tmp23        [V33,T24] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Net.HttpListenerResponse>
+;* V34 tmp24        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Globalization.CultureInfo>
+;  V35 tmp25        [V35,T32] (  2,  1   )     ref  ->  rdx         class-hnd single-def "Inline return value spill temp" <System.String>
+;  V36 tmp26        [V36,T28] (  2,  2   )    long  ->  rdi         "Inlining Arg"
+;  V37 tmp27        [V37,T25] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
+;* V38 tmp28        [V38    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V39 tmp29        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V40 tmp30        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
 ;* V41 tmp31        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V42 tmp32        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
-;* V43 tmp33        [V43    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V44 tmp34        [V44,T14] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Version>
-;  V45 tmp35        [V45,T30] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Version>
-;  V46 tmp36        [V46,T03] (  6,  6   )     ref  ->  r12         class-hnd single-def "Inlining Arg" <System.Net.WebHeaderCollection>
-;  V47 tmp37        [V47,T44] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-;* V48 tmp38        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;  V49 tmp39        [V49    ] (  2,  4   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
-;* V50 tmp40        [V50    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
-;* V51 tmp41        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Object>
-;* V52 tmp42        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "dup spill" <System.IFormatProvider>
-;* V53 tmp43        [V53    ] (  0,  0   )     ref  ->  zero-ref   
-;* V54 tmp44        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V55 tmp45        [V55    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V56 tmp46        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V57 tmp47        [V57    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V58 tmp48        [V58    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V59 tmp49        [V59,T39] (  2,  1   )    long  ->  rdi         "field V08._dateData (fldOffset=0x0)" P-INDEP
-;  V60 tmp50        [V60,T40] (  1,  1   )   byref  ->  rax         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V61 tmp51        [V61,T34] (  2,  2   )     int  ->  r13         "field V09._length (fldOffset=0x8)" P-INDEP
-;* V62 tmp52        [V62    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-DEP
-;* V63 tmp53        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-DEP
-;* V64 tmp54        [V64    ] (  0,  0   )    long  ->  zero-ref    "field V24._dateData (fldOffset=0x0)" P-INDEP
-;* V65 tmp55        [V65,T43] (  0,  0   )    long  ->  zero-ref    "field V25._ticks (fldOffset=0x0)" P-INDEP
-;* V66 tmp56        [V66,T41] (  0,  0   )   byref  ->  zero-ref    single-def "field V50._reference (fldOffset=0x0)" P-INDEP
-;* V67 tmp57        [V67,T42] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
+;* V42 tmp32        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpConnection>
+;* V43 tmp33        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V44 tmp34        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
+;* V45 tmp35        [V45    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V46 tmp36        [V46,T13] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Version>
+;  V47 tmp37        [V47,T26] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Version>
+;  V48 tmp38        [V48    ] (  2,  4   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
+;* V49 tmp39        [V49    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
+;* V50 tmp40        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Object>
+;* V51 tmp41        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "dup spill" <System.IFormatProvider>
+;* V52 tmp42        [V52    ] (  0,  0   )     ref  ->  zero-ref   
+;* V53 tmp43        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V54 tmp44        [V54    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V55 tmp45        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V56 tmp46        [V56    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V57 tmp47        [V57    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;  V58 tmp48        [V58,T34] (  2,  1   )    long  ->  rdi         "field V08._dateData (fldOffset=0x0)" P-INDEP
+;  V59 tmp49        [V59,T35] (  1,  1   )   byref  ->  rax         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V60 tmp50        [V60,T29] (  2,  2   )     int  ->  r13         "field V09._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp51        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-DEP
+;* V62 tmp52        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-DEP
+;* V63 tmp53        [V63    ] (  0,  0   )    long  ->  zero-ref    "field V24._dateData (fldOffset=0x0)" P-INDEP
+;* V64 tmp54        [V64,T38] (  0,  0   )    long  ->  zero-ref    "field V26._ticks (fldOffset=0x0)" P-INDEP
+;* V65 tmp55        [V65,T36] (  0,  0   )   byref  ->  zero-ref    single-def "field V49._reference (fldOffset=0x0)" P-INDEP
+;* V66 tmp56        [V66,T37] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
+;  V67 tmp57        [V67,T14] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V68 tmp58        [V68,T15] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V69 tmp59        [V69,T16] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V70 tmp60        [V70,T17] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V71 tmp61        [V71,T31] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
+;  V70 tmp60        [V70,T27] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
+;  V71 tmp61        [V71,T17] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V72 tmp62        [V72,T18] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V73 tmp63        [V73,T19] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V74 tmp64        [V74,T20] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V75 tmp65        [V75,T21] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V76 tmp66        [V76,T32] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V77 tmp67        [V77,T22] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;* V78 tmp68        [V78    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V79 tmp69        [V79,T08] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V80 tmp70        [V80,T45] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V81 cse0         [V81,T24] (  4,  2   )     int  ->  rdi         "CSE #05: moderate"
-;  V82 cse1         [V82,T36] (  3,  1.50)     int  ->  rdi         "CSE #03: conservative"
-;  V83 rat0         [V83,T23] (  3,  3.00)     int  ->  rax         "ReplaceWithLclVar is creating a new local variable"
+;* V75 tmp65        [V75    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
+;  V76 tmp66        [V76,T07] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V77 cse0         [V77,T22] (  4,  2   )     int  ->  rdi         "CSE #05: moderate"
+;  V78 cse1         [V78,T31] (  3,  1.50)     int  ->  rdi         "CSE #03: conservative"
+;  V79 rat0         [V79,T21] (  3,  3.00)     int  ->  rax         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
 G_M40620_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      rbx, rdi
        mov      r13d, esi
        mov      r15, rdx
        mov      r14d, ecx
 						;; size=34 bbWeight=1 PerfScore 9.75
 G_M40620_IG02:
        test     r14b, r14b
-       jne      G_M40620_IG30
+       jne      G_M40620_IG28
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M40620_IG03:
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Server'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x38]System.Collections.Specialized.NameValueCollection:Get(System.String):System.String:this
        test     rax, rax
        jne      SHORT G_M40620_IG04
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Server'
        mov      rdx, 0xD1FFAB1E      ; 'Microsoft-NetCore/2.0'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=63 bbWeight=0.50 PerfScore 10.00
 G_M40620_IG04:
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Date'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x38]System.Collections.Specialized.NameValueCollection:Get(System.String):System.String:this
        test     rax, rax
        jne      SHORT G_M40620_IG05
        mov      r12, gword ptr [rbx+0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.DateTime:get_UtcNow():System.DateTime
        call     [rax]System.DateTime:get_UtcNow():System.DateTime
        mov      rdi, rax
-       mov      rcx, 0xD1FFAB1E      ; const ptr
-       mov      rdx, gword ptr [rcx]
+       mov      rdx, 0xD1FFAB1E      ; const ptr
+       mov      rdx, gword ptr [rdx]
        mov      rcx, 0xD1FFAB1E
        mov      rsi, 0xD1FFAB1E      ; 'r'
        mov      rax, 0xD1FFAB1E      ; code for System.DateTimeFormat:Format(System.DateTime,System.String,System.IFormatProvider,System.TimeSpan):System.String
        call     [rax]System.DateTimeFormat:Format(System.DateTime,System.String,System.IFormatProvider,System.TimeSpan):System.String
        mov      rdx, rax
        mov      rdi, r12
        mov      rsi, 0xD1FFAB1E      ; 'Date'
        mov      rax, qword ptr [r12]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=120 bbWeight=0.50 PerfScore 14.88
 G_M40620_IG05:
        cmp      dword ptr [rbx+0x50], 4
        jne      G_M40620_IG12
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x20]
        mov      r12, gword ptr [rdi+0x20]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M40620_IG33
+       je       G_M40620_IG31
 						;; size=41 bbWeight=0.50 PerfScore 7.12
 G_M40620_IG06:
        mov      rdi, 0xD1FFAB1E      ; data for System.Net.HttpVersion:Version10
        mov      rsi, gword ptr [rdi]
        test     r12, r12
        je       SHORT G_M40620_IG07
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Version:CompareTo(System.Version):int:this
        call     [rax]System.Version:CompareTo(System.Version):int:this
        test     eax, eax
        jg       SHORT G_M40620_IG08
 						;; size=37 bbWeight=0.50 PerfScore 4.12
 G_M40620_IG07:
        mov      byte  ptr [rbx+0x58], 0
        jmp      SHORT G_M40620_IG09
 						;; size=6 bbWeight=0.50 PerfScore 1.50
 G_M40620_IG08:
        mov      dword ptr [rbx+0x50], 1
 						;; size=7 bbWeight=0.50 PerfScore 0.50
 G_M40620_IG09:
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
        mov      edi, dword ptr [rax+0x54]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
        call     [rax]System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
        test     eax, eax
        jne      SHORT G_M40620_IG11
        xor      edi, edi
        mov      dword ptr [rbx+0x50], edi
 						;; size=42 bbWeight=0.50 PerfScore 8.00
 G_M40620_IG10:
        mov      qword ptr [rbx+0x48], rdi
        jmp      SHORT G_M40620_IG12
 						;; size=6 bbWeight=0.50 PerfScore 1.50
 G_M40620_IG11:
        mov      qword ptr [rbx+0x48], -1
 						;; size=8 bbWeight=0.50 PerfScore 0.50
 G_M40620_IG12:
        mov      edi, dword ptr [rbx+0x50]
        cmp      edi, 1
        je       G_M40620_IG14
        test     edi, edi
        setne    dil
        movzx    rdi, dil
        movzx    rax, r13b
        test     edi, eax
        je       SHORT G_M40620_IG13
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
        mov      edi, dword ptr [rax+0x54]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
        call     [rax]System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
        mov      edi, -1
        xor      edx, edx
        test     eax, eax
        cmove    edi, edx
        movsxd   rdi, edi
        mov      qword ptr [rbx+0x48], rdi
 						;; size=82 bbWeight=0.50 PerfScore 11.00
 G_M40620_IG13:
        cmp      dword ptr [rbx+0x50], 0
        jne      SHORT G_M40620_IG14
        mov      r13, gword ptr [rbx+0x28]
-       lea      rdi, bword ptr [rbx+0x48]
+       mov      rdi, qword ptr [rbx+0x48]
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rdx, gword ptr [rdx]
-       mov      rdi, qword ptr [rdi]
        mov      rsi, 0xD1FFAB1E      ; 'D'
        mov      rax, 0xD1FFAB1E      ; code for System.Number:<FormatInt64>g__FormatInt64Slow|22_0(long,System.String,System.IFormatProvider):System.String
        call     [rax]System.Number:<FormatInt64>g__FormatInt64Slow|22_0(long,System.String,System.IFormatProvider):System.String
        mov      rdx, rax
        mov      rdi, r13
        mov      rsi, 0xD1FFAB1E      ; 'Content-Length'
        mov      rax, qword ptr [r13]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
-						;; size=79 bbWeight=0.50 PerfScore 11.00
+						;; size=76 bbWeight=0.50 PerfScore 10.75
 G_M40620_IG14:
        mov      edi, dword ptr [rbx+0x54]
        mov      eax, edi
        sub      eax, 400
        cmp      eax, 14
        ja       SHORT G_M40620_IG16
 						;; size=15 bbWeight=0.50 PerfScore 1.88
 G_M40620_IG15:
        mov      ecx, 0x6901
        bt       ecx, eax
        jb       SHORT G_M40620_IG17
 						;; size=10 bbWeight=0.50 PerfScore 0.87
 G_M40620_IG16:
        cmp      edi, 500
        jne      SHORT G_M40620_IG18
 						;; size=8 bbWeight=0.50 PerfScore 0.62
 G_M40620_IG17:
        mov      eax, 1
        jmp      SHORT G_M40620_IG19
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M40620_IG18:
        cmp      edi, 503
        sete     al
        movzx    rax, al
 						;; size=12 bbWeight=0.50 PerfScore 0.75
 G_M40620_IG19:
        movzx    r13, al
        test     r13d, r13d
        jne      SHORT G_M40620_IG20
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x20]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerRequest:get_KeepAlive():ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.HttpListenerRequest:get_KeepAlive():ubyte:this
        test     eax, eax
        sete     r13b
        movzx    r13, r13b
 						;; size=41 bbWeight=0.50 PerfScore 6.62
 G_M40620_IG20:
        cmp      byte  ptr [rbx+0x58], 0
        sete     dil
        movzx    rdi, dil
        or       edi, r13d
        je       SHORT G_M40620_IG21
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Connection'
        mov      rdx, 0xD1FFAB1E      ; 'close'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
        mov      r13d, 1
 						;; size=57 bbWeight=0.50 PerfScore 7.62
 G_M40620_IG21:
        cmp      dword ptr [rbx+0x50], 1
        jne      SHORT G_M40620_IG22
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Transfer-Encoding'
        mov      rdx, 0xD1FFAB1E      ; 'chunked'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=40 bbWeight=0.50 PerfScore 6.75
 G_M40620_IG22:
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x28]
        cmp      dword ptr [rdi+0x90], 100
        jl       SHORT G_M40620_IG23
        mov      byte  ptr [rbx+0x59], 1
        test     r13d, r13d
        jne      SHORT G_M40620_IG23
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Connection'
        mov      rdx, 0xD1FFAB1E      ; 'close'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
        mov      r13d, 1
 						;; size=66 bbWeight=0.50 PerfScore 10.00
 G_M40620_IG23:
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x20]
        mov      r12, gword ptr [rdi+0x20]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M40620_IG34
+       je       G_M40620_IG32
 						;; size=31 bbWeight=0.50 PerfScore 5.12
 G_M40620_IG24:
        mov      rdi, 0xD1FFAB1E      ; data for System.Net.HttpVersion:Version10
        mov      rsi, gword ptr [rdi]
        test     r12, r12
        je       SHORT G_M40620_IG25
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Version:CompareTo(System.Version):int:this
        call     [rax]System.Version:CompareTo(System.Version):int:this
        test     eax, eax
-       jg       G_M40620_IG29
-						;; size=41 bbWeight=0.50 PerfScore 4.12
+       jg       SHORT G_M40620_IG27
+						;; size=37 bbWeight=0.50 PerfScore 4.12
 G_M40620_IG25:
        cmp      byte  ptr [rbx+0x58], 0
-       je       SHORT G_M40620_IG28
-       mov      r12, gword ptr [rbx+0x28]
-       cmp      byte  ptr [r12+0x50], 0
-       jne      SHORT G_M40620_IG26
-       mov      byte  ptr [r12+0x50], 2
-						;; size=24 bbWeight=0.50 PerfScore 5.50
-G_M40620_IG26:
-       cmp      byte  ptr [r12+0x50], 2
-       jne      G_M40620_IG37
-       mov      rdi, 0xD1FFAB1E      ; global ptr
-       test     byte  ptr [rdi], 1
-       je       G_M40620_IG35
-						;; size=31 bbWeight=0.50 PerfScore 4.12
-G_M40620_IG27:
-       mov      rsi, 0xD1FFAB1E      ; data for System.Net.HttpResponseHeaderExtensions:s_names
-       mov      rsi, gword ptr [rsi]
-       cmp      dword ptr [rsi+0x08], 3
-       jbe      G_M40620_IG38
-       mov      rsi, gword ptr [rsi+0x28]
-       mov      rdi, r12
+       je       SHORT G_M40620_IG26
+       mov      rdi, gword ptr [rbx+0x28]
+       mov      esi, 3
        mov      rdx, 0xD1FFAB1E      ; 'true'
-       mov      rax, qword ptr [r12]
-       mov      rax, qword ptr [rax+0x50]
-       call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
-						;; size=51 bbWeight=0.50 PerfScore 7.88
-G_M40620_IG28:
+       mov      rax, 0xD1FFAB1E      ; code for System.Net.WebHeaderCollection:set_Item(int,System.String):this
+       cmp      dword ptr [rdi], edi
+       call     [rax]System.Net.WebHeaderCollection:set_Item(int,System.String):this
+						;; size=39 bbWeight=0.50 PerfScore 6.38
+G_M40620_IG26:
        test     r13d, r13d
-       jne      SHORT G_M40620_IG29
+       jne      SHORT G_M40620_IG27
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Connection'
        mov      rdx, 0xD1FFAB1E      ; 'keep-alive'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=39 bbWeight=0.50 PerfScore 5.38
-G_M40620_IG29:
+G_M40620_IG27:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:ComputeCookies():this
        call     [rax]System.Net.HttpListenerResponse:ComputeCookies():this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
-G_M40620_IG30:
+G_M40620_IG28:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r13, gword ptr [rdi]
        mov      rdi, 0xD1FFAB1E      ; System.IO.StreamWriter
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, r12
        mov      rsi, r15
        mov      rdx, r13
        mov      ecx, 256
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
        call     [rax]System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
        mov      edx, dword ptr [rbx+0x54]
        mov      dword ptr [rax+0x08], edx
        mov      gword ptr [rbp-0x30], rax
        lea      rdx, bword ptr [rbp-0x30]
        mov      ecx, 1
        mov      rdi, r12
        mov      rsi, 0xD1FFAB1E      ; 'HTTP/1.1 {0} '
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:WriteFormatHelper(System.String,System.ReadOnlySpan`1[System.Object],ubyte):this
        call     [rax]System.IO.StreamWriter:WriteFormatHelper(System.String,System.ReadOnlySpan`1[System.Object],ubyte):this
        mov      rdi, gword ptr [r12+0x48]
        test     dword ptr [rdi+0x34], 0xD1FFAB1E
-       je       G_M40620_IG36
+       je       G_M40620_IG33
        mov      rdi, r12
        mov      esi, 1
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:Flush(ubyte,ubyte):this
        call     [rax]System.IO.StreamWriter:Flush(ubyte,ubyte):this
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:get_StatusDescription():System.String:this
        call     [rax]System.Net.HttpListenerResponse:get_StatusDescription():System.String:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebHeaderEncoding:GetBytes(System.String):ubyte[]
        call     [rax]System.Net.WebHeaderEncoding:GetBytes(System.String):ubyte[]
        mov      ecx, dword ptr [rax+0x08]
        mov      rdi, r15
        mov      rsi, rax
        xor      edx, edx
        mov      rax, qword ptr [r15]
        mov      rax, qword ptr [rax+0x60]
        call     [rax+0x30]System.IO.Stream:Write(ubyte[],int,int):this
        mov      rdi, r12
        mov      rsi, 0xD1FFAB1E      ; '  '
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:Write(System.String):this
        call     [rax]System.IO.StreamWriter:Write(System.String):this
        mov      rdi, gword ptr [rbx+0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:FormatHeaders(System.Net.WebHeaderCollection):System.String
        call     [rax]System.Net.HttpListenerResponse:FormatHeaders(System.Net.WebHeaderCollection):System.String
        mov      rsi, rax
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:Write(System.String):this
        call     [rax]System.IO.StreamWriter:Write(System.String):this
        mov      rdi, gword ptr [r12+0x48]
        test     dword ptr [rdi+0x34], 0xD1FFAB1E
 						;; size=287 bbWeight=1 PerfScore 62.75
-G_M40620_IG31:
-       je       G_M40620_IG36
+G_M40620_IG29:
+       je       G_M40620_IG33
        mov      rdi, r12
        mov      esi, 1
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:Flush(ubyte,ubyte):this
        call     [rax]System.IO.StreamWriter:Flush(ubyte,ubyte):this
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:get_Preamble():System.ReadOnlySpan`1[ubyte]:this
        call     [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:get_Preamble():System.ReadOnlySpan`1[ubyte]:this
        mov      r13d, edx
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:EnsureResponseStream():this
        call     [rax]System.Net.HttpListenerResponse:EnsureResponseStream():this
        mov      esi, r13d
        mov      rdi, r15
        mov      rax, qword ptr [r15]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x18]System.IO.Stream:set_Position(long):this
        test     r14b, r14b
        sete     al
        mov      byte  ptr [rbx+0x5B], al
 						;; size=89 bbWeight=1 PerfScore 22.00
-G_M40620_IG32:
+G_M40620_IG30:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M40620_IG33:
+G_M40620_IG31:
        mov      rdi, 0xD1FFAB1E      ; System.Net.HttpVersion
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M40620_IG06
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M40620_IG34:
+G_M40620_IG32:
        mov      rdi, 0xD1FFAB1E      ; System.Net.HttpVersion
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M40620_IG24
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M40620_IG35:
-       mov      rdi, 0xD1FFAB1E      ; System.Net.HttpResponseHeaderExtensions
-       call     CORINFO_HELP_GET_GCSTATIC_BASE
-       jmp      G_M40620_IG27
-						;; size=20 bbWeight=0 PerfScore 0.00
-G_M40620_IG36:
+G_M40620_IG33:
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:ThrowAsyncIOInProgress()
        call     [rax]System.IO.StreamWriter:ThrowAsyncIOInProgress()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M40620_IG37:
-       mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
-       call     CORINFO_HELP_NEWSFAST
-       mov      rbx, rax
-       mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_headers_rsp():System.String
-       call     [rax]System.SR:get_net_headers_rsp():System.String
-       mov      rsi, rax
-       mov      rdi, rbx
-       mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
-       call     [rax]System.InvalidOperationException:.ctor(System.String):this
-       mov      rdi, rbx
-       call     CORINFO_HELP_THROW
-       int3     
-						;; size=57 bbWeight=0 PerfScore 0.00
-G_M40620_IG38:
-       call     CORINFO_HELP_RNGCHKFAIL
-       int3     
-						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1549, prolog size 22, PerfScore 240.25, instruction count 344, allocated bytes for code 1549 (MethodHash=8c746153) for method System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
+; Total bytes of code 1392, prolog size 22, PerfScore 228.87, instruction count 313, allocated bytes for code 1392 (MethodHash=8c746153) for method System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
 ; ============================================================

Note: some changes were skipped as they were too large to fit into a comment.

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

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 7, 2024

@MichalPetryka

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