MihuBot / runtime-utils

0 stars 0 forks source link

[X64] [MihaZupan] Drop generic type constraints from Unsafe.BitCast #358

Open MihuBot opened 3 months ago

MihuBot commented 3 months ago

Build completed in 24 minutes. https://github.com/dotnet/runtime/pull/100842

Diffs

Diffs ``` Found 335 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38844463 Total bytes of diff: 38842089 Total bytes of delta: -2374 (-0.01 % of base) Total relative delta: -36.52 diff is an improvement. relative diff is an improvement. Total byte diff includes 64 bytes from reconciling methods Base had 6 unique methods, 66 unique bytes Diff had 14 unique methods, 130 unique bytes Top file regressions (bytes): 387 : System.Security.Cryptography.Xml.dasm (0.18 % of base) 319 : System.Text.RegularExpressions.dasm (0.04 % of base) 97 : System.Data.Odbc.dasm (0.04 % of base) 68 : System.IO.Packaging.dasm (0.07 % of base) 55 : System.Private.DataContractSerialization.dasm (0.01 % of base) 50 : System.Reflection.MetadataLoadContext.dasm (0.02 % of base) 33 : System.Console.dasm (0.04 % of base) 25 : System.Net.HttpListener.dasm (0.02 % of base) 25 : System.Transactions.Local.dasm (0.02 % of base) 18 : System.Net.Mail.dasm (0.01 % of base) 15 : System.Net.Security.dasm (0.01 % of base) 15 : System.ComponentModel.Primitives.dasm (0.09 % of base) 11 : Microsoft.VisualBasic.Core.dasm (0.00 % of base) 9 : Microsoft.Extensions.Diagnostics.dasm (0.05 % of base) 8 : System.Security.Cryptography.dasm (0.00 % of base) 6 : Microsoft.Extensions.Logging.Abstractions.dasm (0.01 % of base) 6 : System.Reflection.Emit.dasm (0.01 % of base) 6 : System.Diagnostics.Process.dasm (0.01 % of base) 1 : System.Net.Primitives.dasm (0.00 % of base) Top file improvements (bytes): -1768 : System.Private.CoreLib.dasm (-0.03 % of base) -384 : System.Net.Sockets.dasm (-0.15 % of base) -241 : System.Private.Uri.dasm (-0.26 % of base) -196 : System.Memory.dasm (-0.07 % of base) -151 : System.Net.Http.dasm (-0.02 % of base) -139 : System.Net.WebHeaderCollection.dasm (-0.95 % of base) -136 : System.Private.Xml.dasm (-0.00 % of base) -128 : System.Net.Requests.dasm (-0.09 % of base) -76 : System.Text.Json.dasm (-0.01 % of base) -74 : System.IO.Compression.dasm (-0.08 % of base) -59 : System.Diagnostics.DiagnosticSource.dasm (-0.03 % of base) -39 : System.IO.Pipes.dasm (-0.10 % of base) -24 : System.Net.NetworkInformation.dasm (-0.05 % of base) -19 : System.Data.Common.dasm (-0.00 % of base) -17 : Microsoft.Extensions.DependencyModel.dasm (-0.02 % of base) -16 : Microsoft.Extensions.Primitives.dasm (-0.06 % of base) -12 : System.ComponentModel.TypeConverter.dasm (-0.00 % of base) -8 : System.Configuration.ConfigurationManager.dasm (-0.00 % of base) -8 : System.Net.WebSockets.Client.dasm (-0.03 % of base) -7 : System.Reflection.Metadata.dasm (-0.00 % of base) -5 : Microsoft.Extensions.Logging.dasm (-0.01 % of base) -5 : ILCompiler.Reflection.ReadyToRun.dasm (-0.00 % of base) -3 : Microsoft.Extensions.Configuration.dasm (-0.01 % of base) -3 : System.Resources.Extensions.dasm (-0.01 % of base) -2 : Microsoft.CSharp.dasm (-0.00 % of base) -2 : System.CodeDom.dasm (-0.00 % of base) -1 : System.Diagnostics.FileVersionInfo.dasm (-0.01 % of base) -1 : System.ComponentModel.Annotations.dasm (-0.00 % of base) -1 : System.Web.HttpUtility.dasm (-0.01 % of base) -1 : System.Composition.Hosting.dasm (-0.00 % of base) -1 : Microsoft.Extensions.Configuration.CommandLine.dasm (-0.03 % of base) -1 : System.Composition.Runtime.dasm (-0.01 % of base) 51 total files with Code Size differences (32 improved, 19 regressed), 205 unchanged. Top method regressions (bytes): 385 (24.15 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) 308 (2.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts) (2 methods) 154 (5.60 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.DecimalFormatter:.ctor(System.String,System.Xml.Xsl.Runtime.DecimalFormat):this (FullOpts) 98 (5.93 % of base) : System.Private.CoreLib.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts) 95 (3.11 % of base) : System.Data.Odbc.dasm - System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,ubyte,System.String,ubyte):System.String[] (FullOpts) 62 (7.70 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts) 59 (3.34 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.MetadataReader):System.String (FullOpts) 56 (15.82 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int (FullOpts) 51 (3.11 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts) (2 methods) 45 (1.52 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts) 34 (4.05 % of base) : System.Console.dasm - System.Text.EncodingHelper:GetCharset():System.String (FullOpts) (2 methods) 25 (2.22 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerRequest+Helpers:GetCharSetValueFromHeader(System.String):System.String (FullOpts) 25 (9.88 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionsEtwProvider:SetActivityId(System.String) (FullOpts) 23 (0.95 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts) 22 (1.46 % of base) : System.Private.CoreLib.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts) 19 (7.04 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileSystem:VB6CheckPathname(Microsoft.VisualBasic.CompilerServices.AssemblyData,System.String,int):System.String (FullOpts) 17 (2.81 % of base) : System.Net.Mail.dasm - System.Net.Mail.Message:set_Subject(System.String):this (FullOpts) 16 (6.87 % of base) : System.Private.CoreLib.dasm - System.UInt32:System.Numerics.IBinaryInteger.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts) 15 (1.85 % of base) : System.Net.Security.dasm - System.Net.NegotiateAuthenticationPal+UnixNegotiateAuthenticationPal:AcquireCredentialsHandle(System.Net.NetworkCredential):Microsoft.Win32.SafeHandles.SafeGssCredHandle:this (FullOpts) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[double,System.Nullable`1[int]](double):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[int,System.Nullable`1[int]](int):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[long,System.Nullable`1[int]](long):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[short,System.Nullable`1[int]](short):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.__Canon,System.Nullable`1[int]](System.__Canon):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int]):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float]):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[ubyte,System.Nullable`1[int]](ubyte):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (0.67 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:.ctor(System.String):this (FullOpts) 13 (2.73 % of base) : System.Net.Requests.dasm - System.Net.HttpWebRequest:set_Host(System.String):this (FullOpts) 10 (0.57 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.EncryptedData:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) 10 (2.59 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteAttribute(System.String,System.String,ubyte[]):this (FullOpts) 9 (1.26 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.ListenerSubscription:RuleMatches(Microsoft.Extensions.Diagnostics.Metrics.InstrumentRule,System.Diagnostics.Metrics.Instrument,System.String,System.Diagnostics.Metrics.IMeterFactory):ubyte (FullOpts) 9 (2.18 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:.ctor(System.String):this (FullOpts) 9 (0.86 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__Regex2_4+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts) 9 (0.86 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__UnknownNodeObjectEmptyRegex_8+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts) 8 (0.30 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:MatchesHostname(System.String,ubyte,ubyte):ubyte:this (FullOpts) 8 (1.37 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:ScanReplacement():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods) 8 (1.37 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteAttribute(System.String,System.String,System.String):this (FullOpts) 7 (7.95 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileSystem:PathContainsWildcards(System.String):ubyte (FullOpts) 7 (5.38 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeNameBuilder:Append(System.String):this (FullOpts) 7 (5.38 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.TypeNameBuilder:Append(System.String):this (FullOpts) 7 (1.53 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.KeyInfoName:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) 7 (1.63 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:GetIdFromLocalUri(System.String,byref):System.String (FullOpts) 6 (1.52 % of base) : System.Diagnostics.Process.dasm - Interop+procfs:g__TryParseAddressRange|19_0(System.String,byref,byref):System.ValueTuple`2[long,int] (FullOpts) 6 (0.45 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:.ctor(System.String):this (FullOpts) 6 (0.90 % of base) : System.Memory.dasm - System.Buffers.BuffersExtensions:PositionOf[short](byref,short):System.Nullable`1[System.SequencePosition] (FullOpts) 6 (0.58 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerRequest:AddHeader(System.String):this (FullOpts) 6 (2.23 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerReadContext:ParseQualifiedName(System.String,System.Runtime.Serialization.XmlReaderDelegator,byref,byref,byref) (FullOpts) 6 (1.43 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:ExtractIdFromLocalUri(System.String):System.String (FullOpts) 6 (0.29 % of base) : System.Private.CoreLib.dasm - System.Version:ParseVersion(System.ReadOnlySpan`1[ushort],ubyte):System.Version (FullOpts) 6 (0.99 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TypeScope:ParseWsdlArrayType(System.String,byref,System.Xml.Schema.XmlSchemaObject):System.Xml.XmlQualifiedName (FullOpts) 5 (0.43 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateAndEscapeDelimiters():this (FullOpts) 5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.Design.Serialization.DesignerSerializerAttribute:get_TypeId():System.Object:this (FullOpts) 5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.DesignerAttribute:get_TypeId():System.Object:this (FullOpts) 5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.EditorAttribute:get_TypeId():System.Object:this (FullOpts) 5 (0.57 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.PropertyTabAttribute:InitializeTabClasses():this (FullOpts) 5 (0.51 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.WarningHeaderValue:TryReadDate(System.String,byref,byref):ubyte (FullOpts) 5 (1.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:GetClrNameAndNamespace(System.String,byref,byref) (FullOpts) 5 (0.44 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseExternalId(int,int,byref,byref):this (FullOpts) 4 (0.18 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToSlow(byref,short,short,int,ubyte):ubyte:this (FullOpts) (2 methods) 4 (3.28 % of base) : System.Private.CoreLib.dasm - System.Enum:FindDefinedIndex[short](short[],short):int (FullOpts) 4 (2.35 % of base) : System.Private.CoreLib.dasm - System.Enum:GetName[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts) 4 (2.27 % of base) : System.Private.CoreLib.dasm - System.Enum:GetNameInlined[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts) 4 (1.86 % of base) : System.Private.CoreLib.dasm - System.Enum:IsDefinedPrimitive[short](System.RuntimeType,short):ubyte (FullOpts) 4 (7.14 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:Contains[short](System.ReadOnlySpan`1[short],short):ubyte (FullOpts) 4 (7.14 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:Contains[short](System.Span`1[short],short):ubyte (FullOpts) 4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (12.90 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (3.57 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyName:IsReservedUnreservedOrHash(ushort):ubyte (FullOpts) 4 (7.14 % of base) : System.Private.CoreLib.dasm - System.Security.SecurityElement:IsValidAttributeValue(System.String):ubyte (FullOpts) 4 (7.14 % of base) : System.Private.CoreLib.dasm - System.Security.SecurityElement:IsValidTag(System.String):ubyte (FullOpts) 4 (4.35 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:Unescape(System.String):System.String (FullOpts) 3 (0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[double](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts) 3 (0.27 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[int](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts) 3 (0.27 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[long](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts) 3 (0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[short](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts) 3 (0.26 % of base) : System.Private.CoreLib.dasm - System.Enum:TryParseByName[ubyte](System.RuntimeType,System.ReadOnlySpan`1[ushort],ubyte,ubyte,byref):ubyte (FullOpts) 3 (0.81 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:ParseTypeAndSubType(System.ReadOnlySpan`1[ushort]):this (FullOpts) 3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts) 3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts) 3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts) 3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (8.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[short](System.Span`1[short],short,short,short):int (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (0.44 % of base) : System.Net.Primitives.dasm - System.Net.CookieContainer:IsLocalDomain(System.String):ubyte:this (FullOpts) 3 (0.31 % of base) : System.Net.Requests.dasm - System.Net.FtpWebRequest:.ctor(System.Uri):this (FullOpts) 3 (0.13 % of base) : System.Net.Http.dasm - System.Net.Http.HttpEnvironmentProxy:GetUriFromString(System.String):System.Uri (FullOpts) 3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[double](double):ubyte (FullOpts) (0 base, 1 diff methods) Top method improvements (bytes): -384 (-100.00 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (FullOpts) (0 base, 1 diff methods) -128 (-16.91 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String (FullOpts) -99 (-6.75 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToAny(byref,System.ReadOnlySpan`1[short],ubyte):ubyte:this (FullOpts) (2 methods) -78 (-45.09 % of base) : System.Private.Xml.dasm - System.Xml.XmlDeclaration:IsValidXmlVersion(System.String):ubyte (FullOpts) -75 (-4.79 % of base) : System.Text.Json.dasm - System.Text.RegularExpressions.Generated.F2E36BBCB46D79A0BB144867AC899FDD2263642E5E752DEC0C254D0564F94D450__CreateIntegerRegex_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts) -74 (-38.14 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipHelper:GetEncoding(System.String):System.Text.Encoding (FullOpts) -72 (-26.97 % of base) : System.Private.CoreLib.dasm - System.Buffers.StringSearchValues:ContainsIncompleteSurrogatePairs(System.ReadOnlySpan`1[System.String]):ubyte (FullOpts) -72 (-45.28 % of base) : System.Net.Requests.dasm - System.Net.HttpValidationHelpers:IsValidToken(System.String):ubyte (FullOpts) -70 (-55.56 % of base) : System.Net.WebHeaderCollection.dasm - System.Net.HttpValidationHelpers:ContainsNonAsciiChars(System.String):ubyte (FullOpts) -70 (-55.56 % of base) : System.Net.Requests.dasm - System.Net.HttpValidationHelpers:ContainsNonAsciiChars(System.String):ubyte (FullOpts) -70 (-44.30 % of base) : System.Private.Xml.dasm - System.Xml.XmlCharType:IsOnlyDigits(System.String,int,int):ubyte (FullOpts) -69 (-2.71 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__EnsureArrayIndexRegex_5+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts) -68 (-19.26 % of base) : System.Net.WebHeaderCollection.dasm - System.Net.HttpValidationHelpers:CheckBadHeaderNameChars(System.String):System.String (FullOpts) -68 (-8.97 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__ParamsReadRegex_11+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts) -67 (-14.44 % of base) : System.Private.Uri.dasm - System.UriHelper:StripBidiControlCharacters(System.ReadOnlySpan`1[ushort],System.String):System.String (FullOpts) -64 (-11.15 % of base) : System.Private.Uri.dasm - System.DomainNameHelper:ParseCanonicalName(System.String,int,int,byref):System.String (FullOpts) -64 (-37.21 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+StringParser:NextNonDigit():ushort:this (FullOpts) -63 (-20.32 % of base) : System.Private.CoreLib.dasm - System.Environment:FindAndParseNextNumber(System.String,byref):int (FullOpts) -62 (-2.46 % of base) : System.Private.Uri.dasm - System.Uri:CheckAuthorityHelper(ulong,int,int,byref,byref,System.UriParser,byref):int:this (FullOpts) -60 (-15.15 % of base) : System.Private.CoreLib.dasm - System.Globalization.TextInfo:ToLowerAsciiInvariant(System.String):System.String (FullOpts) -60 (-10.05 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+StringParser:TryParse(System.ReadOnlySpan`1[ushort],byref):ubyte:this (FullOpts) -55 (-2.25 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadToAnyInternal(byref,System.ReadOnlySpan`1[short],ubyte,int):ubyte:this (FullOpts) -53 (-4.75 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryAdvanceToAny(System.ReadOnlySpan`1[short],ubyte):ubyte:this (FullOpts) -46 (-1.50 % of base) : System.Private.Uri.dasm - System.Uri:CombineUri(System.Uri,System.String,int):System.String (FullOpts) -45 (-1.90 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DiagnosticSourceEventSource+FilterAndTransform:AddNewActivitySourceTransform(System.String,int,int,System.Diagnostics.DiagnosticSourceEventSource) (FullOpts) -44 (-4.29 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) -40 (-33.90 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyChar(byref,ushort,ushort,int):int (FullOpts) -39 (-4.29 % of base) : System.IO.Pipes.dasm - System.IO.Pipes.PipeStream:GetPipePath(System.String,System.String):System.String (FullOpts) -39 (-4.25 % of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[],int,int):int:this (FullOpts) -38 (-4.24 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):ubyte (FullOpts) -37 (-31.36 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (FullOpts) -37 (-31.36 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (FullOpts) -36 (-4.53 % of base) : System.Private.CoreLib.dasm - System.String:IndexOfAny(ushort[]):int:this (FullOpts) -33 (-3.78 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) -32 (-3.55 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):int (FullOpts) -32 (-1.59 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__Regex1_3+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts) -31 (-1.72 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.XmlDecryptionTransform:GetInnerXml():System.Xml.XmlNodeList:this (FullOpts) -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):ubyte (FullOpts) -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[double](System.Span`1[double],double,double):ubyte (FullOpts) -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[double](System.ReadOnlySpan`1[double],double,double):ubyte (FullOpts) -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[double](System.Span`1[double],double,double):ubyte (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[double](System.Span`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[double](System.Span`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[double](System.Span`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[double](System.Span`1[double],double,double):int (FullOpts) -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:IndexOfAny(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:IndexOfAnyExcept(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:LastIndexOfAny(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:LastIndexOfAnyExcept(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -26 (-20.16 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts) -26 (-20.16 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.Span`1[short],short,short):ubyte (FullOpts) -26 (-20.16 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts) -26 (-20.16 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[short](System.Span`1[short],short,short):ubyte (FullOpts) -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],short,short):int (FullOpts) -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts) -23 (-3.97 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.StringParsingHelpers:ParseWinsServerAddressesFromSmbConfFile(System.String):System.Collections.Generic.List`1[System.Net.IPAddress] (FullOpts) -20 (-4.02 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateDelimiters(System.String[]):this (FullOpts) -20 (-19.05 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts) -20 (-19.05 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[short](System.Span`1[short],short,short):ubyte (FullOpts) -20 (-19.05 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[short](System.ReadOnlySpan`1[short],short,short):ubyte (FullOpts) -20 (-19.05 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[short](System.Span`1[short],short,short):ubyte (FullOpts) -20 (-19.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[short](System.Span`1[short],short,short):int (FullOpts) -20 (-19.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[short](System.Span`1[short],short,short):int (FullOpts) -18 (-1.16 % of base) : System.Data.Common.dasm - System.Data.DataViewManager:set_DataViewSettingCollectionString(System.String):this (FullOpts) -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):ubyte (FullOpts) -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[int](System.Span`1[int],int,int):ubyte (FullOpts) -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[int](System.ReadOnlySpan`1[int],int,int):ubyte (FullOpts) -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[int](System.Span`1[int],int,int):ubyte (FullOpts) -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[int](System.Span`1[int],int,int):int (FullOpts) -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[int](System.Span`1[int],int,int):int (FullOpts) -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[int](System.Span`1[int],int,int):int (FullOpts) -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[int](System.Span`1[int],int,int):int (FullOpts) -17 (-8.21 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.Design.Serialization.RootDesignerSerializerAttribute:get_TypeId():System.Object:this (FullOpts) -17 (-54.84 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[ubyte](ubyte):ubyte (FullOpts) -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts) -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts) -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts) -16 (-32.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[short](System.Span`1[short],short,short):int (FullOpts) -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts) -16 (-32.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[short](System.Span`1[short],short,short):int (FullOpts) -15 (-1.63 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionAwareCodeGen:WriteAssemblyInfo(System.Type):System.String:this (FullOpts) -14 (-2.79 % of base) : System.Private.CoreLib.dasm - System.Environment:get_Version():System.Version (FullOpts) -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) -14 (-1.95 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.AltSvcHeaderParser:TryReadQuotedValue(System.ReadOnlySpan`1[ushort],byref):ubyte (FullOpts) -14 (-50.00 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[double](double):ubyte (FullOpts) -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[int,long](int):long (FullOpts) (1 base, 0 diff methods) -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[short,long](short):long (FullOpts) (1 base, 0 diff methods) Top method regressions (percentages): 3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[double](double):ubyte (FullOpts) (0 base, 1 diff methods) 3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[int](int):ubyte (FullOpts) (0 base, 1 diff methods) 3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[long](long):ubyte (FullOpts) (0 base, 1 diff methods) 3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[short](short):ubyte (FullOpts) (0 base, 1 diff methods) 3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts) (0 base, 1 diff methods) 3 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeHelpers:IsKnownConstant[ubyte](ubyte):ubyte (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[double,System.Nullable`1[int]](double):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[int,System.Nullable`1[int]](int):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[long,System.Nullable`1[int]](long):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[short,System.Nullable`1[int]](short):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.__Canon,System.Nullable`1[int]](System.__Canon):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int]):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float]):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 14 (Infinity of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[ubyte,System.Nullable`1[int]](ubyte):System.Nullable`1[int] (FullOpts) (0 base, 1 diff methods) 385 (24.15 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) 56 (15.82 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (13.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) 4 (12.90 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts) 4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 4 (11.76 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) 25 (9.88 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionsEtwProvider:SetActivityId(System.String) (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (8.57 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):int (FullOpts) 3 (8.33 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExcept[short](System.Span`1[short],short,short,short):int (FullOpts) 7 (7.95 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileSystem:PathContainsWildcards(System.String):ubyte (FullOpts) 62 (7.70 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts) 3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts) 3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts) 3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts) 3 (7.69 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExcept[ubyte](System.Span`1[ubyte],ubyte,ubyte,ubyte):ubyte (FullOpts) 4 (7.14 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:Contains[short](System.ReadOnlySpan`1[short],short):ubyte (FullOpts) 4 (7.14 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:Contains[short](System.Span`1[short],short):ubyte (FullOpts) 4 (7.14 % of base) : System.Private.CoreLib.dasm - System.Security.SecurityElement:IsValidAttributeValue(System.String):ubyte (FullOpts) 4 (7.14 % of base) : System.Private.CoreLib.dasm - System.Security.SecurityElement:IsValidTag(System.String):ubyte (FullOpts) 19 (7.04 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileSystem:VB6CheckPathname(Microsoft.VisualBasic.CompilerServices.AssemblyData,System.String,int):System.String (FullOpts) 16 (6.87 % of base) : System.Private.CoreLib.dasm - System.UInt32:System.Numerics.IBinaryInteger.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts) 98 (5.93 % of base) : System.Private.CoreLib.dasm - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts) 154 (5.60 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.DecimalFormatter:.ctor(System.String,System.Xml.Xsl.Runtime.DecimalFormat):this (FullOpts) 7 (5.38 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeNameBuilder:Append(System.String):this (FullOpts) 7 (5.38 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.TypeNameBuilder:Append(System.String):this (FullOpts) 4 (4.35 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex:Unescape(System.String):System.String (FullOpts) 34 (4.05 % of base) : System.Console.dasm - System.Text.EncodingHelper:GetCharset():System.String (FullOpts) (2 methods) 2 (3.92 % of base) : System.Data.Common.dasm - System.Data.Common.DbConnectionOptions:IsValueValidInternal(System.String):ubyte (FullOpts) 2 (3.92 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionOptions:IsValueValidInternal(System.String):ubyte (FullOpts) 4 (3.57 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyName:IsReservedUnreservedOrHash(ushort):ubyte (FullOpts) 59 (3.34 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.MetadataReader):System.String (FullOpts) 4 (3.28 % of base) : System.Private.CoreLib.dasm - System.Enum:FindDefinedIndex[short](short[],short):int (FullOpts) 51 (3.11 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts) (2 methods) 95 (3.11 % of base) : System.Data.Odbc.dasm - System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,ubyte,System.String,ubyte):System.String[] (FullOpts) 17 (2.81 % of base) : System.Net.Mail.dasm - System.Net.Mail.Message:set_Subject(System.String):this (FullOpts) 13 (2.73 % of base) : System.Net.Requests.dasm - System.Net.HttpWebRequest:set_Host(System.String):this (FullOpts) 308 (2.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts) (2 methods) 10 (2.59 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteAttribute(System.String,System.String,ubyte[]):this (FullOpts) 4 (2.35 % of base) : System.Private.CoreLib.dasm - System.Enum:GetName[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts) 4 (2.27 % of base) : System.Private.CoreLib.dasm - System.Enum:GetNameInlined[short](System.Enum+EnumInfo`1[short],short):System.String (FullOpts) 6 (2.23 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerReadContext:ParseQualifiedName(System.String,System.Runtime.Serialization.XmlReaderDelegator,byref,byref,byref) (FullOpts) 25 (2.22 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerRequest+Helpers:GetCharSetValueFromHeader(System.String):System.String (FullOpts) 9 (2.18 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:.ctor(System.String):this (FullOpts) 5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.Design.Serialization.DesignerSerializerAttribute:get_TypeId():System.Object:this (FullOpts) 5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.DesignerAttribute:get_TypeId():System.Object:this (FullOpts) 5 (1.89 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.EditorAttribute:get_TypeId():System.Object:this (FullOpts) 4 (1.86 % of base) : System.Private.CoreLib.dasm - System.Enum:IsDefinedPrimitive[short](System.RuntimeType,short):ubyte (FullOpts) 15 (1.85 % of base) : System.Net.Security.dasm - System.Net.NegotiateAuthenticationPal+UnixNegotiateAuthenticationPal:AcquireCredentialsHandle(System.Net.NetworkCredential):Microsoft.Win32.SafeHandles.SafeGssCredHandle:this (FullOpts) 2 (1.77 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.Statics:CheckName(System.String) (FullOpts) 7 (1.63 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:GetIdFromLocalUri(System.String,byref):System.String (FullOpts) 7 (1.53 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.KeyInfoName:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) 45 (1.52 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts) 6 (1.52 % of base) : System.Diagnostics.Process.dasm - Interop+procfs:g__TryParseAddressRange|19_0(System.String,byref,byref):System.ValueTuple`2[long,int] (FullOpts) 22 (1.46 % of base) : System.Private.CoreLib.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts) 6 (1.43 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:ExtractIdFromLocalUri(System.String):System.String (FullOpts) 8 (1.37 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteAttribute(System.String,System.String,System.String):this (FullOpts) 8 (1.37 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:ScanReplacement():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods) 2 (1.29 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.StringHeap:GetNextHandle(System.Reflection.Metadata.StringHandle):System.Reflection.Metadata.StringHandle:this (FullOpts) 9 (1.26 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.ListenerSubscription:RuleMatches(Microsoft.Extensions.Diagnostics.Metrics.InstrumentRule,System.Diagnostics.Metrics.Instrument,System.String,System.Diagnostics.Metrics.IMeterFactory):ubyte (FullOpts) 5 (1.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:GetClrNameAndNamespace(System.String,byref,byref) (FullOpts) 2 (1.11 % of base) : System.Private.CoreLib.dasm - System.Byte:System.Numerics.IBinaryInteger.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts) 2 (1.08 % of base) : System.Private.CoreLib.dasm - System.Byte:System.Numerics.IBinaryInteger.TryReadLittleEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts) 2 (1.06 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataReaderExtensions:GetNextHandle(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.StringHandle):System.Reflection.Metadata.StringHandle (FullOpts) 6 (0.99 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TypeScope:ParseWsdlArrayType(System.String,byref,System.Xml.Schema.XmlSchemaObject):System.Xml.XmlQualifiedName (FullOpts) 23 (0.95 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts) 2 (0.95 % of base) : System.Private.CoreLib.dasm - System.Char:System.Numerics.IBinaryInteger.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts) 2 (0.95 % of base) : System.Private.CoreLib.dasm - System.UInt16:System.Numerics.IBinaryInteger.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts) 2 (0.94 % of base) : System.Private.CoreLib.dasm - System.Char:System.Numerics.IBinaryInteger.TryReadLittleEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts) 2 (0.94 % of base) : System.Private.CoreLib.dasm - System.UInt16:System.Numerics.IBinaryInteger.TryReadLittleEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts) 6 (0.90 % of base) : System.Memory.dasm - System.Buffers.BuffersExtensions:PositionOf[short](byref,short):System.Nullable`1[System.SequencePosition] (FullOpts) 9 (0.86 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__UnknownNodeObjectEmptyRegex_8+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts) 9 (0.86 % of base) : System.Private.Xml.dasm - System.Text.RegularExpressions.Generated.F17570F3C63F49E0EDC8B9EB3FA2CFADF55F73E11043596DBD6C1553B39463343__Regex2_4+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts) 3 (0.81 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ContentType:ParseTypeAndSubType(System.ReadOnlySpan`1[ushort]):this (FullOpts) 2 (0.69 % of base) : System.Private.CoreLib.dasm - System.UInt128:System.Numerics.IBinaryInteger.TryReadBigEndian(System.ReadOnlySpan`1[ubyte],ubyte,byref):ubyte (FullOpts) 14 (0.67 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:.ctor(System.String):this (FullOpts) 2 (0.64 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:SkipMultiLineComment(System.ReadOnlySpan`1[ubyte],byref):ubyte:this (FullOpts) Top method improvements (percentages): -384 (-100.00 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (FullOpts) (0 base, 1 diff methods) -6 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[double,long](double):long (FullOpts) (1 base, 0 diff methods) -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[int,long](int):long (FullOpts) (1 base, 0 diff methods) -4 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[long,long](long):long (FullOpts) (1 base, 0 diff methods) -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[short,long](short):long (FullOpts) (1 base, 0 diff methods) -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[System.Numerics.Vector`1[float],long](System.Numerics.Vector`1[float]):long (FullOpts) (1 base, 0 diff methods) -14 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.Unsafe:BitCast[ubyte,long](ubyte):long (FullOpts) (1 base, 0 diff methods) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[double](System.Span`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[double](System.Span`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[double](System.Span`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[double](System.ReadOnlySpan`1[double],double,double):int (FullOpts) -30 (-61.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[double](System.Span`1[double],double,double):int (FullOpts) -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[double](System.ReadOnlySpan`1[double],double,double):ubyte (FullOpts) -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[double](System.Span`1[double],double,double):ubyte (FullOpts) -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[double](System.ReadOnlySpan`1[double],double,double):ubyte (FullOpts) -30 (-56.60 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[double](System.Span`1[double],double,double):ubyte (FullOpts) -70 (-55.56 % of base) : System.Net.WebHeaderCollection.dasm - System.Net.HttpValidationHelpers:ContainsNonAsciiChars(System.String):ubyte (FullOpts) -70 (-55.56 % of base) : System.Net.Requests.dasm - System.Net.HttpValidationHelpers:ContainsNonAsciiChars(System.String):ubyte (FullOpts) -17 (-54.84 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[ubyte](ubyte):ubyte (FullOpts) -14 (-50.00 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[double](double):ubyte (FullOpts) -13 (-48.15 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.__Canon](System.__Canon):ubyte (FullOpts) -13 (-48.15 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Nullable`1[int]](System.Nullable`1[int]):ubyte (FullOpts) -72 (-45.28 % of base) : System.Net.Requests.dasm - System.Net.HttpValidationHelpers:IsValidToken(System.String):ubyte (FullOpts) -78 (-45.09 % of base) : System.Private.Xml.dasm - System.Xml.XmlDeclaration:IsValidXmlVersion(System.String):ubyte (FullOpts) -70 (-44.30 % of base) : System.Private.Xml.dasm - System.Xml.XmlCharType:IsOnlyDigits(System.String,int,int):ubyte (FullOpts) -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:IndexOfAny(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:IndexOfAnyExcept(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:LastIndexOfAny(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -26 (-41.94 % of base) : System.Private.CoreLib.dasm - System.Buffers.RangeByteSearchValues:LastIndexOfAnyExcept(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[int](System.Span`1[int],int,int):int (FullOpts) -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[int](System.Span`1[int],int,int):int (FullOpts) -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[int](System.Span`1[int],int,int):int (FullOpts) -18 (-40.00 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[int](System.Span`1[int],int,int):int (FullOpts) -74 (-38.14 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipHelper:GetEncoding(System.String):System.Text.Encoding (FullOpts) -64 (-37.21 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+StringParser:NextNonDigit():ushort:this (FullOpts) -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts) -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts) -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts) -16 (-37.21 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[int](System.ReadOnlySpan`1[int],int,int):int (FullOpts) -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[int](System.ReadOnlySpan`1[int],int,int):ubyte (FullOpts) -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[int](System.Span`1[int],int,int):ubyte (FullOpts) -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[int](System.ReadOnlySpan`1[int],int,int):ubyte (FullOpts) -18 (-36.73 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[int](System.Span`1[int],int,int):ubyte (FullOpts) -40 (-33.90 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyChar(byref,ushort,ushort,int):int (FullOpts) -16 (-32.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[short](System.Span`1[short],short,short):int (FullOpts) -16 (-32.65 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[short](System.Span`1[short],short,short):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:ContainsValueType[double](byref,double,int):ubyte (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:ContainsValueType[int](byref,int,int):ubyte (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:ContainsValueType[long](byref,long,int):ubyte (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,double,double,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,double,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[double](byref,double,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int,int,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[int](byref,int,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,long,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[long](byref,long,long,long,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[double](byref,double,double,double,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[double](byref,double,double,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[int](byref,int,int,int,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[int](byref,int,int,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[long](byref,long,long,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[long](byref,long,long,long,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfValueType[double](byref,double,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfValueType[int](byref,int,int):int (FullOpts) -6 (-31.58 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfValueType[long](byref,long,int):int (FullOpts) -37 (-31.36 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (FullOpts) -37 (-31.36 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (FullOpts) -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) -14 (-29.17 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):int (FullOpts) -72 (-26.97 % of base) : System.Private.CoreLib.dasm - System.Buffers.StringSearchValues:ContainsIncompleteSurrogatePairs(System.ReadOnlySpan`1[System.String]):ubyte (FullOpts) -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyExceptInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):ubyte (FullOpts) -14 (-26.92 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAnyInRange[ubyte](System.Span`1[ubyte],ubyte,ubyte):ubyte (FullOpts) -12 (-26.67 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -12 (-26.67 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -5 (-26.32 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):ubyte (FullOpts) -12 (-26.09 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExceptInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) -12 (-26.09 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) -12 (-26.09 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyExceptInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) -12 (-26.09 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:LastIndexOfAnyInRange[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,ubyte):int (FullOpts) -6 (-26.09 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:ContainsValueType[ubyte](byref,ubyte,int):ubyte (FullOpts) -6 (-26.09 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[ubyte](byref,ubyte,int):int (FullOpts) -6 (-26.09 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfValueType[ubyte](byref,ubyte,int):int (FullOpts) -6 (-23.08 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptInRangeUnsignedNumber[ubyte](byref,ubyte,ubyte,int):int (FullOpts) -6 (-23.08 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts) -6 (-23.08 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyInRangeUnsignedNumber[ubyte](byref,ubyte,ubyte,int):int (FullOpts) -6 (-23.08 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOfAnyValueType[ubyte](byref,ubyte,ubyte,int):int (FullOpts) -4 (-22.22 % of base) : System.Private.CoreLib.dasm - System.PackedSpanHelpers:CanUsePackedIndexOf[long](long):ubyte (FullOpts) -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAny[short](System.Span`1[short],short,short):int (FullOpts) -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.ReadOnlySpan`1[short],short,short):int (FullOpts) -26 (-20.80 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:IndexOfAnyExcept[short](System.Span`1[short],short,short):int (FullOpts) 391 total methods with Code Size differences (259 improved, 132 regressed), 239441 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 3 months ago

Top method regressions

385 (24.15 % of base) - System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this ```diff ; Assembly listing for method System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement: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; 34 single block inlinees; 24 inlinees without PGO data +; 0 inlinees with PGO data; 44 single block inlinees; 32 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T12] ( 3, 3 ) ref -> rdi this class-hnd single-def +; V00 this [V00,T14] ( 3, 3 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 11, 11 ) ref -> rbx class-hnd single-def ; V02 loc0 [V02 ] ( 3, 3 ) struct (64) [rbp-0x68] do-not-enreg[XS] must-init addr-exposed -; V03 loc1 [V03,T13] ( 4, 4 ) ref -> r14 class-hnd single-def -; V04 loc2 [V04,T09] ( 5, 5 ) ref -> r13 class-hnd single-def -; V05 loc3 [V05,T14] ( 4, 4 ) ref -> [rbp-0xA8] class-hnd spill-single-def -;* V06 loc4 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def +; V03 loc1 [V03,T15] ( 4, 4 ) ref -> r14 class-hnd single-def +; V04 loc2 [V04,T11] ( 5, 5 ) ref -> r13 class-hnd single-def +; V05 loc3 [V05,T16] ( 4, 4 ) ref -> [rbp-0xA8] class-hnd spill-single-def +; V06 loc4 [V06,T17] ( 4, 4 ) ref -> r15 class-hnd single-def ;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V08 tmp1 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V09 tmp2 [V09,T40] ( 3, 2 ) ref -> r13 ld-addr-op class-hnd "Inline ldloca(s) first use temp" -; V10 tmp3 [V10,T41] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" +; V09 tmp2 [V09,T48] ( 3, 2 ) ref -> r13 ld-addr-op class-hnd "Inline ldloca(s) first use temp" +; V10 tmp3 [V10,T49] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" ;* V11 tmp4 [V11 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp" ;* V12 tmp5 [V12 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V13 tmp6 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V14 tmp7 [V14,T03] ( 10, 5.50) int -> r14 "Inline return value spill temp" -; V15 tmp8 [V15,T16] ( 2, 4 ) byref -> rdi single-def "Inlining Arg" -;* V16 tmp9 [V16,T58] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V17 tmp10 [V17 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V18 tmp11 [V18 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -; V19 tmp12 [V19,T61] ( 3, 1.50) ref -> r13 class-hnd "Inline return value spill temp" -;* V20 tmp13 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V21 tmp14 [V21,T31] ( 4, 2 ) ref -> r13 class-hnd exact single-def "Inline stloc first use temp" -; V22 tmp15 [V22,T64] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp" -; V23 tmp16 [V23,T46] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" -; V24 tmp17 [V24,T47] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" -;* V25 tmp18 [V25 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -; V26 tmp19 [V26,T32] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" -; V27 tmp20 [V27,T06] ( 6, 5 ) int -> r14 "Inlining Arg" -; V28 tmp21 [V28,T28] ( 5, 2 ) int -> r12 single-def "Inline stloc first use temp" -;* V29 tmp22 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V30 tmp23 [V30,T33] ( 4, 2 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "Inline stloc first use temp" -; V31 tmp24 [V31,T65] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp" -; V32 tmp25 [V32,T48] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" -; V33 tmp26 [V33,T49] ( 2, 2 ) byref -> rax single-def "Inlining Arg" -;* V34 tmp27 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V35 tmp28 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V36 tmp29 [V36,T42] ( 3, 2 ) ref -> [rbp-0xB8] ld-addr-op class-hnd "Inline ldloca(s) first use temp" -; V37 tmp30 [V37,T43] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" -;* V38 tmp31 [V38 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp" -;* V39 tmp32 [V39 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V40 tmp33 [V40 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V41 tmp34 [V41,T04] ( 10, 5.50) int -> [rbp-0x6C] spill-single-def "Inline return value spill temp" -; V42 tmp35 [V42,T17] ( 2, 4 ) byref -> rdi single-def "Inlining Arg" -;* V43 tmp36 [V43,T59] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V44 tmp37 [V44 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V45 tmp38 [V45 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -; V46 tmp39 [V46,T62] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" -;* V47 tmp40 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V48 tmp41 [V48,T34] ( 4, 2 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "Inline stloc first use temp" -; V49 tmp42 [V49,T66] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp" -; V50 tmp43 [V50,T50] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" -; V51 tmp44 [V51,T51] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" -;* V52 tmp45 [V52 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -; V53 tmp46 [V53,T35] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" -; V54 tmp47 [V54,T07] ( 6, 5 ) int -> [rbp-0x70] spill-single-def "Inlining Arg" -; V55 tmp48 [V55,T29] ( 5, 2 ) int -> [rbp-0x74] spill-single-def "Inline stloc first use temp" -;* V56 tmp49 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V57 tmp50 [V57,T36] ( 4, 2 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" -; V58 tmp51 [V58,T67] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp" -; V59 tmp52 [V59,T52] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" -; V60 tmp53 [V60,T53] ( 2, 2 ) byref -> rax single-def "Inlining Arg" -;* V61 tmp54 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V62 tmp55 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V63 tmp56 [V63,T44] ( 3, 2 ) ref -> [rbp-0xD0] ld-addr-op class-hnd "Inline ldloca(s) first use temp" -; V64 tmp57 [V64,T45] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" -;* V65 tmp58 [V65 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp" -;* V66 tmp59 [V66 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V67 tmp60 [V67 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V68 tmp61 [V68,T05] ( 10, 5.50) int -> [rbp-0x78] spill-single-def "Inline return value spill temp" -; V69 tmp62 [V69,T18] ( 2, 4 ) byref -> rdi single-def "Inlining Arg" -;* V70 tmp63 [V70,T60] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V71 tmp64 [V71 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg" -;* V72 tmp65 [V72 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -; V73 tmp66 [V73,T63] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" +; V14 tmp7 [V14,T03] ( 10, 5.50) int -> r14 single-def "Inline return value spill temp" +; V15 tmp8 [V15,T18] ( 2, 4 ) byref -> rdi single-def "Inlining Arg" +; V16 tmp9 [V16,T72] ( 3, 1.50) ref -> r13 class-hnd "Inline return value spill temp" +;* V17 tmp10 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" +; V18 tmp11 [V18,T36] ( 4, 2 ) ref -> r13 class-hnd exact single-def "Inline stloc first use temp" +; V19 tmp12 [V19,T76] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp" +; V20 tmp13 [V20,T56] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" +; V21 tmp14 [V21,T57] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" +;* V22 tmp15 [V22 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +; V23 tmp16 [V23,T37] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" +; V24 tmp17 [V24,T07] ( 6, 5 ) int -> r14 "Inlining Arg" +; V25 tmp18 [V25,T32] ( 5, 2 ) int -> r12 single-def "Inline stloc first use temp" +;* V26 tmp19 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" +; V27 tmp20 [V27,T38] ( 4, 2 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "Inline stloc first use temp" +; V28 tmp21 [V28,T77] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp" +; V29 tmp22 [V29,T58] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" +; V30 tmp23 [V30,T59] ( 2, 2 ) byref -> rax single-def "Inlining Arg" +;* V31 tmp24 [V31 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V32 tmp25 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" +; V33 tmp26 [V33,T50] ( 3, 2 ) ref -> [rbp-0xB8] ld-addr-op class-hnd "Inline ldloca(s) first use temp" +; V34 tmp27 [V34,T51] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" +;* V35 tmp28 [V35 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp" +;* V36 tmp29 [V36 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V37 tmp30 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V38 tmp31 [V38,T04] ( 10, 5.50) int -> [rbp-0x6C] spill-single-def "Inline return value spill temp" +; V39 tmp32 [V39,T19] ( 2, 4 ) byref -> rdi single-def "Inlining Arg" +; V40 tmp33 [V40,T73] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" +;* V41 tmp34 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" +; V42 tmp35 [V42,T39] ( 4, 2 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "Inline stloc first use temp" +; V43 tmp36 [V43,T78] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp" +; V44 tmp37 [V44,T60] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" +; V45 tmp38 [V45,T61] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" +;* V46 tmp39 [V46 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +; V47 tmp40 [V47,T40] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" +; V48 tmp41 [V48,T08] ( 6, 5 ) int -> [rbp-0x70] spill-single-def "Inlining Arg" +; V49 tmp42 [V49,T33] ( 5, 2 ) int -> [rbp-0x74] spill-single-def "Inline stloc first use temp" +;* V50 tmp43 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" +; V51 tmp44 [V51,T41] ( 4, 2 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" +; V52 tmp45 [V52,T79] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp" +; V53 tmp46 [V53,T62] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" +; V54 tmp47 [V54,T63] ( 2, 2 ) byref -> rax single-def "Inlining Arg" +;* V55 tmp48 [V55 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V56 tmp49 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" +; V57 tmp50 [V57,T52] ( 3, 2 ) ref -> [rbp-0xD0] ld-addr-op class-hnd "Inline ldloca(s) first use temp" +; V58 tmp51 [V58,T53] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" +;* V59 tmp52 [V59 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp" +;* V60 tmp53 [V60 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V61 tmp54 [V61 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V62 tmp55 [V62,T05] ( 10, 5.50) int -> [rbp-0x78] spill-single-def "Inline return value spill temp" +; V63 tmp56 [V63,T20] ( 2, 4 ) byref -> rdi single-def "Inlining Arg" +; V64 tmp57 [V64,T74] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" +;* V65 tmp58 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" +; V66 tmp59 [V66,T42] ( 4, 2 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "Inline stloc first use temp" +; V67 tmp60 [V67,T80] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp" +; V68 tmp61 [V68,T64] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" +; V69 tmp62 [V69,T65] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" +;* V70 tmp63 [V70 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +; V71 tmp64 [V71,T43] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" +; V72 tmp65 [V72,T09] ( 6, 5 ) int -> [rbp-0x7C] spill-single-def "Inlining Arg" +; V73 tmp66 [V73,T34] ( 5, 2 ) int -> [rbp-0x80] spill-single-def "Inline stloc first use temp" ;* V74 tmp67 [V74 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V75 tmp68 [V75,T37] ( 4, 2 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "Inline stloc first use temp" -; V76 tmp69 [V76,T68] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp" -; V77 tmp70 [V77,T54] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" -; V78 tmp71 [V78,T55] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" +; V75 tmp68 [V75,T44] ( 4, 2 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "Inline stloc first use temp" +; V76 tmp69 [V76,T81] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp" +; V77 tmp70 [V77,T66] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" +; V78 tmp71 [V78,T67] ( 2, 2 ) byref -> rax single-def "Inlining Arg" ;* V79 tmp72 [V79 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -; V80 tmp73 [V80,T38] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" -; V81 tmp74 [V81,T08] ( 6, 5 ) int -> [rbp-0x7C] spill-single-def "Inlining Arg" -; V82 tmp75 [V82,T30] ( 5, 2 ) int -> [rbp-0x80] spill-single-def "Inline stloc first use temp" -;* V83 tmp76 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V84 tmp77 [V84,T39] ( 4, 2 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "Inline stloc first use temp" -; V85 tmp78 [V85,T69] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp" -; V86 tmp79 [V86,T56] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" -; V87 tmp80 [V87,T57] ( 2, 2 ) byref -> rax single-def "Inlining Arg" -;* V88 tmp81 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -; V89 tmp82 [V89,T15] ( 4, 4 ) ref -> r15 class-hnd single-def "Inline return value spill temp" -; V90 tmp83 [V90 ] ( 3, 3 ) ref -> [rbp-0x88] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" -; V91 tmp84 [V91 ] ( 3, 3 ) ref -> [rbp-0x90] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" -; V92 tmp85 [V92,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect" -; V93 tmp86 [V93,T70] ( 2, 0 ) ref -> rdi single-def "argument with side effect" -; V94 tmp87 [V94,T71] ( 2, 0 ) ref -> rdi single-def "argument with side effect" -; V95 tmp88 [V95,T72] ( 2, 0 ) ref -> rdi single-def "argument with side effect" -; V96 tmp89 [V96,T73] ( 2, 0 ) ref -> rdi single-def "argument with side effect" -; V97 tmp90 [V97,T74] ( 2, 0 ) ref -> rdi single-def "argument with side effect" -; V98 tmp91 [V98,T75] ( 2, 0 ) ref -> rdi single-def "argument with side effect" -; V99 tmp92 [V99,T19] ( 2, 4 ) ref -> rsi single-def "argument with side effect" -; V100 tmp93 [V100,T20] ( 2, 4 ) ref -> rsi single-def "argument with side effect" -; V101 tmp94 [V101,T21] ( 2, 4 ) ref -> rsi single-def "argument with side effect" -; V102 tmp95 [V102,T22] ( 2, 4 ) ref -> rsi single-def "argument with side effect" -; V103 cse0 [V103,T11] ( 5, 5 ) long -> r15 "CSE #08: moderate" -; V104 cse1 [V104,T26] ( 3, 3 ) long -> [rbp-0x98] spill-single-def "CSE #11: moderate" -; V105 cse2 [V105,T27] ( 3, 3 ) long -> [rbp-0xA0] spill-single-def "CSE #13: moderate" -; V106 cse3 [V106,T23] ( 4, 3 ) byref -> r15 "CSE #03: moderate" -; V107 cse4 [V107,T24] ( 4, 3 ) byref -> r13 "CSE #05: moderate" -; V108 cse5 [V108,T25] ( 4, 3 ) byref -> [rbp-0xE8] spill-single-def "CSE #10: moderate" -; V109 cse6 [V109,T10] ( 5, 5 ) ref -> r12 "CSE #06: moderate" -; V110 cse7 [V110,T01] ( 12, 6 ) ref -> registers multi-def "CSE #02: aggressive" +;* V80 tmp73 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" +; V81 tmp74 [V81,T54] ( 3, 2 ) ref -> [rbp-0xE8] ld-addr-op class-hnd "Inline ldloca(s) first use temp" +; V82 tmp75 [V82,T55] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" +;* V83 tmp76 [V83 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp" +;* V84 tmp77 [V84 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V85 tmp78 [V85 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V86 tmp79 [V86,T06] ( 10, 5.50) int -> [rbp-0x84] spill-single-def "Inline return value spill temp" +; V87 tmp80 [V87,T21] ( 2, 4 ) byref -> rdi single-def "Inlining Arg" +; V88 tmp81 [V88,T75] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" +;* V89 tmp82 [V89 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" +; V90 tmp83 [V90,T45] ( 4, 2 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def "Inline stloc first use temp" +; V91 tmp84 [V91,T82] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp" +; V92 tmp85 [V92,T68] ( 2, 2 ) byref -> rdi single-def "Inlining Arg" +; V93 tmp86 [V93,T69] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" +;* V94 tmp87 [V94 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +; V95 tmp88 [V95,T46] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" +; V96 tmp89 [V96,T10] ( 6, 5 ) int -> [rbp-0x88] spill-single-def "Inlining Arg" +; V97 tmp90 [V97,T35] ( 5, 2 ) int -> [rbp-0x8C] spill-single-def "Inline stloc first use temp" +;* V98 tmp91 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" +; V99 tmp92 [V99,T47] ( 4, 2 ) ref -> [rbp-0xF8] class-hnd exact spill-single-def "Inline stloc first use temp" +; V100 tmp93 [V100,T83] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp" +; V101 tmp94 [V101,T70] ( 2, 2 ) byref -> rsi single-def "Inlining Arg" +; V102 tmp95 [V102,T71] ( 2, 2 ) byref -> rax single-def "Inlining Arg" +;* V103 tmp96 [V103 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +; V104 tmp97 [V104,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect" +; V105 tmp98 [V105,T84] ( 2, 0 ) ref -> rdi single-def "argument with side effect" +; V106 tmp99 [V106,T85] ( 2, 0 ) ref -> rdi single-def "argument with side effect" +; V107 tmp100 [V107,T86] ( 2, 0 ) ref -> rdi single-def "argument with side effect" +; V108 tmp101 [V108,T87] ( 2, 0 ) ref -> rdi single-def "argument with side effect" +; V109 tmp102 [V109,T88] ( 2, 0 ) ref -> rdi single-def "argument with side effect" +; V110 tmp103 [V110,T89] ( 2, 0 ) ref -> rdi single-def "argument with side effect" +; V111 tmp104 [V111,T22] ( 2, 4 ) ref -> rsi single-def "argument with side effect" +; V112 tmp105 [V112,T23] ( 2, 4 ) ref -> rsi single-def "argument with side effect" +; V113 tmp106 [V113,T90] ( 2, 0 ) ref -> rdi single-def "argument with side effect" +; V114 tmp107 [V114,T91] ( 2, 0 ) ref -> rdi single-def "argument with side effect" +; V115 tmp108 [V115,T24] ( 2, 4 ) ref -> rsi single-def "argument with side effect" +; V116 tmp109 [V116,T25] ( 2, 4 ) ref -> rsi single-def "argument with side effect" +; V117 cse0 [V117,T13] ( 5, 5 ) long -> r15 "CSE #08: moderate" +; V118 cse1 [V118,T30] ( 3, 3 ) long -> [rbp-0x98] spill-single-def "CSE #13: moderate" +; V119 cse2 [V119,T31] ( 3, 3 ) long -> [rbp-0xA0] spill-single-def "CSE #15: moderate" +; V120 cse3 [V120,T26] ( 4, 3 ) byref -> r15 "CSE #03: moderate" +; V121 cse4 [V121,T27] ( 4, 3 ) byref -> r13 "CSE #05: moderate" +; V122 cse5 [V122,T28] ( 4, 3 ) byref -> [rbp-0x100] spill-single-def "CSE #10: moderate" +; V123 cse6 [V123,T29] ( 4, 3 ) byref -> [rbp-0x108] spill-single-def "CSE #12: moderate" +; V124 cse7 [V124,T12] ( 5, 5 ) ref -> r12 "CSE #06: moderate" +; V125 cse8 [V125,T01] ( 16, 8 ) ref -> registers multi-def "CSE #02: aggressive" ; -; Lcl frame size = 200 +; Lcl frame size = 232 G_M26937_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 200 - lea rbp, [rsp+0xF0] - vxorps xmm8, xmm8, xmm8 - vmovdqu ymmword ptr [rbp-0x90], ymm8 - vmovdqu ymmword ptr [rbp-0x70], ymm8 - vmovdqu ymmword ptr [rbp-0x50], ymm8 + sub rsp, 232 + lea rbp, [rsp+0x110] xor eax, eax + mov qword ptr [rbp-0x68], rax + vxorps xmm8, xmm8, xmm8 + vmovdqu ymmword ptr [rbp-0x60], ymm8 + vmovdqa xmmword ptr [rbp-0x40], xmm8 mov qword ptr [rbp-0x30], rax mov rbx, rsi - ;; size=57 bbWeight=1 PerfScore 14.58 + ;; size=53 bbWeight=1 PerfScore 13.58 G_M26937_IG02: mov rdi, gword ptr [rdi+0x08] lea rsi, [rbp-0x68] xor edx, edx mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x58] call [rax+0x20]System.Security.Cryptography.RSA:ExportParameters(ubyte):System.Security.Cryptography.RSAParameters:this cmp byte ptr [rbx], bl mov r15, 0xD1FFAB1E mov rdi, r15 mov esi, 58 mov edx, 8 mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int mov r14d, eax cmp r14d, -1 je SHORT G_M26937_IG04 ;; size=66 bbWeight=1 PerfScore 18.50 G_M26937_IG03: test r14d, r14d je SHORT G_M26937_IG04 cmp r14d, 7 jne SHORT G_M26937_IG05 ;; size=11 bbWeight=0.50 PerfScore 1.25 G_M26937_IG04: mov r13, 0xD1FFAB1E ; '' mov rdx, 0xD1FFAB1E ; 'KeyValue' jmp G_M26937_IG10 ;; size=25 bbWeight=0.50 PerfScore 1.25 G_M26937_IG05: cmp r14d, 8 - ja G_M26937_IG30 + ja G_M26937_IG37 cmp r14d, 8 jne SHORT G_M26937_IG06 mov r13, 0xD1FFAB1E ; 'KeyValue' jmp SHORT G_M26937_IG07 ;; size=28 bbWeight=0.50 PerfScore 2.38 G_M26937_IG06: mov edi, r14d call System.String:FastAllocateString(int):System.String mov r13, rax mov edx, r14d cmp byte ptr [r13], r13b lea rdi, bword ptr [r13+0x0C] mov rsi, r15 add rdx, rdx mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) ;; size=40 bbWeight=0.50 PerfScore 4.50 G_M26937_IG07: inc r14d jne SHORT G_M26937_IG08 mov rdx, 0xD1FFAB1E ; 'KeyValue' jmp SHORT G_M26937_IG10 ;; size=17 bbWeight=0.50 PerfScore 1.75 G_M26937_IG08: mov r12d, r14d neg r12d add r12d, 8 jne SHORT G_M26937_IG09 mov rdx, 0xD1FFAB1E ; '' jmp SHORT G_M26937_IG10 ;; size=24 bbWeight=0.50 PerfScore 2.00 G_M26937_IG09: cmp r14d, 8 - ja G_M26937_IG31 + ja G_M26937_IG38 mov edi, r12d call System.String:FastAllocateString(int):System.String mov rdx, rax mov gword ptr [rbp-0xB0], rdx mov edi, r12d cmp byte ptr [rdx], dl lea rsi, bword ptr [rdx+0x0C] mov eax, r14d lea rax, bword ptr [r15+2*rax] lea rdx, [rdi+rdi] mov rdi, rsi mov rsi, rax mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) mov r14, gword ptr [rbp-0xB0] mov rdx, r14 ;; size=76 bbWeight=0.50 PerfScore 6.88 G_M26937_IG10: mov rdi, rbx mov rsi, r13 mov r12, 0xD1FFAB1E ; 'http://www.w3.org/2000/09/xmldsig#' mov rcx, r12 mov rax, qword ptr [rbx] mov r15, qword ptr [rax+0x98] call [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this mov r14, rax mov r13, 0xD1FFAB1E mov rdi, r13 mov esi, 58 mov edx, 11 mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int mov dword ptr [rbp-0x6C], eax cmp eax, -1 je SHORT G_M26937_IG12 ;; size=79 bbWeight=1 PerfScore 14.75 G_M26937_IG11: test eax, eax je SHORT G_M26937_IG12 cmp eax, 10 jne SHORT G_M26937_IG13 ;; size=9 bbWeight=0.50 PerfScore 1.25 G_M26937_IG12: mov rdx, 0xD1FFAB1E ; '' mov r13, rdx mov rdx, 0xD1FFAB1E ; 'RSAKeyValue' jmp G_M26937_IG19 ;; size=28 bbWeight=0.50 PerfScore 1.38 G_M26937_IG13: cmp eax, 11 - ja G_M26937_IG32 + ja G_M26937_IG39 cmp eax, 11 jne SHORT G_M26937_IG14 mov rcx, 0xD1FFAB1E ; 'RSAKeyValue' jmp SHORT G_M26937_IG15 ;; size=26 bbWeight=0.50 PerfScore 2.38 G_M26937_IG14: mov edi, eax call System.String:FastAllocateString(int):System.String mov rcx, rax mov gword ptr [rbp-0xC0], rcx mov edx, dword ptr [rbp-0x6C] cmp byte ptr [rcx], cl lea rdi, bword ptr [rcx+0x0C] mov rsi, r13 add rdx, rdx mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [r8]System.SpanHelpers:Memmove(byref,byref,ulong) mov rcx, gword ptr [rbp-0xC0] mov eax, dword ptr [rbp-0x6C] ;; size=55 bbWeight=0.50 PerfScore 6.38 G_M26937_IG15: mov gword ptr [rbp-0xB8], rcx lea edx, [rax+0x01] mov dword ptr [rbp-0x70], edx test edx, edx jne SHORT G_M26937_IG16 mov rcx, gword ptr [rbp-0xB8] mov rdx, 0xD1FFAB1E ; 'RSAKeyValue' jmp SHORT G_M26937_IG18 ;; size=36 bbWeight=0.50 PerfScore 3.50 G_M26937_IG16: mov rcx, gword ptr [rbp-0xB8] mov esi, edx neg esi add esi, 11 mov dword ptr [rbp-0x74], esi test esi, esi jne SHORT G_M26937_IG17 mov rdx, 0xD1FFAB1E ; '' jmp SHORT G_M26937_IG18 ;; size=33 bbWeight=0.50 PerfScore 3.12 G_M26937_IG17: cmp edx, 11 - ja G_M26937_IG33 + ja G_M26937_IG40 mov gword ptr [rbp-0xB8], rcx mov edi, esi call System.String:FastAllocateString(int):System.String mov rdx, rax mov gword ptr [rbp-0xC8], rdx mov edi, dword ptr [rbp-0x74] cmp byte ptr [rdx], dl lea rsi, bword ptr [rdx+0x0C] mov eax, dword ptr [rbp-0x70] lea rax, bword ptr [r13+2*rax] lea rdx, [rdi+rdi] mov rdi, rsi mov rsi, rax mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) mov r13, gword ptr [rbp-0xC8] mov rdx, r13 mov rcx, gword ptr [rbp-0xB8] ;; size=89 bbWeight=0.50 PerfScore 9.38 G_M26937_IG18: mov r13, rcx ;; size=3 bbWeight=0.50 PerfScore 0.12 G_M26937_IG19: mov rdi, rbx mov rsi, r13 mov rcx, r12 call [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this mov r13, rax mov rax, 0xD1FFAB1E - mov bword ptr [rbp-0xE8], rax + mov bword ptr [rbp-0x100], rax mov rdi, rax mov esi, 58 mov edx, 7 mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int mov dword ptr [rbp-0x78], eax cmp eax, -1 je SHORT G_M26937_IG21 ;; size=66 bbWeight=1 PerfScore 11.50 G_M26937_IG20: test eax, eax je SHORT G_M26937_IG21 cmp eax, 6 jne SHORT G_M26937_IG22 ;; size=9 bbWeight=0.50 PerfScore 1.25 G_M26937_IG21: mov rdx, 0xD1FFAB1E ; '' mov rcx, rdx mov rdx, 0xD1FFAB1E ; 'Modulus' jmp G_M26937_IG27 ;; size=28 bbWeight=0.50 PerfScore 1.38 G_M26937_IG22: cmp eax, 7 - ja G_M26937_IG34 + ja G_M26937_IG41 cmp eax, 7 jne SHORT G_M26937_IG23 mov rcx, 0xD1FFAB1E ; 'Modulus' jmp SHORT G_M26937_IG24 ;; size=26 bbWeight=0.50 PerfScore 2.38 G_M26937_IG23: mov edi, eax call System.String:FastAllocateString(int):System.String mov rcx, rax mov gword ptr [rbp-0xD8], rcx mov edx, dword ptr [rbp-0x78] cmp byte ptr [rcx], cl lea rdi, bword ptr [rcx+0x0C] - mov r8, bword ptr [rbp-0xE8] + mov r8, bword ptr [rbp-0x100] mov rsi, r8 add rdx, rdx mov r9, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [r9]System.SpanHelpers:Memmove(byref,byref,ulong) mov rcx, gword ptr [rbp-0xD8] mov eax, dword ptr [rbp-0x78] ;; size=62 bbWeight=0.50 PerfScore 6.88 G_M26937_IG24: mov gword ptr [rbp-0xD0], rcx lea edx, [rax+0x01] mov dword ptr [rbp-0x7C], edx test edx, edx jne SHORT G_M26937_IG25 mov rcx, gword ptr [rbp-0xD0] mov rdx, 0xD1FFAB1E ; 'Modulus' jmp G_M26937_IG27 ;; size=39 bbWeight=0.50 PerfScore 3.50 G_M26937_IG25: mov rcx, gword ptr [rbp-0xD0] mov esi, edx neg esi add esi, 7 mov dword ptr [rbp-0x80], esi test esi, esi jne SHORT G_M26937_IG26 mov rdx, 0xD1FFAB1E ; '' jmp SHORT G_M26937_IG27 ;; size=33 bbWeight=0.50 PerfScore 3.12 G_M26937_IG26: cmp edx, 7 - ja G_M26937_IG35 + ja G_M26937_IG42 mov gword ptr [rbp-0xD0], rcx mov edi, esi call System.String:FastAllocateString(int):System.String mov rdx, rax mov gword ptr [rbp-0xE0], rdx mov edi, dword ptr [rbp-0x80] cmp byte ptr [rdx], dl lea rsi, bword ptr [rdx+0x0C] mov eax, dword ptr [rbp-0x7C] - mov r8, bword ptr [rbp-0xE8] + mov r8, bword ptr [rbp-0x100] lea rax, bword ptr [r8+2*rax] lea rdx, [rdi+rdi] mov rdi, rsi mov rsi, rax mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) mov rdx, gword ptr [rbp-0xE0] mov rcx, gword ptr [rbp-0xD0] ;; size=92 bbWeight=0.50 PerfScore 9.00 G_M26937_IG27: mov rdi, rbx mov rsi, rcx mov rcx, r12 call [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this mov gword ptr [rbp-0xA8], rax mov rdi, gword ptr [rbp-0x40] mov rcx, 0xD1FFAB1E ; code for System.Convert:ToBase64String(ubyte[]):System.String call [rcx]System.Convert:ToBase64String(ubyte[]):System.String mov rsi, rax mov rdi, rbx mov rax, qword ptr [rbx] mov rax, qword ptr [rax+0x90] mov qword ptr [rbp-0x98], rax call [rax]System.Xml.XmlDocument:CreateTextNode(System.String):System.Xml.XmlText:this mov rsi, rax mov rdi, gword ptr [rbp-0xA8] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x58] call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this mov rdi, r13 mov rsi, gword ptr [rbp-0xA8] mov rax, qword ptr [r13] mov rax, qword ptr [rax+0x58] mov qword ptr [rbp-0xA0], rax call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this - lea rdx, [rbp-0x90] - lea rsi, [rbp-0x88] - mov rdi, 0xD1FFAB1E ; 'Exponent' - mov rax, 0xD1FFAB1E ; code for System.Xml.XmlNode:SplitName(System.String,byref,byref) - call [rax]System.Xml.XmlNode:SplitName(System.String,byref,byref) + mov rax, 0xD1FFAB1E + mov bword ptr [rbp-0x108], rax + mov rdi, rax + mov esi, 58 + mov edx, 8 + mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int + call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int + mov dword ptr [rbp-0x84], eax + cmp eax, -1 + je SHORT G_M26937_IG29 + ;; size=162 bbWeight=1 PerfScore 42.50 +G_M26937_IG28: + test eax, eax + je SHORT G_M26937_IG29 + cmp eax, 7 + jne SHORT G_M26937_IG30 + ;; size=9 bbWeight=0.50 PerfScore 1.25 +G_M26937_IG29: + mov rdx, 0xD1FFAB1E ; '' + mov rcx, rdx + mov rdx, 0xD1FFAB1E ; 'Exponent' + jmp G_M26937_IG35 + ;; size=28 bbWeight=0.50 PerfScore 1.38 +G_M26937_IG30: + cmp eax, 8 + ja G_M26937_IG43 + cmp eax, 8 + jne SHORT G_M26937_IG31 + mov rcx, 0xD1FFAB1E ; 'Exponent' + jmp SHORT G_M26937_IG32 + ;; size=26 bbWeight=0.50 PerfScore 2.38 +G_M26937_IG31: + mov edi, eax + call System.String:FastAllocateString(int):System.String + mov rcx, rax + mov gword ptr [rbp-0xF0], rcx + mov edx, dword ptr [rbp-0x84] + cmp byte ptr [rcx], cl + lea rdi, bword ptr [rcx+0x0C] + mov r8, bword ptr [rbp-0x108] + mov rsi, r8 + add rdx, rdx + mov r9, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) + call [r9]System.SpanHelpers:Memmove(byref,byref,ulong) + mov rcx, gword ptr [rbp-0xF0] + mov eax, dword ptr [rbp-0x84] + ;; size=68 bbWeight=0.50 PerfScore 6.88 +G_M26937_IG32: + mov gword ptr [rbp-0xE8], rcx + lea edx, [rax+0x01] + mov dword ptr [rbp-0x88], edx + test edx, edx + jne SHORT G_M26937_IG33 + mov rcx, gword ptr [rbp-0xE8] + mov rdx, 0xD1FFAB1E ; 'Exponent' + jmp G_M26937_IG35 + ;; size=42 bbWeight=0.50 PerfScore 3.50 +G_M26937_IG33: + mov rcx, gword ptr [rbp-0xE8] + mov esi, edx + neg esi + add esi, 8 + mov dword ptr [rbp-0x8C], esi + test esi, esi + jne SHORT G_M26937_IG34 + mov rdx, 0xD1FFAB1E ; '' + jmp SHORT G_M26937_IG35 + ;; size=36 bbWeight=0.50 PerfScore 3.12 +G_M26937_IG34: + cmp edx, 8 + ja G_M26937_IG44 + mov gword ptr [rbp-0xE8], rcx + mov edi, esi + call System.String:FastAllocateString(int):System.String + mov rdx, rax + mov gword ptr [rbp-0xF8], rdx + mov edi, dword ptr [rbp-0x8C] + cmp byte ptr [rdx], dl + lea rsi, bword ptr [rdx+0x0C] + mov eax, dword ptr [rbp-0x88] + mov r8, bword ptr [rbp-0x108] + lea rax, bword ptr [r8+2*rax] + lea rdx, [rdi+rdi] + mov rdi, rsi + mov rsi, rax + mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) + call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) + mov rdx, gword ptr [rbp-0xF8] + mov rcx, gword ptr [rbp-0xE8] + ;; size=98 bbWeight=0.50 PerfScore 9.00 +G_M26937_IG35: mov rdi, rbx - mov rsi, gword ptr [rbp-0x88] - mov rdx, gword ptr [rbp-0x90] + mov rsi, rcx mov rcx, r12 call [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this mov r15, rax - xor rdi, rdi - mov gword ptr [rbp-0x88], rdi - ;; size=181 bbWeight=1 PerfScore 46.50 -G_M26937_IG28: - mov gword ptr [rbp-0x90], rdi mov rdi, gword ptr [rbp-0x50] mov rax, 0xD1FFAB1E ; code for System.Convert:ToBase64String(ubyte[]):System.String call [rax]System.Convert:ToBase64String(ubyte[]):System.String mov rsi, rax mov rdi, rbx mov rbx, qword ptr [rbp-0x98] call [rbx]System.Xml.XmlDocument:CreateTextNode(System.String):System.Xml.XmlText:this mov rsi, rax mov rdi, r15 mov rax, qword ptr [r15] mov rax, qword ptr [rax+0x58] call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this mov rdi, r13 mov rsi, r15 mov rbx, qword ptr [rbp-0xA0] call [rbx+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this mov rdi, r14 mov rsi, r13 mov rax, qword ptr [r14] mov rax, qword ptr [rax+0x58] call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this mov rax, r14 - ;; size=89 bbWeight=1 PerfScore 29.50 -G_M26937_IG29: - add rsp, 200 + ;; size=98 bbWeight=1 PerfScore 32.50 +G_M26937_IG36: + add rsp, 232 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=1 PerfScore 4.25 -G_M26937_IG30: +G_M26937_IG37: mov edi, 0x19E1 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdi, rax mov edx, r14d xor esi, esi mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this int3 ;; size=41 bbWeight=0 PerfScore 0.00 -G_M26937_IG31: +G_M26937_IG38: mov edi, 0x19E1 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdi, rax mov esi, r14d mov edx, r12d mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this int3 ;; size=42 bbWeight=0 PerfScore 0.00 -G_M26937_IG32: +G_M26937_IG39: mov edi, 0x28BD mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdi, rax mov edx, dword ptr [rbp-0x6C] xor esi, esi mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this int3 ;; size=41 bbWeight=0 PerfScore 0.00 -G_M26937_IG33: +G_M26937_IG40: mov edi, 0x28BD mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdi, rax mov esi, dword ptr [rbp-0x70] mov edx, dword ptr [rbp-0x74] mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this int3 ;; size=42 bbWeight=0 PerfScore 0.00 -G_M26937_IG34: +G_M26937_IG41: mov edi, 0x28D5 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdi, rax mov edx, dword ptr [rbp-0x78] xor esi, esi mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this int3 ;; size=41 bbWeight=0 PerfScore 0.00 -G_M26937_IG35: +G_M26937_IG42: mov edi, 0x28D5 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdi, rax mov esi, dword ptr [rbp-0x7C] mov edx, dword ptr [rbp-0x80] mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this int3 ;; size=42 bbWeight=0 PerfScore 0.00 +G_M26937_IG43: + mov edi, 0x28E5 + mov rsi, 0xD1FFAB1E + call CORINFO_HELP_STRCNS + mov rdi, rax + mov edx, dword ptr [rbp-0x84] + xor esi, esi + mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this + call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this + int3 + ;; size=44 bbWeight=0 PerfScore 0.00 +G_M26937_IG44: + mov edi, 0x28E5 + mov rsi, 0xD1FFAB1E + call CORINFO_HELP_STRCNS + mov rdi, rax + mov esi, dword ptr [rbp-0x88] + mov edx, dword ptr [rbp-0x8C] + mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this + call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this + int3 + ;; size=48 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1594, prolog size 54, PerfScore 214.58, instruction count 367, allocated bytes for code 1594 (MethodHash=823f96c6) for method System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) +; Total bytes of code 1979, prolog size 50, PerfScore 240.08, instruction count 451, allocated bytes for code 1979 (MethodHash=823f96c6) for method System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts) ```

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

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

MihuBot commented 3 months ago

Top method improvements

-128 (-16.91 % of base) - System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String ```diff ; Assembly listing for method System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data -; 0 inlinees with PGO data; 43 single block inlinees; 15 inlinees without PGO data +; 0 inlinees with PGO data; 43 single block inlinees; 27 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T01] ( 12, 15 ) ref -> [rbp-0x40] class-hnd EH-live single-def +; V00 arg0 [V00,T01] ( 12, 15 ) ref -> [rbp-0x30] class-hnd EH-live single-def ;* V01 loc0 [V01 ] ( 0, 0 ) int -> zero-ref ;* V02 loc1 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op ;* V03 loc2 [V03 ] ( 0, 0 ) struct (16) zero-ref -; V04 loc3 [V04,T27] ( 3, 3 ) int -> r15 +; V04 loc3 [V04,T23] ( 3, 3 ) int -> r15 ;* V05 loc4 [V05 ] ( 0, 0 ) struct (16) zero-ref ; V06 loc5 [V06,T00] ( 6, 25 ) int -> rdx ;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def -; V08 loc7 [V08,T31] ( 2, 2 ) ref -> rax class-hnd exact single-def +; V08 loc7 [V08,T27] ( 2, 2 ) ref -> rax class-hnd exact single-def ;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V10 tmp1 [V10 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V11 tmp2 [V11 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" -; V12 tmp3 [V12,T09] ( 3, 6 ) ref -> rbx class-hnd exact single-def "impAppendStmt" +; V12 tmp3 [V12,T05] ( 3, 6 ) ref -> rbx class-hnd exact single-def "impAppendStmt" ;* V13 tmp4 [V13 ] ( 0, 0 ) struct (16) zero-ref multireg-arg multireg-ret "Return value temp for multireg return" ;* V14 tmp5 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" ;* V15 tmp6 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V16 tmp7 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" ;* V17 tmp8 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V18 tmp9 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" -; V19 tmp10 [V19,T19] ( 2, 4 ) byref -> rax single-def "Inlining Arg" -; V20 tmp11 [V20,T22] ( 2, 4 ) int -> rbx "Inlining Arg" -; V21 tmp12 [V21,T08] ( 6, 6 ) int -> rax "Inline return value spill temp" -; V22 tmp13 [V22 ] ( 2, 4 ) ushort -> [rbp-0x2C] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" -; V23 tmp14 [V23 ] ( 2, 4 ) ushort -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +; V19 tmp10 [V19,T11] ( 2, 4 ) byref -> rcx single-def "Inlining Arg" +; V20 tmp11 [V20,T15] ( 2, 4 ) int -> rbx "Inlining Arg" +; V21 tmp12 [V21,T04] ( 6, 6 ) int -> rax "Inline return value spill temp" +;* V22 tmp13 [V22 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V23 tmp14 [V23 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V24 tmp15 [V24 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V25 tmp16 [V25 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V26 tmp17 [V26 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V27 tmp18 [V27 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V28 tmp19 [V28 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V29 tmp20 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V27 tmp18 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V28 tmp19 [V28 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V29 tmp20 [V29 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V30 tmp21 [V30 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V31 tmp22 [V31 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V32 tmp23 [V32 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V33 tmp24 [V33 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V34 tmp25 [V34 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V35 tmp26 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V36 tmp27 [V36 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V37 tmp28 [V37 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V38 tmp29 [V38 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V39 tmp30 [V39 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V40 tmp31 [V40 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V41 tmp32 [V41 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V42 tmp33 [V42 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V43 tmp34 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V44 tmp35 [V44 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -; V45 tmp36 [V45,T03] ( 6, 12 ) ushort -> rsi "Inlining Arg" -; V46 tmp37 [V46,T06] ( 5, 10 ) ushort -> rdx "Inlining Arg" -;* V47 tmp38 [V47 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -; V48 tmp39 [V48,T28] ( 3, 3 ) int -> rax "Inline return value spill temp" -;* V49 tmp40 [V49 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" -;* V50 tmp41 [V50 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" -;* V51 tmp42 [V51 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp" +;* V33 tmp24 [V33 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V34 tmp25 [V34 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V35 tmp26 [V35 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V36 tmp27 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V37 tmp28 [V37 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V38 tmp29 [V38 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V39 tmp30 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V40 tmp31 [V40 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V41 tmp32 [V41 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V42 tmp33 [V42 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" +;* V43 tmp34 [V43 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" +;* V44 tmp35 [V44 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V45 tmp36 [V45 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V46 tmp37 [V46 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" +;* V47 tmp38 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V48 tmp39 [V48 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V49 tmp40 [V49 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +; V50 tmp41 [V50,T33] ( 2, 2 ) int -> rax "Inline return value spill temp" +;* V51 tmp42 [V51 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp" ;* V52 tmp43 [V52 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp" ;* V53 tmp44 [V53 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp" -;* V54 tmp45 [V54 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V54 tmp45 [V54 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V55 tmp46 [V55 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" -;* V56 tmp47 [V56 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -;* V57 tmp48 [V57 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -;* V58 tmp49 [V58 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V59 tmp50 [V59 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V60 tmp51 [V60 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V61 tmp52 [V61 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V62 tmp53 [V62 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V63 tmp54 [V63 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V64 tmp55 [V64 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg" -;* V65 tmp56 [V65 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg" +;* V56 tmp47 [V56 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V57 tmp48 [V57 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V58 tmp49 [V58 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V59 tmp50 [V59 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V60 tmp51 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V61 tmp52 [V61 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V62 tmp53 [V62 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V63 tmp54 [V63 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V64 tmp55 [V64 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V65 tmp56 [V65 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V66 tmp57 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V67 tmp58 [V67 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V68 tmp59 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V69 tmp60 [V69 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V70 tmp61 [V70 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V71 tmp62 [V71 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V72 tmp63 [V72 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg" -;* V73 tmp64 [V73 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg" -;* V74 tmp65 [V74 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V75 tmp66 [V75 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" -;* V76 tmp67 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" -;* V77 tmp68 [V77 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" -; V78 tmp69 [V78,T20] ( 2, 4 ) byref -> r8 single-def "Inlining Arg" -; V79 tmp70 [V79,T23] ( 2, 4 ) int -> rcx "Inlining Arg" -; V80 tmp71 [V80,T37] ( 2, 2 ) int -> rax "Inline return value spill temp" -; V81 tmp72 [V81 ] ( 2, 4 ) ushort -> [rbp-0x34] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" -; V82 tmp73 [V82 ] ( 2, 4 ) ushort -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V67 tmp58 [V67 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" +;* V68 tmp59 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +;* V69 tmp60 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" +; V70 tmp61 [V70,T12] ( 2, 4 ) byref -> rcx single-def "Inlining Arg" +; V71 tmp62 [V71,T16] ( 2, 4 ) int -> rsi "Inlining Arg" +; V72 tmp63 [V72,T34] ( 2, 2 ) int -> rax "Inline return value spill temp" +;* V73 tmp64 [V73 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V74 tmp65 [V74 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V75 tmp66 [V75 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V76 tmp67 [V76 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V77 tmp68 [V77 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V78 tmp69 [V78 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V79 tmp70 [V79 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V80 tmp71 [V80 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" +;* V81 tmp72 [V81 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V82 tmp73 [V82 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V83 tmp74 [V83 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V84 tmp75 [V84 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V85 tmp76 [V85 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" +;* V84 tmp75 [V84 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V85 tmp76 [V85 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V86 tmp77 [V86 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V87 tmp78 [V87 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V88 tmp79 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V89 tmp80 [V89 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V90 tmp81 [V90 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V91 tmp82 [V91 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V92 tmp83 [V92 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V93 tmp84 [V93 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" -;* V94 tmp85 [V94 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V95 tmp86 [V95 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V96 tmp87 [V96 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" +;* V88 tmp79 [V88 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V89 tmp80 [V89 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +;* V90 tmp81 [V90 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V91 tmp82 [V91 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V92 tmp83 [V92 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V93 tmp84 [V93 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" +;* V94 tmp85 [V94 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" +;* V95 tmp86 [V95 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V96 tmp87 [V96 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V97 tmp88 [V97 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" -;* V98 tmp89 [V98 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V99 tmp90 [V99 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V100 tmp91 [V100 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V101 tmp92 [V101 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg" -;* V102 tmp93 [V102 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V103 tmp94 [V103 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" -; V104 tmp95 [V104,T04] ( 6, 12 ) ushort -> rsi "Inlining Arg" -; V105 tmp96 [V105,T07] ( 5, 10 ) ushort -> rdx "Inlining Arg" -;* V106 tmp97 [V106 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -; V107 tmp98 [V107,T29] ( 3, 3 ) int -> rax "Inline return value spill temp" -;* V108 tmp99 [V108 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" -;* V109 tmp100 [V109 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" -;* V110 tmp101 [V110 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp" -;* V111 tmp102 [V111 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp" -;* V112 tmp103 [V112 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp" -;* V113 tmp104 [V113 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" -;* V114 tmp105 [V114 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" -;* V115 tmp106 [V115 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" -;* V116 tmp107 [V116 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" +;* V98 tmp89 [V98 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +; V99 tmp90 [V99,T13] ( 2, 4 ) byref -> rcx single-def "Inlining Arg" +; V100 tmp91 [V100,T17] ( 2, 4 ) int -> rsi "Inlining Arg" +; V101 tmp92 [V101,T35] ( 2, 2 ) int -> rax "Inline return value spill temp" +;* V102 tmp93 [V102 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp" +;* V103 tmp94 [V103 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp" +;* V104 tmp95 [V104 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp" +;* V105 tmp96 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V106 tmp97 [V106 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V107 tmp98 [V107 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V108 tmp99 [V108 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V109 tmp100 [V109 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V110 tmp101 [V110 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" +;* V111 tmp102 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V112 tmp103 [V112 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg" +;* V113 tmp104 [V113 ] ( 0, 0 ) ushort -> zero-ref do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V114 tmp105 [V114 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" +;* V115 tmp106 [V115 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V116 tmp107 [V116 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V117 tmp108 [V117 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V118 tmp109 [V118 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V119 tmp110 [V119 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V120 tmp111 [V120 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V121 tmp112 [V121 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V122 tmp113 [V122 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V123 tmp114 [V123 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg" -;* V124 tmp115 [V124 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg" -;* V125 tmp116 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -;* V126 tmp117 [V126 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V127 tmp118 [V127 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V128 tmp119 [V128 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -;* V129 tmp120 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -;* V130 tmp121 [V130 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" -;* V131 tmp122 [V131 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg" -;* V132 tmp123 [V132 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg" -;* V133 tmp124 [V133 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V134 tmp125 [V134,T24] ( 2, 4 ) long -> r14 "Inlining Arg" -; V135 tmp126 [V135,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Inlining Arg" -;* V136 tmp127 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" -; V137 tmp128 [V137,T11] ( 3, 6 ) ref -> r13 class-hnd exact single-def "Inlining Arg" -; V138 tmp129 [V138,T21] ( 2, 4 ) ref -> r12 class-hnd single-def "dup spill" -; V139 tmp130 [V139,T14] ( 4, 4 ) ref -> r12 -; V140 tmp131 [V140,T12] ( 3, 6 ) byref -> r14 single-def "field V02._reference (fldOffset=0x0)" P-INDEP -; V141 tmp132 [V141,T13] ( 3, 6 ) int -> r15 "field V02._length (fldOffset=0x8)" P-INDEP -; V142 tmp133 [V142,T26] ( 3, 3 ) byref -> r14 "field V03._reference (fldOffset=0x0)" P-INDEP -; V143 tmp134 [V143,T30] ( 3, 3 ) int -> r15 "field V03._length (fldOffset=0x8)" P-INDEP -;* V144 tmp135 [V144 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP -;* V145 tmp136 [V145 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -;* V146 tmp137 [V146 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP -;* V147 tmp138 [V147 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP -;* V148 tmp139 [V148 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-INDEP -;* V149 tmp140 [V149 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP -; V150 tmp141 [V150,T32] ( 2, 2 ) byref -> rsi "field V13._reference (fldOffset=0x0)" P-INDEP -; V151 tmp142 [V151,T38] ( 2, 2 ) int -> rdx "field V13._length (fldOffset=0x8)" P-INDEP -; V152 tmp143 [V152,T33] ( 2, 2 ) byref -> r14 single-def "field V15._reference (fldOffset=0x0)" P-INDEP -; V153 tmp144 [V153,T39] ( 2, 2 ) int -> r15 "field V15._length (fldOffset=0x8)" P-INDEP -; V154 tmp145 [V154,T15] ( 4, 4 ) byref -> rax "field V16._reference (fldOffset=0x0)" P-INDEP -; V155 tmp146 [V155,T17] ( 4, 4 ) int -> rcx "field V16._length (fldOffset=0x8)" P-INDEP -; V156 tmp147 [V156,T34] ( 2, 2 ) byref -> rax single-def "field V17._reference (fldOffset=0x0)" P-INDEP -; V157 tmp148 [V157,T40] ( 2, 2 ) int -> rcx "field V17._length (fldOffset=0x8)" P-INDEP -;* V158 tmp149 [V158 ] ( 0, 0 ) byref -> zero-ref single-def "field V18._reference (fldOffset=0x0)" P-INDEP -;* V159 tmp150 [V159 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP -;* V160 tmp151 [V160 ] ( 0, 0 ) byref -> zero-ref single-def "field V29._reference (fldOffset=0x0)" P-INDEP -;* V161 tmp152 [V161 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP -;* V162 tmp153 [V162 ] ( 0, 0 ) byref -> zero-ref "field V35._reference (fldOffset=0x0)" P-INDEP -;* V163 tmp154 [V163 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP -;* V164 tmp155 [V164 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP -;* V165 tmp156 [V165 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP -;* V166 tmp157 [V166 ] ( 0, 0 ) byref -> zero-ref "field V58._reference (fldOffset=0x0)" P-INDEP -;* V167 tmp158 [V167 ] ( 0, 0 ) int -> zero-ref "field V58._length (fldOffset=0x8)" P-INDEP -;* V168 tmp159 [V168 ] ( 0, 0 ) byref -> zero-ref "field V66._reference (fldOffset=0x0)" P-INDEP -;* V169 tmp160 [V169 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP -;* V170 tmp161 [V170 ] ( 0, 0 ) byref -> zero-ref "field V74._reference (fldOffset=0x0)" P-INDEP -;* V171 tmp162 [V171 ] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP -; V172 tmp163 [V172,T16] ( 4, 4 ) byref -> r8 "field V75._reference (fldOffset=0x0)" P-INDEP -; V173 tmp164 [V173,T18] ( 4, 4 ) int -> rcx "field V75._length (fldOffset=0x8)" P-INDEP -; V174 tmp165 [V174,T35] ( 2, 2 ) byref -> r8 single-def "field V76._reference (fldOffset=0x0)" P-INDEP -; V175 tmp166 [V175,T41] ( 2, 2 ) int -> rcx "field V76._length (fldOffset=0x8)" P-INDEP -;* V176 tmp167 [V176 ] ( 0, 0 ) byref -> zero-ref single-def "field V77._reference (fldOffset=0x0)" P-INDEP -;* V177 tmp168 [V177 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP -;* V178 tmp169 [V178 ] ( 0, 0 ) byref -> zero-ref single-def "field V88._reference (fldOffset=0x0)" P-INDEP -;* V179 tmp170 [V179 ] ( 0, 0 ) int -> zero-ref "field V88._length (fldOffset=0x8)" P-INDEP -;* V180 tmp171 [V180 ] ( 0, 0 ) byref -> zero-ref "field V94._reference (fldOffset=0x0)" P-INDEP -;* V181 tmp172 [V181 ] ( 0, 0 ) int -> zero-ref "field V94._length (fldOffset=0x8)" P-INDEP -;* V182 tmp173 [V182 ] ( 0, 0 ) byref -> zero-ref single-def "field V102._reference (fldOffset=0x0)" P-INDEP -;* V183 tmp174 [V183 ] ( 0, 0 ) int -> zero-ref "field V102._length (fldOffset=0x8)" P-INDEP -;* V184 tmp175 [V184 ] ( 0, 0 ) byref -> zero-ref "field V117._reference (fldOffset=0x0)" P-INDEP -;* V185 tmp176 [V185 ] ( 0, 0 ) int -> zero-ref "field V117._length (fldOffset=0x8)" P-INDEP -;* V186 tmp177 [V186 ] ( 0, 0 ) byref -> zero-ref "field V125._reference (fldOffset=0x0)" P-INDEP -;* V187 tmp178 [V187 ] ( 0, 0 ) int -> zero-ref "field V125._length (fldOffset=0x8)" P-INDEP -;* V188 tmp179 [V188 ] ( 0, 0 ) byref -> zero-ref "field V133._reference (fldOffset=0x0)" P-INDEP -;* V189 tmp180 [V189 ] ( 0, 0 ) int -> zero-ref "field V133._length (fldOffset=0x8)" P-INDEP -; V190 tmp181 [V190,T36] ( 2, 2 ) byref -> r14 "field V136._reference (fldOffset=0x0)" P-INDEP -; V191 tmp182 [V191,T42] ( 2, 2 ) int -> r15 "field V136._length (fldOffset=0x8)" P-INDEP -; V192 tmp183 [V192,T25] ( 2, 4 ) int -> rdi "argument with side effect" -; V193 GsCookie [V193 ] ( 1, 1 ) long -> [rbp-0x48] do-not-enreg[X] addr-exposed "GSSecurityCookie" -; V194 PSPSym [V194,T43] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym" -; V195 cse0 [V195,T02] ( 10, 17 ) int -> rbx multi-def "CSE #01: aggressive" -; V196 cse1 [V196,T05] ( 3, 12 ) long -> rsi "CSE #03: aggressive" +; V118 tmp109 [V118,T18] ( 2, 4 ) long -> r14 "Inlining Arg" +; V119 tmp110 [V119,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Inlining Arg" +;* V120 tmp111 [V120 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V121 tmp112 [V121,T07] ( 3, 6 ) ref -> r13 class-hnd exact single-def "Inlining Arg" +; V122 tmp113 [V122,T14] ( 2, 4 ) ref -> r12 class-hnd single-def "dup spill" +; V123 tmp114 [V123,T10] ( 4, 4 ) ref -> r12 +; V124 tmp115 [V124,T08] ( 3, 6 ) byref -> r14 single-def "field V02._reference (fldOffset=0x0)" P-INDEP +; V125 tmp116 [V125,T09] ( 3, 6 ) int -> r15 "field V02._length (fldOffset=0x8)" P-INDEP +; V126 tmp117 [V126,T20] ( 3, 3 ) byref -> r14 "field V03._reference (fldOffset=0x0)" P-INDEP +; V127 tmp118 [V127,T24] ( 3, 3 ) int -> r15 "field V03._length (fldOffset=0x8)" P-INDEP +;* V128 tmp119 [V128 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP +;* V129 tmp120 [V129 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +;* V130 tmp121 [V130 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP +;* V131 tmp122 [V131 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP +;* V132 tmp123 [V132 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-INDEP +;* V133 tmp124 [V133 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP +; V134 tmp125 [V134,T28] ( 2, 2 ) byref -> rsi "field V13._reference (fldOffset=0x0)" P-INDEP +; V135 tmp126 [V135,T36] ( 2, 2 ) int -> rdx "field V13._length (fldOffset=0x8)" P-INDEP +; V136 tmp127 [V136,T29] ( 2, 2 ) byref -> r14 single-def "field V15._reference (fldOffset=0x0)" P-INDEP +; V137 tmp128 [V137,T37] ( 2, 2 ) int -> r15 "field V15._length (fldOffset=0x8)" P-INDEP +; V138 tmp129 [V138,T21] ( 3, 3 ) byref -> rcx "field V16._reference (fldOffset=0x0)" P-INDEP +; V139 tmp130 [V139,T25] ( 3, 3 ) int -> rsi "field V16._length (fldOffset=0x8)" P-INDEP +; V140 tmp131 [V140,T30] ( 2, 2 ) byref -> rcx single-def "field V17._reference (fldOffset=0x0)" P-INDEP +; V141 tmp132 [V141,T38] ( 2, 2 ) int -> rsi "field V17._length (fldOffset=0x8)" P-INDEP +;* V142 tmp133 [V142 ] ( 0, 0 ) byref -> zero-ref single-def "field V18._reference (fldOffset=0x0)" P-INDEP +;* V143 tmp134 [V143 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP +;* V144 tmp135 [V144 ] ( 0, 0 ) byref -> zero-ref single-def "field V27._reference (fldOffset=0x0)" P-INDEP +;* V145 tmp136 [V145 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP +;* V146 tmp137 [V146 ] ( 0, 0 ) byref -> zero-ref "field V39._reference (fldOffset=0x0)" P-INDEP +;* V147 tmp138 [V147 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP +;* V148 tmp139 [V148 ] ( 0, 0 ) byref -> zero-ref single-def "field V47._reference (fldOffset=0x0)" P-INDEP +;* V149 tmp140 [V149 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP +;* V150 tmp141 [V150 ] ( 0, 0 ) byref -> zero-ref "field V54._reference (fldOffset=0x0)" P-INDEP +;* V151 tmp142 [V151 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP +;* V152 tmp143 [V152 ] ( 0, 0 ) byref -> zero-ref "field V60._reference (fldOffset=0x0)" P-INDEP +;* V153 tmp144 [V153 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP +;* V154 tmp145 [V154 ] ( 0, 0 ) byref -> zero-ref "field V66._reference (fldOffset=0x0)" P-INDEP +;* V155 tmp146 [V155 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP +; V156 tmp147 [V156,T22] ( 3, 3 ) byref -> rcx "field V67._reference (fldOffset=0x0)" P-INDEP +; V157 tmp148 [V157,T26] ( 3, 3 ) int -> rsi "field V67._length (fldOffset=0x8)" P-INDEP +; V158 tmp149 [V158,T31] ( 2, 2 ) byref -> rcx single-def "field V68._reference (fldOffset=0x0)" P-INDEP +; V159 tmp150 [V159,T39] ( 2, 2 ) int -> rsi "field V68._length (fldOffset=0x8)" P-INDEP +;* V160 tmp151 [V160 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP +;* V161 tmp152 [V161 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP +;* V162 tmp153 [V162 ] ( 0, 0 ) byref -> zero-ref single-def "field V78._reference (fldOffset=0x0)" P-INDEP +;* V163 tmp154 [V163 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP +;* V164 tmp155 [V164 ] ( 0, 0 ) byref -> zero-ref "field V90._reference (fldOffset=0x0)" P-INDEP +;* V165 tmp156 [V165 ] ( 0, 0 ) int -> zero-ref "field V90._length (fldOffset=0x8)" P-INDEP +;* V166 tmp157 [V166 ] ( 0, 0 ) byref -> zero-ref single-def "field V98._reference (fldOffset=0x0)" P-INDEP +;* V167 tmp158 [V167 ] ( 0, 0 ) int -> zero-ref "field V98._length (fldOffset=0x8)" P-INDEP +;* V168 tmp159 [V168 ] ( 0, 0 ) byref -> zero-ref "field V105._reference (fldOffset=0x0)" P-INDEP +;* V169 tmp160 [V169 ] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP +;* V170 tmp161 [V170 ] ( 0, 0 ) byref -> zero-ref "field V111._reference (fldOffset=0x0)" P-INDEP +;* V171 tmp162 [V171 ] ( 0, 0 ) int -> zero-ref "field V111._length (fldOffset=0x8)" P-INDEP +;* V172 tmp163 [V172 ] ( 0, 0 ) byref -> zero-ref "field V117._reference (fldOffset=0x0)" P-INDEP +;* V173 tmp164 [V173 ] ( 0, 0 ) int -> zero-ref "field V117._length (fldOffset=0x8)" P-INDEP +; V174 tmp165 [V174,T32] ( 2, 2 ) byref -> r14 "field V120._reference (fldOffset=0x0)" P-INDEP +; V175 tmp166 [V175,T40] ( 2, 2 ) int -> r15 "field V120._length (fldOffset=0x8)" P-INDEP +; V176 tmp167 [V176,T19] ( 2, 4 ) int -> rdi "argument with side effect" +; V177 GsCookie [V177 ] ( 1, 1 ) long -> [rbp-0x38] do-not-enreg[X] addr-exposed "GSSecurityCookie" +; V178 PSPSym [V178,T41] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[V] "PSPSym" +; V179 cse0 [V179,T02] ( 10, 17 ) int -> rbx multi-def "CSE #01: aggressive" +; V180 cse1 [V180,T03] ( 3, 12 ) long -> rsi "CSE #03: aggressive" ; -; Lcl frame size = 40 +; Lcl frame size = 24 G_M22867_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 40 - lea rbp, [rsp+0x50] - mov qword ptr [rbp-0x50], rsp - mov qword ptr [rbp-0x48], 0xD1FFAB1E - mov gword ptr [rbp-0x40], rdi + sub rsp, 24 + lea rbp, [rsp+0x40] + mov qword ptr [rbp-0x40], rsp + mov qword ptr [rbp-0x38], 0xD1FFAB1E + mov gword ptr [rbp-0x30], rdi ;; size=35 bbWeight=1 PerfScore 9.75 G_M22867_IG02: mov rax, 0xD1FFAB1E ; code for System.String:IsNullOrWhiteSpace(System.String):ubyte call [rax]System.String:IsNullOrWhiteSpace(System.String):ubyte test eax, eax - jne G_M22867_IG22 - mov rdi, gword ptr [rbp-0x40] + jne G_M22867_IG18 + mov rdi, gword ptr [rbp-0x30] test rdi, rdi jne SHORT G_M22867_IG03 - xor rax, rax - xor ecx, ecx + xor rcx, rcx + xor esi, esi jmp SHORT G_M22867_IG04 - align [1 bytes for IG15] - ;; size=36 bbWeight=1 PerfScore 9.25 + align [13 bytes for IG11] + ;; size=48 bbWeight=1 PerfScore 9.25 G_M22867_IG03: - lea rax, bword ptr [rdi+0x0C] + lea rcx, bword ptr [rdi+0x0C] mov ebx, dword ptr [rdi+0x08] - mov ecx, ebx - mov rdi, gword ptr [rbp-0x40] - ;; size=13 bbWeight=1 PerfScore 3.75 + mov esi, ebx + ;; size=9 bbWeight=1 PerfScore 2.75 G_M22867_IG04: - xor edx, edx - mov dword ptr [rbp-0x2C], edx - mov dword ptr [rbp-0x30], 127 - movzx rsi, word ptr [rbp-0x2C] - movzx rdx, word ptr [rbp-0x30] - lea r8d, [rsi-0x01] - cmp r8d, 254 - jae SHORT G_M22867_IG05 - lea r8d, [rdx-0x01] - cmp r8d, 254 - jae SHORT G_M22867_IG05 - cmp edx, esi - jl SHORT G_M22867_IG05 - sub edx, esi - movsx rdx, dx - movsx rsi, si - mov rdi, rax - mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int - call [rax]System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int - jmp SHORT G_M22867_IG06 - ;; size=77 bbWeight=1 PerfScore 15.25 -G_M22867_IG05: - mov rdi, rax + mov rdi, rcx + mov ecx, esi + xor esi, esi + mov edx, 127 mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int - ;; size=15 bbWeight=1 PerfScore 3.50 -G_M22867_IG06: test eax, eax - jl G_M22867_IG22 - mov rdi, gword ptr [rbp-0x40] + jl G_M22867_IG18 + mov rdi, gword ptr [rbp-0x30] test rdi, rdi - jne SHORT G_M22867_IG07 + jne SHORT G_M22867_IG05 test eax, eax - jne G_M22867_IG26 - xor r8, r8 - xor ecx, ecx - jmp SHORT G_M22867_IG08 - ;; size=32 bbWeight=1 PerfScore 7.25 -G_M22867_IG07: + jne G_M22867_IG22 + xor rcx, rcx + xor esi, esi + jmp SHORT G_M22867_IG06 + ;; size=55 bbWeight=1 PerfScore 11.50 +G_M22867_IG05: mov ebx, dword ptr [rdi+0x08] cmp ebx, eax - jb G_M22867_IG26 - mov r8d, eax - lea r8, bword ptr [rdi+2*r8+0x0C] - mov ecx, ebx - sub ecx, eax - mov rdi, gword ptr [rbp-0x40] - ;; size=27 bbWeight=1 PerfScore 6.00 -G_M22867_IG08: - xor edx, edx - mov dword ptr [rbp-0x34], edx - mov dword ptr [rbp-0x38], 255 - movzx rsi, word ptr [rbp-0x34] - movzx rdx, word ptr [rbp-0x38] - lea eax, [rsi-0x01] - cmp eax, 254 - jae SHORT G_M22867_IG09 - lea eax, [rdx-0x01] - cmp eax, 254 - jae SHORT G_M22867_IG09 - cmp edx, esi - jl SHORT G_M22867_IG09 - sub edx, esi - movsx rdx, dx - movsx rsi, si - mov rdi, r8 - mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int - call [rax]System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int - jmp SHORT G_M22867_IG10 - ;; size=71 bbWeight=1 PerfScore 15.25 -G_M22867_IG09: - mov rdi, r8 + jb G_M22867_IG22 + mov ecx, eax + lea rcx, bword ptr [rdi+2*rcx+0x0C] + mov esi, ebx + sub esi, eax + ;; size=22 bbWeight=1 PerfScore 5.00 +G_M22867_IG06: + mov rdi, rcx + mov ecx, esi + xor esi, esi + mov edx, 255 mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int call [rax]System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int - ;; size=15 bbWeight=1 PerfScore 3.50 -G_M22867_IG10: test eax, eax - jge G_M22867_IG22 - mov rdi, gword ptr [rbp-0x40] + jge G_M22867_IG18 + mov rdi, gword ptr [rbp-0x30] mov ebx, dword ptr [rdi+0x08] cmp ebx, 256 - jg SHORT G_M22867_IG13 + jg SHORT G_M22867_IG09 mov r15d, ebx mov esi, r15d mov r14, rsi test r14, r14 - je SHORT G_M22867_IG12 + je SHORT G_M22867_IG08 mov rax, r14 add rax, 15 and rax, -16 neg rax add rax, rsp - jb SHORT G_M22867_IG11 + jb SHORT G_M22867_IG07 xor eax, eax - ;; size=58 bbWeight=1 PerfScore 10.00 -G_M22867_IG11: + ;; size=82 bbWeight=1 PerfScore 14.25 +G_M22867_IG07: test dword ptr [rsp], esp sub rsp, 0x1000 cmp rsp, rax - jae SHORT G_M22867_IG11 + jae SHORT G_M22867_IG07 mov rsp, rax lea r14, [rsp] ;; size=22 bbWeight=1 PerfScore 5.25 -G_M22867_IG12: - jmp SHORT G_M22867_IG14 +G_M22867_IG08: + jmp SHORT G_M22867_IG10 ;; size=2 bbWeight=1 PerfScore 2.00 -G_M22867_IG13: +G_M22867_IG09: mov esi, ebx mov rdi, 0xD1FFAB1E ; ubyte[] call CORINFO_HELP_NEWARR_1_VC lea r14, bword ptr [rax+0x10] mov r15d, dword ptr [rax+0x08] ;; size=25 bbWeight=1 PerfScore 4.00 -G_M22867_IG14: +G_M22867_IG10: xor edx, edx - jmp SHORT G_M22867_IG16 + jmp SHORT G_M22867_IG12 ;; size=4 bbWeight=1 PerfScore 2.25 -G_M22867_IG15: +G_M22867_IG11: cmp edx, r15d - jae G_M22867_IG25 + jae G_M22867_IG21 mov esi, edx - mov rdi, gword ptr [rbp-0x40] + mov rdi, gword ptr [rbp-0x30] movzx rax, byte ptr [rdi+2*rsi+0x0C] mov byte ptr [r14+rsi], al inc edx ;; size=26 bbWeight=4 PerfScore 23.00 -G_M22867_IG16: +G_M22867_IG12: cmp ebx, edx - jg SHORT G_M22867_IG15 + jg SHORT G_M22867_IG11 ;; size=4 bbWeight=8 PerfScore 10.00 -G_M22867_IG17: +G_M22867_IG13: mov rdx, 0xD1FFAB1E ; const ptr mov rbx, gword ptr [rdx] mov rdx, 0xD1FFAB1E ; const ptr mov r13, gword ptr [rdx] mov rdx, r13 mov rsi, rbx mov rdi, 0xD1FFAB1E ; 'utf-8' mov rax, 0xD1FFAB1E ; code for System.Text.EncodingProvider:GetEncodingFromProvider(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback):System.Text.Encoding call [rax]System.Text.EncodingProvider:GetEncodingFromProvider(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback):System.Text.Encoding mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:FilterDisallowedEncodings(System.Text.Encoding):System.Text.Encoding call [rax]System.Text.Encoding:FilterDisallowedEncodings(System.Text.Encoding):System.Text.Encoding mov r12, rax test r12, r12 - jne SHORT G_M22867_IG18 + jne SHORT G_M22867_IG14 mov rdi, 0xD1FFAB1E ; 'utf-8' mov rax, 0xD1FFAB1E ; code for System.Text.EncodingTable:GetCodePageFromName(System.String):int call [rax]System.Text.EncodingTable:GetCodePageFromName(System.String):int mov edi, eax mov rsi, rbx mov rdx, r13 mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetEncoding(int,System.Text.EncoderFallback,System.Text.DecoderFallback):System.Text.Encoding call [rax]System.Text.Encoding:GetEncoding(int,System.Text.EncoderFallback,System.Text.DecoderFallback):System.Text.Encoding mov r12, rax ;; size=122 bbWeight=1 PerfScore 21.25 -G_M22867_IG18: +G_M22867_IG14: mov rdi, r14 mov esi, r15d mov rax, 0xD1FFAB1E ; code for System.Span`1[ubyte]:op_Implicit(System.Span`1[ubyte]):System.ReadOnlySpan`1[ubyte] call [rax]System.Span`1[ubyte]:op_Implicit(System.Span`1[ubyte]):System.ReadOnlySpan`1[ubyte] mov rsi, rax mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetString(System.ReadOnlySpan`1[ubyte]):System.String:this cmp dword ptr [rdi], edi call [rax]System.Text.Encoding:GetString(System.ReadOnlySpan`1[ubyte]):System.String:this nop ;; size=39 bbWeight=1 PerfScore 10.75 -G_M22867_IG19: - cmp qword ptr [rbp-0x48], 0xD1FFAB1E - je SHORT G_M22867_IG20 +G_M22867_IG15: + cmp qword ptr [rbp-0x38], 0xD1FFAB1E + je SHORT G_M22867_IG16 call CORINFO_HELP_FAIL_FAST ;; size=15 bbWeight=1 PerfScore 4.00 -G_M22867_IG20: +G_M22867_IG16: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M22867_IG21: +G_M22867_IG17: lea rsp, [rbp-0x28] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.50 -G_M22867_IG22: - mov rax, gword ptr [rbp-0x40] - cmp qword ptr [rbp-0x48], 0xD1FFAB1E - je SHORT G_M22867_IG23 +G_M22867_IG18: + mov rax, gword ptr [rbp-0x30] + cmp qword ptr [rbp-0x38], 0xD1FFAB1E + je SHORT G_M22867_IG19 call CORINFO_HELP_FAIL_FAST ;; size=19 bbWeight=1 PerfScore 5.00 -G_M22867_IG23: +G_M22867_IG19: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M22867_IG24: +G_M22867_IG20: lea rsp, [rbp-0x28] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.50 -G_M22867_IG25: +G_M22867_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -G_M22867_IG26: +G_M22867_IG22: mov edi, 33 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int) call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int) int3 ;; size=18 bbWeight=0 PerfScore 0.00 -G_M22867_IG27: +G_M22867_IG23: push rbp push r15 push r14 push r13 push r12 push rbx push rax mov rbp, qword ptr [rdi] mov qword ptr [rsp], rbp - lea rbp, [rbp+0x50] + lea rbp, [rbp+0x40] ;; size=22 bbWeight=0 PerfScore 0.00 -G_M22867_IG28: - lea rax, G_M22867_IG22 +G_M22867_IG24: + lea rax, G_M22867_IG18 ;; size=7 bbWeight=0 PerfScore 0.00 -G_M22867_IG29: +G_M22867_IG25: add rsp, 8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=0 PerfScore 0.00 -; Total bytes of code 757, prolog size 35, PerfScore 180.50, instruction count 215, allocated bytes for code 757 (MethodHash=f9b6a6ac) for method System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String (FullOpts) +; Total bytes of code 629, prolog size 35, PerfScore 149.50, instruction count 179, allocated bytes for code 629 (MethodHash=f9b6a6ac) for method System.Net.Http.Headers.UriHeaderParser:DecodeUtf8FromString(System.String):System.String (FullOpts) ```

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

MihuBot commented 3 months ago

@MihaZupan