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

[X64] MihaZupan/runtime/span-startsWith #409

Open
MihuBot opened this issue Jun 14, 2024 · 3 comments
Open

[X64] MihaZupan/runtime/span-startsWith #409

MihuBot opened this issue Jun 14, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jun 14, 2024

Job completed in 19 minutes.
https://github.com/MihaZupan/runtime/tree/span-startsWith

Diffs

Diffs
Found 292 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 40767658
Total bytes of diff: 40771439
Total bytes of delta: 3781 (0.01 % of base)
Total relative delta: 6.91
    diff is a regression.
    relative diff is a regression.


Total byte diff includes 648 bytes from reconciling methods
	Base had    3 unique methods,      655 unique bytes
	Diff had   15 unique methods,     1303 unique bytes

Top file regressions (bytes):
        1874 : System.Data.Common.dasm (0.11 % of base)
         583 : System.Private.CoreLib.dasm (0.01 % of base)
         530 : System.Configuration.ConfigurationManager.dasm (0.13 % of base)
         353 : System.Memory.dasm (0.12 % of base)
         256 : System.Net.Primitives.dasm (0.28 % of base)
         215 : System.Private.Xml.dasm (0.01 % of base)
          96 : System.Private.DataContractSerialization.dasm (0.01 % of base)
          13 : System.IO.Pipes.dasm (0.03 % of base)
           5 : System.Diagnostics.Process.dasm (0.01 % of base)

Top file improvements (bytes):
         -52 : Microsoft.VisualBasic.Core.dasm (-0.01 % of base)
         -21 : Microsoft.Extensions.FileProviders.Physical.dasm (-0.10 % of base)
         -14 : Microsoft.Extensions.Hosting.dasm (-0.02 % of base)
         -14 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.05 % of base)
         -13 : System.Diagnostics.DiagnosticSource.dasm (-0.01 % of base)
          -8 : System.Net.Mail.dasm (-0.00 % of base)
          -8 : Microsoft.Extensions.Configuration.FileExtensions.dasm (-0.16 % of base)
          -8 : System.ComponentModel.TypeConverter.dasm (-0.00 % of base)
          -6 : System.Runtime.InteropServices.dasm (-0.02 % of base)

18 total files with Code Size differences (9 improved, 9 regressed), 240 unchanged.

Top method regressions (bytes):
         219 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<Trim>g__TrimFallback|225_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts) (0 base, 1 diff methods)
         219 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<Trim>g__TrimFallback|234_0(System.Span`1[ushort]):System.Span`1[ushort] (FullOpts) (0 base, 1 diff methods)
         217 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<TrimUtf8>g__TrimFallback|239_0(System.ReadOnlySpan`1[ubyte]):System.ReadOnlySpan`1[ubyte] (FullOpts) (0 base, 1 diff methods)
         146 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float]):ubyte (FullOpts) (0 base, 1 diff methods)
         137 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float]):ubyte (FullOpts) (0 base, 1 diff methods)
         130 (55.79 % of base) : System.Net.Primitives.dasm - System.Net.Cookie:Equals(System.Object):ubyte:this (FullOpts)
         126 (80.77 % of base) : System.Net.Primitives.dasm - System.Net.CookieComparer:Equals(System.Net.Cookie,System.Net.Cookie):ubyte (FullOpts)
          98 (6.53 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:DecryptConfigSection(System.Configuration.ConfigXmlReader,System.Configuration.ProtectedConfigurationProvider):System.Configuration.ConfigXmlReader:this (FullOpts)
          88 (4.31 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:TryReadToSlow(byref,int,int,int,ubyte):ubyte:this (FullOpts) (2 methods)
          88 (4.31 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:TryReadToSlow(byref,long,long,int,ubyte):ubyte:this (FullOpts) (2 methods)
          86 (8.42 % of base) : System.Data.Common.dasm - System.Data.DataSet:System.Xml.Serialization.IXmlSerializable.GetSchema():System.Xml.Schema.XmlSchema:this (FullOpts)
          86 (9.32 % of base) : System.Data.Common.dasm - System.Data.DataTable:GetSchema():System.Xml.Schema.XmlSchema:this (FullOpts)
          86 (36.13 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.IO.Stream,System.Xml.XmlNameTable):this (FullOpts)
          86 (32.09 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.IO.Stream):this (FullOpts)
          86 (18.11 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathDocument:.ctor(System.IO.Stream):this (FullOpts)
          84 (39.25 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream):this (FullOpts)
          83 (13.20 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          83 (23.92 % of base) : System.Data.Common.dasm - System.Data.DataSet:InferXmlSchema(System.IO.Stream,System.String[]):this (FullOpts)
          83 (17.51 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.IO.Stream,int):int:this (FullOpts)
          83 (23.45 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.IO.Stream):int:this (FullOpts)
          83 (24.78 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXmlSchema(System.IO.Stream):this (FullOpts)
          83 (23.45 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXml(System.IO.Stream):int:this (FullOpts)
          83 (24.78 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXmlSchema(System.IO.Stream):this (FullOpts)
          83 (24.85 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchema:Read(System.IO.Stream,System.Xml.Schema.ValidationEventHandler):System.Xml.Schema.XmlSchema (FullOpts)
          83 (20.34 % of base) : System.Private.Xml.dasm - System.Xml.XmlDocument:Load(System.IO.Stream):this (FullOpts)
          81 (5.26 % of base) : System.Data.Common.dasm - System.Data.DataTable:DeserializeDataTable(System.Runtime.Serialization.SerializationInfo,ubyte,int):this (FullOpts)
          78 (42.39 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream,System.Xml.XmlNameTable):this (FullOpts)
          70 (3.39 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:TryReadToSlow(byref,ubyte,ubyte,int,ubyte):ubyte:this (FullOpts) (2 methods)
          65 (3.05 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToSlow(byref,short,short,int,ubyte):ubyte:this (FullOpts) (2 methods)
          64 (35.16 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader):this (FullOpts)
          60 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[double](System.ReadOnlySpan`1[double],double):ubyte (FullOpts) (0 base, 1 diff methods)
          59 (3.50 % of base) : System.Data.Common.dasm - System.Data.DataSet:DeserializeDataSetSchema(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,int,int):this (FullOpts)
          58 (38.16 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader,System.Xml.XmlNameTable):this (FullOpts)
          56 (3.66 % of base) : System.Data.Common.dasm - System.Data.DataViewManager:set_DataViewSettingCollectionString(System.String):this (FullOpts)
          55 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[double](System.ReadOnlySpan`1[double],double):ubyte (FullOpts) (0 base, 1 diff methods)
          54 (1.78 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaImporter:Import(byref):this (FullOpts)
          49 (2.65 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.AppSettingsSection:DeserializeElement(System.Xml.XmlReader,ubyte):this (FullOpts)
          46 (4.41 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:FindSectionRecursive(System.String[],int,System.Configuration.XmlUtil,byref):System.Configuration.ConfigXmlReader (FullOpts)
          46 (6.41 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:GetSectionXmlReader(System.String[],System.Configuration.SectionInput):System.Configuration.ConfigXmlReader:this (FullOpts)
          46 (3.81 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:LoadConfigSource(System.String,System.Configuration.SectionXmlInfo):System.Configuration.ConfigXmlReader:this (FullOpts)
          46 (12.20 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigXmlReader:.ctor(System.String,System.String,int,ubyte):this (FullOpts)
          46 (12.30 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigXmlReader:.ctor(System.String,System.String,int):this (FullOpts)
          46 (11.44 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigXmlReader:Clone():System.Configuration.ConfigXmlReader:this (FullOpts)
          45 (8.15 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigXmlDocument:LoadSingleElement(System.String,System.Xml.XmlTextReader):this (FullOpts)
          45 (11.78 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemas:get_XmlSchema():System.Xml.Schema.XmlSchema (FullOpts)
          45 (9.87 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathDocument:.ctor(System.IO.TextReader):this (FullOpts)
          43 (12.95 % of base) : System.Data.Common.dasm - System.Data.DataSet:InferXmlSchema(System.IO.TextReader,System.String[]):this (FullOpts)
          43 (9.05 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.IO.TextReader,int):int:this (FullOpts)
          43 (11.08 % of base) : System.Private.Xml.dasm - System.Xml.XmlDocument:Load(System.IO.TextReader):this (FullOpts)
          43 (9.98 % of base) : System.Private.Xml.dasm - System.Xml.XmlDocument:LoadXml(System.String):this (FullOpts)
          42 (4.52 % of base) : System.Data.Common.dasm - System.Data.Common.ObjectStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (7.49 % of base) : System.Data.Common.dasm - System.Data.Common.SqlBinaryStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (6.34 % of base) : System.Data.Common.dasm - System.Data.Common.SqlBooleanStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.20 % of base) : System.Data.Common.dasm - System.Data.Common.SqlByteStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.95 % of base) : System.Data.Common.dasm - System.Data.Common.SqlCharsStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (7.51 % of base) : System.Data.Common.dasm - System.Data.Common.SqlDateTimeStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (7.42 % of base) : System.Data.Common.dasm - System.Data.Common.SqlDecimalStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (6.35 % of base) : System.Data.Common.dasm - System.Data.Common.SqlDoubleStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (7.42 % of base) : System.Data.Common.dasm - System.Data.Common.SqlGuidStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.22 % of base) : System.Data.Common.dasm - System.Data.Common.SqlInt16Storage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.20 % of base) : System.Data.Common.dasm - System.Data.Common.SqlInt32Storage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.17 % of base) : System.Data.Common.dasm - System.Data.Common.SqlInt64Storage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (7.57 % of base) : System.Data.Common.dasm - System.Data.Common.SqlMoneyStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (6.40 % of base) : System.Data.Common.dasm - System.Data.Common.SqlSingleStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (6.19 % of base) : System.Data.Common.dasm - System.Data.Common.SqlStringStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.96 % of base) : System.Data.Common.dasm - System.Data.Common.SqlUdtStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.72 % of base) : System.Data.Common.dasm - System.Data.DataSet:DeserializeDataSetData(System.Runtime.Serialization.SerializationInfo,int):this (FullOpts)
          42 (12.35 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.IO.TextReader):int:this (FullOpts)
          42 (13.08 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXmlSchema(System.IO.TextReader):this (FullOpts)
          42 (12.35 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXml(System.IO.TextReader):int:this (FullOpts)
          42 (13.08 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXmlSchema(System.IO.TextReader):this (FullOpts)
          42 (8.47 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportSerializationSchema():this (FullOpts)
          40 (6.57 % of base) : System.Data.Common.dasm - System.Data.Common.SqlBytesStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          40 (18.10 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.IO.TextReader,System.Xml.XmlNameTable):this (FullOpts)
          40 (15.94 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.IO.TextReader):this (FullOpts)
          38 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[short](System.ReadOnlySpan`1[short],short):ubyte (FullOpts) (0 base, 1 diff methods)
          37 (11.56 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchema:Read(System.IO.TextReader,System.Xml.Schema.ValidationEventHandler):System.Xml.Schema.XmlSchema (FullOpts)
          37 (8.37 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializer:Deserialize(System.IO.TextReader):System.Object:this (FullOpts)
          36 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[ubyte](System.ReadOnlySpan`1[ubyte],ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          35 (2.91 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:SetRawXml(System.Configuration.ConfigurationSection,System.String):this (FullOpts)
          33 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[short](System.ReadOnlySpan`1[short],short):ubyte (FullOpts) (0 base, 1 diff methods)
          32 (1.40 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:TryReadToSlow(byref,double,double,int,ubyte):ubyte:this (FullOpts) (2 methods)
          31 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[long](System.ReadOnlySpan`1[long],long):ubyte (FullOpts) (0 base, 1 diff methods)
          31 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[ubyte](System.ReadOnlySpan`1[ubyte],ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          30 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[int](System.ReadOnlySpan`1[int],int):ubyte (FullOpts) (0 base, 1 diff methods)
          26 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[long](System.ReadOnlySpan`1[long],long):ubyte (FullOpts) (0 base, 1 diff methods)
          25 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[int](System.ReadOnlySpan`1[int],int):ubyte (FullOpts) (0 base, 1 diff methods)
          13 (1.52 % of base) : System.IO.Pipes.dasm - System.IO.Pipes.PipeStream:GetPipePath(System.String,System.String):System.String (FullOpts)
          10 (0.38 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:TryReadToSlow(byref,System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],int,ubyte):ubyte:this (FullOpts) (2 methods)
           3 (0.71 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:ResolveExecutableForShellExecute(System.String,System.String):System.String (FullOpts)
           2 (0.42 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.PhysicalFileProvider:GetFileInfo(System.String):Microsoft.Extensions.FileProviders.IFileInfo:this (FullOpts)
           2 (5.00 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.Internal.InternalConfigHost:StaticIsFile(System.String):ubyte (FullOpts)
           2 (5.00 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.Internal.InternalConfigHost:System.Configuration.Internal.IInternalConfigHost.IsFile(System.String):ubyte:this (FullOpts)
           2 (0.75 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.UpdateConfigHost:IsFile(System.String):ubyte:this (FullOpts)
           2 (0.79 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:ResolvePath(System.String):System.String (FullOpts)
           2 (5.00 % of base) : System.Private.CoreLib.dasm - System.IO.Path:IsPathRooted(System.String):ubyte (FullOpts)

Top method improvements (bytes):
        -219 (-100.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<Trim>g__TrimFallback|223_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts) (1 base, 0 diff methods)
        -219 (-100.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<Trim>g__TrimFallback|232_0(System.Span`1[ushort]):System.Span`1[ushort] (FullOpts) (1 base, 0 diff methods)
        -217 (-100.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<TrimUtf8>g__TrimFallback|237_0(System.ReadOnlySpan`1[ubyte]):System.ReadOnlySpan`1[ubyte] (FullOpts) (1 base, 0 diff methods)
        -126 (-16.01 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream,ubyte[],int,System.Xml.XmlReaderSettings,System.Uri,System.String,System.Xml.XmlParserContext,ubyte):this (FullOpts)
        -121 (-32.18 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String,System.Xml.XmlParserContext):this (FullOpts)
         -90 (-23.75 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.String,System.IO.TextReader):this (FullOpts)
         -83 (-10.77 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.Compiler:ResolveDocument(System.Uri):System.Xml.Xsl.XsltOld.NavigatorInput:this (FullOpts)
         -83 (-9.81 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.Processor:GetNavigator(System.Uri):System.Xml.XPath.XPathNavigator:this (FullOpts)
         -82 (-19.11 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.String,System.IO.Stream):this (FullOpts)
         -54 (-21.26 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.String,System.IO.TextReader,System.Xml.XmlNameTable):this (FullOpts)
         -53 (-17.21 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.String,System.IO.Stream,System.Xml.XmlNameTable):this (FullOpts)
         -50 (-14.53 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.String,System.IO.Stream):this (FullOpts)
         -50 (-17.30 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.String,System.IO.TextReader):this (FullOpts)
         -41 (-3.28 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IOUtils:FindFirstFile(System.Reflection.Assembly,System.String,int):System.String (FullOpts)
         -31 (-13.96 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver) (FullOpts)
         -28 (-1.40 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigPaths:.ctor(System.String,ubyte):this (FullOpts)
         -16 (-0.86 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.TraceUtils:GetRuntimeObject(System.String,System.Type,System.String):System.Object (FullOpts)
         -16 (-2.24 % of base) : System.Private.CoreLib.dasm - System.IO.DirectoryInfo:CreateSubdirectory(System.String):System.IO.DirectoryInfo:this (FullOpts)
         -15 (-20.55 % of base) : System.Private.CoreLib.dasm - System.IO.Path:GetPathRoot(System.String):System.String (FullOpts)
         -14 (-1.52 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo:.ctor(System.String,System.Collections.Generic.IEnumerable`1[System.String],ubyte):this (FullOpts)
         -14 (-12.50 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.HostBuilder:ResolveContentRootPath(System.String,System.String):System.String (FullOpts)
         -13 (-8.23 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.CounterAggregator:Update(double):this (FullOpts)
         -12 (-2.64 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:NormalizeConfigSource(System.String,System.Configuration.Internal.IConfigErrorInfo):System.String (FullOpts)
         -12 (-1.37 % of base) : System.Private.CoreLib.dasm - System.IO.Path:Combine(System.ReadOnlySpan`1[System.String]):System.String (FullOpts)
         -11 (-1.84 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.PhysicalFileProvider:GetDirectoryContents(System.String):Microsoft.Extensions.FileProviders.IDirectoryContents:this (FullOpts)
          -8 (-2.05 % of base) : Microsoft.Extensions.Configuration.FileExtensions.dasm - Microsoft.Extensions.Configuration.FileConfigurationSource:ResolveFileProvider():this (FullOpts)
          -8 (-13.56 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.SyntaxCheck:CheckRootedPath(System.String):ubyte (FullOpts)
          -8 (-0.85 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpClient:GetFileMailWriter(System.String):System.Net.Mail.MailWriter:this (FullOpts)
          -6 (-2.55 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher:CreateFileChangeToken(System.String):Microsoft.Extensions.Primitives.IChangeToken:this (FullOpts)
          -6 (-1.66 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.PhysicalFileProvider:.ctor(System.String,int):this (FullOpts)
          -6 (-4.17 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.FileSystem:IsRoot(System.String):ubyte (FullOpts)
          -6 (-1.72 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.Internal.InternalConfigHost:StaticGetStreamNameForConfigSource(System.String,System.String):System.String (FullOpts)
          -6 (-0.61 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerableFactory:NormalizeInputs(byref,byref,int):ubyte (FullOpts)
          -6 (-3.87 % of base) : System.Private.CoreLib.dasm - System.IO.Path:GetFullPathInternal(System.String):System.String (FullOpts)
          -6 (-2.78 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.RuntimeEnvironment:GetRuntimeDirectory():System.String (FullOpts)
          -6 (-0.69 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:TryGetTimeZoneFromLocalMachineCore(System.String,byref,byref):int (FullOpts)
          -5 (-3.40 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.FileSystem:RemoveEndingSeparator(System.String):System.String (FullOpts)
          -3 (-11.11 % of base) : System.Private.CoreLib.dasm - System.IO.FileStatus:IsNameHidden(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -3 (-11.11 % of base) : System.Private.CoreLib.dasm - System.IO.Path:IsPathRooted(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)

Top method regressions (percentages):
         219 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<Trim>g__TrimFallback|225_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts) (0 base, 1 diff methods)
         219 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<Trim>g__TrimFallback|234_0(System.Span`1[ushort]):System.Span`1[ushort] (FullOpts) (0 base, 1 diff methods)
         217 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<TrimUtf8>g__TrimFallback|239_0(System.ReadOnlySpan`1[ubyte]):System.ReadOnlySpan`1[ubyte] (FullOpts) (0 base, 1 diff methods)
          60 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[double](System.ReadOnlySpan`1[double],double):ubyte (FullOpts) (0 base, 1 diff methods)
          30 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[int](System.ReadOnlySpan`1[int],int):ubyte (FullOpts) (0 base, 1 diff methods)
          31 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[long](System.ReadOnlySpan`1[long],long):ubyte (FullOpts) (0 base, 1 diff methods)
          38 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[short](System.ReadOnlySpan`1[short],short):ubyte (FullOpts) (0 base, 1 diff methods)
         146 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float]):ubyte (FullOpts) (0 base, 1 diff methods)
          36 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:EndsWith[ubyte](System.ReadOnlySpan`1[ubyte],ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          55 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[double](System.ReadOnlySpan`1[double],double):ubyte (FullOpts) (0 base, 1 diff methods)
          25 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[int](System.ReadOnlySpan`1[int],int):ubyte (FullOpts) (0 base, 1 diff methods)
          26 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[long](System.ReadOnlySpan`1[long],long):ubyte (FullOpts) (0 base, 1 diff methods)
          33 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[short](System.ReadOnlySpan`1[short],short):ubyte (FullOpts) (0 base, 1 diff methods)
         137 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float]):ubyte (FullOpts) (0 base, 1 diff methods)
          31 (Infinity of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:StartsWith[ubyte](System.ReadOnlySpan`1[ubyte],ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
         126 (80.77 % of base) : System.Net.Primitives.dasm - System.Net.CookieComparer:Equals(System.Net.Cookie,System.Net.Cookie):ubyte (FullOpts)
         130 (55.79 % of base) : System.Net.Primitives.dasm - System.Net.Cookie:Equals(System.Object):ubyte:this (FullOpts)
          78 (42.39 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream,System.Xml.XmlNameTable):this (FullOpts)
          84 (39.25 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream):this (FullOpts)
          58 (38.16 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader,System.Xml.XmlNameTable):this (FullOpts)
          86 (36.13 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.IO.Stream,System.Xml.XmlNameTable):this (FullOpts)
          64 (35.16 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader):this (FullOpts)
          86 (32.09 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.IO.Stream):this (FullOpts)
          83 (24.85 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchema:Read(System.IO.Stream,System.Xml.Schema.ValidationEventHandler):System.Xml.Schema.XmlSchema (FullOpts)
          83 (24.78 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXmlSchema(System.IO.Stream):this (FullOpts)
          83 (24.78 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXmlSchema(System.IO.Stream):this (FullOpts)
          83 (23.92 % of base) : System.Data.Common.dasm - System.Data.DataSet:InferXmlSchema(System.IO.Stream,System.String[]):this (FullOpts)
          83 (23.45 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.IO.Stream):int:this (FullOpts)
          83 (23.45 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXml(System.IO.Stream):int:this (FullOpts)
          83 (20.34 % of base) : System.Private.Xml.dasm - System.Xml.XmlDocument:Load(System.IO.Stream):this (FullOpts)
          86 (18.11 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathDocument:.ctor(System.IO.Stream):this (FullOpts)
          40 (18.10 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.IO.TextReader,System.Xml.XmlNameTable):this (FullOpts)
          83 (17.51 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.IO.Stream,int):int:this (FullOpts)
          40 (15.94 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.IO.TextReader):this (FullOpts)
          83 (13.20 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.XmlUtil:.ctor(System.IO.Stream,System.String,ubyte,System.Configuration.ConfigurationSchemaErrors):this (FullOpts)
          42 (13.08 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXmlSchema(System.IO.TextReader):this (FullOpts)
          42 (13.08 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXmlSchema(System.IO.TextReader):this (FullOpts)
          43 (12.95 % of base) : System.Data.Common.dasm - System.Data.DataSet:InferXmlSchema(System.IO.TextReader,System.String[]):this (FullOpts)
          42 (12.35 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.IO.TextReader):int:this (FullOpts)
          42 (12.35 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXml(System.IO.TextReader):int:this (FullOpts)
          46 (12.30 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigXmlReader:.ctor(System.String,System.String,int):this (FullOpts)
          46 (12.20 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigXmlReader:.ctor(System.String,System.String,int,ubyte):this (FullOpts)
          45 (11.78 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemas:get_XmlSchema():System.Xml.Schema.XmlSchema (FullOpts)
          37 (11.56 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchema:Read(System.IO.TextReader,System.Xml.Schema.ValidationEventHandler):System.Xml.Schema.XmlSchema (FullOpts)
          46 (11.44 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigXmlReader:Clone():System.Configuration.ConfigXmlReader:this (FullOpts)
          43 (11.08 % of base) : System.Private.Xml.dasm - System.Xml.XmlDocument:Load(System.IO.TextReader):this (FullOpts)
          43 (9.98 % of base) : System.Private.Xml.dasm - System.Xml.XmlDocument:LoadXml(System.String):this (FullOpts)
          45 (9.87 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathDocument:.ctor(System.IO.TextReader):this (FullOpts)
          86 (9.32 % of base) : System.Data.Common.dasm - System.Data.DataTable:GetSchema():System.Xml.Schema.XmlSchema:this (FullOpts)
          43 (9.05 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.IO.TextReader,int):int:this (FullOpts)
          42 (8.47 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportSerializationSchema():this (FullOpts)
          86 (8.42 % of base) : System.Data.Common.dasm - System.Data.DataSet:System.Xml.Serialization.IXmlSerializable.GetSchema():System.Xml.Schema.XmlSchema:this (FullOpts)
          37 (8.37 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializer:Deserialize(System.IO.TextReader):System.Object:this (FullOpts)
          45 (8.15 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigXmlDocument:LoadSingleElement(System.String,System.Xml.XmlTextReader):this (FullOpts)
          42 (7.57 % of base) : System.Data.Common.dasm - System.Data.Common.SqlMoneyStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (7.51 % of base) : System.Data.Common.dasm - System.Data.Common.SqlDateTimeStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (7.49 % of base) : System.Data.Common.dasm - System.Data.Common.SqlBinaryStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (7.42 % of base) : System.Data.Common.dasm - System.Data.Common.SqlDecimalStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (7.42 % of base) : System.Data.Common.dasm - System.Data.Common.SqlGuidStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          40 (6.57 % of base) : System.Data.Common.dasm - System.Data.Common.SqlBytesStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          98 (6.53 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:DecryptConfigSection(System.Configuration.ConfigXmlReader,System.Configuration.ProtectedConfigurationProvider):System.Configuration.ConfigXmlReader:this (FullOpts)
          46 (6.41 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:GetSectionXmlReader(System.String[],System.Configuration.SectionInput):System.Configuration.ConfigXmlReader:this (FullOpts)
          42 (6.40 % of base) : System.Data.Common.dasm - System.Data.Common.SqlSingleStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (6.35 % of base) : System.Data.Common.dasm - System.Data.Common.SqlDoubleStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (6.34 % of base) : System.Data.Common.dasm - System.Data.Common.SqlBooleanStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (6.19 % of base) : System.Data.Common.dasm - System.Data.Common.SqlStringStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.96 % of base) : System.Data.Common.dasm - System.Data.Common.SqlUdtStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.95 % of base) : System.Data.Common.dasm - System.Data.Common.SqlCharsStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.72 % of base) : System.Data.Common.dasm - System.Data.DataSet:DeserializeDataSetData(System.Runtime.Serialization.SerializationInfo,int):this (FullOpts)
          81 (5.26 % of base) : System.Data.Common.dasm - System.Data.DataTable:DeserializeDataTable(System.Runtime.Serialization.SerializationInfo,ubyte,int):this (FullOpts)
          42 (5.22 % of base) : System.Data.Common.dasm - System.Data.Common.SqlInt16Storage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.20 % of base) : System.Data.Common.dasm - System.Data.Common.SqlByteStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.20 % of base) : System.Data.Common.dasm - System.Data.Common.SqlInt32Storage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          42 (5.17 % of base) : System.Data.Common.dasm - System.Data.Common.SqlInt64Storage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
           2 (5.00 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.Internal.InternalConfigHost:StaticIsFile(System.String):ubyte (FullOpts)
           2 (5.00 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.Internal.InternalConfigHost:System.Configuration.Internal.IInternalConfigHost.IsFile(System.String):ubyte:this (FullOpts)
           2 (5.00 % of base) : System.Private.CoreLib.dasm - System.IO.Path:IsPathRooted(System.String):ubyte (FullOpts)
          42 (4.52 % of base) : System.Data.Common.dasm - System.Data.Common.ObjectStorage:ConvertXmlToObject(System.String):System.Object:this (FullOpts)
          46 (4.41 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:FindSectionRecursive(System.String[],int,System.Configuration.XmlUtil,byref):System.Configuration.ConfigXmlReader (FullOpts)
          88 (4.31 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:TryReadToSlow(byref,int,int,int,ubyte):ubyte:this (FullOpts) (2 methods)
          88 (4.31 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:TryReadToSlow(byref,long,long,int,ubyte):ubyte:this (FullOpts) (2 methods)
          46 (3.81 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:LoadConfigSource(System.String,System.Configuration.SectionXmlInfo):System.Configuration.ConfigXmlReader:this (FullOpts)
          56 (3.66 % of base) : System.Data.Common.dasm - System.Data.DataViewManager:set_DataViewSettingCollectionString(System.String):this (FullOpts)
          59 (3.50 % of base) : System.Data.Common.dasm - System.Data.DataSet:DeserializeDataSetSchema(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,int,int):this (FullOpts)
          70 (3.39 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:TryReadToSlow(byref,ubyte,ubyte,int,ubyte):ubyte:this (FullOpts) (2 methods)
          65 (3.05 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToSlow(byref,short,short,int,ubyte):ubyte:this (FullOpts) (2 methods)
          35 (2.91 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:SetRawXml(System.Configuration.ConfigurationSection,System.String):this (FullOpts)
          49 (2.65 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.AppSettingsSection:DeserializeElement(System.Xml.XmlReader,ubyte):this (FullOpts)
          54 (1.78 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaImporter:Import(byref):this (FullOpts)
          13 (1.52 % of base) : System.IO.Pipes.dasm - System.IO.Pipes.PipeStream:GetPipePath(System.String,System.String):System.String (FullOpts)
          32 (1.40 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:TryReadToSlow(byref,double,double,int,ubyte):ubyte:this (FullOpts) (2 methods)
           2 (0.79 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:ResolvePath(System.String):System.String (FullOpts)
           2 (0.75 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.UpdateConfigHost:IsFile(System.String):ubyte:this (FullOpts)
           3 (0.71 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:ResolveExecutableForShellExecute(System.String,System.String):System.String (FullOpts)
           2 (0.42 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.PhysicalFileProvider:GetFileInfo(System.String):Microsoft.Extensions.FileProviders.IFileInfo:this (FullOpts)
          10 (0.38 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:TryReadToSlow(byref,System.Numerics.Vector`1[float],System.Numerics.Vector`1[float],int,ubyte):ubyte:this (FullOpts) (2 methods)

Top method improvements (percentages):
        -219 (-100.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<Trim>g__TrimFallback|223_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort] (FullOpts) (1 base, 0 diff methods)
        -219 (-100.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<Trim>g__TrimFallback|232_0(System.Span`1[ushort]):System.Span`1[ushort] (FullOpts) (1 base, 0 diff methods)
        -217 (-100.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:<TrimUtf8>g__TrimFallback|237_0(System.ReadOnlySpan`1[ubyte]):System.ReadOnlySpan`1[ubyte] (FullOpts) (1 base, 0 diff methods)
        -121 (-32.18 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String,System.Xml.XmlParserContext):this (FullOpts)
         -90 (-23.75 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.String,System.IO.TextReader):this (FullOpts)
         -54 (-21.26 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.String,System.IO.TextReader,System.Xml.XmlNameTable):this (FullOpts)
         -15 (-20.55 % of base) : System.Private.CoreLib.dasm - System.IO.Path:GetPathRoot(System.String):System.String (FullOpts)
         -82 (-19.11 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReader:.ctor(System.String,System.IO.Stream):this (FullOpts)
         -50 (-17.30 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.String,System.IO.TextReader):this (FullOpts)
         -53 (-17.21 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.String,System.IO.Stream,System.Xml.XmlNameTable):this (FullOpts)
        -126 (-16.01 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream,ubyte[],int,System.Xml.XmlReaderSettings,System.Uri,System.String,System.Xml.XmlParserContext,ubyte):this (FullOpts)
         -50 (-14.53 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:.ctor(System.String,System.IO.Stream):this (FullOpts)
         -31 (-13.96 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver) (FullOpts)
          -8 (-13.56 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.SyntaxCheck:CheckRootedPath(System.String):ubyte (FullOpts)
         -14 (-12.50 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.HostBuilder:ResolveContentRootPath(System.String,System.String):System.String (FullOpts)
          -3 (-11.11 % of base) : System.Private.CoreLib.dasm - System.IO.FileStatus:IsNameHidden(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -3 (-11.11 % of base) : System.Private.CoreLib.dasm - System.IO.Path:IsPathRooted(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -83 (-10.77 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.Compiler:ResolveDocument(System.Uri):System.Xml.Xsl.XsltOld.NavigatorInput:this (FullOpts)
         -83 (-9.81 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.Processor:GetNavigator(System.Uri):System.Xml.XPath.XPathNavigator:this (FullOpts)
         -13 (-8.23 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.CounterAggregator:Update(double):this (FullOpts)
          -6 (-4.17 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.FileSystem:IsRoot(System.String):ubyte (FullOpts)
          -6 (-3.87 % of base) : System.Private.CoreLib.dasm - System.IO.Path:GetFullPathInternal(System.String):System.String (FullOpts)
          -5 (-3.40 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.FileSystem:RemoveEndingSeparator(System.String):System.String (FullOpts)
         -41 (-3.28 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IOUtils:FindFirstFile(System.Reflection.Assembly,System.String,int):System.String (FullOpts)
          -6 (-2.78 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.RuntimeEnvironment:GetRuntimeDirectory():System.String (FullOpts)
         -12 (-2.64 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:NormalizeConfigSource(System.String,System.Configuration.Internal.IConfigErrorInfo):System.String (FullOpts)
          -6 (-2.55 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher:CreateFileChangeToken(System.String):Microsoft.Extensions.Primitives.IChangeToken:this (FullOpts)
         -16 (-2.24 % of base) : System.Private.CoreLib.dasm - System.IO.DirectoryInfo:CreateSubdirectory(System.String):System.IO.DirectoryInfo:this (FullOpts)
          -8 (-2.05 % of base) : Microsoft.Extensions.Configuration.FileExtensions.dasm - Microsoft.Extensions.Configuration.FileConfigurationSource:ResolveFileProvider():this (FullOpts)
         -11 (-1.84 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.PhysicalFileProvider:GetDirectoryContents(System.String):Microsoft.Extensions.FileProviders.IDirectoryContents:this (FullOpts)
          -6 (-1.72 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.Internal.InternalConfigHost:StaticGetStreamNameForConfigSource(System.String,System.String):System.String (FullOpts)
          -6 (-1.66 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.PhysicalFileProvider:.ctor(System.String,int):this (FullOpts)
         -14 (-1.52 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.InMemoryDirectoryInfo:.ctor(System.String,System.Collections.Generic.IEnumerable`1[System.String],ubyte):this (FullOpts)
         -28 (-1.40 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigPaths:.ctor(System.String,ubyte):this (FullOpts)
         -12 (-1.37 % of base) : System.Private.CoreLib.dasm - System.IO.Path:Combine(System.ReadOnlySpan`1[System.String]):System.String (FullOpts)
         -16 (-0.86 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.TraceUtils:GetRuntimeObject(System.String,System.Type,System.String):System.Object (FullOpts)
          -8 (-0.85 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpClient:GetFileMailWriter(System.String):System.Net.Mail.MailWriter:this (FullOpts)
          -6 (-0.69 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:TryGetTimeZoneFromLocalMachineCore(System.String,byref,byref):int (FullOpts)
          -6 (-0.61 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerableFactory:NormalizeInputs(byref,byref,int):ubyte (FullOpts)

135 total methods with Code Size differences (39 improved, 96 regressed), 250910 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Jun 14, 2024

Top method regressions

130 (55.79 % of base) - System.Net.Cookie:Equals(System.Object):ubyte:this
 ; Assembly listing for method System.Net.Cookie:Equals(System.Object):ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 14 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 20 single block inlinees; 11 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  7,  4.50)     ref  ->  rbx         this class-hnd single-def <System.Net.Cookie>
 ;  V01 arg1         [V01,T01] (  5,  3.75)     ref  ->  rsi         class-hnd single-def <System.Object>
-;  V02 loc0         [V02,T04] (  6,  3   )     ref  ->  r15         class-hnd exact <System.Net.Cookie>
+;  V02 loc0         [V02,T05] (  6,  3   )     ref  ->  r15         class-hnd exact <System.Net.Cookie>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Net.Cookie>
 ;* V05 tmp2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
-;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
+;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp7         [V10    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V11 tmp8         [V11,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V11 tmp8         [V11,T03] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V13 tmp10        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V14 tmp11        [V14,T05] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;  V15 tmp12        [V15,T07] (  2,  2   )     int  ->  rdi         "Inlining Arg"
-;* V16 tmp13        [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp14        [V17,T03] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V14 tmp11        [V14,T15] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V15 tmp12        [V15,T19] (  2,  2   )     int  ->  rdi         "Inlining Arg"
+;* V16 tmp13        [V16    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;  V17 tmp14        [V17,T04] (  4,  4   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V18 tmp15        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V19 tmp16        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V20 tmp17        [V20,T06] (  2,  2   )   byref  ->  rcx         single-def "Inlining Arg"
-;  V21 tmp18        [V21,T08] (  2,  2   )     int  ->  rdi         "Inlining Arg"
-;  V22 tmp19        [V22,T09] (  3,  1.50)   byref  ->  rsi         "field V08._reference (fldOffset=0x0)" P-INDEP
-;  V23 tmp20        [V23,T11] (  3,  1.50)     int  ->  rdx         "field V08._length (fldOffset=0x8)" P-INDEP
-;* V24 tmp21        [V24    ] (  0,  0   )   byref  ->  zero-ref    "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp22        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V26 tmp23        [V26,T13] (  2,  1   )   byref  ->  rsi         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
-;  V27 tmp24        [V27,T15] (  2,  1   )     int  ->  rdi         "field V12._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp25        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp26        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V30 tmp27        [V30,T10] (  3,  1.50)   byref  ->  rcx         "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V31 tmp28        [V31,T12] (  3,  1.50)     int  ->  rax         "field V16._length (fldOffset=0x8)" P-INDEP
-;  V32 tmp29        [V32,T14] (  2,  1   )   byref  ->  rcx         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp30        [V33,T16] (  2,  1   )     int  ->  rdi         "field V18._length (fldOffset=0x8)" P-INDEP
-;* V34 tmp31        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V35 tmp32        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;  V20 tmp17        [V20,T16] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;  V21 tmp18        [V21,T20] (  2,  2   )     int  ->  rdx         "Inlining Arg"
+;* V22 tmp19        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V23 tmp20        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V24 tmp21        [V24,T31] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V25 tmp22        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V26 tmp23        [V26    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
+;* V27 tmp24        [V27    ] (  0,  0   )   byref  ->  zero-ref   
+;* V28 tmp25        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V29 tmp26        [V29,T17] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V30 tmp27        [V30,T21] (  2,  2   )     int  ->  rdi         "Inlining Arg"
+;* V31 tmp28        [V31,T32] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp29        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V33 tmp30        [V33    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
+;* V34 tmp31        [V34    ] (  0,  0   )   byref  ->  zero-ref   
+;* V35 tmp32        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V36 tmp33        [V36,T18] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;  V37 tmp34        [V37,T22] (  2,  2   )     int  ->  rdx         "Inlining Arg"
+;* V38 tmp35        [V38    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V39 tmp36        [V39    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V40 tmp37        [V40    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;  V41 tmp38        [V41,T10] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;* V42 tmp39        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V43 tmp40        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V44 tmp41        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
+;* V45 tmp42        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V46 tmp43        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;  V47 tmp44        [V47,T11] (  4,  2   )   ubyte  ->  rax         "Inline return value spill temp"
+;* V48 tmp45        [V48    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V49 tmp46        [V49    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
+;  V50 tmp47        [V50,T08] (  4,  2   )   byref  ->  rsi         "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V51 tmp48        [V51,T12] (  4,  2   )     int  ->  rdi         "field V08._length (fldOffset=0x8)" P-INDEP
+;* V52 tmp49        [V52    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V53 tmp50        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp51        [V54,T23] (  2,  1   )   byref  ->  rsi         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp52        [V55,T27] (  2,  1   )     int  ->  rdi         "field V12._length (fldOffset=0x8)" P-INDEP
+;* V56 tmp53        [V56    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V13._reference (fldOffset=0x0)" P-INDEP
+;* V57 tmp54        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
+;  V58 tmp55        [V58,T09] (  4,  2   )   byref  ->  rax         "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V59 tmp56        [V59,T13] (  4,  2   )     int  ->  rdx         "field V16._length (fldOffset=0x8)" P-INDEP
+;  V60 tmp57        [V60,T24] (  2,  1   )   byref  ->  rax         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V61 tmp58        [V61,T28] (  2,  1   )     int  ->  rdx         "field V18._length (fldOffset=0x8)" P-INDEP
+;* V62 tmp59        [V62    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V63 tmp60        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;  V64 tmp61        [V64,T06] (  6,  3   )   byref  ->  rcx         "field V22._reference (fldOffset=0x0)" P-INDEP
+;  V65 tmp62        [V65,T14] (  4,  2   )     int  ->   r8         "field V22._length (fldOffset=0x8)" P-INDEP
+;  V66 tmp63        [V66,T07] (  6,  3   )   byref  ->   r9         "field V23._reference (fldOffset=0x0)" P-INDEP
+;  V67 tmp64        [V67,T02] ( 10,  5   )     int  ->  r10         "field V23._length (fldOffset=0x8)" P-INDEP
+;* V68 tmp65        [V68    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V69 tmp66        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
+;  V70 tmp67        [V70,T25] (  2,  1   )   byref  ->  rcx         single-def "field V28._reference (fldOffset=0x0)" P-INDEP
+;  V71 tmp68        [V71,T29] (  2,  1   )     int  ->   r8         "field V28._length (fldOffset=0x8)" P-INDEP
+;* V72 tmp69        [V72    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V73 tmp70        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
+;  V74 tmp71        [V74,T26] (  2,  1   )   byref  ->   r9         single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;  V75 tmp72        [V75,T30] (  2,  1   )     int  ->  r10         "field V35._length (fldOffset=0x8)" P-INDEP
+;* V76 tmp73        [V76    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V77 tmp74        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
+;* V78 tmp75        [V78    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V79 tmp76        [V79    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
+;* V80 tmp77        [V80    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V81 tmp78        [V81    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
+;* V82 tmp79        [V82    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V83 tmp80        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
+;* V84 tmp81        [V84    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V85 tmp82        [V85    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
+;* V86 tmp83        [V86    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;* V87 tmp84        [V87    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M1639_IG01:
        push     rbp
        push     r15
        push     rbx
        lea      rbp, [rsp+0x10]
        mov      rbx, rdi
 						;; size=12 bbWeight=1 PerfScore 3.75
 G_M1639_IG02:
        test     rsi, rsi
-       je       G_M1639_IG10
+       je       G_M1639_IG16
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M1639_IG03:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Cookie
        cmp      qword ptr [rsi], rdi
-       jne      G_M1639_IG10
+       jne      G_M1639_IG16
 						;; size=19 bbWeight=0.25 PerfScore 1.06
 G_M1639_IG04:
        mov      r15, rsi
        mov      rdi, gword ptr [rbx+0x20]
        mov      rsi, gword ptr [r15+0x20]
        mov      edx, 5
        mov      rax, 0xD1FFAB1E      ; code for System.String:Equals(System.String,System.String,int):ubyte
        call     [rax]System.String:Equals(System.String,System.String,int):ubyte
        test     eax, eax
-       je       G_M1639_IG10
+       je       G_M1639_IG16
        mov      rdi, gword ptr [rbx+0x40]
        mov      rsi, gword ptr [r15+0x40]
        mov      edx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.String:Equals(System.String,System.String,int):ubyte
        call     [rax]System.String:Equals(System.String,System.String,int):ubyte
        test     eax, eax
-       je       SHORT G_M1639_IG10
+       je       G_M1639_IG16
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, gword ptr [r15+0x28]
        mov      edx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.String:Equals(System.String,System.String,int):ubyte
        call     [rax]System.String:Equals(System.String,System.String,int):ubyte
        test     eax, eax
-       je       SHORT G_M1639_IG10
+       je       G_M1639_IG16
        mov      rdi, gword ptr [rbx+0x18]
        test     rdi, rdi
        je       SHORT G_M1639_IG05
        lea      rsi, bword ptr [rdi+0x0C]
        mov      edi, dword ptr [rdi+0x08]
-       mov      edx, edi
        jmp      SHORT G_M1639_IG06
-						;; size=114 bbWeight=0.50 PerfScore 17.25
+						;; size=120 bbWeight=0.50 PerfScore 17.12
 G_M1639_IG05:
        xor      rsi, rsi
-       xor      edx, edx
+       xor      edi, edi
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M1639_IG06:
-       mov      rdi, gword ptr [r15+0x18]
-       test     rdi, rdi
+       mov      rdx, gword ptr [r15+0x18]
+       test     rdx, rdx
        je       SHORT G_M1639_IG07
-       lea      rcx, bword ptr [rdi+0x0C]
-       mov      edi, dword ptr [rdi+0x08]
-       mov      eax, edi
+       lea      rax, bword ptr [rdx+0x0C]
+       mov      edx, dword ptr [rdx+0x08]
        jmp      SHORT G_M1639_IG08
-						;; size=20 bbWeight=0.50 PerfScore 4.00
+						;; size=18 bbWeight=0.50 PerfScore 3.88
 G_M1639_IG07:
-       xor      rcx, rcx
-       xor      eax, eax
+       xor      rax, rax
+       xor      edx, edx
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M1639_IG08:
-       mov      rdi, rsi
-       mov      esi, edx
-       mov      rdx, rcx
-       mov      ecx, eax
-       mov      rax, 0xD1FFAB1E      ; code for System.Net.CookieComparer:EqualDomains(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):ubyte
-       call     [rax]System.Net.CookieComparer:EqualDomains(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):ubyte
-       test     eax, eax
+       mov      rcx, rsi
+       mov      r8d, edi
+       mov      r9, rax
+       mov      r10d, edx
+       test     r8d, r8d
+       je       SHORT G_M1639_IG09
+       cmp      word  ptr [rcx], 46
+       jne      SHORT G_M1639_IG09
+       add      rsi, 2
+       dec      edi
+       mov      rcx, rsi
+       mov      r8d, edi
+						;; size=35 bbWeight=0.50 PerfScore 3.62
+G_M1639_IG09:
+       test     r10d, r10d
        je       SHORT G_M1639_IG10
+       cmp      word  ptr [r9], 46
+       jne      SHORT G_M1639_IG10
+       add      rax, 2
+       dec      edx
+       mov      r9, rax
+       mov      r10d, edx
+						;; size=24 bbWeight=0.50 PerfScore 3.12
+G_M1639_IG10:
+       cmp      r8d, r10d
+       jne      SHORT G_M1639_IG16
+       test     r10d, r10d
+       je       SHORT G_M1639_IG14
+       cmp      r10d, 8
+       jl       SHORT G_M1639_IG12
+       cmp      r10d, 16
+       jge      SHORT G_M1639_IG11
+       mov      rdi, rcx
+       mov      rsi, r9
+       mov      edx, r10d
+       mov      rax, 0xD1FFAB1E      ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+       call     [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+       jmp      SHORT G_M1639_IG13
+						;; size=45 bbWeight=0.50 PerfScore 5.50
+G_M1639_IG11:
+       mov      rdi, rcx
+       mov      rsi, r9
+       mov      edx, r10d
+       mov      rax, 0xD1FFAB1E      ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector256`1[ushort]](byref,byref,int):ubyte
+       call     [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector256`1[ushort]](byref,byref,int):ubyte
+       jmp      SHORT G_M1639_IG13
+						;; size=23 bbWeight=0.50 PerfScore 3.00
+G_M1639_IG12:
+       mov      rdi, rcx
+       mov      rsi, r9
+       mov      edx, r10d
+       mov      rax, 0xD1FFAB1E      ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+       call     [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+						;; size=21 bbWeight=0.50 PerfScore 2.00
+G_M1639_IG13:
+       test     eax, eax
+       je       SHORT G_M1639_IG16
+						;; size=4 bbWeight=0.50 PerfScore 0.62
+G_M1639_IG14:
        mov      eax, dword ptr [rbx+0x54]
        cmp      eax, dword ptr [r15+0x54]
        sete     al
        movzx    rax, al
-						;; size=39 bbWeight=0.50 PerfScore 5.88
-G_M1639_IG09:
+						;; size=13 bbWeight=0.50 PerfScore 3.12
+G_M1639_IG15:
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=5 bbWeight=0.50 PerfScore 1.25
-G_M1639_IG10:
+G_M1639_IG16:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M1639_IG11:
+G_M1639_IG17:
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=5 bbWeight=0.50 PerfScore 1.25
 
-; Total bytes of code 233, prolog size 9, PerfScore 36.31, instruction count 71, allocated bytes for code 233 (MethodHash=fcf9f998) for method System.Net.Cookie:Equals(System.Object):ubyte:this (FullOpts)
+; Total bytes of code 363, prolog size 9, PerfScore 51.19, instruction count 108, allocated bytes for code 363 (MethodHash=fcf9f998) for method System.Net.Cookie:Equals(System.Object):ubyte:this (FullOpts)
126 (80.77 % of base) - System.Net.CookieComparer:Equals(System.Net.Cookie,System.Net.Cookie):ubyte
 ; Assembly listing for method System.Net.CookieComparer:Equals(System.Net.Cookie,System.Net.Cookie):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 10 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 16 single block inlinees; 11 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <System.Net.Cookie>
 ;  V01 arg1         [V01,T01] (  5,  4   )     ref  ->  r15         class-hnd single-def <System.Net.Cookie>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
-;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
+;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V05 tmp3         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
-;  V07 tmp5         [V07,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V07 tmp5         [V07,T03] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V08 tmp6         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V10 tmp8         [V10,T04] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
-;  V11 tmp9         [V11,T06] (  2,  2   )     int  ->  rdi         "Inlining Arg"
-;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V13 tmp11        [V13,T03] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V10 tmp8         [V10,T14] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V11 tmp9         [V11,T18] (  2,  2   )     int  ->  rdi         "Inlining Arg"
+;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;  V13 tmp11        [V13,T04] (  4,  4   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V14 tmp12        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V16 tmp14        [V16,T05] (  2,  2   )   byref  ->  rcx         single-def "Inlining Arg"
-;  V17 tmp15        [V17,T07] (  2,  2   )     int  ->  rdi         "Inlining Arg"
-;  V18 tmp16        [V18,T08] (  3,  1.50)   byref  ->  rsi         "field V04._reference (fldOffset=0x0)" P-INDEP
-;  V19 tmp17        [V19,T10] (  3,  1.50)     int  ->  rdx         "field V04._length (fldOffset=0x8)" P-INDEP
-;* V20 tmp18        [V20    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V21 tmp19        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;  V22 tmp20        [V22,T12] (  2,  1   )   byref  ->  rsi         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;  V23 tmp21        [V23,T14] (  2,  1   )     int  ->  rdi         "field V08._length (fldOffset=0x8)" P-INDEP
-;* V24 tmp22        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp23        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;  V26 tmp24        [V26,T09] (  3,  1.50)   byref  ->  rcx         "field V12._reference (fldOffset=0x0)" P-INDEP
-;  V27 tmp25        [V27,T11] (  3,  1.50)     int  ->  rax         "field V12._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T13] (  2,  1   )   byref  ->  rcx         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V29 tmp27        [V29,T15] (  2,  1   )     int  ->  rdi         "field V14._length (fldOffset=0x8)" P-INDEP
-;* V30 tmp28        [V30    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V31 tmp29        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;  V16 tmp14        [V16,T15] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;  V17 tmp15        [V17,T19] (  2,  2   )     int  ->  rdx         "Inlining Arg"
+;* V18 tmp16        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V20 tmp18        [V20,T30] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V21 tmp19        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V22 tmp20        [V22    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
+;* V23 tmp21        [V23    ] (  0,  0   )   byref  ->  zero-ref   
+;* V24 tmp22        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V25 tmp23        [V25,T16] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
+;  V26 tmp24        [V26,T20] (  2,  2   )     int  ->  rdi         "Inlining Arg"
+;* V27 tmp25        [V27,T31] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V28 tmp26        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V29 tmp27        [V29    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
+;* V30 tmp28        [V30    ] (  0,  0   )   byref  ->  zero-ref   
+;* V31 tmp29        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V32 tmp30        [V32,T17] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;  V33 tmp31        [V33,T21] (  2,  2   )     int  ->  rdx         "Inlining Arg"
+;* V34 tmp32        [V34    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V35 tmp33        [V35    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V36 tmp34        [V36    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;  V37 tmp35        [V37,T09] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;* V38 tmp36        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V39 tmp37        [V39    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
+;* V41 tmp39        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V42 tmp40        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;  V43 tmp41        [V43,T10] (  4,  2   )   ubyte  ->  rax         "Inline return value spill temp"
+;* V44 tmp42        [V44    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V45 tmp43        [V45    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
+;  V46 tmp44        [V46,T07] (  4,  2   )   byref  ->  rsi         "field V04._reference (fldOffset=0x0)" P-INDEP
+;  V47 tmp45        [V47,T11] (  4,  2   )     int  ->  rdi         "field V04._length (fldOffset=0x8)" P-INDEP
+;* V48 tmp46        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
+;* V49 tmp47        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
+;  V50 tmp48        [V50,T22] (  2,  1   )   byref  ->  rsi         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V51 tmp49        [V51,T26] (  2,  1   )     int  ->  rdi         "field V08._length (fldOffset=0x8)" P-INDEP
+;* V52 tmp50        [V52    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V53 tmp51        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp52        [V54,T08] (  4,  2   )   byref  ->  rax         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp53        [V55,T12] (  4,  2   )     int  ->  rdx         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V56 tmp54        [V56,T23] (  2,  1   )   byref  ->  rax         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V57 tmp55        [V57,T27] (  2,  1   )     int  ->  rdx         "field V14._length (fldOffset=0x8)" P-INDEP
+;* V58 tmp56        [V58    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V59 tmp57        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;  V60 tmp58        [V60,T05] (  6,  3   )   byref  ->  rcx         "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V61 tmp59        [V61,T13] (  4,  2   )     int  ->   r8         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V62 tmp60        [V62,T06] (  6,  3   )   byref  ->   r9         "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V63 tmp61        [V63,T02] ( 10,  5   )     int  ->  r10         "field V19._length (fldOffset=0x8)" P-INDEP
+;* V64 tmp62        [V64    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V65 tmp63        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
+;  V66 tmp64        [V66,T24] (  2,  1   )   byref  ->  rcx         single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;  V67 tmp65        [V67,T28] (  2,  1   )     int  ->   r8         "field V24._length (fldOffset=0x8)" P-INDEP
+;* V68 tmp66        [V68    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V28._reference (fldOffset=0x0)" P-INDEP
+;* V69 tmp67        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
+;  V70 tmp68        [V70,T25] (  2,  1   )   byref  ->   r9         single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;  V71 tmp69        [V71,T29] (  2,  1   )     int  ->  r10         "field V31._length (fldOffset=0x8)" P-INDEP
+;* V72 tmp70        [V72    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;* V73 tmp71        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
+;* V74 tmp72        [V74    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V75 tmp73        [V75    ] (  0,  0   )     int  ->  zero-ref    "field V36._length (fldOffset=0x8)" P-INDEP
+;* V76 tmp74        [V76    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V77 tmp75        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
+;* V78 tmp76        [V78    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V79 tmp77        [V79    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
+;* V80 tmp78        [V80    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V81 tmp79        [V81    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
+;* V82 tmp80        [V82    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V83 tmp81        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M47132_IG01:
        push     rbp
        push     r15
        push     rbx
        lea      rbp, [rsp+0x10]
        mov      rbx, rdi
        mov      r15, rsi
 						;; size=15 bbWeight=1 PerfScore 4.00
 G_M47132_IG02:
        mov      rdi, gword ptr [rbx+0x20]
        mov      rsi, gword ptr [r15+0x20]
        mov      edx, 5
        mov      rax, 0xD1FFAB1E      ; code for System.String:Equals(System.String,System.String,int):ubyte
        call     [rax]System.String:Equals(System.String,System.String,int):ubyte
        test     eax, eax
-       je       SHORT G_M47132_IG09
-						;; size=29 bbWeight=1 PerfScore 8.75
+       je       G_M47132_IG15
+						;; size=33 bbWeight=1 PerfScore 8.75
 G_M47132_IG03:
        mov      rdi, gword ptr [rbx+0x18]
        test     rdi, rdi
        je       SHORT G_M47132_IG04
        lea      rsi, bword ptr [rdi+0x0C]
        mov      edi, dword ptr [rdi+0x08]
-       mov      edx, edi
        jmp      SHORT G_M47132_IG05
-						;; size=20 bbWeight=0.50 PerfScore 4.00
+						;; size=18 bbWeight=0.50 PerfScore 3.88
 G_M47132_IG04:
        xor      rsi, rsi
-       xor      edx, edx
+       xor      edi, edi
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M47132_IG05:
-       mov      rdi, gword ptr [r15+0x18]
-       test     rdi, rdi
+       mov      rdx, gword ptr [r15+0x18]
+       test     rdx, rdx
        je       SHORT G_M47132_IG06
-       lea      rcx, bword ptr [rdi+0x0C]
-       mov      edi, dword ptr [rdi+0x08]
-       mov      eax, edi
+       lea      rax, bword ptr [rdx+0x0C]
+       mov      edx, dword ptr [rdx+0x08]
        jmp      SHORT G_M47132_IG07
-						;; size=20 bbWeight=0.50 PerfScore 4.00
+						;; size=18 bbWeight=0.50 PerfScore 3.88
 G_M47132_IG06:
-       xor      rcx, rcx
-       xor      eax, eax
+       xor      rax, rax
+       xor      edx, edx
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M47132_IG07:
-       mov      rdi, rsi
-       mov      esi, edx
-       mov      rdx, rcx
-       mov      ecx, eax
-       mov      rax, 0xD1FFAB1E      ; code for System.Net.CookieComparer:EqualDomains(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):ubyte
-       call     [rax]System.Net.CookieComparer:EqualDomains(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):ubyte
-       test     eax, eax
+       mov      rcx, rsi
+       mov      r8d, edi
+       mov      r9, rax
+       mov      r10d, edx
+       test     r8d, r8d
+       je       SHORT G_M47132_IG08
+       cmp      word  ptr [rcx], 46
+       jne      SHORT G_M47132_IG08
+       add      rsi, 2
+       dec      edi
+       mov      rcx, rsi
+       mov      r8d, edi
+						;; size=35 bbWeight=0.50 PerfScore 3.62
+G_M47132_IG08:
+       test     r10d, r10d
        je       SHORT G_M47132_IG09
+       cmp      word  ptr [r9], 46
+       jne      SHORT G_M47132_IG09
+       add      rax, 2
+       dec      edx
+       mov      r9, rax
+       mov      r10d, edx
+						;; size=24 bbWeight=0.50 PerfScore 3.12
+G_M47132_IG09:
+       cmp      r8d, r10d
+       jne      SHORT G_M47132_IG15
+       test     r10d, r10d
+       je       SHORT G_M47132_IG13
+       cmp      r10d, 8
+       jl       SHORT G_M47132_IG11
+       cmp      r10d, 16
+       jge      SHORT G_M47132_IG10
+       mov      rdi, rcx
+       mov      rsi, r9
+       mov      edx, r10d
+       mov      rax, 0xD1FFAB1E      ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+       call     [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+       jmp      SHORT G_M47132_IG12
+						;; size=45 bbWeight=0.50 PerfScore 5.50
+G_M47132_IG10:
+       mov      rdi, rcx
+       mov      rsi, r9
+       mov      edx, r10d
+       mov      rax, 0xD1FFAB1E      ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector256`1[ushort]](byref,byref,int):ubyte
+       call     [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector256`1[ushort]](byref,byref,int):ubyte
+       jmp      SHORT G_M47132_IG12
+						;; size=23 bbWeight=0.50 PerfScore 3.00
+G_M47132_IG11:
+       mov      rdi, rcx
+       mov      rsi, r9
+       mov      edx, r10d
+       mov      rax, 0xD1FFAB1E      ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+       call     [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+						;; size=21 bbWeight=0.50 PerfScore 2.00
+G_M47132_IG12:
+       test     eax, eax
+       je       SHORT G_M47132_IG15
+						;; size=4 bbWeight=0.50 PerfScore 0.62
+G_M47132_IG13:
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, gword ptr [r15+0x28]
        mov      edx, 4
        mov      rax, 0xD1FFAB1E      ; code for System.String:Equals(System.String,System.String,int):ubyte
        call     [rax]System.String:Equals(System.String,System.String,int):ubyte
        nop      
-						;; size=52 bbWeight=0.50 PerfScore 6.62
-G_M47132_IG08:
+						;; size=26 bbWeight=0.50 PerfScore 3.88
+G_M47132_IG14:
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=5 bbWeight=0.50 PerfScore 1.25
-G_M47132_IG09:
+G_M47132_IG15:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M47132_IG10:
+G_M47132_IG16:
        pop      rbx
        pop      r15
        pop      rbp
        ret      
 						;; size=5 bbWeight=0.50 PerfScore 1.25
 
-; Total bytes of code 156, prolog size 9, PerfScore 30.50, instruction count 54, allocated bytes for code 156 (MethodHash=629147e3) for method System.Net.CookieComparer:Equals(System.Net.Cookie,System.Net.Cookie):ubyte (FullOpts)
+; Total bytes of code 282, prolog size 9, PerfScore 45.38, instruction count 91, allocated bytes for code 282 (MethodHash=629147e3) for method System.Net.CookieComparer:Equals(System.Net.Cookie,System.Net.Cookie):ubyte (FullOpts)

Larger list of diffs: https://gist.github.com/MihuBot/47c0c3ca0242873d76aa3bda4c0a8348

@MihuBot
Copy link
Owner Author

MihuBot commented Jun 14, 2024

Top method improvements

-126 (-16.01 % of base) - System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream,ubyte[],int,System.Xml.XmlReaderSettings,System.Uri,System.String,System.Xml.XmlParserContext,ubyte):this
 ; Assembly listing for method System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream,ubyte[],int,System.Xml.XmlReaderSettings,System.Uri,System.String,System.Xml.XmlParserContext,ubyte):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 23 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 23 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 12,  7.50)     ref  ->  rbx         this class-hnd single-def <System.Xml.XmlTextReaderImpl>
-;  V01 arg1         [V01,T08] (  3,  3   )     ref  ->  r12         class-hnd single-def <System.IO.Stream>
-;  V02 arg2         [V02,T09] (  3,  3   )     ref  ->  [rbp-0x38]  class-hnd single-def <ubyte[]>
-;  V03 arg3         [V03,T10] (  3,  3   )     int  ->  [rbp-0x2C]  single-def
+;  V01 arg1         [V01,T05] (  3,  3   )     ref  ->  r13         class-hnd single-def <System.IO.Stream>
+;  V02 arg2         [V02,T06] (  3,  3   )     ref  ->  r12         class-hnd single-def <ubyte[]>
+;  V03 arg3         [V03,T07] (  3,  3   )     int  ->  [rbp-0x2C]  single-def
 ;  V04 arg4         [V04,T01] (  7,  6.50)     ref  ->  r15         class-hnd single-def <System.Xml.XmlReaderSettings>
-;  V05 arg5         [V05,T05] (  4,  3.50)     ref  ->  r13         class-hnd single-def <System.Uri>
-;  V06 arg6         [V06,T03] ( 11,  6.50)     ref  ->  registers   ld-addr-op class-hnd <System.String>
-;  V07 arg7         [V07,T11] (  5,  4   )     ref  ->  [rbp+0x18]  class-hnd single-def <System.Xml.XmlParserContext>
-;  V08 arg8         [V08,T16] (  1,  1   )   ubyte  ->  [rbp+0x20]  single-def
+;  V05 arg5         [V05,T04] (  4,  3.50)     ref  ->  r14         class-hnd single-def <System.Uri>
+;  V06 arg6         [V06    ] (  6,  4.50)     ref  ->  [rbp+0x10]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
+;  V07 arg7         [V07,T08] (  5,  4   )     ref  ->  [rbp+0x18]  class-hnd single-def <System.Xml.XmlParserContext>
+;  V08 arg8         [V08,T12] (  1,  1   )   ubyte  ->  [rbp+0x20]  single-def
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V10 tmp1         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V11 tmp2         [V11,T06] (  5,  5   )     ref  ->  r14        
-;  V12 tmp3         [V12,T04] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl+LaterInitParam>
-;* V13 tmp4         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
+;  V11 tmp2         [V11,T09] (  4,  4   )     ref  ->  rsi        
+;  V12 tmp3         [V12,T03] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl+LaterInitParam>
+;  V13 tmp4         [V13,T11] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V14 tmp5         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
-;  V15 tmp6         [V15,T07] (  4,  5   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Xml.XmlResolver>
-;  V16 tmp7         [V16,T12] (  3,  3   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Uri>
-;  V17 tmp8         [V17,T13] (  4,  2   )     ref  ->  [rbp-0x48]  class-hnd spill-single-def "Inline stloc first use temp" <System.Uri>
-;  V18 tmp9         [V18,T19] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V19 tmp10        [V19,T21] (  3,  0   )     int  ->  r14         "impAppendStmt"
-;  V20 tmp11        [V20,T17] ( 11,  0   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlException>
-;* V21 tmp12        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V22 tmp13        [V22,T20] (  3,  0   )   byref  ->  r13         single-def "Inlining Arg"
-;  V23 tmp14        [V23,T18] (  4,  0   )     ref  ->  [rbp-0x50]  class-hnd exact spill-single-def "dup spill" <System.String[]>
-;  V24 tmp15        [V24,T22] (  3,  0   )     int  ->  r13         "Inlining Arg"
-;  V25 tmp16        [V25,T23] (  2,  0   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
-;  V26 tmp17        [V26,T24] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V27 cse0         [V27,T02] (  8,  7.50)     ref  ->  r14         "CSE #04: aggressive"
-;  V28 cse1         [V28,T14] (  4,  2   )     ref  ->  rdx         "CSE #02: moderate"
-;  V29 cse2         [V29,T15] (  2,  1   )     int  ->  rax         "CSE #01: moderate"
+;  V15 tmp6         [V15,T15] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V16 tmp7         [V16,T17] (  3,  0   )     int  ->  r14         "impAppendStmt"
+;  V17 tmp8         [V17,T13] ( 11,  0   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlException>
+;* V18 tmp9         [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V19 tmp10        [V19,T16] (  3,  0   )   byref  ->  r13         single-def "Inlining Arg"
+;  V20 tmp11        [V20,T14] (  4,  0   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "dup spill" <System.String[]>
+;  V21 tmp12        [V21,T18] (  3,  0   )     int  ->  r13         "Inlining Arg"
+;  V22 tmp13        [V22,T19] (  2,  0   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
+;  V23 tmp14        [V23,T20] (  2,  0   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V24 cse0         [V24,T02] (  8,  7.50)     ref  ->  [rbp-0x48]  spill-single-def "CSE #03: aggressive"
+;  V25 cse1         [V25,T10] (  4,  2   )     ref  ->  rdx         "CSE #01: moderate"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 40
 
 G_M30585_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 56
-       lea      rbp, [rsp+0x60]
-       mov      gword ptr [rbp-0x38], rdx
+       sub      rsp, 40
+       lea      rbp, [rsp+0x50]
        mov      dword ptr [rbp-0x2C], ecx
        mov      rbx, rdi
-       mov      r12, rsi
+       mov      r13, rsi
+       mov      r12, rdx
        mov      r15, r8
-       mov      r13, r9
-       mov      r14, gword ptr [rbp+0x10]
-       mov      r9, gword ptr [rbp+0x18]
-						;; size=46 bbWeight=1 PerfScore 11.75
+       mov      r14, r9
+       mov      r8, gword ptr [rbp+0x18]
+						;; size=41 bbWeight=1 PerfScore 10.00
 G_M30585_IG02:
        mov      rsi, gword ptr [r15+0x10]
        mov      rdi, rbx
        mov      rdx, r15
-       mov      gword ptr [rbp+0x18], r9
-       mov      rcx, r9
-       mov      r10, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlResolver,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext):this
-       call     [r10]System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlResolver,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext):this
-       mov      rdi, gword ptr [r15+0x10]
-       test     r14, r14
-       je       G_M30585_IG05
-						;; size=43 bbWeight=1 PerfScore 10.25
-G_M30585_IG03:
-       mov      eax, dword ptr [r14+0x08]
-       test     eax, eax
-       jle      G_M30585_IG05
-       cmp      word  ptr [r14+0x0C], 47
-       jne      SHORT G_M30585_IG05
-       test     rdi, rdi
-       jne      SHORT G_M30585_IG04
-       mov      rdi, 0xD1FFAB1E      ; System.Uri
-       call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x40], rax
-       mov      rdi, rax
-       mov      rsi, r14
-       mov      rcx, 0xD1FFAB1E      ; code for System.Uri:.ctor(System.String):this
-       call     [rcx]System.Uri:.ctor(System.String):this
-       mov      rdi, gword ptr [rbp-0x40]
-       mov      rax, 0xD1FFAB1E      ; code for System.Uri:ToString():System.String:this
-       call     [rax]System.Uri:ToString():System.String:this
-       mov      r14, rax
-       jmp      SHORT G_M30585_IG05
-						;; size=83 bbWeight=0.50 PerfScore 10.50
-G_M30585_IG04:
-       mov      rdx, r14
-       xor      rsi, rsi
-       mov      rax, qword ptr [rdi]
-       mov      rax, qword ptr [rax+0x40]
-       call     [rax+0x30]System.Xml.XmlResolver:ResolveUri(System.Uri,System.String):System.Uri:this
-       mov      gword ptr [rbp-0x48], rax
-       mov      rdi, rax
-       mov      rcx, 0xD1FFAB1E      ; code for System.Uri:get_IsFile():ubyte:this
-       cmp      dword ptr [rdi], edi
-       call     [rcx]System.Uri:get_IsFile():ubyte:this
-       test     eax, eax
-       je       SHORT G_M30585_IG05
-       mov      rdi, gword ptr [rbp-0x48]
-       mov      rax, qword ptr [rdi]
-       mov      rax, qword ptr [rax+0x40]
-       call     [rax+0x08]System.Object:ToString():System.String:this
-       mov      r14, rax
-						;; size=57 bbWeight=0.50 PerfScore 12.25
-G_M30585_IG05:
+       mov      gword ptr [rbp+0x18], r8
+       mov      rcx, r8
+       mov      r9, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlResolver,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext):this
+       call     [r9]System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlResolver,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext):this
+       mov      rsi, gword ptr [r15+0x10]
+       lea      rdi, [rbp+0x10]
+       mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver)
+       call     [rax]System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver)
        mov      rax, gword ptr [rbp+0x18]
        test     rax, rax
-       je       SHORT G_M30585_IG07
-						;; size=9 bbWeight=1 PerfScore 2.25
-G_M30585_IG06:
+       je       SHORT G_M30585_IG04
+						;; size=59 bbWeight=1 PerfScore 15.00
+G_M30585_IG03:
        mov      gword ptr [rbp+0x18], rax
        mov      rdx, gword ptr [rax+0x40]
        test     rdx, rdx
-       je       SHORT G_M30585_IG09
+       je       SHORT G_M30585_IG06
        cmp      dword ptr [rdx+0x08], 0
-       jle      SHORT G_M30585_IG09
+       jle      SHORT G_M30585_IG06
+       mov      rsi, gword ptr [rbp+0x10]
        mov      rcx, gword ptr [r15+0x10]
-       mov      rdi, r13
-       mov      rsi, r14
+       mov      rdi, r14
        mov      r8, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:UriEqual(System.Uri,System.String,System.String,System.Xml.XmlResolver):ubyte
        call     [r8]System.Xml.XmlTextReaderImpl:UriEqual(System.Uri,System.String,System.String,System.Xml.XmlResolver):ubyte
        test     eax, eax
-       jne      SHORT G_M30585_IG09
-       cmp      dword ptr [r14+0x08], 0
-       jle      SHORT G_M30585_IG08
-       jmp      G_M30585_IG14
-						;; size=58 bbWeight=0.50 PerfScore 10.62
-G_M30585_IG07:
+       jne      SHORT G_M30585_IG06
+       mov      rdi, gword ptr [rbp+0x10]
+       cmp      dword ptr [rdi+0x08], 0
+       jle      SHORT G_M30585_IG05
+       jmp      G_M30585_IG11
+						;; size=62 bbWeight=0.50 PerfScore 11.50
+G_M30585_IG04:
        mov      gword ptr [rbp+0x18], rax
-       jmp      SHORT G_M30585_IG09
+       jmp      SHORT G_M30585_IG06
 						;; size=6 bbWeight=0.50 PerfScore 1.50
-G_M30585_IG08:
-       mov      r14, gword ptr [rbp+0x18]
-       mov      rdi, gword ptr [r14+0x40]
-       mov      rsi, rdi
-       mov      r14, rsi
-						;; size=14 bbWeight=0.50 PerfScore 1.75
-G_M30585_IG09:
+G_M30585_IG05:
+       mov      rax, gword ptr [rbp+0x18]
+       mov      rdi, gword ptr [rax+0x40]
+       mov      gword ptr [rbp+0x10], rdi
+						;; size=12 bbWeight=0.50 PerfScore 2.00
+G_M30585_IG06:
+       mov      rsi, gword ptr [rbp+0x10]
        mov      rdi, 0xD1FFAB1E      ; ''
-       test     r14, r14
-       cmove    r14, rdi
+       cmp      gword ptr [rbp+0x10], 0
+       cmove    rsi, rdi
        lea      rdi, bword ptr [rbx+0x60]
-       mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
-       movzx    r14, byte  ptr [rbp+0x20]
-       mov      byte  ptr [rbx+0x17D], r14b
+       movzx    rdi, byte  ptr [rbp+0x20]
+       mov      byte  ptr [rbx+0x17D], dil
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlTextReaderImpl+LaterInitParam
        call     CORINFO_HELP_NEWSFAST
        mov      dword ptr [rax+0x44], 3
        lea      rdi, bword ptr [rbx+0x08]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       mov      r14, gword ptr [rbx+0x08]
-       lea      rdi, bword ptr [r14+0x08]
-       mov      rsi, r12
+       mov      rax, gword ptr [rbx+0x08]
+       mov      gword ptr [rbp-0x48], rax
+       lea      rdi, bword ptr [rax+0x08]
+       mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
-       lea      rdi, bword ptr [r14+0x10]
-       mov      rsi, gword ptr [rbp-0x38]
+       mov      r13, gword ptr [rbp-0x48]
+       lea      rdi, bword ptr [r13+0x10]
+       mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
        mov      r12d, dword ptr [rbp-0x2C]
-       mov      dword ptr [r14+0x40], r12d
-       lea      rdi, bword ptr [r14+0x18]
-       mov      rsi, r13
+       mov      dword ptr [r13+0x40], r12d
+       lea      rdi, bword ptr [r13+0x18]
+       mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
-       lea      rdi, bword ptr [r14+0x30]
+       lea      rdi, bword ptr [r13+0x30]
        mov      rsi, gword ptr [rbp+0x18]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      dword ptr [r14+0x44], 1
+       mov      dword ptr [r13+0x44], 1
        cmp      byte  ptr [r15+0x58], 0
-       je       SHORT G_M30585_IG12
-						;; size=152 bbWeight=1 PerfScore 26.00
-G_M30585_IG10:
-       mov      byte  ptr [r14+0x48], 1
+       je       SHORT G_M30585_IG09
+						;; size=162 bbWeight=1 PerfScore 29.75
+G_M30585_IG07:
+       mov      byte  ptr [r13+0x48], 1
 						;; size=5 bbWeight=0.50 PerfScore 0.50
-G_M30585_IG11:
-       add      rsp, 56
+G_M30585_IG08:
+       add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M30585_IG12:
+G_M30585_IG09:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:FinishInitStream():this
        call     [rax]System.Xml.XmlTextReaderImpl:FinishInitStream():this
        nop      
 						;; size=16 bbWeight=0.50 PerfScore 1.88
-G_M30585_IG13:
-       add      rsp, 56
+G_M30585_IG10:
+       add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M30585_IG14:
+G_M30585_IG11:
        mov      rdi, 0xD1FFAB1E      ; 'Xml_DoubleBaseUri'
        mov      rax, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String):System.String
        call     [rax]System.SR:GetResourceString(System.String):System.String
        mov      r15, rax
        mov      r14d, dword ptr [rbx+0x1E0]
        lea      r13, bword ptr [rbx+0x188]
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlException
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      eax, dword ptr [r13+0x48]
        sub      eax, dword ptr [r13+0x5C]
        mov      r13d, eax
        mov      rax, gword ptr [rbx+0x1B8]
-       mov      gword ptr [rbp-0x58], rax
+       mov      gword ptr [rbp-0x40], rax
        mov      rdi, 0xD1FFAB1E      ; System.String[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
-       mov      gword ptr [rbp-0x50], rax
+       mov      gword ptr [rbp-0x38], rax
        mov      rdi, 0xD1FFAB1E      ; ''
        mov      gword ptr [rax+0x10], rdi
        mov      rdi, r15
        mov      rsi, rax
        mov      edx, r14d
        mov      ecx, r13d
        mov      r8, 0xD1FFAB1E      ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
        call     [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
        mov      rdi, 0xD1FFAB1E
        mov      qword ptr [r12+0x70], rdi
        lea      rdi, bword ptr [r12+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        xor      rdi, rdi
        mov      gword ptr [r12+0x20], rdi
        mov      dword ptr [r12+0x74], 0xD1FFAB1E
        lea      rdi, bword ptr [r12+0x78]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        lea      rdi, bword ptr [r12+0x80]
-       mov      rsi, gword ptr [rbp-0x50]
+       mov      rsi, gword ptr [rbp-0x38]
        call     CORINFO_HELP_ASSIGN_REF
        lea      rdi, bword ptr [r12+0x88]
-       mov      rsi, gword ptr [rbp-0x58]
+       mov      rsi, gword ptr [rbp-0x40]
        call     CORINFO_HELP_ASSIGN_REF
        mov      dword ptr [r12+0x98], r14d
        mov      dword ptr [r12+0x9C], r13d
        mov      rdi, rbx
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
        call     [rax]System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
        int3     
 						;; size=268 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 787, prolog size 19, PerfScore 93.50, instruction count 190, allocated bytes for code 787 (MethodHash=452a8886) for method System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream,ubyte[],int,System.Xml.XmlReaderSettings,System.Uri,System.String,System.Xml.XmlParserContext,ubyte):this (FullOpts)
+; Total bytes of code 661, prolog size 19, PerfScore 76.38, instruction count 156, allocated bytes for code 661 (MethodHash=452a8886) for method System.Xml.XmlTextReaderImpl:.ctor(System.IO.Stream,ubyte[],int,System.Xml.XmlReaderSettings,System.Uri,System.String,System.Xml.XmlParserContext,ubyte):this (FullOpts)
-121 (-32.18 % of base) - System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String,System.Xml.XmlParserContext):this
 ; Assembly listing for method System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String,System.Xml.XmlParserContext):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  8,  7.50)     ref  ->  r15         this class-hnd single-def <System.Xml.XmlTextReaderImpl>
-;  V01 arg1         [V01,T06] (  3,  3   )     ref  ->  r12         class-hnd single-def <System.IO.TextReader>
-;  V02 arg2         [V02,T02] (  7,  7   )     ref  ->  r14         class-hnd single-def <System.Xml.XmlReaderSettings>
-;  V03 arg3         [V03,T00] ( 12,  8   )     ref  ->  rbx         ld-addr-op class-hnd <System.String>
-;  V04 arg4         [V04,T03] (  6,  5.50)     ref  ->  r13         class-hnd single-def <System.Xml.XmlParserContext>
+;  V00 this         [V00,T00] (  8,  7.50)     ref  ->  rbx         this class-hnd single-def <System.Xml.XmlTextReaderImpl>
+;  V01 arg1         [V01,T04] (  3,  3   )     ref  ->  r13         class-hnd single-def <System.IO.TextReader>
+;  V02 arg2         [V02,T01] (  7,  7   )     ref  ->  r15         class-hnd single-def <System.Xml.XmlReaderSettings>
+;  V03 arg3         [V03    ] (  6,  5   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
+;  V04 arg4         [V04,T02] (  6,  5.50)     ref  ->  r14         class-hnd single-def <System.Xml.XmlParserContext>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T04] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl+LaterInitParam>
-;  V07 tmp2         [V07,T05] (  4,  5   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Xml.XmlResolver>
-;  V08 tmp3         [V08,T08] (  3,  3   )     ref  ->  [rbp-0x30]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Uri>
-;  V09 tmp4         [V09,T09] (  4,  2   )     ref  ->  [rbp-0x38]  class-hnd spill-single-def "Inline stloc first use temp" <System.Uri>
-;  V10 cse0         [V10,T07] (  5,  4.50)     ref  ->  rbx         "CSE #03: aggressive"
-;  V11 cse1         [V11,T10] (  3,  1.50)     ref  ->  rdi         "CSE #02: moderate"
-;  V12 cse2         [V12,T11] (  2,  1   )     int  ->  rax         "CSE #01: moderate"
+;  V06 tmp1         [V06,T03] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl+LaterInitParam>
+;  V07 cse0         [V07,T05] (  5,  4.50)     ref  ->  r12         "CSE #02: aggressive"
+;  V08 cse1         [V08,T06] (  3,  1.50)     ref  ->  rdi         "CSE #01: moderate"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 8
 
 G_M34797_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 24
-       lea      rbp, [rsp+0x40]
-       mov      r15, rdi
-       mov      r12, rsi
-       mov      r14, rdx
-       mov      rbx, rcx
-       mov      r13, r8
-						;; size=34 bbWeight=1 PerfScore 8.00
+       push     rax
+       lea      rbp, [rsp+0x30]
+       mov      gword ptr [rbp-0x30], rcx
+       mov      rbx, rdi
+       mov      r13, rsi
+       mov      r15, rdx
+       mov      r14, r8
+						;; size=32 bbWeight=1 PerfScore 9.50
 G_M34797_IG02:
-       mov      rsi, gword ptr [r14+0x10]
-       mov      rdi, r15
-       mov      rdx, r14
-       mov      rcx, r13
+       mov      rsi, gword ptr [r15+0x10]
+       mov      rdi, rbx
+       mov      rdx, r15
+       mov      rcx, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlResolver,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext):this
        call     [rax]System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlResolver,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext):this
-       mov      rdi, gword ptr [r14+0x10]
-       test     rbx, rbx
-       je       G_M34797_IG05
-						;; size=38 bbWeight=1 PerfScore 9.25
+       mov      rsi, gword ptr [r15+0x10]
+       lea      rdi, [rbp-0x30]
+       mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver)
+       call     [rax]System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver)
+       test     r14, r14
+       je       SHORT G_M34797_IG04
+						;; size=50 bbWeight=1 PerfScore 13.00
 G_M34797_IG03:
-       mov      eax, dword ptr [rbx+0x08]
-       test     eax, eax
-       jle      G_M34797_IG05
-       cmp      word  ptr [rbx+0x0C], 47
-       jne      SHORT G_M34797_IG05
+       mov      rdi, gword ptr [r14+0x40]
        test     rdi, rdi
-       jne      SHORT G_M34797_IG04
-       mov      rdi, 0xD1FFAB1E      ; System.Uri
-       call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x30], rax
-       mov      rdi, rax
-       mov      rsi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Uri:.ctor(System.String):this
-       call     [rcx]System.Uri:.ctor(System.String):this
-       mov      rdi, gword ptr [rbp-0x30]
-       mov      rax, 0xD1FFAB1E      ; code for System.Uri:ToString():System.String:this
-       call     [rax]System.Uri:ToString():System.String:this
-       mov      rbx, rax
-       jmp      SHORT G_M34797_IG05
-						;; size=81 bbWeight=0.50 PerfScore 10.50
+       cmove    rdi, gword ptr [rbp-0x30]
+       mov      gword ptr [rbp-0x30], rdi
+						;; size=16 bbWeight=0.50 PerfScore 2.62
 G_M34797_IG04:
-       mov      rdx, rbx
-       xor      rsi, rsi
-       mov      rax, qword ptr [rdi]
-       mov      rax, qword ptr [rax+0x40]
-       call     [rax+0x30]System.Xml.XmlResolver:ResolveUri(System.Uri,System.String):System.Uri:this
-       mov      gword ptr [rbp-0x38], rax
-       mov      rdi, rax
-       mov      rcx, 0xD1FFAB1E      ; code for System.Uri:get_IsFile():ubyte:this
-       cmp      dword ptr [rdi], edi
-       call     [rcx]System.Uri:get_IsFile():ubyte:this
-       test     eax, eax
-       je       SHORT G_M34797_IG05
-       mov      rdi, gword ptr [rbp-0x38]
-       mov      rax, qword ptr [rdi]
-       mov      rax, qword ptr [rax+0x40]
-       call     [rax+0x08]System.Object:ToString():System.String:this
-       mov      rbx, rax
-						;; size=57 bbWeight=0.50 PerfScore 12.25
-G_M34797_IG05:
-       test     r13, r13
-       je       SHORT G_M34797_IG07
-						;; size=5 bbWeight=1 PerfScore 1.25
-G_M34797_IG06:
-       mov      rdi, gword ptr [r13+0x40]
-       test     rdi, rdi
-       cmovne   rbx, rdi
-						;; size=11 bbWeight=0.50 PerfScore 1.25
-G_M34797_IG07:
-       lea      rdi, bword ptr [r15+0x60]
-       mov      rsi, rbx
+       lea      rdi, bword ptr [rbx+0x60]
+       mov      rsi, gword ptr [rbp-0x30]
        call     CORINFO_HELP_ASSIGN_REF
-       movzx    rdi, byte  ptr [r14+0x5D]
-       mov      byte  ptr [r15+0x17D], dil
+       movzx    rdi, byte  ptr [r15+0x5D]
+       mov      byte  ptr [rbx+0x17D], dil
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlTextReaderImpl+LaterInitParam
        call     CORINFO_HELP_NEWSFAST
        mov      dword ptr [rax+0x44], 3
-       lea      rdi, bword ptr [r15+0x08]
+       lea      rdi, bword ptr [rbx+0x08]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rbx, gword ptr [r15+0x08]
-       lea      rdi, bword ptr [rbx+0x38]
-       mov      rsi, r12
-       call     CORINFO_HELP_ASSIGN_REF
-       lea      rdi, bword ptr [rbx+0x30]
+       mov      r12, gword ptr [rbx+0x08]
+       lea      rdi, bword ptr [r12+0x38]
        mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
-       mov      dword ptr [rbx+0x44], 2
-       cmp      byte  ptr [r14+0x58], 0
-       je       SHORT G_M34797_IG10
-						;; size=100 bbWeight=1 PerfScore 19.25
-G_M34797_IG08:
-       mov      byte  ptr [rbx+0x48], 1
-						;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M34797_IG09:
-       add      rsp, 24
+       lea      rdi, bword ptr [r12+0x30]
+       mov      rsi, r14
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      dword ptr [r12+0x44], 2
+       cmp      byte  ptr [r15+0x58], 0
+       je       SHORT G_M34797_IG07
+						;; size=105 bbWeight=1 PerfScore 20.00
+G_M34797_IG05:
+       mov      byte  ptr [r12+0x48], 1
+						;; size=6 bbWeight=0.50 PerfScore 0.50
+G_M34797_IG06:
+       add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M34797_IG10:
-       mov      rdi, r15
+G_M34797_IG07:
+       mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:FinishInitTextReader():this
        call     [rax]System.Xml.XmlTextReaderImpl:FinishInitTextReader():this
        nop      
 						;; size=16 bbWeight=0.50 PerfScore 1.88
-G_M34797_IG11:
-       add      rsp, 24
+G_M34797_IG08:
+       add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 
-; Total bytes of code 376, prolog size 19, PerfScore 68.38, instruction count 105, allocated bytes for code 376 (MethodHash=55a37812) for method System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String,System.Xml.XmlParserContext):this (FullOpts)
+; Total bytes of code 255, prolog size 16, PerfScore 51.75, instruction count 71, allocated bytes for code 255 (MethodHash=55a37812) for method System.Xml.XmlTextReaderImpl:.ctor(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String,System.Xml.XmlParserContext):this (FullOpts)
-90 (-23.75 % of base) - System.Xml.XmlTextReader:.ctor(System.String,System.IO.TextReader):this
 ; Assembly listing for method System.Xml.XmlTextReader:.ctor(System.String,System.IO.TextReader):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  5,  5   )     ref  ->  rbx         this class-hnd single-def <System.Xml.XmlTextReader>
-;  V01 arg1         [V01,T05] (  4,  3.50)     ref  ->  r15         class-hnd single-def <System.String>
-;  V02 arg2         [V02,T07] (  3,  3   )     ref  ->  r14         class-hnd single-def <System.IO.TextReader>
+;  V00 this         [V00,T02] (  5,  5   )     ref  ->  rbx         this class-hnd single-def <System.Xml.XmlTextReader>
+;  V01 arg1         [V01,T04] (  3,  3   )     ref  ->  r15         class-hnd single-def <System.String>
+;  V02 arg2         [V02,T05] (  3,  3   )     ref  ->  r14         class-hnd single-def <System.IO.TextReader>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T00] (  9, 18   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl>
-;  V05 tmp2         [V05,T02] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
-;  V06 tmp3         [V06,T01] (  6,  9   )     ref  ->  [rbp-0x30]  ld-addr-op class-hnd "Inlining Arg" <System.String>
-;  V07 tmp4         [V07,T04] (  3,  6   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
+;  V05 tmp2         [V05,T01] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
+;  V06 tmp3         [V06    ] (  4,  8   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.String>
+;  V07 tmp4         [V07,T03] (  3,  6   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V09 tmp6         [V09,T06] (  5,  5   )     ref  ->  rsi        
-;  V10 tmp7         [V10,T08] (  3,  3   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Uri>
-;* V11 tmp8         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;* V12 tmp9         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl>
-;  V13 cse0         [V13,T09] (  2,  1   )     int  ->  rdi         "CSE #01: moderate"
+;  V09 tmp6         [V09,T06] (  4,  4   )     ref  ->  rsi        
+;* V10 tmp7         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
+;* V11 tmp8         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl>
 ;
-; Lcl frame size = 24
+; Lcl frame size = 8
 
 G_M36365_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 24
-       lea      rbp, [rsp+0x40]
+       push     rax
+       lea      rbp, [rsp+0x30]
+       xor      eax, eax
+       mov      qword ptr [rbp-0x30], rax
        mov      rbx, rdi
        mov      r15, rsi
        mov      r14, rdx
-						;; size=28 bbWeight=1 PerfScore 7.50
+						;; size=31 bbWeight=1 PerfScore 9.50
 G_M36365_IG02:
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlTextReaderImpl
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      rdi, 0xD1FFAB1E      ; System.Xml.NameTable
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.NameTable:.ctor():this
        call     [rax]System.Xml.NameTable:.ctor():this
        mov      gword ptr [rbp-0x30], r15
        mov      rdi, r13
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlNameTable):this
        call     [rax]System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlNameTable):this
-       mov      rsi, gword ptr [rbp-0x30]
-       test     rsi, rsi
-       je       G_M36365_IG07
-						;; size=86 bbWeight=1 PerfScore 13.50
-G_M36365_IG03:
-       mov      edi, dword ptr [rsi+0x08]
-       test     edi, edi
-       jle      G_M36365_IG06
-       cmp      word  ptr [rsi+0x0C], 47
-       mov      gword ptr [rbp-0x30], rsi
-       jne      SHORT G_M36365_IG04
-       mov      rdi, 0xD1FFAB1E      ; System.Uri
-       call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x38], rax
-       mov      rdi, rax
-       mov      rsi, r15
-       mov      rcx, 0xD1FFAB1E      ; code for System.Uri:.ctor(System.String):this
-       call     [rcx]System.Uri:.ctor(System.String):this
-       mov      rdi, gword ptr [rbp-0x38]
-       mov      rax, 0xD1FFAB1E      ; code for System.Uri:ToString():System.String:this
-       call     [rax]System.Uri:ToString():System.String:this
-       mov      gword ptr [rbp-0x30], rax
-						;; size=79 bbWeight=0.50 PerfScore 9.75
-G_M36365_IG04:
+       lea      rdi, [rbp-0x30]
+       xor      rsi, rsi
+       mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver)
+       call     [rax]System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver)
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlNamespaceManager
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rdi, r15
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlNamespaceManager:.ctor(System.Xml.XmlNameTable):this
        call     [rax]System.Xml.XmlNamespaceManager:.ctor(System.Xml.XmlNameTable):this
        lea      rdi, bword ptr [r13+0x40]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
-       mov      r15, gword ptr [rbp-0x30]
-       mov      rsi, r15
+       mov      rsi, gword ptr [rbp-0x30]
        mov      rdi, 0xD1FFAB1E      ; ''
-       test     rsi, rsi
+       cmp      gword ptr [rbp-0x30], 0
        cmove    rsi, rdi
        lea      rdi, bword ptr [r13+0x60]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rsi, gword ptr [r13+0x60]
        mov      rdi, r13
        mov      rcx, r14
        xor      rdx, rdx
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:InitTextReaderInput(System.String,System.Uri,System.IO.TextReader):this
        call     [rax]System.Xml.XmlTextReaderImpl:InitTextReaderInput(System.String,System.Uri,System.IO.TextReader):this
        mov      rsi, gword ptr [r13+0x190]
        lea      rdi, bword ptr [r13+0x68]
        call     CORINFO_HELP_ASSIGN_REF
        lea      rdi, bword ptr [rbx+0x08]
        mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, gword ptr [rbx+0x08]
        lea      rdi, bword ptr [rdi+0xC8]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        nop      
-						;; size=153 bbWeight=1 PerfScore 25.75
-G_M36365_IG05:
-       add      rsp, 24
+						;; size=243 bbWeight=1 PerfScore 42.50
+G_M36365_IG03:
+       add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M36365_IG06:
-       mov      gword ptr [rbp-0x30], rsi
-       jmp      G_M36365_IG04
-						;; size=9 bbWeight=0.25 PerfScore 0.75
-G_M36365_IG07:
-       mov      gword ptr [rbp-0x30], rsi
-       jmp      G_M36365_IG04
-						;; size=9 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 379, prolog size 19, PerfScore 63.00, instruction count 91, allocated bytes for code 379 (MethodHash=126571f2) for method System.Xml.XmlTextReader:.ctor(System.String,System.IO.TextReader):this (FullOpts)
+; Total bytes of code 289, prolog size 22, PerfScore 56.25, instruction count 72, allocated bytes for code 289 (MethodHash=126571f2) for method System.Xml.XmlTextReader:.ctor(System.String,System.IO.TextReader):this (FullOpts)
-83 (-10.77 % of base) - System.Xml.Xsl.XsltOld.Compiler:ResolveDocument(System.Uri):System.Xml.Xsl.XsltOld.NavigatorInput:this
 ; Assembly listing for method System.Xml.Xsl.XsltOld.Compiler:ResolveDocument(System.Uri):System.Xml.Xsl.XsltOld.NavigatorInput:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 8 single block inlinees; 3 inlinees without PGO data
+; 0 inlinees with PGO data; 8 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  6,  4.50)     ref  ->  r15         this class-hnd single-def <System.Xml.Xsl.XsltOld.Compiler>
-;  V01 arg1         [V01,T02] (  5,  5   )     ref  ->  rbx         class-hnd single-def <System.Uri>
-;  V02 loc0         [V02,T07] (  5,  3.50)     ref  ->  r14         class-hnd single-def <System.Object>
-;  V03 loc1         [V03,T08] (  6,  3   )     ref  ->  rbx         class-hnd exact single-def <System.String>
+;  V00 this         [V00,T02] (  6,  4.50)     ref  ->  r15         this class-hnd single-def <System.Xml.Xsl.XsltOld.Compiler>
+;  V01 arg1         [V01,T01] (  5,  5   )     ref  ->  rbx         class-hnd single-def <System.Uri>
+;  V02 loc0         [V02,T06] (  5,  3.50)     ref  ->  r14         class-hnd single-def <System.Object>
+;  V03 loc1         [V03,T13] (  5,  2.50)     ref  ->  rbx         class-hnd exact single-def <System.String>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T20] (  3,  0   )     ref  ->  r14         class-hnd exact single-def "dup spill" <System.String[]>
-;  V06 tmp2         [V06,T21] (  2,  0   )     ref  ->  r15         class-hnd exact single-def "impAppendStmt" <System.String>
-;  V07 tmp3         [V07,T09] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Xsl.XsltOld.NavigatorInput>
+;  V05 tmp1         [V05,T19] (  3,  0   )     ref  ->  r14         class-hnd exact single-def "dup spill" <System.String[]>
+;  V06 tmp2         [V06,T20] (  2,  0   )     ref  ->  r15         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V07 tmp3         [V07,T07] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Xsl.XsltOld.NavigatorInput>
 ;  V08 tmp4         [V08,T00] ( 11, 11   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextReaderImpl>
-;  V09 tmp5         [V09,T10] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Xsl.XsltOld.NavigatorInput>
-;  V10 tmp6         [V10,T11] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.IO.Stream>
-;  V11 tmp7         [V11,T06] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
-;  V12 tmp8         [V12,T01] (  8,  8   )     ref  ->  [rbp-0x30]  ld-addr-op class-hnd "Inlining Arg" <System.String>
-;  V13 tmp9         [V13,T12] (  3,  3   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
-;  V14 tmp10        [V14,T13] (  3,  3   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Uri>
-;* V15 tmp11        [V15,T19] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inlining Arg" <System.String>
-;* V17 tmp13        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;  V18 tmp14        [V18,T14] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathDocument>
-;  V19 tmp15        [V19,T04] (  6,  6   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <MS.Internal.Xml.Cache.XPathDocumentNavigator>
-;  V20 tmp16        [V20,T15] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <MS.Internal.Xml.Cache.XPathNode[]>
-;  V21 tmp17        [V21,T17] (  2,  2   )     int  ->  r14         "Inlining Arg"
-;  V22 tmp18        [V22,T05] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
-;  V23 tmp19        [V23,T16] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V24 cse0         [V24,T18] (  2,  1   )     int  ->  rdi         "CSE #01: moderate"
+;  V09 tmp5         [V09,T08] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Xml.Xsl.XsltOld.NavigatorInput>
+;  V10 tmp6         [V10,T09] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.IO.Stream>
+;  V11 tmp7         [V11,T05] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
+;  V12 tmp8         [V12    ] (  4,  4   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.String>
+;  V13 tmp9         [V13,T10] (  3,  3   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
+;* V14 tmp10        [V14,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V15 tmp11        [V15,T11] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V16 tmp12        [V16,T14] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V17 tmp13        [V17,T12] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathDocument>
+;  V18 tmp14        [V18,T03] (  6,  6   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <MS.Internal.Xml.Cache.XPathDocumentNavigator>
+;  V19 tmp15        [V19,T15] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <MS.Internal.Xml.Cache.XPathNode[]>
+;  V20 tmp16        [V20,T17] (  2,  2   )     int  ->  r14         "Inlining Arg"
+;  V21 tmp17        [V21,T04] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V22 tmp18        [V22,T16] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 24
 
 G_M26771_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 24
+       lea      rbp, [rsp+0x40]
+       xor      eax, eax
+       mov      qword ptr [rbp-0x30], rax
        mov      r15, rdi
        mov      rbx, rsi
-						;; size=25 bbWeight=1 PerfScore 7.25
+						;; size=31 bbWeight=1 PerfScore 8.50
 G_M26771_IG02:
        mov      rdi, gword ptr [r15+0x18]
        mov      rsi, rbx
        xor      rdx, rdx
        xor      rcx, rcx
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x20]System.Xml.XmlResolver:GetEntity(System.Uri,System.String,System.Type):System.Object:this
        mov      r14, rax
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x08]System.Object:ToString():System.String:this
        mov      rbx, rax
        mov      rsi, r14
        mov      rdi, 0xD1FFAB1E      ; System.IO.Stream
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        jne      SHORT G_M26771_IG05
 						;; size=70 bbWeight=1 PerfScore 22.50
 G_M26771_IG03:
        mov      rsi, r14
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XPath.XPathNavigator
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
-       je       G_M26771_IG14
+       je       G_M26771_IG10
        mov      rdi, 0xD1FFAB1E      ; System.Xml.Xsl.XsltOld.NavigatorInput
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      rsi, r14
        mov      rcx, gword ptr [r15+0x10]
        mov      rdi, r13
        mov      rdx, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.XsltOld.NavigatorInput:.ctor(System.Xml.XPath.XPathNavigator,System.String,System.Xml.Xsl.XsltOld.InputScope):this
        call     [rax]System.Xml.Xsl.XsltOld.NavigatorInput:.ctor(System.Xml.XPath.XPathNavigator,System.String,System.Xml.Xsl.XsltOld.InputScope):this
        mov      rax, r13
 						;; size=80 bbWeight=0.50 PerfScore 6.38
 G_M26771_IG04:
-       add      rsp, 40
+       add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M26771_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlTextReaderImpl
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      rdi, 0xD1FFAB1E      ; System.Xml.NameTable
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.NameTable:.ctor():this
        call     [rax]System.Xml.NameTable:.ctor():this
        mov      gword ptr [rbp-0x30], rbx
        mov      rdi, r13
        mov      rsi, r12
-       mov      rcx, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlNameTable):this
-       call     [rcx]System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlNameTable):this
-       mov      rax, gword ptr [rbp-0x30]
-       test     rax, rax
-       je       G_M26771_IG08
-       mov      edi, dword ptr [rax+0x08]
-       test     edi, edi
-       jle      G_M26771_IG07
-       cmp      word  ptr [rax+0x0C], 47
-       mov      gword ptr [rbp-0x30], rax
-       jne      SHORT G_M26771_IG06
-       mov      rdi, 0xD1FFAB1E      ; System.Uri
-       call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x40], rax
-       mov      rdi, rax
-       mov      rsi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Uri:.ctor(System.String):this
-       call     [rcx]System.Uri:.ctor(System.String):this
-       mov      rdi, gword ptr [rbp-0x40]
-       mov      rax, 0xD1FFAB1E      ; code for System.Uri:ToString():System.String:this
-       call     [rax]System.Uri:ToString():System.String:this
-       mov      gword ptr [rbp-0x30], rax
-						;; size=165 bbWeight=0.50 PerfScore 16.50
-G_M26771_IG06:
+       mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlNameTable):this
+       call     [rax]System.Xml.XmlTextReaderImpl:.ctor(System.Xml.XmlNameTable):this
+       lea      rdi, [rbp-0x30]
+       xor      rsi, rsi
+       mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver)
+       call     [rax]System.Xml.XmlTextReaderImpl:ConvertAbsoluteUnixPathToAbsoluteUri(byref,System.Xml.XmlResolver)
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlNamespaceManager
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x38], rax
        mov      rdi, rax
        mov      rsi, r12
        mov      rcx, 0xD1FFAB1E      ; code for System.Xml.XmlNamespaceManager:.ctor(System.Xml.XmlNameTable):this
        call     [rcx]System.Xml.XmlNamespaceManager:.ctor(System.Xml.XmlNameTable):this
        lea      rdi, bword ptr [r13+0x40]
        mov      rsi, gword ptr [rbp-0x38]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      r12, gword ptr [rbp-0x30]
-       test     r12, r12
-       je       SHORT G_M26771_IG10
-       cmp      dword ptr [r12+0x08], 0
-       jne      SHORT G_M26771_IG09
-       jmp      SHORT G_M26771_IG10
-						;; size=69 bbWeight=0.50 PerfScore 8.38
-G_M26771_IG07:
-       mov      gword ptr [rbp-0x30], rax
-       jmp      SHORT G_M26771_IG06
-						;; size=6 bbWeight=0.25 PerfScore 0.75
-G_M26771_IG08:
-       mov      gword ptr [rbp-0x30], rax
-       jmp      SHORT G_M26771_IG06
-						;; size=6 bbWeight=0.25 PerfScore 0.75
-G_M26771_IG09:
+       mov      rdi, gword ptr [rbp-0x30]
+       test     rdi, rdi
+       je       SHORT G_M26771_IG06
+       cmp      dword ptr [rdi+0x08], 0
+       je       SHORT G_M26771_IG06
+       mov      rdx, gword ptr [rbp-0x30]
        xor      rdi, rdi
        mov      gword ptr [rsp], rdi
        mov      rdi, r13
        mov      rcx, r14
-       mov      rdx, r12
        xor      rsi, rsi
        xor      r8, r8
        xor      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:InitStreamInput(System.Uri,System.String,System.IO.Stream,ubyte[],int,System.Text.Encoding):this
        call     [rax]System.Xml.XmlTextReaderImpl:InitStreamInput(System.Uri,System.String,System.IO.Stream,ubyte[],int,System.Text.Encoding):this
-       jmp      SHORT G_M26771_IG11
-						;; size=37 bbWeight=0.50 PerfScore 4.00
-G_M26771_IG10:
+       jmp      SHORT G_M26771_IG07
+						;; size=194 bbWeight=0.50 PerfScore 19.38
+G_M26771_IG06:
        xor      rdi, rdi
        mov      gword ptr [rsp], rdi
        mov      rdi, r13
        mov      rcx, r14
        xor      rsi, rsi
        mov      rdx, 0xD1FFAB1E      ; ''
        xor      r8, r8
        xor      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:InitStreamInput(System.Uri,System.String,System.IO.Stream,ubyte[],int,System.Text.Encoding):this
        call     [rax]System.Xml.XmlTextReaderImpl:InitStreamInput(System.Uri,System.String,System.IO.Stream,ubyte[],int,System.Text.Encoding):this
 						;; size=42 bbWeight=0.50 PerfScore 3.00
-G_M26771_IG11:
+G_M26771_IG07:
        mov      rsi, gword ptr [r13+0x1B8]
        lea      rdi, bword ptr [r13+0x60]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rsi, gword ptr [r13+0x190]
        lea      rdi, bword ptr [r13+0x68]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rsi, gword ptr [r15+0x18]
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextReaderImpl:set_XmlResolver(System.Xml.XmlResolver):this
        call     [rax]System.Xml.XmlTextReaderImpl:set_XmlResolver(System.Xml.XmlResolver):this
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.XsltOld.Compiler:LoadDocument(System.Xml.XmlTextReaderImpl):System.Xml.XPath.XPathDocument
        call     [rax]System.Xml.Xsl.XsltOld.Compiler:LoadDocument(System.Xml.XmlTextReaderImpl):System.Xml.XPath.XPathDocument
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; MS.Internal.Xml.Cache.XPathDocumentNavigator
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      rsi, gword ptr [r14+0x10]
        mov      r14d, dword ptr [r14+0x3C]
        lea      rdi, bword ptr [r13+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        xor      rdi, rdi
        mov      gword ptr [r13+0x10], rdi
        mov      dword ptr [r13+0x20], r14d
 						;; size=114 bbWeight=0.50 PerfScore 12.75
-G_M26771_IG12:
+G_M26771_IG08:
        mov      dword ptr [r13+0x24], edi
        mov      rdi, 0xD1FFAB1E      ; System.Xml.Xsl.XsltOld.NavigatorInput
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      rcx, gword ptr [r15+0x10]
        mov      rdi, r14
        mov      rsi, r13
        mov      rdx, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.XsltOld.NavigatorInput:.ctor(System.Xml.XPath.XPathNavigator,System.String,System.Xml.Xsl.XsltOld.InputScope):this
        call     [rax]System.Xml.Xsl.XsltOld.NavigatorInput:.ctor(System.Xml.XPath.XPathNavigator,System.String,System.Xml.Xsl.XsltOld.InputScope):this
        mov      rax, r14
 						;; size=50 bbWeight=0.50 PerfScore 4.38
-G_M26771_IG13:
-       add      rsp, 40
+G_M26771_IG09:
+       add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M26771_IG14:
+G_M26771_IG10:
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Xslt_CantResolve():System.String
        call     [rax]System.SR:get_Xslt_CantResolve():System.String
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; System.String[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r14, rax
        lea      rdi, bword ptr [r14+0x10]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, r15
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
        call     [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=77 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 771, prolog size 19, PerfScore 90.88, instruction count 188, allocated bytes for code 771 (MethodHash=9d3b976c) for method System.Xml.Xsl.XsltOld.Compiler:ResolveDocument(System.Uri):System.Xml.Xsl.XsltOld.NavigatorInput:this (FullOpts)
+; Total bytes of code 688, prolog size 25, PerfScore 81.12, instruction count 169, allocated bytes for code 688 (MethodHash=9d3b976c) for method System.Xml.Xsl.XsltOld.Compiler:ResolveDocument(System.Uri):System.Xml.Xsl.XsltOld.NavigatorInput:this (FullOpts)

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

@MihuBot
Copy link
Owner Author

MihuBot commented Jun 14, 2024

@MihaZupan

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

No branches or pull requests

1 participant