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] [hez2010] JIT: Enable inlining for late devirtualization #917

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

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jan 21, 2025

Job completed in 15 minutes.
dotnet/runtime#110827

Diffs

Diffs
Found 322 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 40340425
Total bytes of diff: 40378250
Total bytes of delta: 37825 (0.09 % of base)
Total relative delta: 165.69
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
       16155 : System.Private.CoreLib.dasm (0.22 % of base)
        8196 : System.CodeDom.dasm (3.88 % of base)
        3175 : System.Formats.Tar.dasm (2.50 % of base)
        2803 : System.Linq.Parallel.dasm (0.12 % of base)
        2461 : System.Text.Json.dasm (0.19 % of base)
        2130 : System.Security.Cryptography.dasm (0.20 % of base)
        1979 : System.Security.Cryptography.Xml.dasm (0.99 % of base)
        1613 : System.Net.Http.dasm (0.19 % of base)
        1233 : System.Data.Odbc.dasm (0.53 % of base)
         863 : System.Net.Mail.dasm (0.48 % of base)
         802 : Microsoft.Extensions.DependencyInjection.dasm (1.16 % of base)
         802 : System.Linq.Expressions.dasm (0.09 % of base)
         754 : System.Net.Security.dasm (0.33 % of base)
         524 : System.Diagnostics.Process.dasm (0.55 % of base)
         503 : System.Security.Cryptography.Pkcs.dasm (0.13 % of base)
         480 : System.Private.DataContractSerialization.dasm (0.05 % of base)
         452 : System.Web.HttpUtility.dasm (2.45 % of base)
         449 : System.IO.Packaging.dasm (0.42 % of base)
         432 : System.Reflection.MetadataLoadContext.dasm (0.20 % of base)
         235 : System.Net.Sockets.dasm (0.09 % of base)
         207 : System.Net.ServerSentEvents.dasm (0.28 % of base)
         183 : System.Configuration.ConfigurationManager.dasm (0.05 % of base)
         182 : System.Diagnostics.TraceSource.dasm (0.38 % of base)
         163 : System.Net.WebSockets.dasm (0.11 % of base)
         152 : System.Net.Primitives.dasm (0.15 % of base)
         151 : System.ComponentModel.Composition.dasm (0.04 % of base)
         151 : System.Net.WebClient.dasm (0.28 % of base)
         149 : System.Net.HttpListener.dasm (0.14 % of base)
         140 : System.Diagnostics.TextWriterTraceListener.dasm (0.77 % of base)
         134 : System.Console.dasm (0.16 % of base)
         129 : System.ComponentModel.TypeConverter.dasm (0.04 % of base)
         126 : System.Composition.TypedParts.dasm (0.26 % of base)
         120 : System.ComponentModel.Annotations.dasm (0.23 % of base)
         101 : Microsoft.Extensions.FileProviders.Physical.dasm (0.60 % of base)
          99 : System.Composition.Convention.dasm (0.08 % of base)
          89 : Microsoft.Extensions.Logging.Console.dasm (0.15 % of base)
          87 : Microsoft.Extensions.Caching.Abstractions.dasm (0.26 % of base)
          83 : System.Text.Encoding.CodePages.dasm (0.11 % of base)
          81 : ILCompiler.Reflection.ReadyToRun.dasm (0.04 % of base)
          70 : System.IO.Ports.dasm (0.14 % of base)
          54 : Microsoft.CSharp.dasm (0.02 % of base)
          50 : Microsoft.Extensions.Hosting.Systemd.dasm (1.44 % of base)
          44 : System.Diagnostics.FileVersionInfo.dasm (0.42 % of base)
          40 : System.IO.IsolatedStorage.dasm (0.18 % of base)
          27 : System.Reflection.Metadata.dasm (0.00 % of base)
          23 : System.Memory.Data.dasm (0.15 % of base)
          22 : System.Private.Uri.dasm (0.02 % of base)
          12 : Microsoft.Extensions.FileSystemGlobbing.dasm (0.05 % of base)
           5 : System.Net.NameResolution.dasm (0.01 % of base)
           5 : Microsoft.Extensions.Logging.EventSource.dasm (0.02 % of base)
           2 : System.IO.Pipelines.dasm (0.00 % of base)

Top file improvements (bytes):
       -9271 : System.Private.Xml.dasm (-0.23 % of base)
        -440 : System.Security.Cryptography.Cose.dasm (-0.65 % of base)
        -328 : System.Net.WebSockets.Client.dasm (-1.51 % of base)
        -303 : Microsoft.Extensions.Caching.Memory.dasm (-1.74 % of base)
        -249 : System.Data.Common.dasm (-0.02 % of base)
        -213 : System.Diagnostics.DiagnosticSource.dasm (-0.09 % of base)
         -91 : System.Runtime.InteropServices.dasm (-0.38 % of base)
         -85 : Microsoft.Extensions.Logging.dasm (-0.24 % of base)
         -71 : System.Net.Requests.dasm (-0.05 % of base)
         -22 : System.Net.NetworkInformation.dasm (-0.05 % of base)
         -18 : System.Net.WebProxy.dasm (-0.33 % of base)
          -6 : Microsoft.VisualBasic.Core.dasm (-0.00 % of base)

63 total files with Code Size differences (12 improved, 51 regressed), 196 unchanged.

Top method regressions (bytes):
        2052 (34.67 % of base) : System.Private.CoreLib.dasm - System.DateTimeFormat:FormatCustomized[ubyte](System.DateTime,System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,System.TimeSpan,byref) (FullOpts)
        1196 (63.96 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.XmlDecryptionTransform:GetInnerXml():System.Xml.XmlNodeList:this (FullOpts)
         735 (53.38 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (FullOpts)
         705 (71.72 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:WritePosixAndGnuSharedFields(System.Span`1[ubyte]):int:this (FullOpts)
         566 (87.21 % of base) : System.Private.CoreLib.dasm - System.IO.Directory:CreateTempSubdirectoryCore(System.String):System.String (FullOpts)
         561 (72.48 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionStringBuilderUtil:ConvertToIntegratedSecurity(System.Object):ubyte (FullOpts)
         485 (20.62 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateProperty(System.CodeDom.CodeMemberProperty,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
         447 (63.68 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionStringBuilderUtil:ConvertToBoolean(System.Object):ubyte (FullOpts)
         403 (59.35 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateCompileUnitStart(System.CodeDom.CodeCompileUnit):this (FullOpts)
         400 (61.73 % of base) : System.Diagnostics.Process.dasm - Interop+Sys:AllocNullTerminatedArray(System.String[],byref) (FullOpts)
         391 (5.79 % of base) : System.Private.CoreLib.dasm - System.Number:NumberToStringFormat[ubyte](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
         388 (40.37 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) (FullOpts)
         387 (10.68 % of base) : System.Private.CoreLib.dasm - System.Number:TryParseNumber[ubyte](byref,ulong,int,byref,System.Globalization.NumberFormatInfo):ubyte (FullOpts)
         385 (37.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationOpenSsl:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) (FullOpts)
         351 (21.30 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.PasswordBasedEncryption:Encrypt(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.SymmetricAlgorithm,ubyte,System.Formats.Asn1.AsnWriter,System.Security.Cryptography.PbeParameters,System.ReadOnlySpan`1[ubyte],ubyte[],System.Span`1[ubyte]):int (FullOpts)
         351 (37.95 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationOpenSsl:DeriveBytes(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):this (FullOpts)
         347 (21.15 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PasswordBasedEncryption:Encrypt(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.SymmetricAlgorithm,ubyte,System.Formats.Asn1.AsnWriter,System.Security.Cryptography.PbeParameters,System.ReadOnlySpan`1[ubyte],ubyte[],System.Span`1[ubyte]):int (FullOpts)
         343 (15.95 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateMethod(System.CodeDom.CodeMemberMethod,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
         341 (31.46 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:OutputAttributes(System.CodeDom.CodeAttributeDeclarationCollection,ubyte,System.String,ubyte):this (FullOpts)
         340 (41.51 % of base) : System.Private.CoreLib.dasm - System.IO.Path:GetTempFileName():System.String (FullOpts)
         340 (69.11 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlCanonicalWriter:WriteStartElement(System.String,System.String):this (FullOpts)
         321 (47.14 % of base) : System.Private.CoreLib.dasm - System.Security.SecureString:MarshalToString(ubyte,ubyte):long:this (FullOpts)
         319 (17.02 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateTypeStart(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
         297 (100.68 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlCanonicalWriter:WriteStartAttribute(System.String,System.String):this (FullOpts)
         293 (49.91 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:WriteAsGnu(System.IO.Stream,System.Span`1[ubyte]):this (FullOpts)
         290 (24.07 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:CollectExtendedAttributesFromStandardFieldsIfNeeded():this (FullOpts)
         288 (88.34 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller+ManagedToUnmanagedIn:FromManaged(System.String,System.Span`1[ubyte]):this (FullOpts)
         274 (111.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller+ManagedToUnmanagedIn:FromManaged(System.String,System.Span`1[ubyte]):this (FullOpts)
         272 (140.21 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller:ConvertToUnmanaged(System.String):ulong (FullOpts)
         256 (57.79 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:WriteName(System.Span`1[ubyte]):int:this (FullOpts)
         253 (19.60 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.MetadataLoadContext:LoadFromStreamCore(System.IO.Stream):System.Reflection.TypeLoading.RoAssembly:this (FullOpts)
         249 (32.59 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateConstructor(System.CodeDom.CodeConstructor,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
         249 (116.90 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller:ConvertToUnmanaged(System.String):ulong (FullOpts)
         248 (28.51 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.PollingWildCardChangeToken:CalculateChanges():ubyte:this (FullOpts)
         248 (28.02 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:WriteUstarName(System.Span`1[ubyte]):int:this (FullOpts)
         242 (29.51 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:WriteCommonFields(System.Span`1[ubyte],ubyte):int:this (FullOpts)
         231 (37.02 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:OutputTypeAttributes(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
         230 (175.57 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.CookieHeaderParser:.cctor() (FullOpts)
         230 (93.12 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder:ReplaceBufferUtf8Internal(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
         229 (140.49 % of base) : System.Private.CoreLib.dasm - System.DateTimeFormat:AppendString[ubyte](byref,System.ReadOnlySpan`1[ushort]) (FullOpts)
         226 (110.78 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.ProductInfoHeaderParser:.cctor() (FullOpts)
         225 (39.20 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.Package:DoOperationOnEachPart(System.IO.Packaging.Package+PartOperation):this (FullOpts)
         225 (195.65 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.ProductInfoHeaderParser:.ctor(ubyte):this (FullOpts)
         225 (22.80 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(float):this (FullOpts)
         224 (228.57 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.CookieHeaderParser:.ctor():this (FullOpts)
         218 (17.30 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.XmlDsigExcC14NTransform:GetInnerXml():System.Xml.XmlNodeList:this (FullOpts)
         216 (257.14 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackagePartCollection:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.IO.Packaging.PackagePart]:this (FullOpts)
         215 (47.57 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionOptions:ConvertValueToIntegratedSecurityInternal(System.String):ubyte (FullOpts)
         210 (29.13 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateArrayCreateExpression(System.CodeDom.CodeArrayCreateExpression):this (FullOpts)
         189 (42.38 % of base) : System.Private.CoreLib.dasm - System.Double:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):ubyte:this (FullOpts)
         189 (47.01 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.NFloat:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):ubyte:this (FullOpts)
         189 (42.38 % of base) : System.Private.CoreLib.dasm - System.Single:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):ubyte:this (FullOpts)
         186 (90.29 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.Statics:MetadataForString(System.String,int,int,int):ubyte[] (FullOpts)
         185 (64.01 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:OutputOperator(int):this (FullOpts)
         184 (34.59 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateComment(System.CodeDom.CodeComment):this (FullOpts)
         184 (49.07 % of base) : System.Private.CoreLib.dasm - System.Number:TryFormatFloat[double,ubyte](double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo,System.Span`1[ubyte],byref):ubyte (FullOpts)
         183 (41.97 % of base) : System.Private.CoreLib.dasm - System.Half:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):ubyte:this (FullOpts)
         182 (37.07 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:TryFormatDouble(double,System.Span`1[ubyte],byref):ubyte (FullOpts)
         182 (37.07 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:TryFormatSingle(float,System.Span`1[ubyte],byref):ubyte (FullOpts)
         179 (82.11 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:OutputMemberAccessModifier(int):this (FullOpts)
         177 (14.63 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
         176 (118.92 % of base) : System.Private.CoreLib.dasm - System.StubHelpers.UTF8BufferMarshaler:ConvertToNative(System.Text.StringBuilder,long,int):long (FullOpts)
         173 (5.22 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.JsonConsoleFormatter:WriteInternal(Microsoft.Extensions.Logging.IExternalScopeProvider,System.IO.TextWriter,System.String,int,System.String,int,System.String,ubyte,System.String,System.Collections.Generic.IReadOnlyList`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.DateTimeOffset):this (FullOpts)
         171 (43.73 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.HalfConverter:Format(System.Span`1[ubyte],System.Half,byref) (FullOpts)
         168 (14.95 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceListener:WriteFooter(System.Diagnostics.TraceEventCache):this (FullOpts)
         168 (96.55 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted(System.ReadOnlySpan`1[ushort],int,System.String):ubyte:this (FullOpts)
         167 (41.54 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.HalfConverter:WriteAsPropertyNameCore(System.Text.Json.Utf8JsonWriter,System.Half,System.Text.Json.JsonSerializerOptions,ubyte):this (FullOpts)
         165 (27.97 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateVariableDeclarationStatement(System.CodeDom.CodeVariableDeclarationStatement):this (FullOpts)
         162 (19.64 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
         162 (63.53 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ImplicitMachineConfigHost:OpenStreamForRead(System.String):System.IO.Stream:this (FullOpts)
         162 (42.86 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionOptions:ConvertValueToBooleanInternal(System.String,System.String):ubyte (FullOpts)
         162 (135.00 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
         160 (30.36 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:GetListByName(System.String,System.Span`1[ubyte],int,int):System.__Canon[]:this (FullOpts)
         159 (99.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshal:StringToCoTaskMemUTF8(System.String):long (FullOpts)
         159 (32.19 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.HalfConverter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Half) (FullOpts)
         158 (12.38 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.EncryptedXml:Encrypt(System.Xml.XmlElement,System.String):System.Security.Cryptography.Xml.EncryptedData:this (FullOpts)
         158 (75.96 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):ubyte:this (FullOpts)
         158 (74.53 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         157 (31.46 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.NullableDoubleMinMaxAggregationOperator:InternalAggregate(byref):System.Nullable`1[double]:this (FullOpts)
         157 (30.31 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.NullableFloatMinMaxAggregationOperator:InternalAggregate(byref):System.Nullable`1[float]:this (FullOpts)
         157 (37.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.NullableLongMinMaxAggregationOperator:InternalAggregate(byref):System.Nullable`1[long]:this (FullOpts)
         155 (30.82 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.FieldMetadata:.ctor(System.String,int,int,ubyte,ushort,ubyte[]):this (FullOpts)
         155 (92.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshal:StringToHGlobalUTF8(System.String):long (FullOpts)
         155 (20.42 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int]):ubyte:this (FullOpts)
         155 (16.11 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl+<ParseDtdFromParserContextAsync>d__583:MoveNext():this (FullOpts)
         154 (116.67 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:<CollectExtendedAttributesFromStandardFieldsIfNeeded>g__TryAddStringField|120_0(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,System.String,int) (FullOpts)
         154 (28.15 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.WebSocketValidate:ValidateCloseStatus(int,System.String) (FullOpts)
         154 (24.10 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):ubyte:this (FullOpts)
         153 (13.54 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateEvent(System.CodeDom.CodeMemberEvent,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
         153 (96.23 % of base) : System.Net.Security.dasm - Microsoft.Win32.SafeHandles.SafeGssNameHandle:CreateTarget(System.String):Microsoft.Win32.SafeHandles.SafeGssNameHandle (FullOpts)
         153 (96.23 % of base) : System.Net.Security.dasm - Microsoft.Win32.SafeHandles.SafeGssNameHandle:CreateUser(System.String):Microsoft.Win32.SafeHandles.SafeGssNameHandle (FullOpts)
         153 (14.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.NullableDecimalMinMaxAggregationOperator:InternalAggregate(byref):System.Nullable`1[System.Decimal]:this (FullOpts)
         153 (39.23 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.UnixDomainSocketEndPoint:.ctor(System.String,System.String):this (FullOpts)
         153 (45.00 % of base) : System.Private.CoreLib.dasm - System.Net.WebUtility+<>c:<UrlEncode>b__8_0(System.Span`1[ushort],System.ValueTuple`2[System.String,int]):this (FullOpts)
         153 (46.22 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Populate(System.String,int,int):System.__Canon[]:this (FullOpts)
         153 (18.35 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         151 (82.07 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted(System.String):ubyte:this (FullOpts)
         150 (33.71 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.NullableIntMinMaxAggregationOperator:InternalAggregate(byref):System.Nullable`1[int]:this (FullOpts)
         150 (7.31 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:.ctor(System.Net.Http.HttpConnectionPoolManager,ubyte,System.String,int,System.String,System.Uri):this (FullOpts)
         150 (28.41 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:<AppendSpanFormattable>g__GrowAndAppendFormatted|20_0[double](byref,double,int,byref,System.String):ubyte (FullOpts)

Top method improvements (bytes):
        -982 (-26.49 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:Compile():this (FullOpts)
        -961 (-26.52 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:Compile():ubyte:this (FullOpts)
        -671 (-25.90 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:Prepare(System.Xml.Schema.XmlSchema,ubyte):this (FullOpts)
        -604 (-26.42 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Preprocessor:CopyIncludedComponents(System.Xml.Schema.XmlSchema,System.Xml.Schema.XmlSchema):this (FullOpts)
        -596 (-16.41 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaSet:CopyFromCompiledSet(System.Xml.Schema.XmlSchemaSet):this (FullOpts)
        -485 (-28.30 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:Cleanup():this (FullOpts)
        -391 (-21.97 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:Output(System.Xml.Schema.SchemaInfo):this (FullOpts)
        -391 (-21.71 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:Output(System.Xml.Schema.SchemaInfo):this (FullOpts)
        -328 (-41.10 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketHandle:CreateSecKeyAndSecWebSocketAccept():System.Collections.Generic.KeyValuePair`2[System.String,System.String] (FullOpts)
        -293 (-22.28 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaSet:RemoveSchemaFromGlobalTables(System.Xml.Schema.XmlSchema):this (FullOpts)
        -215 (-7.60 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:CheckAttributeGroupRestriction(System.Xml.Schema.XmlSchemaAttributeGroup,System.Xml.Schema.XmlSchemaAttributeGroup):this (FullOpts)
        -199 (-9.42 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:CompileComplexType(System.Xml.Schema.XmlSchemaComplexType):this (FullOpts)
        -193 (-10.56 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:ProcessSubstitutionGroups():this (FullOpts)
        -191 (-13.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:GetNsVar(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.Qil.QilIterator:this (FullOpts)
        -188 (-20.43 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.CoseHeaderMap:Encode(System.Security.Cryptography.Cose.CoseHeaderMap,System.Span`1[ubyte],ubyte,System.Nullable`1[int]):int (FullOpts)
        -182 (-11.07 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:Sequence(System.Xml.Xsl.Qil.QilList):this (FullOpts)
        -172 (-2.78 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this (FullOpts)
        -161 (-6.69 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts)
        -155 (-23.59 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:VisitSequence(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
        -149 (-36.97 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.CoseMessage:ContainDuplicateLabels(System.Security.Cryptography.Cose.CoseHeaderMap,System.Security.Cryptography.Cose.CoseHeaderMap):ubyte (FullOpts)
        -149 (-8.75 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:VisitSort(System.Xml.Xsl.Qil.QilLoop):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
        -147 (-31.48 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileTextAvt(System.String):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
        -146 (-5.78 % of base) : System.Data.Common.dasm - System.Data.XmlDataTreeWriter:Save(System.Xml.XmlWriter,ubyte):this (FullOpts)
        -140 (-2.25 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:PrecompileProtoTemplatesHeaders():this (FullOpts)
        -138 (-26.95 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:PrepareGlobalValues(System.Xml.Xsl.Qil.QilList):this (FullOpts)
        -136 (-18.78 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:Visit(System.Xml.Xsl.Qil.QilExpression,System.Xml.Xsl.IlGen.GenerateHelper,System.Reflection.MethodInfo):this (FullOpts)
        -135 (-32.93 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:VisitSequence(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckFormalParameterList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckFunctionList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckGlobalParameterList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckGlobalVariableList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckSortKeyList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -129 (-15.81 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:VisitQilExpression(System.Xml.Xsl.Qil.QilExpression):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
        -128 (-54.47 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:AreLiteralArgs(System.Xml.Xsl.Qil.QilNode):ubyte (FullOpts)
        -128 (-55.90 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:HasNestedSequence(System.Xml.Xsl.Qil.QilNode):ubyte (FullOpts)
        -126 (-39.50 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.TailCallAnalyzer:Analyze(System.Xml.Xsl.Qil.QilExpression) (FullOpts)
        -126 (-11.45 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileProtoTemplate(System.Xml.Xsl.Xslt.ProtoTemplate):this (FullOpts)
        -124 (-18.42 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher:ReportChangeForMatchedEntries(System.String):this (FullOpts)
        -124 (-2.15 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:CompileLocalAttributes(System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaComplexType,System.Xml.Schema.XmlSchemaObjectCollection,System.Xml.Schema.XmlSchemaAnyAttribute,int):this (FullOpts)
        -124 (-10.35 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:VisitStrConcat(System.Xml.Xsl.Qil.QilStrConcat):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
        -122 (-4.03 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaImporter:Import(byref):this (FullOpts)
        -119 (-7.01 % of base) : System.Data.Common.dasm - System.Data.Common.DbProviderFactories:GetFactoryClasses():System.Data.DataTable (FullOpts)
        -115 (-5.18 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Compact(long,System.Func`2[Microsoft.Extensions.Caching.Memory.CacheEntry,long],Microsoft.Extensions.Caching.Memory.MemoryCache+CoherentState):this (FullOpts)
        -114 (-16.64 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:GetExpectedParticles():System.Xml.Schema.XmlSchemaParticle[]:this (FullOpts)
        -111 (-32.46 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager:Dispose():this (FullOpts)
        -111 (-53.37 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager:HeartBeat():this (FullOpts)
        -111 (-12.21 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SerializableMapping:CheckDuplicateElement(System.Xml.Schema.XmlSchemaElement,System.String):this (FullOpts)
        -110 (-50.23 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.MetadataLoadContext:Dispose(ubyte):this (FullOpts)
        -109 (-39.35 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[System.Numerics.Vector`1[float]]:EvictStaleCacheEntries(long):this (FullOpts)
        -106 (-5.60 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:CompileComplexType(System.Xml.Schema.XmlSchemaComplexType):this (FullOpts)
        -105 (-32.61 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[System.Nullable`1[int]]:EvictStaleCacheEntries(long):this (FullOpts)
        -104 (-4.07 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:VisitGlobalValues(System.Xml.Xsl.Qil.QilList):this (FullOpts)
        -103 (-27.69 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.CoseHeaderMap:ComputeEncodedSize(System.Security.Cryptography.Cose.CoseHeaderMap,System.Nullable`1[int]):int (FullOpts)
        -103 (-23.79 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaComplexType:ContainsIdAttribute(ubyte):ubyte:this (FullOpts)
        -101 (-5.55 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaInference:InferSchema1(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet):System.Xml.Schema.XmlSchemaSet:this (FullOpts)
         -99 (-30.18 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:ScanForExpiredItems():this (FullOpts)
         -97 (-21.75 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:GetPopulatedTypes(System.Reflection.Module):System.Type[]:this (FullOpts)
         -97 (-15.20 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbConnectionPoolGroup:Prune():ubyte:this (FullOpts)
         -93 (-10.86 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:Prepare():this (FullOpts)
         -91 (-1.23 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionPreprocessor:Preprocess(System.Xml.Schema.XmlSchema,System.String,int):this (FullOpts)
         -90 (-21.58 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.AggregationManager:Collect():this (FullOpts)
         -90 (-8.34 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:CheckParticleDerivation(System.Xml.Schema.XmlSchemaComplexType):this (FullOpts)
         -89 (-23.18 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Clear():this (FullOpts)
         -89 (-4.00 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaImporter:CreateSchemaObjects():System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Runtime.Serialization.SchemaObjectInfo]:this (FullOpts)
         -89 (-37.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[long]:EvictStaleCacheEntries(long):this (FullOpts)
         -89 (-36.93 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[short]:EvictStaleCacheEntries(long):this (FullOpts)
         -89 (-36.93 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[ubyte]:EvictStaleCacheEntries(long):this (FullOpts)
         -88 (-5.23 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts)
         -88 (-36.82 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[int]:EvictStaleCacheEntries(long):this (FullOpts)
         -88 (-25.96 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[System.__Canon]:EvictStaleCacheEntries(long):this (FullOpts)
         -85 (-23.16 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFactory:RefreshFilters(Microsoft.Extensions.Logging.LoggerFilterOptions):this (FullOpts)
         -84 (-15.61 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProvider:ReloadLoggerOptions(Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions):this (FullOpts)
         -84 (-19.49 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbConnectionPoolGroup:Clear():int:this (FullOpts)
         -84 (-35.44 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[double]:EvictStaleCacheEntries(long):this (FullOpts)
         -82 (-11.60 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:IsConstructedExpression(System.Xml.Xsl.Qil.QilNode):ubyte:this (FullOpts)
         -81 (-7.02 % of base) : System.Net.Requests.dasm - System.Net.ServicePointManager:FindServicePoint(System.Uri,System.Net.IWebProxy):System.Net.ServicePoint (FullOpts)
         -80 (-15.97 % of base) : System.Net.Http.dasm - System.Net.Http.FailedProxyCache:CleanupHelper():this (FullOpts)
         -80 (-13.58 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager:RemoveStalePools():this (FullOpts)
         -78 (-18.53 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher:RaiseChangeEvents(System.Object) (FullOpts)
         -76 (-17.12 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityLink:GetHashCode():int:this (FullOpts)
         -76 (-11.78 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaSet:ProcessNewSubstitutionGroups(System.Xml.Schema.XmlSchemaObjectTable,ubyte):this (FullOpts)
         -75 (-3.24 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader+<WriteAsGnuAsync>d__99:MoveNext():this (FullOpts)
         -75 (-9.89 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILNamespaceAnalyzer:AnalyzeContent(System.Xml.Xsl.Qil.QilNode):this (FullOpts)
         -65 (-4.54 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ComponentResourceManager:ApplyResources(System.Object,System.Type,System.String,System.Globalization.CultureInfo):this (FullOpts)
         -48 (-3.23 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonFormatReaderGenerator+CriticalHelper:GenerateClassReader(System.Runtime.Serialization.DataContracts.ClassDataContract):System.Runtime.Serialization.Json.JsonFormatClassReaderDelegate:this (FullOpts)
         -48 (-2.51 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatReaderGenerator+CriticalHelper:GenerateClassReader(System.Runtime.Serialization.DataContracts.ClassDataContract):System.Runtime.Serialization.XmlFormatClassReaderDelegate:this (FullOpts)
         -47 (-4.10 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemaImporter:ImportDerivedTypes(System.Xml.XmlQualifiedName):this (FullOpts)
         -45 (-1.80 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:CompileAttributeGroup(System.Xml.Schema.XmlSchemaAttributeGroup):this (FullOpts)
         -42 (-10.77 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:IsDynamicMember(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol):ubyte (FullOpts)
         -41 (-3.94 % 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)
         -41 (-5.36 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -38 (-1.62 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcMetaDataFactory:.ctor(System.IO.Stream,System.String,System.String,System.Data.Odbc.OdbcConnection):this (FullOpts)
         -38 (-3.16 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbMetaDataFactory:GetParameterName(System.String,int):System.String:this (FullOpts)
         -36 (-4.92 % of base) : System.Private.CoreLib.dasm - System.Int128:TryFormat(System.Span`1[ubyte],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):ubyte:this (FullOpts)
         -33 (-6.78 % of base) : System.Data.Common.dasm - System.Data.DataTable:EvaluateExpressions():this (FullOpts)
         -31 (-6.68 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.PropertyInformationCollection:CopyTo(System.Configuration.PropertyInformation[],int):this (FullOpts)
         -31 (-9.45 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatReaderGenerator+CriticalHelper:GenerateCollectionReader(System.Runtime.Serialization.DataContracts.CollectionDataContract):System.Runtime.Serialization.XmlFormatCollectionReaderDelegate:this (FullOpts)
         -27 (-0.83 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts)
         -26 (-1.28 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:HandleLockedAttributes(System.Configuration.ConfigurationElement):this (FullOpts)
         -26 (-10.88 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectCache:GenerateSchemaGraph(System.Xml.Serialization.XmlSchemas):this (FullOpts)

Top method regressions (percentages):
         123 (396.77 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:GetUtf8TextLength(System.ReadOnlySpan`1[ushort]):int (FullOpts)
          84 (289.66 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:get_Boundary():System.String:this (FullOpts)
          84 (289.66 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:get_CharSet():System.String:this (FullOpts)
         124 (263.83 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshal:GetAnsiStringByteCount(System.ReadOnlySpan`1[ushort]):int (FullOpts)
         216 (257.14 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackagePartCollection:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.IO.Packaging.PackagePart]:this (FullOpts)
         224 (228.57 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.CookieHeaderParser:.ctor():this (FullOpts)
          41 (215.79 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:ContinueOnNewLine(System.String):this (FullOpts)
         225 (195.65 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.ProductInfoHeaderParser:.ctor(ubyte):this (FullOpts)
          36 (189.47 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:OutputIdentifier(System.String):this (FullOpts)
         141 (188.00 % of base) : System.Private.CoreLib.dasm - System.Number:TryCopyTo[ubyte](System.String,System.Span`1[ubyte],byref):ubyte (FullOpts)
         133 (187.32 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshal:GetAnsiStringBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) (FullOpts)
         230 (175.57 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.CookieHeaderParser:.cctor() (FullOpts)
         129 (165.38 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:set_Boundary(System.String):this (FullOpts)
         129 (165.38 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:set_CharSet(System.String):this (FullOpts)
         129 (165.38 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:set_Name(System.String):this (FullOpts)
         140 (142.86 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshal:StringToAnsiString(System.String,ulong,int,ubyte,ubyte):int (FullOpts)
         229 (140.49 % of base) : System.Private.CoreLib.dasm - System.DateTimeFormat:AppendString[ubyte](byref,System.ReadOnlySpan`1[ushort]) (FullOpts)
         272 (140.21 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller:ConvertToUnmanaged(System.String):ulong (FullOpts)
          84 (137.70 % of base) : System.Private.CoreLib.dasm - System.Random+CompatDerivedImpl:.ctor(System.Random):this (FullOpts)
         162 (135.00 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts)
          31 (129.17 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateAttributeDeclarationsEnd(System.CodeDom.CodeAttributeDeclarationCollection):this (FullOpts)
          31 (129.17 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateAttributeDeclarationsStart(System.CodeDom.CodeAttributeDeclarationCollection):this (FullOpts)
         176 (118.92 % of base) : System.Private.CoreLib.dasm - System.StubHelpers.UTF8BufferMarshaler:ConvertToNative(System.Text.StringBuilder,long,int):long (FullOpts)
         249 (116.90 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller:ConvertToUnmanaged(System.String):ulong (FullOpts)
         154 (116.67 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:<CollectExtendedAttributesFromStandardFieldsIfNeeded>g__TryAddStringField|120_0(System.Collections.Generic.Dictionary`2[System.String,System.String],System.String,System.String,int) (FullOpts)
         274 (111.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.AnsiStringMarshaller+ManagedToUnmanagedIn:FromManaged(System.String,System.Span`1[ubyte]):this (FullOpts)
         226 (110.78 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.ProductInfoHeaderParser:.cctor() (FullOpts)
          31 (106.90 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateBaseReferenceExpression(System.CodeDom.CodeBaseReferenceExpression):this (FullOpts)
          31 (106.90 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GeneratePropertySetValueReferenceExpression(System.CodeDom.CodePropertySetValueReferenceExpression):this (FullOpts)
          31 (106.90 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateThisReferenceExpression(System.CodeDom.CodeThisReferenceExpression):this (FullOpts)
         146 (105.80 % of base) : System.Net.ServerSentEvents.dasm - System.Net.ServerSentEvents.Helpers:WriteUtf8String(System.Buffers.IBufferWriter`1[ubyte],System.ReadOnlySpan`1[ushort]) (FullOpts)
         140 (103.70 % of base) : System.Private.CoreLib.dasm - Interop+Sys+DirectoryEntry:GetName(System.Span`1[ushort]):System.ReadOnlySpan`1[ushort]:this (FullOpts)
          30 (103.45 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Helpers:ToUtf8(System.String):ubyte[] (FullOpts)
         297 (100.68 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlCanonicalWriter:WriteStartAttribute(System.String,System.String):this (FullOpts)
         159 (99.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshal:StringToCoTaskMemUTF8(System.String):long (FullOpts)
          29 (96.67 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo+ParameterLookupKey:GetHashCode():int:this (FullOpts)
          29 (96.67 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:GetHashCode():int:this (FullOpts)
         168 (96.55 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted(System.ReadOnlySpan`1[ushort],int,System.String):ubyte:this (FullOpts)
         153 (96.23 % of base) : System.Net.Security.dasm - Microsoft.Win32.SafeHandles.SafeGssNameHandle:CreateTarget(System.String):Microsoft.Win32.SafeHandles.SafeGssNameHandle (FullOpts)
         153 (96.23 % of base) : System.Net.Security.dasm - Microsoft.Win32.SafeHandles.SafeGssNameHandle:CreateUser(System.String):Microsoft.Win32.SafeHandles.SafeGssNameHandle (FullOpts)
         230 (93.12 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder:ReplaceBufferUtf8Internal(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
         155 (92.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshal:StringToHGlobalUTF8(System.String):long (FullOpts)
          37 (92.50 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateSnippetStatement(System.CodeDom.CodeSnippetStatement):this (FullOpts)
         186 (90.29 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.Statics:MetadataForString(System.String,int,int,int):ubyte[] (FullOpts)
          37 (90.24 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:OutputVTableModifier(int):this (FullOpts)
         288 (88.34 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller+ManagedToUnmanagedIn:FromManaged(System.String,System.Span`1[ubyte]):this (FullOpts)
         566 (87.21 % of base) : System.Private.CoreLib.dasm - System.IO.Directory:CreateTempSubdirectoryCore(System.String):System.String (FullOpts)
          33 (82.50 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateSnippetExpression(System.CodeDom.CodeSnippetExpression):this (FullOpts)
          33 (82.50 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateSnippetMember(System.CodeDom.CodeSnippetTypeMember):this (FullOpts)
         179 (82.11 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:OutputMemberAccessModifier(int):this (FullOpts)
         151 (82.07 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted(System.String):ubyte:this (FullOpts)
         122 (81.33 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:WriteAsUtf8String(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int (FullOpts)
          52 (81.25 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:ContinueOnNewLine(System.String):this (FullOpts)
         140 (80.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshal:StringToCoTaskMemAnsi(System.String):long (FullOpts)
         140 (80.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshal:StringToHGlobalAnsi(System.String):long (FullOpts)
         139 (80.81 % of base) : System.Net.Http.dasm - System.Net.Http.SocksHelper:EncodeString(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],System.String):ubyte (FullOpts)
          67 (77.01 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:get_Name():System.String:this (FullOpts)
          36 (76.60 % of base) : System.Net.Http.dasm - System.Net.Http.HttpMethod:GetHashCode():int:this (FullOpts)
         158 (75.96 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):ubyte:this (FullOpts)
         158 (74.53 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendFormatted[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         561 (72.48 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionStringBuilderUtil:ConvertToIntegratedSecurity(System.Object):ubyte (FullOpts)
         705 (71.72 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:WritePosixAndGnuSharedFields(System.Span`1[ubyte]):int:this (FullOpts)
          50 (71.43 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateGotoStatement(System.CodeDom.CodeGotoStatement):this (FullOpts)
          40 (71.43 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.DelegatingTypeDescriptionProvider:GetCache(System.Object):System.Collections.IDictionary:this (FullOpts)
          40 (71.43 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.DelegatingTypeDescriptionProvider:GetExtenderProviders(System.Object):System.ComponentModel.IExtenderProvider[]:this (FullOpts)
          40 (71.43 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.DelegatingTypeDescriptionProvider:GetFullComponentName(System.Object):System.String:this (FullOpts)
          40 (71.43 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.DelegatingTypeDescriptionProvider:GetRuntimeType(System.Type):System.Type:this (FullOpts)
          40 (71.43 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.DelegatingTypeDescriptionProvider:IsSupportedType(System.Type):ubyte:this (FullOpts)
         125 (70.22 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateLinePragmaStart(System.CodeDom.CodeLinePragma):this (FullOpts)
         340 (69.11 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlCanonicalWriter:WriteStartElement(System.String,System.String):this (FullOpts)
          53 (68.83 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:OutputDirection(int):this (FullOpts)
          30 (66.67 % of base) : Microsoft.Extensions.Hosting.Systemd.dasm - Microsoft.Extensions.Hosting.Systemd.ServiceState:ToString():System.String:this (FullOpts)
          42 (65.62 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateLinePragmaEnd(System.CodeDom.CodeLinePragma):this (FullOpts)
          40 (65.57 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.DelegatingTypeDescriptionProvider:GetReflectionType(System.Type,System.Object):System.Type:this (FullOpts)
         185 (64.01 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:OutputOperator(int):this (FullOpts)
        1196 (63.96 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.XmlDecryptionTransform:GetInnerXml():System.Xml.XmlNodeList:this (FullOpts)
         447 (63.68 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionStringBuilderUtil:ConvertToBoolean(System.Object):ubyte (FullOpts)
          49 (63.64 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcConnection:CreateDbCommand():System.Data.Common.DbCommand:this (FullOpts)
         162 (63.53 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ImplicitMachineConfigHost:OpenStreamForRead(System.String):System.IO.Stream:this (FullOpts)
         400 (61.73 % of base) : System.Diagnostics.Process.dasm - Interop+Sys:AllocNullTerminatedArray(System.String[],byref) (FullOpts)
         144 (60.50 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendCustomFormatter[System.__Canon](System.__Canon,System.String):ubyte:this (FullOpts)
         107 (60.45 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:OutputFieldScopeModifier(int):this (FullOpts)
         403 (59.35 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateCompileUnitStart(System.CodeDom.CodeCompileUnit):this (FullOpts)
         256 (57.79 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:WriteName(System.Span`1[ubyte]):int:this (FullOpts)
          57 (55.88 % of base) : System.Net.Mail.dasm - System.Net.Mail.MailAddress:GetHashCode():int:this (FullOpts)
         117 (55.71 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.KnownHeader:.ctor(System.String,System.Nullable`1[int],System.Nullable`1[int]):this (FullOpts)
          64 (55.65 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateThrowExceptionStatement(System.CodeDom.CodeThrowExceptionStatement):this (FullOpts)
          24 (54.55 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentDisposition:GetHashCode():int:this (FullOpts)
          24 (54.55 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentType:GetHashCode():int:this (FullOpts)
         144 (53.53 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendCustomFormatter[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String):ubyte:this (FullOpts)
         141 (53.41 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendCustomFormatter[System.Nullable`1[int]](System.Nullable`1[int],System.String):ubyte:this (FullOpts)
         735 (53.38 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (FullOpts)
          77 (53.10 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateNotIsNullExpression(System.CodeDom.CodeExpression):this (FullOpts)
         141 (52.03 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendCustomFormatter[double](double,System.String):ubyte:this (FullOpts)
          65 (52.00 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateMethodReturnStatement(System.CodeDom.CodeMethodReturnStatement):this (FullOpts)
          84 (50.91 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ElementInformation:GetReadOnlyErrorsList():System.Configuration.ConfigurationException[]:this (FullOpts)
         135 (50.19 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendCustomFormatter[int](int,System.String):ubyte:this (FullOpts)
         135 (50.19 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendCustomFormatter[long](long,System.String):ubyte:this (FullOpts)
         135 (50.19 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendCustomFormatter[ubyte](ubyte,System.String):ubyte:this (FullOpts)
         135 (50.00 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:AppendCustomFormatter[short](short,System.String):ubyte:this (FullOpts)

Top method improvements (percentages):
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckFormalParameterList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckFunctionList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckGlobalParameterList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckGlobalVariableList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -132 (-61.68 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Qil.QilTypeChecker:CheckSortKeyList(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.XmlQueryType (FullOpts)
        -128 (-55.90 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:HasNestedSequence(System.Xml.Xsl.Qil.QilNode):ubyte (FullOpts)
        -128 (-54.47 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:AreLiteralArgs(System.Xml.Xsl.Qil.QilNode):ubyte (FullOpts)
        -111 (-53.37 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager:HeartBeat():this (FullOpts)
        -110 (-50.23 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.MetadataLoadContext:Dispose(ubyte):this (FullOpts)
         -22 (-44.90 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxIPv4InterfaceProperties:get_UsesWins():ubyte:this (FullOpts)
        -328 (-41.10 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketHandle:CreateSecKeyAndSecWebSocketAccept():System.Collections.Generic.KeyValuePair`2[System.String,System.String] (FullOpts)
        -126 (-39.50 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.TailCallAnalyzer:Analyze(System.Xml.Xsl.Qil.QilExpression) (FullOpts)
        -109 (-39.35 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[System.Numerics.Vector`1[float]]:EvictStaleCacheEntries(long):this (FullOpts)
         -89 (-37.08 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[long]:EvictStaleCacheEntries(long):this (FullOpts)
        -149 (-36.97 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.CoseMessage:ContainDuplicateLabels(System.Security.Cryptography.Cose.CoseHeaderMap,System.Security.Cryptography.Cose.CoseHeaderMap):ubyte (FullOpts)
         -89 (-36.93 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[short]:EvictStaleCacheEntries(long):this (FullOpts)
         -89 (-36.93 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[ubyte]:EvictStaleCacheEntries(long):this (FullOpts)
         -88 (-36.82 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[int]:EvictStaleCacheEntries(long):this (FullOpts)
         -16 (-36.36 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.NoOutputPropagator:.ctor():this (FullOpts)
         -16 (-36.36 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.PassThroughPropagator:.ctor():this (FullOpts)
         -84 (-35.44 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[double]:EvictStaleCacheEntries(long):this (FullOpts)
        -135 (-32.93 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:VisitSequence(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
        -105 (-32.61 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[System.Nullable`1[int]]:EvictStaleCacheEntries(long):this (FullOpts)
        -111 (-32.46 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager:Dispose():this (FullOpts)
        -147 (-31.48 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileTextAvt(System.String):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -99 (-30.18 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:ScanForExpiredItems():this (FullOpts)
        -485 (-28.30 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:Cleanup():this (FullOpts)
        -103 (-27.69 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.CoseHeaderMap:ComputeEncodedSize(System.Security.Cryptography.Cose.CoseHeaderMap,System.Nullable`1[int]):int (FullOpts)
        -138 (-26.95 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:PrepareGlobalValues(System.Xml.Xsl.Qil.QilList):this (FullOpts)
        -961 (-26.52 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:Compile():ubyte:this (FullOpts)
        -982 (-26.49 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:Compile():this (FullOpts)
        -604 (-26.42 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Preprocessor:CopyIncludedComponents(System.Xml.Schema.XmlSchema,System.Xml.Schema.XmlSchema):this (FullOpts)
         -88 (-25.96 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+Cache`1[System.__Canon]:EvictStaleCacheEntries(long):this (FullOpts)
        -671 (-25.90 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:Prepare(System.Xml.Schema.XmlSchema,ubyte):this (FullOpts)
        -103 (-23.79 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaComplexType:ContainsIdAttribute(ubyte):ubyte:this (FullOpts)
        -155 (-23.59 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:VisitSequence(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -89 (-23.18 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Clear():this (FullOpts)
         -85 (-23.16 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFactory:RefreshFilters(Microsoft.Extensions.Logging.LoggerFilterOptions):this (FullOpts)
        -293 (-22.28 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaSet:RemoveSchemaFromGlobalTables(System.Xml.Schema.XmlSchema):this (FullOpts)
        -391 (-21.97 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:Output(System.Xml.Schema.SchemaInfo):this (FullOpts)
         -97 (-21.75 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:GetPopulatedTypes(System.Reflection.Module):System.Type[]:this (FullOpts)
        -391 (-21.71 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:Output(System.Xml.Schema.SchemaInfo):this (FullOpts)
         -90 (-21.58 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.AggregationManager:Collect():this (FullOpts)
         -16 (-20.78 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.NameInfo:Compare(System.String,int):int:this (FullOpts)
        -188 (-20.43 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.CoseHeaderMap:Encode(System.Security.Cryptography.Cose.CoseHeaderMap,System.Span`1[ubyte],ubyte,System.Nullable`1[int]):int (FullOpts)
         -84 (-19.49 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbConnectionPoolGroup:Clear():int:this (FullOpts)
        -136 (-18.78 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:Visit(System.Xml.Xsl.Qil.QilExpression,System.Xml.Xsl.IlGen.GenerateHelper,System.Reflection.MethodInfo):this (FullOpts)
         -78 (-18.53 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher:RaiseChangeEvents(System.Object) (FullOpts)
        -124 (-18.42 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher:ReportChangeForMatchedEntries(System.String):this (FullOpts)
         -76 (-17.12 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityLink:GetHashCode():int:this (FullOpts)
        -114 (-16.64 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:GetExpectedParticles():System.Xml.Schema.XmlSchemaParticle[]:this (FullOpts)
        -596 (-16.41 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaSet:CopyFromCompiledSet(System.Xml.Schema.XmlSchemaSet):this (FullOpts)
         -80 (-15.97 % of base) : System.Net.Http.dasm - System.Net.Http.FailedProxyCache:CleanupHelper():this (FullOpts)
        -129 (-15.81 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:VisitQilExpression(System.Xml.Xsl.Qil.QilExpression):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -84 (-15.61 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProvider:ReloadLoggerOptions(Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions):this (FullOpts)
         -97 (-15.20 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbConnectionPoolGroup:Prune():ubyte:this (FullOpts)
         -11 (-14.29 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.NoOutputPropagator:.cctor() (FullOpts)
         -11 (-14.29 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.PassThroughPropagator:.cctor() (FullOpts)
        -191 (-13.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:GetNsVar(System.Xml.Xsl.Qil.QilList):System.Xml.Xsl.Qil.QilIterator:this (FullOpts)
         -80 (-13.58 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager:RemoveStalePools():this (FullOpts)
        -111 (-12.21 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SerializableMapping:CheckDuplicateElement(System.Xml.Schema.XmlSchemaElement,System.String):this (FullOpts)
         -76 (-11.78 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaSet:ProcessNewSubstitutionGroups(System.Xml.Schema.XmlSchemaObjectTable,ubyte):this (FullOpts)
         -82 (-11.60 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:IsConstructedExpression(System.Xml.Xsl.Qil.QilNode):ubyte:this (FullOpts)
        -126 (-11.45 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileProtoTemplate(System.Xml.Xsl.Xslt.ProtoTemplate):this (FullOpts)
          -4 (-11.11 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoType:get_Assembly():System.Reflection.Assembly:this (FullOpts)
        -182 (-11.07 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:Sequence(System.Xml.Xsl.Qil.QilList):this (FullOpts)
         -25 (-11.01 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonFormatReaderGenerator+CriticalHelper:GenerateCollectionReader(System.Runtime.Serialization.DataContracts.CollectionDataContract):System.Runtime.Serialization.Json.JsonFormatCollectionReaderDelegate:this (FullOpts)
         -26 (-10.88 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectCache:GenerateSchemaGraph(System.Xml.Serialization.XmlSchemas):this (FullOpts)
         -93 (-10.86 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:Prepare():this (FullOpts)
         -42 (-10.77 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:IsDynamicMember(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol):ubyte (FullOpts)
        -193 (-10.56 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:ProcessSubstitutionGroups():this (FullOpts)
        -124 (-10.35 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:VisitStrConcat(System.Xml.Xsl.Qil.QilStrConcat):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -75 (-9.89 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILNamespaceAnalyzer:AnalyzeContent(System.Xml.Xsl.Qil.QilNode):this (FullOpts)
         -15 (-9.55 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlUTF8NodeWriter:SetOutput(System.IO.Stream,ubyte,System.Text.Encoding):this (FullOpts)
         -31 (-9.45 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatReaderGenerator+CriticalHelper:GenerateCollectionReader(System.Runtime.Serialization.DataContracts.CollectionDataContract):System.Runtime.Serialization.XmlFormatCollectionReaderDelegate:this (FullOpts)
        -199 (-9.42 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionCompiler:CompileComplexType(System.Xml.Schema.XmlSchemaComplexType):this (FullOpts)
        -149 (-8.75 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:VisitSort(System.Xml.Xsl.Qil.QilLoop):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -13 (-8.72 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[double]:.cctor() (FullOpts)
         -13 (-8.72 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[int]:.cctor() (FullOpts)
         -13 (-8.72 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[long]:.cctor() (FullOpts)
         -13 (-8.72 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[short]:.cctor() (FullOpts)
         -13 (-8.72 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[System.Nullable`1[int]]:.cctor() (FullOpts)
         -13 (-8.72 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[System.Numerics.Vector`1[float]]:.cctor() (FullOpts)
         -13 (-8.72 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[ubyte]:.cctor() (FullOpts)
         -12 (-8.70 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:GetErrors():System.Configuration.ConfigurationErrorsException:this (FullOpts)
         -90 (-8.34 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:CheckParticleDerivation(System.Xml.Schema.XmlSchemaComplexType):this (FullOpts)
         -13 (-7.65 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2Collection:Export(int):ubyte[]:this (FullOpts)
        -215 (-7.60 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:CheckAttributeGroupRestriction(System.Xml.Schema.XmlSchemaAttributeGroup,System.Xml.Schema.XmlSchemaAttributeGroup):this (FullOpts)
          -3 (-7.32 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.DelegatingTypeDescriptionProvider:get_RequireRegisteredTypes():System.Nullable`1[ubyte]:this (FullOpts)
          -4 (-7.14 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.DelegatingTypeDescriptionProvider:IsRegisteredType(System.Type):ubyte:this (FullOpts)
         -81 (-7.02 % of base) : System.Net.Requests.dasm - System.Net.ServicePointManager:FindServicePoint(System.Uri,System.Net.IWebProxy):System.Net.ServicePoint (FullOpts)
        -119 (-7.01 % of base) : System.Data.Common.dasm - System.Data.Common.DbProviderFactories:GetFactoryClasses():System.Data.DataTable (FullOpts)
         -33 (-6.78 % of base) : System.Data.Common.dasm - System.Data.DataTable:EvaluateExpressions():this (FullOpts)
        -161 (-6.69 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts)
         -31 (-6.68 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.PropertyInformationCollection:CopyTo(System.Configuration.PropertyInformation[],int):this (FullOpts)
         -15 (-6.17 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimePropertyInfo:GetConstantValue(ubyte):System.Object:this (FullOpts)
        -146 (-5.78 % of base) : System.Data.Common.dasm - System.Data.XmlDataTreeWriter:Save(System.Xml.XmlWriter,ubyte):this (FullOpts)
        -106 (-5.60 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:CompileComplexType(System.Xml.Schema.XmlSchemaComplexType):this (FullOpts)
        -101 (-5.55 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaInference:InferSchema1(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet):System.Xml.Schema.XmlSchemaSet:this (FullOpts)
         -41 (-5.36 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)

759 total methods with Code Size differences (179 improved, 580 regressed), 234609 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 21, 2025

Top method regressions

566 (87.21 % of base) - System.IO.Directory:CreateTempSubdirectoryCore(System.String):System.String
 ; Assembly listing for method System.IO.Directory:CreateTempSubdirectoryCore(System.String):System.String (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 18 single block inlinees; 10 inlinees without PGO data
+; 0 inlinees with PGO data; 28 single block inlinees; 17 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  7,  5.50)     ref  ->  rbx         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T08] (  5,  4   )     ref  ->  r15         class-hnd exact single-def <System.String>
+;  V00 arg0         [V00,T00] (  8,  6   )     ref  ->  rbx         class-hnd single-def <System.String>
+;  V01 loc0         [V01,T09] (  6,  6   )     ref  ->  r15         class-hnd exact single-def <System.String>
 ;* V02 loc1         [V02    ] (  0,  0   )     int  ->  zero-ref   
-;  V03 loc2         [V03,T13] (  5,  3.50)     int  ->  rax        
+;  V03 loc2         [V03,T27] (  5,  3.50)     int  ->  rsi        
 ;* V04 loc3         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
-;  V05 loc4         [V05,T03] (  9,  6.50)     int  ->  r15        
-;* V06 loc5         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.Span`1[ubyte]>
+;  V05 loc4         [V05,T14] (  6,  5.50)     int  ->  rax        
+;* V06 loc5         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;* V07 loc6         [V07    ] (  0,  0   )     int  ->  zero-ref   
 ;  V08 loc7         [V08    ] (  2,  2   )   byref  ->  [rbp-0x30]  must-init pinned
-;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;  V09 OutArgs      [V09    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V10 tmp1         [V10    ] (  0,  0   )     int  ->  zero-ref   
-;  V11 tmp2         [V11,T29] (  2,  2   )     int  ->  r13        
-;  V12 tmp3         [V12,T21] (  3,  2   )     int  ->  rax        
-;  V13 tmp4         [V13,T15] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <ubyte[]>
-;  V14 tmp5         [V14,T11] (  2,  4   )     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;* V11 tmp2         [V11    ] (  0,  0   )     int  ->  zero-ref   
+;  V12 tmp3         [V12,T44] (  3,  2   )     int  ->  registers  
+;  V13 tmp4         [V13,T30] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <ubyte[]>
+;  V14 tmp5         [V14,T38] (  2,  3   )     ref  ->  [rbp-0xF0]  class-hnd exact spill-single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
 ;* V15 tmp6         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V16 tmp7         [V16,T06] (  3,  5   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V16 tmp7         [V16,T23] (  2,  4   )     ref  ->  rdx         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V18 tmp9         [V18    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V19 tmp10        [V19,T24] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V19 tmp10        [V19,T47] (  2,  2   )     ref  ->  [rbp-0xF8]  class-hnd exact spill-single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
 ;* V20 tmp11        [V20    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V21 tmp12        [V21    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V23 tmp14        [V23,T30] (  2,  2   )    long  ->  r13         "Inlining Arg"
-;* V24 tmp15        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V25 tmp16        [V25    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V26 tmp17        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V27 tmp18        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V28 tmp19        [V28,T25] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;  V29 tmp20        [V29,T31] (  2,  2   )     int  ->  rdx         "Inlining Arg"
-;* V30 tmp21        [V30    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V31 tmp22        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V32 tmp23        [V32,T26] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;  V33 tmp24        [V33,T32] (  2,  2   )     int  ->  rdx         "Inlining Arg"
-;* V34 tmp25        [V34    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;  V35 tmp26        [V35,T27] (  2,  2   )   byref  ->  rcx         single-def "Inlining Arg"
-;  V36 tmp27        [V36,T33] (  2,  2   )     int  ->   r8         "Inlining Arg"
-;* V37 tmp28        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V38 tmp29        [V38    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V39 tmp30        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inline return value spill temp"
-;  V40 tmp31        [V40,T09] (  3,  3   )   byref  ->  rdi         "Inline stloc first use temp"
-;  V41 tmp32        [V41,T34] (  2,  2   )  struct ( 8) [rbp-0x38]  do-not-enreg[SR] multireg-ret "spilled call-like call argument" <Interop+ErrorInfo>
-;  V42 tmp33        [V42,T00] (  5,  9   )     int  ->  rbx         "Inlining Arg"
-;* V43 tmp34        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V44 tmp35        [V44    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V45 tmp36        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V46 tmp37        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V47 tmp38        [V47    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;* V48 tmp39        [V48    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V49 tmp40        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;* V50 tmp41        [V50    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V51 tmp42        [V51    ] (  1,  1   )   byref  ->  [rbp-0x40]  must-init pinned single-def "Inline stloc first use temp"
-;  V52 tmp43        [V52,T16] (  3,  3   )   byref  ->  r13         "Inline return value spill temp"
-;* V53 tmp44        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V54 tmp45        [V54,T18] (  3,  2   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.String>
-;* V55 tmp46        [V55    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V56 tmp47        [V56    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V57 tmp48        [V57,T14] (  4,  3   )     int  ->  r15         "Inline stloc first use temp"
-;  V58 tmp49        [V58,T10] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "dup spill" <System.String>
-;  V59 tmp50        [V59    ] (  3,  1.50)   byref  ->  [rbp-0x48]  must-init pinned "Inline stloc first use temp"
-;* V60 tmp51        [V60    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V61 tmp52        [V61,T04] (  7,  6.50)   byref  ->  r13         single-def "field V04._reference (fldOffset=0x0)" P-INDEP
-;  V62 tmp53        [V62,T02] (  8,  7   )     int  ->  r12         "field V04._length (fldOffset=0x8)" P-INDEP
-;  V63 tmp54        [V63,T19] (  3,  2   )   byref  ->  r13         "field V06._reference (fldOffset=0x0)" P-INDEP
-;  V64 tmp55        [V64,T22] (  3,  2   )     int  ->  r12         "field V06._length (fldOffset=0x8)" P-INDEP
-;* V65 tmp56        [V65    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V66 tmp57        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
-;* V67 tmp58        [V67    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V68 tmp59        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;* V69 tmp60        [V69    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V70 tmp61        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
-;* V71 tmp62        [V71    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V72 tmp63        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V73 tmp64        [V73    ] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V74 tmp65        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
-;  V75 tmp66        [V75,T37] (  2,  1   )   byref  ->  r13         single-def "field V22._reference (fldOffset=0x0)" P-INDEP
-;  V76 tmp67        [V76,T42] (  2,  1   )     int  ->  rax         "field V22._length (fldOffset=0x8)" P-INDEP
-;  V77 tmp68        [V77,T38] (  2,  1   )   byref  ->  r13         "field V24._reference (fldOffset=0x0)" P-INDEP
-;  V78 tmp69        [V78,T43] (  2,  1   )     int  ->  r12         "field V24._length (fldOffset=0x8)" P-INDEP
-;  V79 tmp70        [V79,T20] (  3,  2   )   byref  ->  rsi         "field V25._reference (fldOffset=0x0)" P-INDEP
-;  V80 tmp71        [V80,T23] (  3,  2   )     int  ->  rdx         "field V25._length (fldOffset=0x8)" P-INDEP
-;  V81 tmp72        [V81,T39] (  2,  1   )   byref  ->  rsi         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;  V82 tmp73        [V82,T44] (  2,  1   )     int  ->  rdx         "field V26._length (fldOffset=0x8)" P-INDEP
-;* V83 tmp74        [V83    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V84 tmp75        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
-;  V85 tmp76        [V85,T40] (  2,  1   )   byref  ->  rsi         single-def "field V30._reference (fldOffset=0x0)" P-INDEP
-;  V86 tmp77        [V86,T45] (  2,  1   )     int  ->  rdx         "field V30._length (fldOffset=0x8)" P-INDEP
-;* V87 tmp78        [V87    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
-;* V88 tmp79        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
-;  V89 tmp80        [V89,T41] (  2,  1   )   byref  ->  rcx         single-def "field V34._reference (fldOffset=0x0)" P-INDEP
-;  V90 tmp81        [V90,T46] (  2,  1   )     int  ->   r8         "field V34._length (fldOffset=0x8)" P-INDEP
-;  V91 tmp82        [V91,T28] (  2,  2   )   byref  ->  rdi         single-def "field V37._reference (fldOffset=0x0)" P-INDEP
-;* V92 tmp83        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
-;* V93 tmp84        [V93    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V94 tmp85        [V94    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
-;* V95 tmp86        [V95    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V45._reference (fldOffset=0x0)" P-INDEP
-;* V96 tmp87        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
-;* V97 tmp88        [V97    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;* V98 tmp89        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
-;* V99 tmp90        [V99    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V50._reference (fldOffset=0x0)" P-INDEP
-;* V100 tmp91       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
-;* V101 tmp92       [V101    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V53._reference (fldOffset=0x0)" P-INDEP
-;* V102 tmp93       [V102    ] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0x8)" P-INDEP
-;  V103 tmp94       [V103,T12] (  2,  4   )    long  ->  rdi         "Cast away GC"
-;  V104 tmp95       [V104,T07] (  3,  5   )    long  ->  r13         "Cast away GC"
-;  V105 tmp96       [V105,T35] (  2,  2   )    long  ->  rcx         "Cast away GC"
-;  V106 tmp97       [V106,T36] (  2,  2   )    long  ->  rcx         "argument with side effect"
-;  V107 GsCookie    [V107    ] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V108 cse0        [V108,T05] (  6,  5   )     ref  ->  r14         "CSE #01: moderate"
-;  V109 cse1        [V109,T17] (  3,  3   )     int  ->  rdi         "CSE #03: moderate"
+;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;  V24 tmp15        [V24    ] (  3,  3   )   byref  ->  [rbp-0x38]  must-init pinned "Inline stloc first use temp"
+;* V25 tmp16        [V25    ] (  0,  0   )    long  ->  zero-ref   
+;* V26 tmp17        [V26    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
+;* V27 tmp18        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V28 tmp19        [V28,T39] (  2,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V29 tmp20        [V29,T04] (  4,  7   )     int  ->  [rbp-0x3C]  spill-single-def "Inlining Arg"
+;* V30 tmp21        [V30    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inline ldloca(s) first use temp"
+;  V31 tmp22        [V31,T28] (  5,  3.50)     int  ->  [rbp-0x40]  "Inline stloc first use temp"
+;  V32 tmp23        [V32    ] (  2,  2   )    long  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V33 tmp24        [V33    ] (  1,  1   )     int  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V34 tmp25        [V34,T29] (  4,  3.50)     int  ->  rcx         "Inline stloc first use temp"
+;  V35 tmp26        [V35,T11] (  3,  6   )    long  ->  rax         "dup spill"
+;* V36 tmp27        [V36    ] (  0,  0   )    long  ->  zero-ref   
+;* V37 tmp28        [V37    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;  V38 tmp29        [V38    ] (  3,  1.50)   byref  ->  [rbp-0x58]  must-init pinned "Inline stloc first use temp"
+;* V39 tmp30        [V39    ] (  0,  0   )    long  ->  zero-ref   
+;* V40 tmp31        [V40    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
+;* V41 tmp32        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V42 tmp33        [V42,T48] (  2,  2   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V43 tmp34        [V43,T18] (  4,  4   )     int  ->  [rbp-0x5C]  spill-single-def "Inlining Arg"
+;* V44 tmp35        [V44    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inline ldloca(s) first use temp"
+;  V45 tmp36        [V45,T40] (  5,  2.50)     int  ->  [rbp-0x60]  "Inline stloc first use temp"
+;  V46 tmp37        [V46    ] (  2,  1   )    long  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V47 tmp38        [V47    ] (  1,  0.50)     int  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V48 tmp39        [V48,T42] (  4,  2   )     int  ->  rcx         "Inline stloc first use temp"
+;  V49 tmp40        [V49,T34] (  3,  3   )    long  ->  rax         "dup spill"
+;* V50 tmp41        [V50    ] (  0,  0   )    long  ->  zero-ref   
+;  V51 tmp42        [V51,T50] (  2,  2   )    long  ->  r14         "Inlining Arg"
+;* V52 tmp43        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V53 tmp44        [V53    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V54 tmp45        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V55 tmp46        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;  V56 tmp47        [V56,T10] (  3,  6   )   byref  ->  r10         single-def "Inlining Arg"
+;  V57 tmp48        [V57,T05] (  4,  7   )     int  ->  r15         "Inlining Arg"
+;* V58 tmp49        [V58    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;* V59 tmp50        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;  V60 tmp51        [V60    ] (  2,  2   )   byref  ->  [rbp-0x78]  must-init pinned "Inline stloc first use temp"
+;* V61 tmp52        [V61    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
+;* V62 tmp53        [V62    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;  V63 tmp54        [V63    ] (  2,  2   )   byref  ->  [rbp-0x80]  must-init pinned "Inline stloc first use temp"
+;* V64 tmp55        [V64    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
+;* V65 tmp56        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V66 tmp57        [V66    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;  V67 tmp58        [V67,T16] (  7,  4   )     int  ->  r15         "Inline return value spill temp"
+;* V68 tmp59        [V68    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V69 tmp60        [V69    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V70 tmp61        [V70,T41] (  3,  2.50)     int  ->   r9         ld-addr-op "Inline ldloca(s) first use temp"
+;  V71 tmp62        [V71,T45] (  3,  2   )     int  ->  rax         "Inline stloc first use temp"
+;  V72 tmp63        [V72    ] (  2,  2   )    long  ->  [rbp-0x88]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V73 tmp64        [V73    ] (  2,  2   )    long  ->  [rbp-0x90]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;* V74 tmp65        [V74    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V75 tmp66        [V75    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;  V76 tmp67        [V76,T31] (  3,  3   )   byref  ->  r10         single-def "Inlining Arg"
+;  V77 tmp68        [V77,T19] (  4,  4   )     int  ->  rbx         "Inlining Arg"
+;* V78 tmp69        [V78    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;  V79 tmp70        [V79,T32] (  3,  3   )   byref  ->  r11         single-def "Inlining Arg"
+;  V80 tmp71        [V80,T35] (  3,  3   )     int  ->  [rbp-0x94]  spill-single-def "Inlining Arg"
+;* V81 tmp72        [V81    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;* V82 tmp73        [V82    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;  V83 tmp74        [V83    ] (  2,  1   )   byref  ->  [rbp-0xA0]  must-init pinned "Inline stloc first use temp"
+;* V84 tmp75        [V84    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
+;* V85 tmp76        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;  V86 tmp77        [V86    ] (  2,  1   )   byref  ->  [rbp-0xA8]  must-init pinned "Inline stloc first use temp"
+;* V87 tmp78        [V87    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
+;* V88 tmp79        [V88    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V89 tmp80        [V89    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;  V90 tmp81        [V90,T52] (  3,  1.50)     int  ->  rax         "Inline return value spill temp"
+;* V91 tmp82        [V91    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V92 tmp83        [V92    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V93 tmp84        [V93,T53] (  3,  1.50)     int  ->   r9         ld-addr-op "Inline ldloca(s) first use temp"
+;  V94 tmp85        [V94,T54] (  3,  1.50)     int  ->  rax         "Inline stloc first use temp"
+;  V95 tmp86        [V95    ] (  2,  1   )    long  ->  [rbp-0xB0]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V96 tmp87        [V96    ] (  2,  1   )    long  ->  [rbp-0xB8]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;* V97 tmp88        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V98 tmp89        [V98    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V99 tmp90        [V99    ] (  0,  0   )   byref  ->  zero-ref    "Inline return value spill temp"
+;  V100 tmp91       [V100,T17] (  3,  3   )   byref  ->  rdi         "Inline stloc first use temp"
+;  V101 tmp92       [V101,T51] (  2,  2   )  struct ( 8) [rbp-0xC0]  do-not-enreg[SR] multireg-ret "spilled call-like call argument" <Interop+ErrorInfo>
+;  V102 tmp93       [V102,T01] (  4,  8   )     int  ->  rsi         "Inlining Arg"
+;* V103 tmp94       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V104 tmp95       [V104    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V105 tmp96       [V105    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V106 tmp97       [V106    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V107 tmp98       [V107    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
+;* V108 tmp99       [V108    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V109 tmp100      [V109    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
+;* V110 tmp101      [V110    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;  V111 tmp102      [V111    ] (  1,  1   )   byref  ->  [rbp-0xC8]  must-init pinned single-def "Inline stloc first use temp"
+;  V112 tmp103      [V112,T33] (  3,  3   )   byref  ->  r14         "Inline return value spill temp"
+;* V113 tmp104      [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;  V114 tmp105      [V114,T03] (  8,  7.50)   byref  ->  r14         single-def "field V04._reference (fldOffset=0x0)" P-INDEP
+;  V115 tmp106      [V115,T02] (  9,  7.50)     int  ->  r12         "field V04._length (fldOffset=0x8)" P-INDEP
+;  V116 tmp107      [V116,T43] (  3,  2   )   byref  ->  r14         "field V06._reference (fldOffset=0x0)" P-INDEP
+;  V117 tmp108      [V117,T46] (  3,  2   )     int  ->  r12         "field V06._length (fldOffset=0x8)" P-INDEP
+;* V118 tmp109      [V118    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V119 tmp110      [V119    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V120 tmp111      [V120    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V121 tmp112      [V121    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V122 tmp113      [V122    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V123 tmp114      [V123    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;* V124 tmp115      [V124    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V125 tmp116      [V125    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V126 tmp117      [V126    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V127 tmp118      [V127    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
+;  V128 tmp119      [V128,T55] (  2,  1   )   byref  ->  r14         single-def "field V22._reference (fldOffset=0x0)" P-INDEP
+;  V129 tmp120      [V129,T57] (  2,  1   )     int  ->  rsi         "field V22._length (fldOffset=0x8)" P-INDEP
+;  V130 tmp121      [V130,T56] (  2,  1   )   byref  ->  r14         "field V52._reference (fldOffset=0x0)" P-INDEP
+;  V131 tmp122      [V131,T58] (  2,  1   )     int  ->  r12         "field V52._length (fldOffset=0x8)" P-INDEP
+;* V132 tmp123      [V132    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V53._reference (fldOffset=0x0)" P-INDEP
+;* V133 tmp124      [V133    ] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0x8)" P-INDEP
+;* V134 tmp125      [V134    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V135 tmp126      [V135    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
+;* V136 tmp127      [V136    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
+;* V137 tmp128      [V137    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
+;* V138 tmp129      [V138    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V139 tmp130      [V139    ] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
+;* V140 tmp131      [V140    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V62._reference (fldOffset=0x0)" P-INDEP
+;* V141 tmp132      [V141    ] (  0,  0   )     int  ->  zero-ref    "field V62._length (fldOffset=0x8)" P-INDEP
+;* V142 tmp133      [V142    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V65._reference (fldOffset=0x0)" P-INDEP
+;* V143 tmp134      [V143    ] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
+;* V144 tmp135      [V144    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V145 tmp136      [V145    ] (  0,  0   )     int  ->  zero-ref    "field V66._length (fldOffset=0x8)" P-INDEP
+;* V146 tmp137      [V146    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V74._reference (fldOffset=0x0)" P-INDEP
+;* V147 tmp138      [V147    ] (  0,  0   )     int  ->  zero-ref    "field V74._length (fldOffset=0x8)" P-INDEP
+;* V148 tmp139      [V148    ] (  0,  0   )   byref  ->  zero-ref    "field V75._reference (fldOffset=0x0)" P-INDEP
+;* V149 tmp140      [V149    ] (  0,  0   )     int  ->  zero-ref    "field V75._length (fldOffset=0x8)" P-INDEP
+;* V150 tmp141      [V150    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V78._reference (fldOffset=0x0)" P-INDEP
+;* V151 tmp142      [V151    ] (  0,  0   )     int  ->  zero-ref    "field V78._length (fldOffset=0x8)" P-INDEP
+;* V152 tmp143      [V152    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V82._reference (fldOffset=0x0)" P-INDEP
+;* V153 tmp144      [V153    ] (  0,  0   )     int  ->  zero-ref    "field V82._length (fldOffset=0x8)" P-INDEP
+;* V154 tmp145      [V154    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V85._reference (fldOffset=0x0)" P-INDEP
+;* V155 tmp146      [V155    ] (  0,  0   )     int  ->  zero-ref    "field V85._length (fldOffset=0x8)" P-INDEP
+;* V156 tmp147      [V156    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V88._reference (fldOffset=0x0)" P-INDEP
+;* V157 tmp148      [V157    ] (  0,  0   )     int  ->  zero-ref    "field V88._length (fldOffset=0x8)" P-INDEP
+;* V158 tmp149      [V158    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V89._reference (fldOffset=0x0)" P-INDEP
+;* V159 tmp150      [V159    ] (  0,  0   )     int  ->  zero-ref    "field V89._length (fldOffset=0x8)" P-INDEP
+;  V160 tmp151      [V160,T49] (  2,  2   )   byref  ->  rdi         single-def "field V97._reference (fldOffset=0x0)" P-INDEP
+;* V161 tmp152      [V161    ] (  0,  0   )     int  ->  zero-ref    "field V97._length (fldOffset=0x8)" P-INDEP
+;* V162 tmp153      [V162    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V103._reference (fldOffset=0x0)" P-INDEP
+;* V163 tmp154      [V163    ] (  0,  0   )     int  ->  zero-ref    "field V103._length (fldOffset=0x8)" P-INDEP
+;* V164 tmp155      [V164    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V105._reference (fldOffset=0x0)" P-INDEP
+;* V165 tmp156      [V165    ] (  0,  0   )     int  ->  zero-ref    "field V105._length (fldOffset=0x8)" P-INDEP
+;* V166 tmp157      [V166    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V106._reference (fldOffset=0x0)" P-INDEP
+;* V167 tmp158      [V167    ] (  0,  0   )     int  ->  zero-ref    "field V106._length (fldOffset=0x8)" P-INDEP
+;* V168 tmp159      [V168    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V110._reference (fldOffset=0x0)" P-INDEP
+;* V169 tmp160      [V169    ] (  0,  0   )     int  ->  zero-ref    "field V110._length (fldOffset=0x8)" P-INDEP
+;* V170 tmp161      [V170    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V113._reference (fldOffset=0x0)" P-INDEP
+;* V171 tmp162      [V171    ] (  0,  0   )     int  ->  zero-ref    "field V113._length (fldOffset=0x8)" P-INDEP
+;  V172 tmp163      [V172,T06] (  4,  7   )    long  ->  r14         "Cast away GC"
+;  V173 tmp164      [V173,T20] (  4,  4   )    long  ->  r14         "Cast away GC"
+;  V174 tmp165      [V174,T07] (  4,  7   )    long  ->  [rbp-0xD0]  spill-single-def "Cast away GC"
+;  V175 tmp166      [V175,T08] (  4,  7   )    long  ->  [rbp-0xD8]  spill-single-def "Cast away GC"
+;  V176 tmp167      [V176,T21] (  4,  4   )    long  ->  [rbp-0xE0]  spill-single-def "Cast away GC"
+;  V177 tmp168      [V177,T22] (  4,  4   )    long  ->  [rbp-0xE8]  spill-single-def "Cast away GC"
+;  V178 tmp169      [V178,T24] (  2,  4   )    long  ->  rdi         "Cast away GC"
+;  V179 tmp170      [V179,T25] (  2,  4   )    long  ->  rdi         "Cast away GC"
+;  V180 tmp171      [V180,T26] (  2,  4   )    long  ->  rdi         "argument with side effect"
+;  V181 GsCookie    [V181    ] (  1,  1   )    long  ->  [rbp-0x100]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
+;  V182 cse0        [V182,T15] (  6,  5   )     ref  ->  r13         "CSE #01: moderate"
+;  V183 rat0        [V183,T12] (  3,  6   )    long  ->  rax         "ReplaceWithLclVar is creating a new local variable"
+;  V184 rat1        [V184,T36] (  3,  3   )    long  ->  rax         "ReplaceWithLclVar is creating a new local variable"
+;  V185 rat2        [V185,T13] (  3,  6   )    long  ->   r9         "ReplaceWithLclVar is creating a new local variable"
+;  V186 rat3        [V186,T37] (  3,  3   )    long  ->   r9         "ReplaceWithLclVar is creating a new local variable"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 232
 
 G_M16815_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 232
+       lea      rbp, [rsp+0x110]
        xor      eax, eax
-       mov      qword ptr [rbp-0x48], rax
+       mov      qword ptr [rbp-0xC8], rax
        vxorps   xmm8, xmm8, xmm8
+       vmovdqu32 zmmword ptr [rbp-0xC0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0x80], zmm8
        vmovdqa  xmmword ptr [rbp-0x40], xmm8
        mov      qword ptr [rbp-0x30], rax
-       mov      qword ptr [rbp-0x50], 0xD1FFAB1E
+       mov      qword ptr [rbp-0x100], 0xD1FFAB1E
        mov      rbx, rdi
-						;; size=50 bbWeight=1 PerfScore 12.58
+						;; size=76 bbWeight=1 PerfScore 16.58
 G_M16815_IG02:
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Path:GetTempPath():System.String
        call     [rax]System.IO.Path:GetTempPath():System.String
        mov      r15, rax
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [rdi]
+       test     r15, r15
+       je       G_M16815_IG29
+       lea      rdx, bword ptr [r15+0x0C]
+       mov      bword ptr [rbp-0x38], rdx
+       mov      r14, bword ptr [rbp-0x38]
+       mov      rdx, 0xD1FFAB1E      ; const ptr
+       mov      r13, gword ptr [rdx]
+       mov      r12, r13
+       mov      eax, dword ptr [r15+0x08]
+       mov      dword ptr [rbp-0x3C], eax
+       lea      rdx, [rbp-0x48]
+       lea      rcx, [rbp-0x50]
        mov      rdi, r14
-       mov      rsi, r15
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetByteCount(System.String):int:this
-       call     [rax]System.Text.UTF8Encoding:GetByteCount(System.String):int:this
-       mov      r13d, eax
-       test     rbx, rbx
+       mov      esi, eax
+       mov      r8, 0xD1FFAB1E      ; code for System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong
+       call     [r8]System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong
+       sub      rax, r14
+       mov      rcx, rax
+       shr      rcx, 63
+       add      rcx, rax
+       sar      rcx, 1
+       movsxd   rax, ecx
+       add      rax, qword ptr [rbp-0x48]
+       cmp      rax, 0xD1FFAB1E
+       ja       G_M16815_IG28
+       mov      dword ptr [rbp-0x40], eax
+       mov      edx, dword ptr [rbp-0x3C]
+       cmp      ecx, edx
        je       SHORT G_M16815_IG04
-						;; size=54 bbWeight=1 PerfScore 11.00
+						;; size=130 bbWeight=1 PerfScore 26.00
 G_M16815_IG03:
-       mov      rdi, r14
-       mov      rsi, rbx
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetByteCount(System.String):int:this
-       call     [rax]System.Text.UTF8Encoding:GetByteCount(System.String):int:this
-       jmp      SHORT G_M16815_IG05
-						;; size=20 bbWeight=0.50 PerfScore 2.88
+       mov      rdi, r12
+       mov      rsi, r14
+       mov      r8, 0xD1FFAB1E      ; code for System.Text.Encoding:GetByteCountWithFallback(ulong,int,int):int:this
+       call     [r8]System.Text.Encoding:GetByteCountWithFallback(ulong,int,int):int:this
+       add      eax, dword ptr [rbp-0x40]
+       mov      r14d, eax
+       mov      dword ptr [rbp-0x40], r14d
+       test     r14d, r14d
+       jl       G_M16815_IG28
+						;; size=38 bbWeight=0.50 PerfScore 4.12
 G_M16815_IG04:
-       xor      eax, eax
-						;; size=2 bbWeight=0.50 PerfScore 0.12
+       xor      rdx, rdx
+       mov      bword ptr [rbp-0x38], rdx
+       test     rbx, rbx
+       je       G_M16815_IG09
+						;; size=15 bbWeight=1 PerfScore 2.50
 G_M16815_IG05:
-       add      eax, r13d
-       jo       G_M16815_IG24
-       add      eax, 6
-       jo       G_M16815_IG24
-       add      eax, 1
-       jo       G_M16815_IG24
-       cmp      eax, 256
-       jbe      SHORT G_M16815_IG07
-						;; size=34 bbWeight=1 PerfScore 5.00
+       lea      rdx, bword ptr [rbx+0x0C]
+       mov      bword ptr [rbp-0x58], rdx
+       mov      r14, bword ptr [rbp-0x58]
+       mov      r12, r13
+       mov      r8d, dword ptr [rbx+0x08]
+       mov      dword ptr [rbp-0x5C], r8d
+       lea      rdx, [rbp-0x68]
+       lea      rcx, [rbp-0x70]
+       mov      rdi, r14
+       mov      esi, r8d
+       mov      r9, 0xD1FFAB1E      ; code for System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong
+       call     [r9]System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(ulong,int,byref,byref):ulong
+       sub      rax, r14
+       mov      rcx, rax
+       shr      rcx, 63
+       add      rcx, rax
+       sar      rcx, 1
+       movsxd   rax, ecx
+       add      rax, qword ptr [rbp-0x68]
+       cmp      rax, 0xD1FFAB1E
+       ja       G_M16815_IG28
+       mov      dword ptr [rbp-0x60], eax
+       mov      edx, dword ptr [rbp-0x5C]
+       cmp      ecx, edx
+       jne      SHORT G_M16815_IG07
+						;; size=95 bbWeight=0.50 PerfScore 9.50
 G_M16815_IG06:
-       movsxd   rsi, eax
+       mov      r14d, dword ptr [rbp-0x60]
+       jmp      SHORT G_M16815_IG08
+						;; size=6 bbWeight=0.25 PerfScore 0.75
+G_M16815_IG07:
+       mov      rdi, r12
+       mov      rsi, r14
+       mov      r8, 0xD1FFAB1E      ; code for System.Text.Encoding:GetByteCountWithFallback(ulong,int,int):int:this
+       call     [r8]System.Text.Encoding:GetByteCountWithFallback(ulong,int,int):int:this
+       add      eax, dword ptr [rbp-0x60]
+       mov      r14d, eax
+       test     r14d, r14d
+       jl       G_M16815_IG28
+						;; size=34 bbWeight=0.50 PerfScore 3.62
+G_M16815_IG08:
+       xor      rsi, rsi
+       mov      bword ptr [rbp-0x58], rsi
+       mov      eax, r14d
+       mov      esi, eax
+       jmp      SHORT G_M16815_IG10
+						;; size=13 bbWeight=0.50 PerfScore 1.88
+G_M16815_IG09:
+       xor      esi, esi
+						;; size=2 bbWeight=0.50 PerfScore 0.12
+G_M16815_IG10:
+       mov      eax, dword ptr [rbp-0x40]
+       add      esi, eax
+       jo       G_M16815_IG31
+       add      esi, 6
+       jo       G_M16815_IG31
+       add      esi, 1
+       jo       G_M16815_IG31
+       cmp      esi, 256
+       jbe      SHORT G_M16815_IG12
+						;; size=37 bbWeight=1 PerfScore 6.00
+G_M16815_IG11:
+       movsxd   rsi, esi
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        call     CORINFO_HELP_NEWARR_1_VC
-       lea      r13, bword ptr [rax+0x10]
+       lea      r14, bword ptr [rax+0x10]
        mov      r12d, dword ptr [rax+0x08]
-       jmp      SHORT G_M16815_IG10
+       jmp      SHORT G_M16815_IG15
 						;; size=28 bbWeight=0.50 PerfScore 3.00
-G_M16815_IG07:
-       mov      ecx, eax
-       mov      r13, rcx
-       test     r13, r13
-       je       SHORT G_M16815_IG09
-       mov      r8, r13
-       add      r8, 15
-       and      r8, -16
-       neg      r8
-       add      r8, rsp
-       jb       SHORT G_M16815_IG08
-       xor      r8d, r8d
-						;; size=32 bbWeight=0.50 PerfScore 2.12
-G_M16815_IG08:
+G_M16815_IG12:
+       mov      r8d, esi
+       mov      r14, r8
+       test     r14, r14
+       je       SHORT G_M16815_IG14
+       mov      r9, r14
+       add      r9, 15
+       and      r9, -16
+       add      rsp, 16
+       neg      r9
+       add      r9, rsp
+       jb       SHORT G_M16815_IG13
+       xor      r9d, r9d
+						;; size=37 bbWeight=0.50 PerfScore 2.25
+G_M16815_IG13:
        test     dword ptr [rsp], esp
        sub      rsp, 0x1000
-       cmp      rsp, r8
-       jae      SHORT G_M16815_IG08
-       mov      rsp, r8
-       lea      r13, [rsp]
-						;; size=22 bbWeight=0.50 PerfScore 2.62
-G_M16815_IG09:
-       mov      r12d, eax
-						;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M16815_IG10:
-       mov      rdi, r14
-       test     r15, r15
-       je       SHORT G_M16815_IG12
-						;; size=8 bbWeight=1 PerfScore 1.50
-G_M16815_IG11:
-       lea      rsi, bword ptr [r15+0x0C]
-       mov      edx, dword ptr [r15+0x08]
-       jmp      SHORT G_M16815_IG13
-						;; size=10 bbWeight=0.50 PerfScore 2.25
-G_M16815_IG12:
-       xor      rsi, rsi
-       xor      edx, edx
-						;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M16815_IG13:
-       mov      rcx, r13
-       mov      r8d, r12d
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
-       call     [rax]System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
-       mov      r15d, eax
-       test     rbx, rbx
-       je       SHORT G_M16815_IG15
-						;; size=26 bbWeight=1 PerfScore 5.25
+       cmp      rsp, r9
+       jae      SHORT G_M16815_IG13
+       mov      rsp, r9
+       test     dword ptr [rsp], esp
+       sub      rsp, 16
+       lea      r14, [rsp+0x10]
+						;; size=30 bbWeight=0.50 PerfScore 4.25
 G_M16815_IG14:
-       mov      rdi, r14
-       lea      rsi, bword ptr [rbx+0x0C]
-       mov      edx, dword ptr [rbx+0x08]
-       cmp      r15d, r12d
-       ja       G_M16815_IG22
-       mov      ecx, r15d
-       add      rcx, r13
-       mov      r8d, r12d
-       sub      r8d, r15d
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
-       call     [rax]System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
-       add      r15d, eax
-						;; size=46 bbWeight=0.50 PerfScore 4.25
+       mov      r12d, esi
+						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M16815_IG15:
-       mov      edi, r15d
+       mov      gword ptr [rbp-0xF0], r13
+       lea      r10, bword ptr [r15+0x0C]
+       mov      r15d, dword ptr [r15+0x08]
+       mov      bword ptr [rbp-0x78], r10
+       mov      qword ptr [rbp-0xD0], r10
+       mov      bword ptr [rbp-0x80], r14
+       mov      r11, r14
+       mov      qword ptr [rbp-0xD8], r11
+       lea      r8, [rbp-0x88]
+       lea      r9, [rbp-0x90]
+       mov      rdi, r10
+       mov      esi, r15d
+       mov      rdx, r11
+       mov      ecx, r12d
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Unicode.Utf8Utility:TranscodeToUtf8(ulong,int,ulong,int,byref,byref):int
+       call     [rax]System.Text.Unicode.Utf8Utility:TranscodeToUtf8(ulong,int,ulong,int,byref,byref):int
+       mov      r9, qword ptr [rbp-0x88]
+       mov      rsi, qword ptr [rbp-0xD0]
+       sub      r9, rsi
+       mov      rdi, r9
+       shr      rdi, 63
+       add      r9, rdi
+       sar      r9, 1
+       mov      eax, dword ptr [rbp-0x90]
+       mov      rcx, qword ptr [rbp-0xD8]
+       sub      eax, ecx
+       cmp      r9d, r15d
+       je       SHORT G_M16815_IG17
+						;; size=128 bbWeight=1 PerfScore 20.25
+G_M16815_IG16:
+       mov      dword ptr [rsp], eax
+       mov      dword ptr [rsp+0x08], 1
+       mov      rdi, gword ptr [rbp-0xF0]
+       mov      edx, r15d
+       mov      r8d, r12d
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Encoding:GetBytesWithFallback(ulong,int,ulong,int,int,int,ubyte):int:this
+       call     [rax]System.Text.Encoding:GetBytesWithFallback(ulong,int,ulong,int,int,int,ubyte):int:this
+       mov      r15d, eax
+       jmp      SHORT G_M16815_IG18
+						;; size=41 bbWeight=0.50 PerfScore 4.50
+G_M16815_IG17:
+       mov      r15d, eax
+						;; size=3 bbWeight=0.50 PerfScore 0.12
+G_M16815_IG18:
+       xor      r8, r8
+       mov      bword ptr [rbp-0x78], r8
+						;; size=7 bbWeight=1 PerfScore 1.25
+G_M16815_IG19:
+       mov      bword ptr [rbp-0x80], r8
+       mov      eax, r15d
+       test     rbx, rbx
+       je       G_M16815_IG23
+						;; size=16 bbWeight=1 PerfScore 2.50
+G_M16815_IG20:
+       mov      gword ptr [rbp-0xF8], r13
+       lea      r10, bword ptr [rbx+0x0C]
+       mov      ebx, dword ptr [rbx+0x08]
+       cmp      r15d, r12d
+       ja       G_M16815_IG27
+       mov      r11d, r15d
+       add      r11, r14
+       mov      ecx, r12d
+       sub      ecx, r15d
+       mov      dword ptr [rbp-0x94], ecx
+       mov      bword ptr [rbp-0xA0], r10
+       mov      qword ptr [rbp-0xE0], r10
+       mov      bword ptr [rbp-0xA8], r11
+       mov      qword ptr [rbp-0xE8], r11
+       lea      r8, [rbp-0xB0]
+       lea      r9, [rbp-0xB8]
+       mov      rdi, r10
+       mov      esi, ebx
+       mov      rdx, r11
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Unicode.Utf8Utility:TranscodeToUtf8(ulong,int,ulong,int,byref,byref):int
+       call     [rax]System.Text.Unicode.Utf8Utility:TranscodeToUtf8(ulong,int,ulong,int,byref,byref):int
+       mov      r9, qword ptr [rbp-0xB0]
+       mov      rsi, qword ptr [rbp-0xE0]
+       sub      r9, rsi
+       mov      rdi, r9
+       shr      rdi, 63
+       add      r9, rdi
+       sar      r9, 1
+       mov      eax, dword ptr [rbp-0xB8]
+       mov      rcx, qword ptr [rbp-0xE8]
+       sub      eax, ecx
+       cmp      r9d, ebx
+       je       SHORT G_M16815_IG21
+       mov      dword ptr [rsp], eax
+       mov      dword ptr [rsp+0x08], 1
+       mov      rdi, gword ptr [rbp-0xF8]
+       mov      edx, ebx
+       mov      r8d, dword ptr [rbp-0x94]
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Encoding:GetBytesWithFallback(ulong,int,ulong,int,int,int,ubyte):int:this
+       call     [rax]System.Text.Encoding:GetBytesWithFallback(ulong,int,ulong,int,int,int,ubyte):int:this
+						;; size=192 bbWeight=0.50 PerfScore 15.25
+G_M16815_IG21:
+       xor      rdi, rdi
+       mov      bword ptr [rbp-0xA0], rdi
+						;; size=9 bbWeight=0.50 PerfScore 0.62
+G_M16815_IG22:
+       mov      bword ptr [rbp-0xA8], rdi
+       add      eax, r15d
+						;; size=10 bbWeight=0.50 PerfScore 0.62
+G_M16815_IG23:
+       mov      edi, eax
        add      rdi, 6
-       mov      eax, r12d
-       cmp      rdi, rax
-       ja       G_M16815_IG22
-       mov      edi, r15d
-       add      rdi, r13
-       mov      eax, 0xD1FFAB1E
-       mov      dword ptr [rdi], eax
-       mov      word  ptr [rdi+0x04], ax
-       lea      edi, [r15+0x06]
+       mov      ecx, r12d
+       cmp      rdi, rcx
+       ja       G_M16815_IG27
+       mov      edi, eax
+       add      rdi, r14
+       mov      ecx, 0xD1FFAB1E
+       mov      dword ptr [rdi], ecx
+       mov      word  ptr [rdi+0x04], cx
+       lea      edi, [rax+0x06]
        cmp      edi, r12d
-       jae      G_M16815_IG23
-       mov      byte  ptr [rdi+r13], 0
-       mov      rdi, r13
+       jae      G_M16815_IG30
+       add      eax, 6
+       mov      edi, eax
+       mov      byte  ptr [r14+rdi], 0
+       mov      rdi, r14
        mov      bword ptr [rbp-0x30], rdi
        mov      rax, 0xD1FFAB1E      ; code for Interop+Sys:MkdTemp(ulong):ulong
        call     [rax]Interop+Sys:MkdTemp(ulong):ulong
        test     rax, rax
-       je       G_M16815_IG21
+       je       SHORT G_M16815_IG26
        xor      edi, edi
        mov      bword ptr [rbp-0x30], rdi
-       lea      ebx, [r12-0x01]
-       cmp      ebx, r12d
-       ja       G_M16815_IG22
+       mov      rdx, r13
+       lea      esi, [r12-0x01]
+       cmp      esi, r12d
+       ja       SHORT G_M16815_IG27
        mov      edi, 1
-       test     ebx, ebx
-       cmove    r13, rdi
-       mov      bword ptr [rbp-0x40], r13
+       test     esi, esi
+       cmove    r14, rdi
+       mov      bword ptr [rbp-0xC8], r14
        mov      rdi, r14
-       mov      rsi, r13
-       mov      edx, ebx
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetCharCount(ulong,int):int:this
-       call     [rax]System.Text.UTF8Encoding:GetCharCount(ulong,int):int:this
-       mov      r15d, eax
-       test     r15d, r15d
-       je       SHORT G_M16815_IG17
-						;; size=145 bbWeight=1 PerfScore 23.50
-G_M16815_IG16:
-       mov      edi, r15d
-       call     System.String:FastAllocateString(int):System.String
-       mov      r12, rax
-       cmp      byte  ptr [r12], r12b
-       lea      rcx, bword ptr [r12+0x0C]
-       mov      bword ptr [rbp-0x48], rcx
-       mov      rcx, bword ptr [rbp-0x48]
-       mov      rsi, r13
-       mov      edx, ebx
-       mov      rdi, r14
-       mov      r8d, r15d
-       mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetChars(ulong,int,ulong,int):int:this
-       call     [rax]System.Text.UTF8Encoding:GetChars(ulong,int,ulong,int):int:this
-       xor      eax, eax
-       mov      bword ptr [rbp-0x48], rax
-       mov      rax, r12
-       jmp      SHORT G_M16815_IG18
-						;; size=62 bbWeight=0.50 PerfScore 7.38
-G_M16815_IG17:
-       mov      rax, 0xD1FFAB1E      ; ''
-						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M16815_IG18:
-       cmp      qword ptr [rbp-0x50], 0xD1FFAB1E
-       je       SHORT G_M16815_IG19
+       mov      rax, 0xD1FFAB1E      ; code for System.String:CreateStringFromEncoding(ulong,int,System.Text.Encoding):System.String
+       call     [rax]System.String:CreateStringFromEncoding(ulong,int,System.Text.Encoding):System.String
+       cmp      qword ptr [rbp-0x100], 0xD1FFAB1E
+       je       SHORT G_M16815_IG24
        call     CORINFO_HELP_FAIL_FAST
-						;; size=15 bbWeight=1 PerfScore 4.00
-G_M16815_IG19:
+						;; size=150 bbWeight=1 PerfScore 26.25
+G_M16815_IG24:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M16815_IG20:
+G_M16815_IG25:
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.50
-G_M16815_IG21:
+G_M16815_IG26:
        mov      rax, 0xD1FFAB1E      ; code for Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
        call     [rax]Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
-       mov      qword ptr [rbp-0x38], rax
-       mov      rdi, qword ptr [rbp-0x38]
+       mov      qword ptr [rbp-0xC0], rax
+       mov      rdi, qword ptr [rbp-0xC0]
        xor      rsi, rsi
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for Interop:ThrowExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte)
        call     [rax]Interop:ThrowExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte)
        int3     
-						;; size=37 bbWeight=0.50 PerfScore 4.62
-G_M16815_IG22:
+						;; size=43 bbWeight=0.50 PerfScore 4.62
+G_M16815_IG27:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
-G_M16815_IG23:
+G_M16815_IG28:
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Encoding:ThrowConversionOverflow()
+       call     [rax]System.Text.Encoding:ThrowConversionOverflow()
+       int3     
+						;; size=13 bbWeight=0.50 PerfScore 1.75
+G_M16815_IG29:
+       mov      edi, 14
+       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
+       call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
+       int3     
+						;; size=18 bbWeight=0.50 PerfScore 1.88
+G_M16815_IG30:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M16815_IG24:
+G_M16815_IG31:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 649, prolog size 47, PerfScore 99.08, instruction count 175, allocated bytes for code 649 (MethodHash=7248be50) for method System.IO.Directory:CreateTempSubdirectoryCore(System.String):System.String (FullOpts)
+; Total bytes of code 1215, prolog size 73, PerfScore 166.83, instruction count 298, allocated bytes for code 1215 (MethodHash=7248be50) for method System.IO.Directory:CreateTempSubdirectoryCore(System.String):System.String (FullOpts)
 ; ============================================================

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

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

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 21, 2025

Top method improvements

-485 (-28.30 % of base) - System.Xml.Schema.SchemaCollectionCompiler:Cleanup():this
 ; Assembly listing for method System.Xml.Schema.SchemaCollectionCompiler:Cleanup():this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 31 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 46 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T22] (  7,  7   )     ref  ->  rbx         this class-hnd single-def <System.Xml.Schema.SchemaCollectionCompiler>
-;  V01 loc0         [V01,T00] ( 25, 70   )     ref  ->  [rbp-0x30]  do-not-enreg[M] class-hnd EH-live <System.Collections.IEnumerator>
-;  V02 loc1         [V02,T15] ( 30, 12.50)     ref  ->  rax         class-hnd <System.IDisposable>
+;  V00 this         [V00,T26] (  7,  7   )     ref  ->  rbx         this class-hnd single-def <System.Xml.Schema.SchemaCollectionCompiler>
+;  V01 loc0         [V01,T00] ( 15, 65   )     ref  ->  [rbp-0x28]  do-not-enreg[M] class-hnd EH-live <System.Collections.IEnumerator>
+;* V02 loc1         [V02,T37] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.IDisposable>
 ;  V03 loc2         [V03,T14] (  5, 17   )     ref  ->  r15         class-hnd <System.Xml.Schema.XmlSchemaType>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchema>
-;  V06 tmp2         [V06,T29] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
-;  V07 tmp3         [V07,T39] (  2,  4   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
-;  V08 tmp4         [V08,T23] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
-;  V09 tmp5         [V09,T30] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
-;  V10 tmp6         [V10,T44] (  2,  4   )     int  ->  r14         "Inlining Arg"
-;  V11 tmp7         [V11,T08] (  3, 24   )     ref  ->  r15         class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchemaGroup>
-;  V12 tmp8         [V12,T31] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
-;  V13 tmp9         [V13,T40] (  2,  4   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
-;  V14 tmp10        [V14,T24] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
-;  V15 tmp11        [V15,T32] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
-;  V16 tmp12        [V16,T45] (  2,  4   )     int  ->  r14         "Inlining Arg"
-;  V17 tmp13        [V17,T33] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
-;  V18 tmp14        [V18,T41] (  2,  4   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
-;  V19 tmp15        [V19,T25] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
-;  V20 tmp16        [V20,T34] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
-;  V21 tmp17        [V21,T46] (  2,  4   )     int  ->  r14         "Inlining Arg"
-;* V22 tmp18        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchemaSimpleType>
-;  V23 tmp19        [V23,T35] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
-;  V24 tmp20        [V24,T42] (  2,  4   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
-;  V25 tmp21        [V25,T26] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
-;  V26 tmp22        [V26,T36] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
-;  V27 tmp23        [V27,T47] (  2,  4   )     int  ->  r14         "Inlining Arg"
-;  V28 tmp24        [V28,T37] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
-;  V29 tmp25        [V29,T43] (  2,  4   )     ref  ->  rbx         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
-;  V30 tmp26        [V30,T27] (  4,  8   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
-;  V31 tmp27        [V31,T38] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
-;  V32 tmp28        [V32,T48] (  2,  4   )     int  ->  r13         "Inlining Arg"
-;  V33 tmp29        [V33,T07] (  4, 28   )     ref  ->  rbx         class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchemaAttribute>
-;* V34 tmp30        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchemaSimpleType>
-;  V35 tmp31        [V35,T09] (  3, 18   )     ref  ->  rax         "argument with side effect"
-;  V36 tmp32        [V36,T10] (  3, 18   )     ref  ->  rax         "argument with side effect"
-;  V37 tmp33        [V37,T11] (  3, 18   )     ref  ->  rax         "argument with side effect"
-;  V38 tmp34        [V38,T12] (  3, 18   )     ref  ->  rax         "argument with side effect"
-;  V39 tmp35        [V39,T13] (  3, 18   )     ref  ->  rax         "argument with side effect"
-;  V40 cse0         [V40,T28] (  6,  6   )    long  ->  r13         "CSE #02: moderate"
-;  V41 rat0         [V41    ] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V42 rat1         [V42,T01] (  5, 30   )     ref  ->  r15         "replacement local"
-;  V43 rat2         [V43,T16] (  3, 10   )    long  ->  rdi         "CSE for expectedClsNode"
-;  V44 rat3         [V44,T02] (  5, 30   )     ref  ->  rdi         "replacement local"
-;  V45 rat4         [V45,T17] (  3, 10   )    long  ->  rcx         "CSE for expectedClsNode"
-;  V46 rat5         [V46,T03] (  5, 30   )     ref  ->  r15         "replacement local"
-;  V47 rat6         [V47,T18] (  3, 10   )    long  ->  rdi         "CSE for expectedClsNode"
-;  V48 rat7         [V48,T04] (  5, 30   )     ref  ->  rax         "replacement local"
-;  V49 rat8         [V49,T19] (  3, 10   )    long  ->  rdi         "CSE for expectedClsNode"
-;  V50 rat9         [V50,T05] (  5, 30   )     ref  ->  rdi         "replacement local"
-;  V51 rat10        [V51,T20] (  3, 10   )    long  ->  rcx         "CSE for expectedClsNode"
-;  V52 rat11        [V52,T06] (  5, 30   )     ref  ->  rbx         "replacement local"
-;  V53 rat12        [V53,T21] (  3, 10   )    long  ->  rdi         "CSE for expectedClsNode"
+;  V06 tmp2         [V06,T27] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
+;  V07 tmp3         [V07,T38] (  2,  4   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V08 tmp4         [V08    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;  V09 tmp5         [V09,T28] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
+;  V10 tmp6         [V10,T43] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V11 tmp7         [V11,T15] (  5, 10   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator>
+;* V12 tmp8         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V13 tmp9         [V13    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V14 tmp10        [V14,T08] (  3, 24   )     ref  ->  r15         class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchemaGroup>
+;  V15 tmp11        [V15,T29] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
+;  V16 tmp12        [V16,T39] (  2,  4   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V17 tmp13        [V17    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;  V18 tmp14        [V18,T30] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
+;  V19 tmp15        [V19,T44] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V20 tmp16        [V20,T16] (  5, 10   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator>
+;* V21 tmp17        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V22 tmp18        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V23 tmp19        [V23,T31] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
+;  V24 tmp20        [V24,T40] (  2,  4   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V25 tmp21        [V25    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;  V26 tmp22        [V26,T32] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
+;  V27 tmp23        [V27,T45] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V28 tmp24        [V28,T17] (  5, 10   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator>
+;* V29 tmp25        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V30 tmp26        [V30    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V31 tmp27        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchemaSimpleType>
+;  V32 tmp28        [V32,T33] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
+;  V33 tmp29        [V33,T41] (  2,  4   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V34 tmp30        [V34    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;  V35 tmp31        [V35,T34] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
+;  V36 tmp32        [V36,T46] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V37 tmp33        [V37,T18] (  5, 10   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator>
+;* V38 tmp34        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V39 tmp35        [V39    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V40 tmp36        [V40,T35] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
+;  V41 tmp37        [V41,T42] (  2,  4   )     ref  ->  rbx         class-hnd single-def "impAppendStmt" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V42 tmp38        [V42    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;  V43 tmp39        [V43,T36] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchemaObject]>
+;  V44 tmp40        [V44,T47] (  2,  4   )     int  ->  r15         "Inlining Arg"
+;  V45 tmp41        [V45,T19] (  5, 10   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator>
+;* V46 tmp42        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaObjectTable+XmlSchemaObjectEntry]>
+;* V47 tmp43        [V47    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V48 tmp44        [V48,T07] (  4, 28   )     ref  ->  rbx         class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchemaAttribute>
+;* V49 tmp45        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchemaSimpleType>
+;* V50 tmp46        [V50    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] "stack allocated ref class temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;* V51 tmp47        [V51    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] "stack allocated ref class temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;* V52 tmp48        [V52    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] "stack allocated ref class temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;* V53 tmp49        [V53    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] "stack allocated ref class temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;* V54 tmp50        [V54    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] "stack allocated ref class temp" <System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection>
+;* V55 tmp51        [V55    ] (  0,  0   )    long  ->  zero-ref    "V50.[000..008)"
+;* V56 tmp52        [V56    ] (  0,  0   )     ref  ->  zero-ref    single-def "V50.[008..016)"
+;* V57 tmp53        [V57    ] (  0,  0   )     int  ->  zero-ref    "V50.[016..020)"
+;* V58 tmp54        [V58    ] (  0,  0   )    long  ->  zero-ref    "V51.[000..008)"
+;* V59 tmp55        [V59    ] (  0,  0   )     ref  ->  zero-ref    single-def "V51.[008..016)"
+;* V60 tmp56        [V60    ] (  0,  0   )     int  ->  zero-ref    "V51.[016..020)"
+;* V61 tmp57        [V61    ] (  0,  0   )    long  ->  zero-ref    "V52.[000..008)"
+;* V62 tmp58        [V62    ] (  0,  0   )     ref  ->  zero-ref    single-def "V52.[008..016)"
+;* V63 tmp59        [V63    ] (  0,  0   )     int  ->  zero-ref    "V52.[016..020)"
+;* V64 tmp60        [V64    ] (  0,  0   )    long  ->  zero-ref    "V53.[000..008)"
+;* V65 tmp61        [V65    ] (  0,  0   )     ref  ->  zero-ref    single-def "V53.[008..016)"
+;* V66 tmp62        [V66    ] (  0,  0   )     int  ->  zero-ref    "V53.[016..020)"
+;* V67 tmp63        [V67    ] (  0,  0   )    long  ->  zero-ref    "V54.[000..008)"
+;* V68 tmp64        [V68    ] (  0,  0   )     ref  ->  zero-ref    single-def "V54.[008..016)"
+;* V69 tmp65        [V69    ] (  0,  0   )     int  ->  zero-ref    "V54.[016..020)"
+;  V70 tmp66        [V70,T09] (  3, 18   )     ref  ->  rax         "argument with side effect"
+;  V71 tmp67        [V71,T10] (  3, 18   )     ref  ->  rax         "argument with side effect"
+;  V72 tmp68        [V72,T11] (  3, 18   )     ref  ->  rax         "argument with side effect"
+;  V73 tmp69        [V73,T12] (  3, 18   )     ref  ->  rax         "argument with side effect"
+;  V74 tmp70        [V74,T13] (  3, 18   )     ref  ->  rax         "argument with side effect"
+;  V75 rat0         [V75    ] (  1,  1   )    long  ->  [rbp-0x30]  do-not-enreg[V] "PSPSym"
+;  V76 rat1         [V76,T01] (  5, 30   )     ref  ->  r15         "replacement local"
+;  V77 rat2         [V77,T20] (  3, 10   )    long  ->  rdi         "CSE for expectedClsNode"
+;  V78 rat3         [V78,T02] (  5, 30   )     ref  ->  rdi         "replacement local"
+;  V79 rat4         [V79,T21] (  3, 10   )    long  ->  rcx         "CSE for expectedClsNode"
+;  V80 rat5         [V80,T03] (  5, 30   )     ref  ->  r15         "replacement local"
+;  V81 rat6         [V81,T22] (  3, 10   )    long  ->  rdi         "CSE for expectedClsNode"
+;  V82 rat7         [V82,T04] (  5, 30   )     ref  ->  rax         "replacement local"
+;  V83 rat8         [V83,T23] (  3, 10   )    long  ->  rdi         "CSE for expectedClsNode"
+;  V84 rat9         [V84,T05] (  5, 30   )     ref  ->  rdi         "replacement local"
+;  V85 rat10        [V85,T24] (  3, 10   )    long  ->  rcx         "CSE for expectedClsNode"
+;  V86 rat11        [V86,T06] (  5, 30   )     ref  ->  rbx         "replacement local"
+;  V87 rat12        [V87,T25] (  3, 10   )    long  ->  rdi         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 16
 
 G_M62330_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       sub      rsp, 24
-       lea      rbp, [rsp+0x40]
-       mov      qword ptr [rbp-0x40], rsp
+       sub      rsp, 16
+       lea      rbp, [rsp+0x30]
+       mov      qword ptr [rbp-0x30], rsp
        mov      rbx, rdi
-						;; size=26 bbWeight=1 PerfScore 8.00
+						;; size=24 bbWeight=1 PerfScore 7.00
 G_M62330_IG02:
        mov      rdi, gword ptr [rbx+0x48]
        mov      rdi, gword ptr [rdi+0x80]
        mov      r15, gword ptr [rdi+0x10]
-       mov      r14, gword ptr [rdi+0x08]
-       mov      r13, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection
-       mov      rdi, r13
+       mov      rdi, gword ptr [rdi+0x08]
+       mov      r14d, dword ptr [rdi+0x38]
+       sub      r14d, dword ptr [rdi+0x40]
+       mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
-       mov      eax, dword ptr [r14+0x38]
-       sub      eax, dword ptr [r14+0x40]
-       mov      r14d, eax
-       lea      rdi, bword ptr [r12+0x08]
+       mov      r13, rax
+       lea      rdi, bword ptr [r13+0x08]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
-       mov      dword ptr [r12+0x10], r14d
-       mov      rdi, r12
-       mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       call     [rax]System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       mov      gword ptr [rbp-0x30], rax
-						;; size=88 bbWeight=1 PerfScore 22.25
+       mov      dword ptr [r13+0x28], r14d
+       mov      rdi, 0xD1FFAB1E
+       mov      qword ptr [r13+0x20], rdi
+       mov      gword ptr [rbp-0x28], r13
+						;; size=79 bbWeight=1 PerfScore 19.50
 G_M62330_IG03:
        jmp      SHORT G_M62330_IG05
 						;; size=2 bbWeight=1 PerfScore 2.00
 G_M62330_IG04:
        mov      rdi, gword ptr [r15+0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.SchemaCollectionCompiler:CleanupParticle(System.Xml.Schema.XmlSchemaParticle)
        call     [rax]System.Xml.Schema.SchemaCollectionCompiler:CleanupParticle(System.Xml.Schema.XmlSchemaParticle)
-       xor      rsi, rsi
-       mov      gword ptr [r15+0x58], rsi
+       xor      rdi, rdi
+       mov      gword ptr [r15+0x58], rdi
 						;; size=22 bbWeight=4 PerfScore 26.00
 G_M62330_IG05:
-       mov      rdi, gword ptr [rbp-0x30]
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
        je       SHORT G_M62330_IG09
 						;; size=21 bbWeight=8 PerfScore 44.00
 G_M62330_IG06:
-       mov      rdi, gword ptr [rbp-0x30]
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:get_Current():System.Object:this
        call     [r11]System.Collections.IEnumerator:get_Current():System.Object:this
        mov      r15, rax
        test     r15, r15
        je       SHORT G_M62330_IG04
 						;; size=25 bbWeight=4 PerfScore 23.00
 G_M62330_IG07:
        mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaGroup
        cmp      qword ptr [r15], rdi
        je       SHORT G_M62330_IG04
 						;; size=15 bbWeight=2 PerfScore 8.50
 G_M62330_IG08:
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      r15, rax
        jmp      SHORT G_M62330_IG04
 						;; size=20 bbWeight=1 PerfScore 5.75
 G_M62330_IG09:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG11
-						;; size=31 bbWeight=1 PerfScore 5.75
-G_M62330_IG10:
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=16 bbWeight=0.50 PerfScore 1.75
-G_M62330_IG11:
        mov      rdi, gword ptr [rbx+0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.XmlSchema:get_AttributeGroups():System.Xml.Schema.XmlSchemaObjectTable:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Schema.XmlSchema:get_AttributeGroups():System.Xml.Schema.XmlSchemaObjectTable:this
        mov      r15, gword ptr [rax+0x10]
-       mov      r14, gword ptr [rax+0x08]
-       mov      rdi, r13
+       mov      rdi, gword ptr [rax+0x08]
+       mov      r14d, dword ptr [rdi+0x38]
+       sub      r14d, dword ptr [rdi+0x40]
+       mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
-       mov      eax, dword ptr [r14+0x38]
-       sub      eax, dword ptr [r14+0x40]
-       mov      r14d, eax
-       lea      rdi, bword ptr [r12+0x08]
+       mov      r13, rax
+       lea      rdi, bword ptr [r13+0x08]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
-       mov      dword ptr [r12+0x10], r14d
-       mov      rdi, r12
-       mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       call     [rax]System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       mov      gword ptr [rbp-0x30], rax
-						;; size=85 bbWeight=1 PerfScore 26.25
-G_M62330_IG12:
-       jmp      SHORT G_M62330_IG14
+       mov      dword ptr [r13+0x28], r14d
+       mov      rdi, 0xD1FFAB1E
+       mov      qword ptr [r13+0x20], rdi
+       mov      gword ptr [rbp-0x28], r13
+						;; size=86 bbWeight=1 PerfScore 23.75
+G_M62330_IG10:
+       jmp      SHORT G_M62330_IG12
 						;; size=2 bbWeight=1 PerfScore 2.00
-G_M62330_IG13:
+G_M62330_IG11:
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.SchemaCollectionCompiler:CleanupAttributeGroup(System.Xml.Schema.XmlSchemaAttributeGroup)
        call     [rax]System.Xml.Schema.SchemaCollectionCompiler:CleanupAttributeGroup(System.Xml.Schema.XmlSchemaAttributeGroup)
 						;; size=12 bbWeight=4 PerfScore 13.00
-G_M62330_IG14:
-       mov      rdi, gword ptr [rbp-0x30]
+G_M62330_IG12:
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
-       je       SHORT G_M62330_IG18
+       je       SHORT G_M62330_IG16
 						;; size=21 bbWeight=8 PerfScore 44.00
-G_M62330_IG15:
-       mov      rdi, gword ptr [rbp-0x30]
+G_M62330_IG13:
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:get_Current():System.Object:this
        call     [r11]System.Collections.IEnumerator:get_Current():System.Object:this
        mov      rdi, rax
        test     rdi, rdi
-       je       SHORT G_M62330_IG13
+       je       SHORT G_M62330_IG11
 						;; size=25 bbWeight=4 PerfScore 23.00
-G_M62330_IG16:
+G_M62330_IG14:
        mov      rcx, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaAttributeGroup
        cmp      qword ptr [rdi], rcx
-       je       SHORT G_M62330_IG13
+       je       SHORT G_M62330_IG11
 						;; size=15 bbWeight=2 PerfScore 8.50
-G_M62330_IG17:
+G_M62330_IG15:
        mov      rsi, rax
        mov      rdi, rcx
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      rdi, rax
-       jmp      SHORT G_M62330_IG13
+       jmp      SHORT G_M62330_IG11
 						;; size=23 bbWeight=1 PerfScore 6.00
-G_M62330_IG18:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG20
-						;; size=31 bbWeight=1 PerfScore 5.75
-G_M62330_IG19:
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=16 bbWeight=0.50 PerfScore 1.75
-G_M62330_IG20:
+G_M62330_IG16:
        mov      rdi, gword ptr [rbx+0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.XmlSchema:get_SchemaTypes():System.Xml.Schema.XmlSchemaObjectTable:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Schema.XmlSchema:get_SchemaTypes():System.Xml.Schema.XmlSchemaObjectTable:this
        mov      r15, gword ptr [rax+0x10]
-       mov      r14, gword ptr [rax+0x08]
-       mov      rdi, r13
+       mov      rdi, gword ptr [rax+0x08]
+       mov      r14d, dword ptr [rdi+0x38]
+       sub      r14d, dword ptr [rdi+0x40]
+       mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
-       mov      eax, dword ptr [r14+0x38]
-       sub      eax, dword ptr [r14+0x40]
-       mov      r14d, eax
-       lea      rdi, bword ptr [r12+0x08]
+       mov      r13, rax
+       lea      rdi, bword ptr [r13+0x08]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
-       mov      dword ptr [r12+0x10], r14d
-       mov      rdi, r12
-       mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       call     [rax]System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       mov      gword ptr [rbp-0x30], rax
-						;; size=85 bbWeight=1 PerfScore 26.25
-G_M62330_IG21:
-       jmp      SHORT G_M62330_IG26
+       mov      dword ptr [r13+0x28], r14d
+       mov      rdi, 0xD1FFAB1E
+       mov      qword ptr [r13+0x20], rdi
+       mov      gword ptr [rbp-0x28], r13
+						;; size=86 bbWeight=1 PerfScore 23.75
+G_M62330_IG17:
+       jmp      SHORT G_M62330_IG22
 						;; size=2 bbWeight=1 PerfScore 2.00
-G_M62330_IG22:
+G_M62330_IG18:
        mov      rax, r15
        test     rax, rax
-       je       SHORT G_M62330_IG25
+       je       SHORT G_M62330_IG21
 						;; size=8 bbWeight=4 PerfScore 6.00
-G_M62330_IG23:
+G_M62330_IG19:
        mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaSimpleType
        cmp      qword ptr [rax], rdi
-       je       SHORT G_M62330_IG25
+       je       SHORT G_M62330_IG21
 						;; size=15 bbWeight=2 PerfScore 8.50
-G_M62330_IG24:
+G_M62330_IG20:
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
 						;; size=15 bbWeight=1 PerfScore 3.50
-G_M62330_IG25:
+G_M62330_IG21:
        xor      rdi, rdi
        mov      gword ptr [rax+0x60], rdi
 						;; size=6 bbWeight=4 PerfScore 5.00
-G_M62330_IG26:
-       mov      rdi, gword ptr [rbp-0x30]
+G_M62330_IG22:
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
-       je       SHORT G_M62330_IG31
+       je       SHORT G_M62330_IG27
 						;; size=21 bbWeight=8 PerfScore 44.00
-G_M62330_IG27:
-       mov      rdi, gword ptr [rbp-0x30]
+G_M62330_IG23:
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:get_Current():System.Object:this
        call     [r11]System.Collections.IEnumerator:get_Current():System.Object:this
        mov      r15, rax
        test     r15, r15
-       je       SHORT G_M62330_IG30
+       je       SHORT G_M62330_IG26
 						;; size=25 bbWeight=4 PerfScore 23.00
-G_M62330_IG28:
+G_M62330_IG24:
        mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaType
        cmp      qword ptr [r15], rdi
-       je       SHORT G_M62330_IG30
+       je       SHORT G_M62330_IG26
 						;; size=15 bbWeight=2 PerfScore 8.50
-G_M62330_IG29:
+G_M62330_IG25:
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      r15, rax
 						;; size=18 bbWeight=1 PerfScore 3.75
-G_M62330_IG30:
+G_M62330_IG26:
        mov      rsi, r15
        mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaComplexType
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
-       je       G_M62330_IG22
+       je       G_M62330_IG18
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.SchemaCollectionCompiler:CleanupComplexType(System.Xml.Schema.XmlSchemaComplexType)
        call     [rax]System.Xml.Schema.SchemaCollectionCompiler:CleanupComplexType(System.Xml.Schema.XmlSchemaComplexType)
-       jmp      G_M62330_IG26
+       jmp      G_M62330_IG22
 						;; size=54 bbWeight=4 PerfScore 42.00
-G_M62330_IG31:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG33
-						;; size=31 bbWeight=1 PerfScore 5.75
-G_M62330_IG32:
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=16 bbWeight=0.50 PerfScore 1.75
-G_M62330_IG33:
+G_M62330_IG27:
        mov      rdi, gword ptr [rbx+0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.XmlSchema:get_Elements():System.Xml.Schema.XmlSchemaObjectTable:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Schema.XmlSchema:get_Elements():System.Xml.Schema.XmlSchemaObjectTable:this
        mov      r15, gword ptr [rax+0x10]
-       mov      r14, gword ptr [rax+0x08]
-       mov      rdi, r13
+       mov      rdi, gword ptr [rax+0x08]
+       mov      r14d, dword ptr [rdi+0x38]
+       sub      r14d, dword ptr [rdi+0x40]
+       mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
-       mov      eax, dword ptr [r14+0x38]
-       sub      eax, dword ptr [r14+0x40]
-       mov      r14d, eax
-       lea      rdi, bword ptr [r12+0x08]
+       mov      r13, rax
+       lea      rdi, bword ptr [r13+0x08]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
-       mov      dword ptr [r12+0x10], r14d
-       mov      rdi, r12
-       mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       call     [rax]System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       mov      gword ptr [rbp-0x30], rax
-						;; size=85 bbWeight=1 PerfScore 26.25
-G_M62330_IG34:
-       jmp      SHORT G_M62330_IG36
+       mov      dword ptr [r13+0x28], r14d
+       mov      rdi, 0xD1FFAB1E
+       mov      qword ptr [r13+0x20], rdi
+       mov      gword ptr [rbp-0x28], r13
+						;; size=86 bbWeight=1 PerfScore 23.75
+G_M62330_IG28:
+       jmp      SHORT G_M62330_IG30
 						;; size=2 bbWeight=1 PerfScore 2.00
-G_M62330_IG35:
+G_M62330_IG29:
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.SchemaCollectionCompiler:CleanupElement(System.Xml.Schema.XmlSchemaElement)
        call     [rax]System.Xml.Schema.SchemaCollectionCompiler:CleanupElement(System.Xml.Schema.XmlSchemaElement)
 						;; size=12 bbWeight=4 PerfScore 13.00
-G_M62330_IG36:
-       mov      rdi, gword ptr [rbp-0x30]
+G_M62330_IG30:
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
-       je       SHORT G_M62330_IG40
+       je       SHORT G_M62330_IG34
 						;; size=21 bbWeight=8 PerfScore 44.00
-G_M62330_IG37:
-       mov      rdi, gword ptr [rbp-0x30]
+G_M62330_IG31:
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:get_Current():System.Object:this
        call     [r11]System.Collections.IEnumerator:get_Current():System.Object:this
        mov      rdi, rax
        test     rdi, rdi
-       je       SHORT G_M62330_IG35
+       je       SHORT G_M62330_IG29
 						;; size=25 bbWeight=4 PerfScore 23.00
-G_M62330_IG38:
+G_M62330_IG32:
        mov      rcx, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaElement
        cmp      qword ptr [rdi], rcx
-       je       SHORT G_M62330_IG35
+       je       SHORT G_M62330_IG29
 						;; size=15 bbWeight=2 PerfScore 8.50
-G_M62330_IG39:
+G_M62330_IG33:
        mov      rsi, rax
        mov      rdi, rcx
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      rdi, rax
-       jmp      SHORT G_M62330_IG35
+       jmp      SHORT G_M62330_IG29
 						;; size=23 bbWeight=1 PerfScore 6.00
-G_M62330_IG40:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG42
-						;; size=31 bbWeight=1 PerfScore 5.75
-G_M62330_IG41:
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=16 bbWeight=0.50 PerfScore 1.75
-G_M62330_IG42:
+G_M62330_IG34:
        mov      rdi, gword ptr [rbx+0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.XmlSchema:get_Attributes():System.Xml.Schema.XmlSchemaObjectTable:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.Schema.XmlSchema:get_Attributes():System.Xml.Schema.XmlSchemaObjectTable:this
        mov      rbx, gword ptr [rax+0x10]
-       mov      r15, gword ptr [rax+0x08]
-       mov      rdi, r13
+       mov      rdi, gword ptr [rax+0x08]
+       mov      r15d, dword ptr [rdi+0x38]
+       sub      r15d, dword ptr [rdi+0x40]
+       mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaObjectTable+XSOEnumerator
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
-       mov      r13d, dword ptr [r15+0x38]
-       sub      r13d, dword ptr [r15+0x40]
        lea      rdi, bword ptr [r14+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
-       mov      dword ptr [r14+0x10], r13d
-       mov      rdi, r14
-       mov      rax, 0xD1FFAB1E      ; code for System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       call     [rax]System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:GetEnumerator():System.Collections.IEnumerator:this
-       mov      gword ptr [rbp-0x30], rax
-						;; size=80 bbWeight=1 PerfScore 26.00
-G_M62330_IG43:
-       jmp      SHORT G_M62330_IG48
+       mov      dword ptr [r14+0x28], r15d
+       mov      rdi, 0xD1FFAB1E
+       mov      qword ptr [r14+0x20], rdi
+       mov      gword ptr [rbp-0x28], r14
+						;; size=86 bbWeight=1 PerfScore 23.75
+G_M62330_IG35:
+       jmp      SHORT G_M62330_IG40
 						;; size=2 bbWeight=1 PerfScore 2.00
-G_M62330_IG44:
+G_M62330_IG36:
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      rbx, rax
 						;; size=18 bbWeight=1 PerfScore 3.75
-G_M62330_IG45:
+G_M62330_IG37:
        cmp      gword ptr [rbx+0x78], 0
-       je       SHORT G_M62330_IG47
+       je       SHORT G_M62330_IG39
 						;; size=7 bbWeight=4 PerfScore 16.00
-G_M62330_IG46:
-       mov      rsi, gword ptr [rbx+0x78]
-       xor      rdi, rdi
-       mov      gword ptr [rsi+0x60], rdi
+G_M62330_IG38:
+       mov      rax, gword ptr [rbx+0x78]
+       xor      rcx, rcx
+       mov      gword ptr [rax+0x60], rcx
 						;; size=10 bbWeight=2 PerfScore 6.50
-G_M62330_IG47:
-       xor      rsi, rsi
-       mov      gword ptr [rbx+0x88], rsi
+G_M62330_IG39:
+       xor      rax, rax
+       mov      gword ptr [rbx+0x88], rax
 						;; size=9 bbWeight=4 PerfScore 5.00
-G_M62330_IG48:
-       mov      rdi, gword ptr [rbp-0x30]
+G_M62330_IG40:
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
-       je       SHORT G_M62330_IG51
+       je       SHORT G_M62330_IG43
 						;; size=21 bbWeight=8 PerfScore 44.00
-G_M62330_IG49:
-       mov      rdi, gword ptr [rbp-0x30]
+G_M62330_IG41:
+       mov      rdi, gword ptr [rbp-0x28]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:get_Current():System.Object:this
        call     [r11]System.Collections.IEnumerator:get_Current():System.Object:this
        mov      rbx, rax
        test     rbx, rbx
-       je       SHORT G_M62330_IG45
+       je       SHORT G_M62330_IG37
 						;; size=25 bbWeight=4 PerfScore 23.00
-G_M62330_IG50:
+G_M62330_IG42:
        mov      rdi, 0xD1FFAB1E      ; System.Xml.Schema.XmlSchemaAttribute
        cmp      qword ptr [rbx], rdi
-       je       SHORT G_M62330_IG45
-       jmp      SHORT G_M62330_IG44
+       je       SHORT G_M62330_IG37
+       jmp      SHORT G_M62330_IG36
 						;; size=17 bbWeight=2 PerfScore 12.50
+G_M62330_IG43:
+       add      rsp, 16
+       pop      rbx
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=13 bbWeight=1 PerfScore 3.75
+G_M62330_IG44:
+       push     rbp
+       push     r15
+       push     r14
+       push     r13
+       push     rbx
+       sub      rsp, 16
+       mov      rbp, qword ptr [rdi]
+       mov      qword ptr [rsp], rbp
+       lea      rbp, [rbp+0x30]
+						;; size=23 bbWeight=0 PerfScore 0.00
+G_M62330_IG45:
+       add      rsp, 16
+       pop      rbx
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=13 bbWeight=0 PerfScore 0.00
+G_M62330_IG46:
+       push     rbp
+       push     r15
+       push     r14
+       push     r13
+       push     rbx
+       sub      rsp, 16
+       mov      rbp, qword ptr [rdi]
+       mov      qword ptr [rsp], rbp
+       lea      rbp, [rbp+0x30]
+						;; size=23 bbWeight=0 PerfScore 0.00
+G_M62330_IG47:
+       add      rsp, 16
+       pop      rbx
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=13 bbWeight=0 PerfScore 0.00
+G_M62330_IG48:
+       push     rbp
+       push     r15
+       push     r14
+       push     r13
+       push     rbx
+       sub      rsp, 16
+       mov      rbp, qword ptr [rdi]
+       mov      qword ptr [rsp], rbp
+       lea      rbp, [rbp+0x30]
+						;; size=23 bbWeight=0 PerfScore 0.00
+G_M62330_IG49:
+       add      rsp, 16
+       pop      rbx
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=13 bbWeight=0 PerfScore 0.00
+G_M62330_IG50:
+       push     rbp
+       push     r15
+       push     r14
+       push     r13
+       push     rbx
+       sub      rsp, 16
+       mov      rbp, qword ptr [rdi]
+       mov      qword ptr [rsp], rbp
+       lea      rbp, [rbp+0x30]
+						;; size=23 bbWeight=0 PerfScore 0.00
 G_M62330_IG51:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG53
-						;; size=31 bbWeight=1 PerfScore 5.75
+       add      rsp, 16
+       pop      rbx
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=13 bbWeight=0 PerfScore 0.00
 G_M62330_IG52:
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=16 bbWeight=0.50 PerfScore 1.75
+       push     rbp
+       push     r15
+       push     r14
+       push     r13
+       push     rbx
+       sub      rsp, 16
+       mov      rbp, qword ptr [rdi]
+       mov      qword ptr [rsp], rbp
+       lea      rbp, [rbp+0x30]
+						;; size=23 bbWeight=0 PerfScore 0.00
 G_M62330_IG53:
-       nop      
-						;; size=1 bbWeight=1 PerfScore 0.25
-G_M62330_IG54:
-       add      rsp, 24
+       add      rsp, 16
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
-G_M62330_IG55:
-       push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     r12
-       push     rbx
-       push     rax
-       mov      rbp, qword ptr [rdi]
-       mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x40]
-						;; size=22 bbWeight=0 PerfScore 0.00
-G_M62330_IG56:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG57
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=47 bbWeight=0 PerfScore 0.00
-G_M62330_IG57:
-       nop      
-						;; size=1 bbWeight=0 PerfScore 0.00
-G_M62330_IG58:
-       add      rsp, 8
-       pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       ret      
-						;; size=15 bbWeight=0 PerfScore 0.00
-G_M62330_IG59:
-       push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     r12
-       push     rbx
-       push     rax
-       mov      rbp, qword ptr [rdi]
-       mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x40]
-						;; size=22 bbWeight=0 PerfScore 0.00
-G_M62330_IG60:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG61
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=47 bbWeight=0 PerfScore 0.00
-G_M62330_IG61:
-       nop      
-						;; size=1 bbWeight=0 PerfScore 0.00
-G_M62330_IG62:
-       add      rsp, 8
-       pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       ret      
-						;; size=15 bbWeight=0 PerfScore 0.00
-G_M62330_IG63:
-       push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     r12
-       push     rbx
-       push     rax
-       mov      rbp, qword ptr [rdi]
-       mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x40]
-						;; size=22 bbWeight=0 PerfScore 0.00
-G_M62330_IG64:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG65
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=47 bbWeight=0 PerfScore 0.00
-G_M62330_IG65:
-       nop      
-						;; size=1 bbWeight=0 PerfScore 0.00
-G_M62330_IG66:
-       add      rsp, 8
-       pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       ret      
-						;; size=15 bbWeight=0 PerfScore 0.00
-G_M62330_IG67:
-       push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     r12
-       push     rbx
-       push     rax
-       mov      rbp, qword ptr [rdi]
-       mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x40]
-						;; size=22 bbWeight=0 PerfScore 0.00
-G_M62330_IG68:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG69
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=47 bbWeight=0 PerfScore 0.00
-G_M62330_IG69:
-       nop      
-						;; size=1 bbWeight=0 PerfScore 0.00
-G_M62330_IG70:
-       add      rsp, 8
-       pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       ret      
-						;; size=15 bbWeight=0 PerfScore 0.00
-G_M62330_IG71:
-       push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     r12
-       push     rbx
-       push     rax
-       mov      rbp, qword ptr [rdi]
-       mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x40]
-						;; size=22 bbWeight=0 PerfScore 0.00
-G_M62330_IG72:
-       mov      rsi, gword ptr [rbp-0x30]
-       mov      rdi, 0xD1FFAB1E      ; System.IDisposable
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
-       call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
-       test     rax, rax
-       je       SHORT G_M62330_IG73
-       mov      rdi, rax
-       mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
-       call     [r11]System.IDisposable:Dispose():this
-						;; size=47 bbWeight=0 PerfScore 0.00
-G_M62330_IG73:
-       nop      
-						;; size=1 bbWeight=0 PerfScore 0.00
-G_M62330_IG74:
-       add      rsp, 8
-       pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       ret      
-						;; size=15 bbWeight=0 PerfScore 0.00
+						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1714, prolog size 26, PerfScore 738.25, instruction count 440, allocated bytes for code 1714 (MethodHash=3d230c85) for method System.Xml.Schema.SchemaCollectionCompiler:Cleanup():this (FullOpts)
+; Total bytes of code 1229, prolog size 24, PerfScore 686.50, instruction count 322, allocated bytes for code 1229 (MethodHash=3d230c85) for method System.Xml.Schema.SchemaCollectionCompiler:Cleanup():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/29f7c64533ac1f38494fbfab361ab505

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 21, 2025

@hez2010

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