MihuBot / runtime-utils

0 stars 0 forks source link

[JitDiff ARM64] [EgorBo] JIT: Unroll more Equals/StartsWith/EndsWith on arm64 #738

Open MihuBot opened 7 hours ago

MihuBot commented 7 hours ago

Job completed in 16 minutes 42 seconds. https://github.com/dotnet/runtime/pull/109036

Diffs

Diffs ``` Found 384 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 48145688 Total bytes of diff: 48166780 Total bytes of delta: 21092 (0.04 % of base) Total relative delta: 63.17 diff is a regression. relative diff is a regression. Total byte diff includes -476 bytes from reconciling methods Base had 1 unique methods, 476 unique bytes Diff had 0 unique methods, 0 unique bytes Top file regressions (bytes): 4796 : System.Data.Common.dasm (0.24 % of base) 4660 : System.Private.DataContractSerialization.dasm (0.37 % of base) 4248 : System.Linq.Parallel.dasm (0.17 % of base) 2500 : System.ComponentModel.Annotations.dasm (3.67 % of base) 2464 : System.Private.Xml.dasm (0.05 % of base) 1172 : System.Text.Json.dasm (0.07 % of base) 1020 : System.Data.Odbc.dasm (0.35 % of base) 760 : System.ServiceModel.Syndication.dasm (0.39 % of base) 748 : System.Security.Cryptography.Xml.dasm (0.31 % of base) 472 : System.Configuration.ConfigurationManager.dasm (0.09 % of base) 316 : System.Security.Cryptography.dasm (0.02 % of base) 300 : System.Net.ServerSentEvents.dasm (0.70 % of base) 216 : System.Security.Cryptography.Pkcs.dasm (0.05 % of base) 176 : System.Reflection.Emit.dasm (0.12 % of base) 172 : System.Private.Xml.Linq.dasm (0.08 % of base) 132 : System.Collections.Concurrent.dasm (0.03 % of base) 108 : System.Composition.Hosting.dasm (0.08 % of base) 104 : Microsoft.Extensions.Diagnostics.dasm (0.56 % of base) 104 : System.Net.WebClient.dasm (0.16 % of base) 96 : System.Private.CoreLib.dasm (0.00 % of base) 92 : Microsoft.VisualBasic.Core.dasm (0.01 % of base) 76 : System.ComponentModel.Composition.Registration.dasm (0.06 % of base) 72 : System.CodeDom.dasm (0.03 % of base) 60 : System.Net.HttpListener.dasm (0.05 % of base) 56 : System.Threading.Tasks.Dataflow.dasm (0.00 % of base) 56 : Microsoft.Extensions.Logging.Configuration.dasm (0.59 % of base) 52 : System.Text.Encoding.CodePages.dasm (0.06 % of base) 48 : System.Reflection.MetadataLoadContext.dasm (0.02 % of base) 48 : System.Net.NetworkInformation.dasm (0.07 % of base) 44 : System.IO.Packaging.dasm (0.03 % of base) 40 : System.Threading.RateLimiting.dasm (0.02 % of base) 28 : System.Net.NameResolution.dasm (0.05 % of base) 28 : ILCompiler.Reflection.ReadyToRun.dasm (0.01 % of base) 24 : Microsoft.Extensions.Logging.dasm (0.05 % of base) 24 : Microsoft.Extensions.Hosting.dasm (0.03 % of base) 24 : System.IO.Compression.dasm (0.02 % of base) 24 : System.Security.Permissions.dasm (0.07 % of base) 20 : System.Net.Requests.dasm (0.01 % of base) 20 : System.ComponentModel.TypeConverter.dasm (0.01 % of base) 16 : Microsoft.CSharp.dasm (0.00 % of base) 16 : System.Threading.Channels.dasm (0.01 % of base) 16 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (0.02 % of base) 16 : System.Net.Http.Json.dasm (0.01 % of base) 12 : System.ObjectModel.dasm (0.01 % of base) 12 : System.Text.RegularExpressions.dasm (0.00 % of base) 12 : Microsoft.Extensions.Caching.Abstractions.dasm (0.03 % of base) 12 : System.Text.Encodings.Web.dasm (0.04 % of base) 8 : Microsoft.Win32.SystemEvents.dasm (0.14 % of base) 8 : System.Net.WebProxy.dasm (0.11 % of base) 8 : System.Threading.dasm (0.04 % of base) 8 : System.IO.Compression.ZipFile.dasm (0.04 % of base) 8 : System.Collections.dasm (0.00 % of base) 8 : Microsoft.Extensions.Caching.Memory.dasm (0.04 % of base) 8 : System.Net.WebSockets.dasm (0.00 % of base) 8 : System.Reflection.Context.dasm (0.01 % of base) 4 : System.Diagnostics.TraceSource.dasm (0.01 % of base) 4 : System.Net.WebHeaderCollection.dasm (0.02 % of base) 4 : System.Formats.Tar.dasm (0.00 % of base) 4 : System.Runtime.Numerics.dasm (0.00 % of base) 4 : System.Net.WebSockets.Client.dasm (0.01 % of base) Top file improvements (bytes): -2084 : System.Formats.Asn1.dasm (-1.93 % of base) -776 : System.Reflection.Metadata.dasm (-0.11 % of base) -208 : System.ComponentModel.Primitives.dasm (-0.90 % of base) -196 : System.Diagnostics.DiagnosticSource.dasm (-0.06 % of base) -100 : System.Linq.dasm (-0.01 % of base) -96 : System.Composition.TypedParts.dasm (-0.16 % of base) -88 : System.Composition.Convention.dasm (-0.06 % of base) -84 : System.ComponentModel.Composition.dasm (-0.02 % of base) -72 : System.Transactions.Local.dasm (-0.04 % of base) -68 : System.Net.Security.dasm (-0.02 % of base) -60 : System.Resources.Writer.dasm (-0.54 % of base) -48 : System.DirectoryServices.Protocols.dasm (-0.03 % of base) -48 : System.Resources.Extensions.dasm (-0.08 % of base) -40 : System.Reflection.DispatchProxy.dasm (-0.17 % of base) -40 : System.Runtime.Serialization.Schema.dasm (-0.06 % of base) -40 : System.Net.Http.dasm (-0.00 % of base) -40 : System.Net.Quic.dasm (-0.02 % of base) -36 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.11 % of base) -32 : System.Console.dasm (-0.03 % of base) -32 : System.Runtime.Caching.dasm (-0.04 % of base) -32 : Microsoft.Extensions.Logging.Console.dasm (-0.04 % of base) -28 : System.Collections.Immutable.dasm (-0.00 % of base) -28 : System.IO.FileSystem.DriveInfo.dasm (-0.09 % of base) -28 : System.Linq.Expressions.dasm (-0.00 % of base) -24 : System.Threading.Tasks.Parallel.dasm (-0.01 % of base) -24 : System.Net.Primitives.dasm (-0.02 % of base) -24 : Microsoft.Extensions.Http.dasm (-0.03 % of base) -20 : Microsoft.Extensions.Configuration.dasm (-0.09 % of base) -20 : Microsoft.Extensions.DependencyInjection.dasm (-0.02 % of base) -16 : System.IO.FileSystem.Watcher.dasm (-0.05 % of base) -12 : Microsoft.Extensions.Configuration.Xml.dasm (-0.09 % of base) -8 : System.Net.Sockets.dasm (-0.00 % of base) -8 : System.Runtime.InteropServices.dasm (-0.03 % of base) -8 : Microsoft.Extensions.DependencyModel.dasm (-0.01 % of base) -4 : System.Net.Ping.dasm (-0.01 % of base) -4 : System.Diagnostics.StackTrace.dasm (-0.11 % of base) -4 : Microsoft.Extensions.Logging.EventSource.dasm (-0.01 % of base) -4 : Microsoft.Extensions.Configuration.Json.dasm (-0.05 % of base) -4 : System.Memory.dasm (-0.00 % of base) -4 : Microsoft.Extensions.Configuration.Ini.dasm (-0.08 % of base) -4 : System.Security.Claims.dasm (-0.02 % of base) -4 : Microsoft.Extensions.Options.dasm (-0.01 % of base) -4 : System.Formats.Nrbf.dasm (-0.01 % of base) 103 total files with Code Size differences (43 improved, 60 regressed), 156 unchanged. Top method regressions (bytes): 840 (48.17 % of base) : System.Data.Common.dasm - System.Data.XDRSchema:FindTypeNode(System.Xml.XmlElement):System.Xml.XmlElement (FullOpts) 484 (46.01 % of base) : System.Text.Json.dasm - System.Text.Json.Reflection.ReflectionExtensions:IsImmutableEnumerableType(System.Type):ubyte (FullOpts) 464 (45.49 % of base) : System.Text.Json.dasm - System.Text.Json.Reflection.ReflectionExtensions:GetImmutableEnumerableConstructingTypeName(System.Type):System.String (FullOpts) 460 (9.14 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.CryptoHelpers:CreateFromKnownName(System.String):System.Object (FullOpts) 328 (6.44 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.Xml.XmlReader,ubyte):int:this (FullOpts) 328 (6.93 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXml(System.Xml.XmlReader,ubyte):int:this (FullOpts) 260 (4.87 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXml(System.Xml.XmlReader,int,ubyte):int:this (FullOpts) 248 (19.31 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.CustomValidationAttribute:ValidateMethodParameter():System.String:this (FullOpts) 248 (4.99 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXml(System.Xml.XmlReader,int,ubyte):int:this (FullOpts) 240 (8.89 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts) 184 (4.78 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts) 172 (6.61 % of base) : System.Data.Common.dasm - System.Data.DataSet:ReadXmlSchema(System.Xml.XmlReader,ubyte):this (FullOpts) 160 (6.20 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseWriter:StartAttribute(byref,System.String,System.String,System.Xml.XmlDictionaryString):this (FullOpts) 152 (122.58 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigurationHost:IsUserConfig(System.String):ubyte (FullOpts) 152 (14.79 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ParameterBuilderImpl:SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan`1[ubyte]):this (FullOpts) 132 (23.57 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.RangeAttribute:GetValidationErrorMessage():System.String:this (FullOpts) 132 (11.00 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XAttribute:ValidateAttribute(System.Xml.Linq.XName,System.String) (FullOpts) 128 (4.46 % of base) : System.Data.Common.dasm - System.Data.XDRSchema:HandleColumn(System.Xml.XmlElement,System.Data.DataTable):this (FullOpts) 124 (4.51 % of base) : System.Data.Common.dasm - System.Data.XSDSchema:HandleSimpleTypeSimpleContentColumn(System.Xml.Schema.XmlSchemaSimpleType,System.String,System.Data.DataTable,ubyte,System.Xml.XmlAttribute[],ubyte):this (FullOpts) 120 (30.00 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.CustomValidationAttribute:ValidateValidatorTypeParameter():System.String:this (FullOpts) 116 (14.87 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeFeature:IsSupported(System.String):ubyte (FullOpts) 112 (6.62 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseWriter+NamespaceManager:AddNamespace(System.String,System.String,System.Xml.XmlDictionaryString):this (FullOpts) 108 (14.29 % of base) : System.Data.Common.dasm - System.Data.XDRSchema:HandleTypeNode(System.Xml.XmlElement,System.Data.DataTable,System.Collections.ArrayList):this (FullOpts) 108 (5.05 % of base) : System.Data.Common.dasm - System.Data.XSDSchema:HandleSimpleContentColumn(System.String,System.Data.DataTable,ubyte,System.Xml.XmlAttribute[],ubyte):this (FullOpts) 108 (27.55 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:AttributeTypeNamesMatch(System.Type,System.Type):ubyte (FullOpts) 104 (13.40 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.Configuration.MetricsConfigureOptions:LoadConfig(Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions):this (FullOpts) 104 (17.81 % of base) : System.Data.Common.dasm - System.Data.XMLDiffLoader:LoadDiffGram(System.Data.DataSet,System.Xml.XmlReader):this (FullOpts) 100 (18.12 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.TypeMap:FromSqlType(short):System.Data.Odbc.TypeMap (FullOpts) 100 (9.80 % of base) : System.Net.WebClient.dasm - System.Net.WebClient:GetValuesToUpload(System.Collections.Specialized.NameValueCollection):ubyte[]:this (FullOpts) 96 (20.87 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.TypeMap:FromOdbcType(int):System.Data.Odbc.TypeMap (FullOpts) 96 (12.90 % of base) : System.Data.Common.dasm - System.Data.XMLDiffLoader:LoadDiffGram(System.Data.DataTable,System.Xml.XmlReader):this (FullOpts) 96 (4.90 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadReferencedCategories(System.Xml.XmlReader,System.ServiceModel.Syndication.ReferencedCategoriesDocument,System.Uri,System.Uri,System.String,int) (FullOpts) 92 (12.23 % of base) : System.Data.Common.dasm - System.Data.XDRSchema:IsXDRField(System.Xml.XmlElement,System.Xml.XmlElement):ubyte (FullOpts) 92 (8.81 % of base) : System.Data.Common.dasm - System.Data.XmlDataLoader:LoadRows(System.Data.DataRow,System.Xml.XmlNode):this (FullOpts) 92 (5.76 % of base) : System.Private.Xml.dasm - System.Xml.XmlWellFormedWriter:PushNamespaceExplicit(System.String,System.String):ubyte:this (FullOpts) 92 (4.77 % of base) : System.Private.Xml.dasm - System.Xml.XmlWellFormedWriter:WriteStartAttribute(System.String,System.String,System.String):this (FullOpts) 88 (3.42 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadInlineCategories(System.Xml.XmlReader,System.ServiceModel.Syndication.InlineCategoriesDocument,System.Uri,System.String,int) (FullOpts) 88 (13.84 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TempAssembly:ValidateEncodingStyle(System.String,System.String):System.String:this (FullOpts) 88 (1.10 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WritePrimitive(System.Xml.Serialization.TypeMapping,System.String):this (FullOpts) 88 (5.03 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseReader:AddXmlnsAttribute(System.Xml.XmlBaseReader+Namespace):System.Xml.XmlBaseReader+XmlAttributeNode:this (FullOpts) 84 (2.91 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.XmlJsonWriter:WriteStartAttribute(System.String,System.String,System.String):this (FullOpts) 80 (4.00 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509CertificateLoader:ProcessSafeContents(System.ReadOnlyMemory`1[ubyte],System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits,byref,byref) (FullOpts) 80 (2.84 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.Atom10FeedFormatter:ReadFeedFrom(System.Xml.XmlReader,System.ServiceModel.Syndication.SyndicationFeed,ubyte):System.ServiceModel.Syndication.SyndicationFeed:this (FullOpts) 80 (3.59 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.Atom10FeedFormatter:ReadItemFrom(System.Xml.XmlReader,System.ServiceModel.Syndication.SyndicationItem,System.Uri):this (FullOpts) 76 (19.59 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper:ProxySupportsConnectionAuth(System.Net.Http.HttpResponseMessage):ubyte (FullOpts) 76 (2.90 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadDocument(System.Xml.XmlReader):this (FullOpts) 76 (3.45 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadWorkspace(System.Xml.XmlReader,System.ServiceModel.Syndication.ServiceDocument):System.ServiceModel.Syndication.Workspace:this (FullOpts) 76 (19.39 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:QNameToString(System.Xml.XmlQualifiedName):System.String (FullOpts) 76 (8.23 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.AttributeAction:CreateAttributeQName(System.String,System.String,System.Xml.Xsl.XsltOld.InputScopeManager):System.Xml.Xsl.XsltOld.PrefixQName (FullOpts) 72 (4.25 % of base) : System.CodeDom.dasm - Microsoft.CSharp.CSharpCodeGenerator:GenerateAttributes(System.CodeDom.CodeAttributeDeclarationCollection,System.String,ubyte):this (FullOpts) 72 (10.34 % of base) : System.Data.Common.dasm - System.Data.DataTable:IsEmptyXml(System.Xml.XmlReader):ubyte:this (FullOpts) 72 (2.60 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaCollectionPreprocessor:LoadExternals(System.Xml.Schema.XmlSchema,System.Xml.Schema.XmlSchemaCollection):this (FullOpts) 72 (4.43 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemaImporter:FindDataType(System.Xml.XmlQualifiedName,int):System.Xml.Schema.XmlSchemaSimpleType:this (FullOpts) 72 (4.04 % of base) : System.Private.Xml.dasm - System.Xml.XmlWellFormedWriter:WriteStartAttributeAsync_NoAdvanceState(System.String,System.String,System.String):System.Threading.Tasks.Task:this (FullOpts) 68 (19.10 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.TypeMap:FromDbType(int):System.Data.Odbc.TypeMap (FullOpts) 68 (7.17 % of base) : System.Data.Common.dasm - System.Data.XmlTreeGen:FindTypeNode(System.Xml.XmlElement,System.String):System.Xml.XmlElement (FullOpts) 68 (8.76 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[double,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (8.76 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[int,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (8.76 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[long,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (8.76 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[short,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (7.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[System.__Canon,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (8.76 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[System.Nullable`1[int],System.Nullable`1[int]]:b__0():this (FullOpts) 68 (8.76 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:b__0():this (FullOpts) 68 (8.76 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass0_0`2[ubyte,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (9.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[double,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (9.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[int,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (9.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[long,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (9.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[short,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (8.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[System.__Canon,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (9.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[System.Nullable`1[int],System.Nullable`1[int]]:b__0():this (FullOpts) 68 (9.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:b__0():this (FullOpts) 68 (9.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass2_0`2[ubyte,System.Nullable`1[int]]:b__0():this (FullOpts) 68 (2.48 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:VerifyX509Signature(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn):ubyte (FullOpts) 68 (3.01 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaInference:ProcessAttributes(byref,System.Xml.Schema.XmlSchemaType,ubyte,System.Xml.Schema.XmlSchema):this (FullOpts) 64 (8.42 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.CustomValidationAttribute:IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext):System.ComponentModel.DataAnnotations.ValidationResult:this (FullOpts) 64 (10.19 % of base) : System.Data.Common.dasm - System.Data.XDRSchema:GetInstanceName(System.Xml.XmlElement):System.String (FullOpts) 64 (7.17 % of base) : System.Private.CoreLib.dasm - System.Reflection.ModifiedFunctionPointerType:GetFunctionPointerCallingConventions():System.Type[]:this (FullOpts) 64 (8.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerReadContext:ReadExtensionDataValue(System.Runtime.Serialization.XmlReaderDelegator,System.String,System.String):System.Runtime.Serialization.IDataNode:this (FullOpts) 64 (3.88 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerReadContext:ReadUnknownXmlData(System.Runtime.Serialization.XmlReaderDelegator,System.String,System.String):System.Runtime.Serialization.XmlDataNode:this (FullOpts) 64 (1.42 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Pkcs12SafeContents:ReadBags(System.ReadOnlyMemory`1[ubyte]):System.Collections.Generic.List`1[System.Security.Cryptography.Pkcs.Pkcs12SafeBag] (FullOpts) 64 (2.14 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadCollection(System.Xml.XmlReader,System.ServiceModel.Syndication.Workspace):System.ServiceModel.Syndication.ResourceCollectionInfo:this (FullOpts) 64 (3.32 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextWriter:WriteStartAttribute(System.String,System.String,System.String):this (FullOpts) 60 (3.65 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.PkcsHelpers:GetDigestAlgorithm(System.String,ubyte):System.Security.Cryptography.HashAlgorithmName (FullOpts) 60 (9.32 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[double,System.Nullable`1[int]]:b__0():this (FullOpts) 60 (9.32 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[int,System.Nullable`1[int]]:b__0():this (FullOpts) 60 (9.32 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[long,System.Nullable`1[int]]:b__0():this (FullOpts) 60 (9.32 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[short,System.Nullable`1[int]]:b__0():this (FullOpts) 60 (8.52 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[System.__Canon,System.Nullable`1[int]]:b__0():this (FullOpts) 60 (9.32 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[System.Nullable`1[int],System.Nullable`1[int]]:b__0():this (FullOpts) 60 (9.32 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:b__0():this (FullOpts) 60 (9.32 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SpoolingTask+<>c__DisplayClass1_0`2[ubyte,System.Nullable`1[int]]:b__0():this (FullOpts) 60 (5.03 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.RoModifiedFunctionPointerType:CreateCallingConventions(System.Type[],System.Reflection.TypeLoading.RoFunctionPointerType):System.Type[]:this (FullOpts) 56 (18.67 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:RemoveFirstArgIfRelatedActivityId(byref):ubyte (FullOpts) 56 (3.47 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ZipPackage+ContentTypeHelper:OpenContentTypeStream(System.Collections.ObjectModel.ReadOnlyCollection`1[System.IO.Compression.ZipArchiveEntry]):System.IO.Stream:this (FullOpts) 56 (6.06 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaHelper:AddSchemaImport(System.String,System.Xml.Schema.XmlSchema) (FullOpts) 56 (9.93 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.EncodingNLS:get_EncodingName():System.String:this (FullOpts) 52 (108.33 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:IsImplicitSection(System.String):ubyte (FullOpts) 52 (14.13 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionInformation:ForceDeclaration(ubyte):this (FullOpts) 52 (9.63 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.TypeMap:FromSystemType(System.Type):System.Data.Odbc.TypeMap (FullOpts) 52 (12.50 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlSerializableServices:IsValidAttribute(System.Xml.XmlReader):ubyte (FullOpts) Top method improvements (bytes): -2088 (-19.63 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (FullOpts) -476 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte (FullOpts) (1 base, 0 diff methods) -272 (-5.91 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.CategoryAttribute:GetLocalizedString(System.String):System.String:this (FullOpts) -156 (-7.08 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Activity:AddException(System.Exception,byref,System.DateTimeOffset):System.Diagnostics.Activity:this (FullOpts) -96 (-0.98 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.RuntimeEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts) -76 (-9.90 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathNavigator:ComparePosition(System.Xml.XPath.XPathNavigator):int:this (FullOpts) -72 (-8.57 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignerInfo:RemoveCounterSignature(int):this (FullOpts) -64 (-3.92 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.AggregationManager:.ctor(int,int,System.Action`3[System.Diagnostics.Metrics.Instrument,System.Diagnostics.Metrics.LabeledAggregationStatistics,System.Diagnostics.Metrics.InstrumentState],System.Action`2[System.DateTime,System.DateTime],System.Action`2[System.DateTime,System.DateTime],System.Action`2[System.Diagnostics.Metrics.Instrument,System.Diagnostics.Metrics.InstrumentState],System.Action`2[System.Diagnostics.Metrics.Instrument,System.Diagnostics.Metrics.InstrumentState],System.Action`2[System.Diagnostics.Metrics.Instrument,System.Diagnostics.Metrics.InstrumentState],System.Action,System.Action`1[System.Exception],System.Action,System.Action,System.Action`1[System.Exception]):this (FullOpts) -64 (-2.89 % of base) : System.Net.Security.dasm - System.Net.Security.EndpointChannelBindingToken:GetHashForChannelBinding(System.Security.Cryptography.X509Certificates.X509Certificate2):ubyte[] (FullOpts) -52 (-1.62 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.DirectoryControl:TransformControls(System.DirectoryServices.Protocols.DirectoryControl[]) (FullOpts) -44 (-0.38 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:DeserializeElement(System.Xml.XmlReader,ubyte):this (FullOpts) -44 (-4.14 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathScanner:CheckAxis():int:this (FullOpts) -44 (-1.96 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:PlaceMarker(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode,ubyte):System.Xml.Xsl.Qil.QilNode:this (FullOpts) -36 (-15.79 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigurationSystem:IsSectionUsedInInit(System.String):ubyte:this (FullOpts) -36 (-0.87 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts) -36 (-0.86 % of base) : System.Resources.Writer.dasm - System.Resources.ResourceWriter:Generate():this (FullOpts) -36 (-1.63 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:get_GetObjectDataMethod():System.CodeDom.CodeMemberMethod:this (FullOpts) -36 (-7.03 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:get_PrivateKey():System.Security.Cryptography.AsymmetricAlgorithm:this (FullOpts) -36 (-3.83 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterlessConstructor(System.Type,System.Reflection.ConstructorInfo):System.Func`1[System.Object]:this (FullOpts) -32 (-1.64 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine:TrySatisfyImportsStateMachine(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager,System.ComponentModel.Composition.Primitives.ComposablePart):System.ComponentModel.Composition.CompositionResult:this (FullOpts) -32 (-3.31 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.TypedPartExportDescriptorProvider:DiscoverConstrainedParts(System.Composition.Hosting.Core.CompositionContract):this (FullOpts) -32 (-0.90 % of base) : System.Reflection.Metadata.dasm - System.Reflection.AssemblyNameFormatter:ComputeDisplayName(System.String,System.Version,System.String,ubyte[],int,int,ubyte[]):System.String (FullOpts) -32 (-0.88 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.OpCodes:.cctor() (FullOpts) -32 (-1.79 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:CreateProperty(System.CodeDom.CodeTypeReference,System.String,System.String,ubyte,ubyte):System.CodeDom.CodeMemberProperty:this (FullOpts) -32 (-0.68 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.Rss20FeedFormatter:WriteItemContents(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.Uri):this (FullOpts) -32 (-1.86 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.EncodingStreamWrapper:CheckUTF8DeclarationEncoding(ubyte[],int,int,int,int) (FullOpts) -32 (-2.85 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeGenerator:InitILGeneration(System.Type[],System.String[],ubyte):this (FullOpts) -28 (-12.96 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.PkcsHelpers:DetectInitOnlyOid():ubyte (FullOpts) -28 (-0.13 % of base) : System.IO.FileSystem.DriveInfo.dasm - Interop+Sys:GetDriveType(System.String):int (FullOpts) -28 (-1.84 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter:WriteLibraries(Microsoft.Extensions.DependencyModel.DependencyContext,System.Text.Json.Utf8JsonWriter) (FullOpts) -28 (-3.76 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionerForIEnumerable`1[short]:GetOrderablePartitions(int):System.Collections.Generic.IList`1[System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[long,short]]]:this (FullOpts) -28 (-1.45 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:GetDependencies(System.Reflection.TypeInfo,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this (FullOpts) -28 (-2.13 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[double](System.Func`3[System.Object,System.Net.NameResolutionActivity,double],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[double] (FullOpts) -28 (-2.13 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[short](System.Func`3[System.Object,System.Net.NameResolutionActivity,short],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[short] (FullOpts) -28 (-2.13 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,System.Net.NameResolutionActivity,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] (FullOpts) -28 (-1.55 % of base) : System.Private.CoreLib.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (FullOpts) -28 (-1.05 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:GetBuiltInDataContract(System.String):System.Runtime.Serialization.DataContracts.DataContract (FullOpts) -28 (-1.36 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:PlaceMarkerAny(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts) -24 (-2.62 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProvider:SetFormatters(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.Console.ConsoleFormatter]):this (FullOpts) -24 (-1.20 % of base) : System.Composition.TypedParts.dasm - System.Composition.CompositionContextExtensions:SatisfyImportsInternal(System.Composition.CompositionContext,System.Object,System.Composition.Convention.AttributedModelProvider) (FullOpts) -24 (-2.97 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcMetaDataFactory:GetReservedWordsCollection(System.String[],System.Data.Odbc.OdbcConnection):System.Data.DataTable:this (FullOpts) -24 (-1.81 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbMetaDataFactory:GetSchema(System.Data.Common.DbConnection,System.String,System.String[]):System.Data.DataTable:this (FullOpts) -24 (-2.76 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnionQueryOperator`1[long]:WrapPartitionedStream[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts) -24 (-0.80 % of base) : System.Net.Primitives.dasm - System.Net.CookieContainer:AgeCookies(System.String):ubyte:this (FullOpts) -24 (-7.41 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.MarshallingData:DecodeMarshalAsComInterface(System.String[],System.Object[],int,System.Reflection.Emit.MarshallingData) (FullOpts) -24 (-2.01 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:FindTypeCode(System.Object,System.Collections.Generic.List`1[System.String]):int (FullOpts) -24 (-2.01 % of base) : System.Resources.Writer.dasm - System.Resources.ResourceWriter:FindTypeCode(System.Object,System.Collections.Generic.List`1[System.String]):int (FullOpts) -24 (-2.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[double](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[double],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[double]) (FullOpts) -24 (-2.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[int](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[int],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[int]) (FullOpts) -24 (-2.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[long](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[long],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[long]) (FullOpts) -24 (-2.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[short](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[short],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[short]) (FullOpts) -24 (-2.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.__Canon](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.__Canon],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.__Canon]) (FullOpts) -24 (-2.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Nullable`1[int]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Nullable`1[int]]) (FullOpts) -24 (-2.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Numerics.Vector`1[float]]) (FullOpts) -24 (-2.09 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[ubyte](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[ubyte]) (FullOpts) -24 (-1.73 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromEncryptedPem(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) -24 (-3.68 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateAddMethodDelegate(System.Type):System.Reflection.Emit.DynamicMethod (FullOpts) -24 (-7.32 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.GenerateHelper:TestAndBranch(int,System.Reflection.Emit.Label,System.Reflection.Emit.OpCode):this (FullOpts) -20 (-2.70 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.Pal.AnyOS.ManagedPkcsPal+ManagedKeyTransPal:DecryptCekCore(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.RSA,System.ReadOnlySpan`1[ubyte],System.String,System.Nullable`1[System.ReadOnlyMemory`1[ubyte]],byref):ubyte[] (FullOpts) -20 (-1.03 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:AddAggregateToSymbolTable(Microsoft.CSharp.RuntimeBinder.Semantics.NamespaceOrAggregateSymbol,System.Type):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol (FullOpts) -20 (-6.02 % of base) : System.Collections.dasm - System.Collections.Generic.SortedDictionary`2[double,System.Nullable`1[int]]:ContainsValue(System.Nullable`1[int]):ubyte:this (FullOpts) -20 (-6.02 % of base) : System.Collections.dasm - System.Collections.Generic.SortedDictionary`2[long,System.Nullable`1[int]]:ContainsValue(System.Nullable`1[int]):ubyte:this (FullOpts) -20 (-3.85 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.AttributedModelServices:ComposeParts(System.ComponentModel.Composition.Hosting.CompositionContainer,System.Object[]) (FullOpts) -20 (-0.81 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:HandleLockedAttributes(System.Configuration.ConfigurationElement):this (FullOpts) -20 (-3.97 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.IdnElement+UriIdnScopeTypeConverter:ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object):System.Object:this (FullOpts) -20 (-3.07 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionInformation:ProtectSection(System.String):this (FullOpts) -20 (-3.05 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.MeterListener:Dispose():this (FullOpts) -20 (-3.91 % of base) : System.IO.FileSystem.Watcher.dasm - System.IO.FileSystemWatcher+RunningInstance:CancellationCallback():this (FullOpts) -20 (-2.16 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.NullableMethodCallInstruction:Create(System.String,int,System.Reflection.MethodInfo):System.Linq.Expressions.Interpreter.Instruction (FullOpts) -20 (-0.86 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.GenericHeaderParser:.cctor() (FullOpts) -20 (-0.90 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:.ctor(System.Net.Http.HttpConnectionPoolManager,ubyte,System.String,int,System.String,System.Uri):this (FullOpts) -20 (-1.47 % of base) : System.Net.Quic.dasm - System.Net.Quic.QuicStream:.ctor(System.Net.Quic.MsQuicContextSafeHandle,int,long):this (FullOpts) -20 (-1.48 % of base) : System.Net.Quic.dasm - System.Net.Quic.QuicStream:.ctor(System.Net.Quic.MsQuicContextSafeHandle,ulong,int,long):this (FullOpts) -20 (-1.27 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.Emit.IgnoreAccessChecksToAttributeBuilder:AddToModule(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo (FullOpts) -20 (-1.09 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Asn1.Pkcs12.PfxAsn:VerifyMac(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte]):ubyte:this (FullOpts) -20 (-1.07 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Asn1.Pkcs12.PfxAsn:VerifyMac(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte]):ubyte:this (FullOpts) -20 (-1.56 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509CertificateReader+<>c:b__63_0(Microsoft.Win32.SafeHandles.SafeX509Handle):System.Security.Cryptography.X509Certificates.PolicyData:this (FullOpts) -20 (-3.65 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509CertificateLoader+CertKeyMatcher:FindMatchingKey(System.ReadOnlySpan`1[System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn],System.ReadOnlySpan`1[ubyte]):int (FullOpts) -20 (-1.65 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.EncryptedXml:Encrypt(System.Xml.XmlElement,System.Security.Cryptography.X509Certificates.X509Certificate2):System.Security.Cryptography.Xml.EncryptedData:this (FullOpts) -20 (-0.96 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.Atom10FeedFormatter:ReadCategory(System.Xml.XmlReader,System.ServiceModel.Syndication.SyndicationCategory,System.String,ubyte,ubyte,int) (FullOpts) -20 (-2.76 % of base) : System.Text.RegularExpressions.dasm - System.Threading.StackHelper:CallOnEmptyStack[double,System.Nullable`1[int]](System.Action`2[double,System.Nullable`1[int]],double,System.Nullable`1[int]) (FullOpts) -20 (-2.79 % of base) : System.Text.RegularExpressions.dasm - System.Threading.StackHelper:CallOnEmptyStack[long,System.Nullable`1[int]](System.Action`2[long,System.Nullable`1[int]],long,System.Nullable`1[int]) (FullOpts) -20 (-2.42 % of base) : System.Text.RegularExpressions.dasm - System.Threading.StackHelper:CallOnEmptyStack[System.__Canon,System.Nullable`1[int]](System.Action`2[System.__Canon,System.Nullable`1[int]],System.__Canon,System.Nullable`1[int]) (FullOpts) -20 (-2.79 % of base) : System.Text.RegularExpressions.dasm - System.Threading.StackHelper:CallOnEmptyStack[System.Nullable`1[int],System.Nullable`1[int]](System.Action`2[System.Nullable`1[int],System.Nullable`1[int]],System.Nullable`1[int],System.Nullable`1[int]) (FullOpts) -20 (-2.76 % of base) : System.Text.RegularExpressions.dasm - System.Threading.StackHelper:CallOnEmptyStack[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Action`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Numerics.Vector`1[float],System.Nullable`1[int]) (FullOpts) -20 (-0.98 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[short,System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-1.05 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[ubyte,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-0.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:.ctor(System.Func`2[long,System.Nullable`1[int]],System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts) -20 (-0.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[short,System.Nullable`1[int]]:.ctor(System.Func`2[short,System.Nullable`1[int]],System.Func`2[short,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts) -20 (-0.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Func`2[System.Numerics.Vector`1[float],System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts) -20 (-3.70 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel:ForAsync[long](long,long,int,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,System.Func`3[long,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask]):System.Threading.Tasks.Task (FullOpts) -20 (-0.62 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateLiteralMembersElementInternal(System.Xml.Serialization.MemberMapping[],ubyte,System.Object[]):ubyte:this (FullOpts) -20 (-1.37 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SchemaObjectCache:AddItem(System.Xml.Schema.XmlSchemaObject,System.Xml.XmlQualifiedName):System.Xml.Schema.XmlSchemaObject:this (FullOpts) -20 (-2.82 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:ListUsedPrefixes(System.Xml.Serialization.XmlSerializerNamespaces,System.String):System.Collections.Generic.HashSet`1[int] (FullOpts) -20 (-0.90 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:ClrCompare(int,int):this (FullOpts) -20 (-0.73 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.XsltCompileContext:FunctionAvailable(System.String):ubyte:this (FullOpts) -16 (-2.30 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext:.ctor(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.FileSystemGlobbing.Internal.IPattern],System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.FileSystemGlobbing.Internal.IPattern],Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase,int):this (FullOpts) -16 (-0.60 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.Patterns.PatternBuilder:Build(System.String):Microsoft.Extensions.FileSystemGlobbing.Internal.IPattern:this (FullOpts) -16 (-2.16 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProvider:.ctor(Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.Console.ConsoleLoggerOptions],System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.Console.ConsoleFormatter]):this (FullOpts) -16 (-0.97 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.LogicalExpr:.cctor() (FullOpts) Top method regressions (percentages): 152 (122.58 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigurationHost:IsUserConfig(System.String):ubyte (FullOpts) 52 (108.33 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:IsImplicitSection(System.String):ubyte (FullOpts) 840 (48.17 % of base) : System.Data.Common.dasm - System.Data.XDRSchema:FindTypeNode(System.Xml.XmlElement):System.Xml.XmlElement (FullOpts) 484 (46.01 % of base) : System.Text.Json.dasm - System.Text.Json.Reflection.ReflectionExtensions:IsImmutableEnumerableType(System.Type):ubyte (FullOpts) 464 (45.49 % of base) : System.Text.Json.dasm - System.Text.Json.Reflection.ReflectionExtensions:GetImmutableEnumerableConstructingTypeName(System.Type):System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.CustomValidationAttribute+<>c:<.ctor>b__6_0():System.String:this (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_CustomValidationAttribute_Method_Not_Found():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_CustomValidationAttribute_Method_Required():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_CustomValidationAttribute_Method_Signature():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_CustomValidationAttribute_Type_Conversion_Failed():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_CustomValidationAttribute_Type_Must_Be_Public():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_CustomValidationAttribute_ValidationError():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_CustomValidationAttribute_ValidatorType_Required():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_EnumDataTypeAttribute_TypeNeedsToBeAnEnum():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_RangeAttribute_ArbitraryTypeNotIComparable():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_RangeAttribute_ValidationError_MaxExclusive():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_RangeAttribute_ValidationError_MinExclusive():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_UIHintImplementation_ControlParameterKeyIsNull():System.String (FullOpts) 48 (32.43 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_ValidationAttribute_IsValid_NotImplemented():System.String (FullOpts) 120 (30.00 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.CustomValidationAttribute:ValidateValidatorTypeParameter():System.String:this (FullOpts) 108 (27.55 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:AttributeTypeNamesMatch(System.Type,System.Type):ubyte (FullOpts) 40 (24.39 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.FeedUtils:IsXmlSchemaType(System.String,System.String):ubyte (FullOpts) 132 (23.57 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.RangeAttribute:GetValidationErrorMessage():System.String:this (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.MaxLengthAttribute:get_DefaultErrorMessageString():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.MaxLengthAttribute+<>c:<.ctor>b__1_0():System.String:this (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.MaxLengthAttribute+<>c:<.ctor>b__2_0():System.String:this (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.RequiredAttribute+<>c:<.ctor>b__0_0():System.String:this (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.StringLengthAttribute+<>c:<.ctor>b__0_0():System.String:this (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.ValidationAttribute+<>c:<.ctor>b__6_0():System.String:this (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_DataTypeAttribute_EmptyDataTypeString():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_EnumDataTypeAttribute_TypeCannotBeNull():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_LocalizableString_LocalizationFailed():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_MaxLengthAttribute_InvalidMaxLength():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_MaxLengthAttribute_ValidationError():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_MetadataTypeAttribute_TypeCannotBeNull():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_MinLengthAttribute_InvalidMinLength():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_MinLengthAttribute_ValidationError():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_RangeAttribute_Must_Set_Min_And_Max():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_RangeAttribute_Must_Set_Operand_Type():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_RegularExpressionAttribute_Empty_Pattern():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_RequiredAttribute_ValidationError():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_StringLengthAttribute_InvalidMaxLength():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_StringLengthAttribute_ValidationError():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_ValidationAttribute_ValidationError():System.String (FullOpts) 32 (21.62 % of base) : System.ComponentModel.Annotations.dasm - System.SR:get_Validator_Property_Value_Wrong_Type():System.String (FullOpts) 96 (20.87 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.TypeMap:FromOdbcType(int):System.Data.Odbc.TypeMap (FullOpts) 76 (19.59 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper:ProxySupportsConnectionAuth(System.Net.Http.HttpResponseMessage):ubyte (FullOpts) 76 (19.39 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:QNameToString(System.Xml.XmlQualifiedName):System.String (FullOpts) 248 (19.31 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.CustomValidationAttribute:ValidateMethodParameter():System.String:this (FullOpts) 68 (19.10 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.TypeMap:FromDbType(int):System.Data.Odbc.TypeMap (FullOpts) 36 (18.75 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.MinLengthAttribute:.ctor(int):this (FullOpts) 36 (18.75 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackTrace:CalculateFramesToSkip(System.Diagnostics.StackFrameHelper,int):int (FullOpts) 56 (18.67 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:RemoveFirstArgIfRelatedActivityId(byref):ubyte (FullOpts) 100 (18.12 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.TypeMap:FromSqlType(short):System.Data.Odbc.TypeMap (FullOpts) 104 (17.81 % of base) : System.Data.Common.dasm - System.Data.XMLDiffLoader:LoadDiffGram(System.Data.DataSet,System.Xml.XmlReader):this (FullOpts) 40 (16.95 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextWriter:VerifyPrefixXml(System.String,System.String) (FullOpts) 28 (16.28 % of base) : System.Data.Common.dasm - System.Data.Common.DataStorage:GetType(System.String):System.Type (FullOpts) 40 (16.13 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XsltLibrary:FunctionAvailableHelper(System.Xml.XmlQualifiedName):ubyte:this (FullOpts) 52 (15.12 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlBaseConverter:QNameToString(System.Xml.XmlQualifiedName):System.String (FullOpts) 116 (14.87 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.RuntimeFeature:IsSupported(System.String):ubyte (FullOpts) 152 (14.79 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ParameterBuilderImpl:SetCustomAttributeCore(System.Reflection.ConstructorInfo,System.ReadOnlySpan`1[ubyte]):this (FullOpts) 4 (14.29 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionOptions:CreateConnectionStringQuoteOdbcValueRegex():System.Text.RegularExpressions.Regex (FullOpts) 4 (14.29 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionOptions:CreateConnectionStringQuoteValueRegex():System.Text.RegularExpressions.Regex (FullOpts) 4 (14.29 % of base) : System.Data.Odbc.dasm - System.Data.Common.DbConnectionOptions:CreateConnectionStringValidKeyRegex():System.Text.RegularExpressions.Regex (FullOpts) 4 (14.29 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcConnection:get_ConnectionFactory():System.Data.ProviderBase.DbConnectionFactory (FullOpts) 8 (14.29 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcConnection:GetSchema(System.String,System.String[]):System.Data.DataTable:this (FullOpts) 8 (14.29 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcConnection:GetSchema(System.String):System.Data.DataTable:this (FullOpts) 108 (14.29 % of base) : System.Data.Common.dasm - System.Data.XDRSchema:HandleTypeNode(System.Xml.XmlElement,System.Data.DataTable,System.Collections.ArrayList):this (FullOpts) 4 (14.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[double]():System.Collections.Generic.Comparer`1[double] (FullOpts) 4 (14.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[int]():System.Collections.Generic.Comparer`1[int] (FullOpts) 4 (14.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util:GetDefaultComparer[long]():System.Collections.Generic.Comparer`1[long] (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.PrimitiveDataContract:get_TopLevelElementNamespace():System.Xml.XmlDictionaryString:this (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:get_Base64Encoding():System.Text.Base64Encoding (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:get_BEUTF16NoBom():System.Text.UnicodeEncoding (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:get_BinHexEncoding():System.Text.BinHexEncoding (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:get_UTF16NoBom():System.Text.UnicodeEncoding (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:get_UTF8NoBom():System.Text.UTF8Encoding (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:get_ValidatingBEUTF16():System.Text.UnicodeEncoding (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:get_ValidatingUTF16():System.Text.UnicodeEncoding (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:get_ValidatingUTF8():System.Text.UTF8Encoding (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Globals:FullSRSInternalsVisibleRegex():System.Text.RegularExpressions.Regex (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonReadWriteDelegates:GetJsonDelegates():System.Collections.Generic.Dictionary`2[System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.Json.JsonReadWriteDelegates] (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson:get_CollectionItemName():System.Xml.XmlDictionaryString (FullOpts) 4 (14.29 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionState+<>c:b__91_0():System.Transactions.TransactionStatePromotedNonMSDTCVolatilePhase1:this (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseReader+NamespaceManager:get_EmptyNamespace():System.Xml.XmlBaseReader+Namespace (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBufferReader:get_Empty():System.Xml.XmlBufferReader (FullOpts) 4 (14.29 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlDictionaryReaderQuotas:get_Max():System.Xml.XmlDictionaryReaderQuotas (FullOpts) 52 (14.13 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionInformation:ForceDeclaration(ubyte):this (FullOpts) 88 (13.84 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TempAssembly:ValidateEncodingStyle(System.String,System.String):System.String:this (FullOpts) 104 (13.40 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.Configuration.MetricsConfigureOptions:LoadConfig(Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions):this (FullOpts) 32 (13.11 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaNamespaceManager:LookupPrefix(System.String):System.String:this (FullOpts) 96 (12.90 % of base) : System.Data.Common.dasm - System.Data.XMLDiffLoader:LoadDiffGram(System.Data.DataTable,System.Xml.XmlReader):this (FullOpts) 8 (12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this (FullOpts) 8 (12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[int]:GetEnumerator():System.Collections.Generic.IEnumerator`1[int]:this (FullOpts) 8 (12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[long]:GetEnumerator():System.Collections.Generic.IEnumerator`1[long]:this (FullOpts) 8 (12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[short]:GetEnumerator():System.Collections.Generic.IEnumerator`1[short]:this (FullOpts) 8 (12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Nullable`1[int]]:this (FullOpts) 8 (12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Numerics.Vector`1[float]]:this (FullOpts) 8 (12.50 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.EmptyEnumerable`1[ubyte]:GetEnumerator():System.Collections.Generic.IEnumerator`1[ubyte]:this (FullOpts) 8 (12.50 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:get_FormatterConverter():System.Runtime.Serialization.IFormatterConverter (FullOpts) Top method improvements (percentages): -476 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte (FullOpts) (1 base, 0 diff methods) -2088 (-19.63 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (FullOpts) -36 (-15.79 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigurationSystem:IsSectionUsedInInit(System.String):ubyte:this (FullOpts) -28 (-12.96 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.PkcsHelpers:DetectInitOnlyOid():ubyte (FullOpts) -4 (-12.50 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.ActivationFeatures.ActivationFeature:GetDependencies(System.Reflection.TypeInfo,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this (FullOpts) -4 (-12.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.AssemblyReference:GetVirtualVersion():System.Version (FullOpts) -4 (-12.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.HandleComparer:get_Default():System.Reflection.Metadata.HandleComparer (FullOpts) -4 (-12.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataStringDecoder:get_DefaultUTF8():System.Reflection.Metadata.MetadataStringDecoder (FullOpts) -76 (-9.90 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathNavigator:ComparePosition(System.Xml.XPath.XPathNavigator):int:this (FullOpts) -72 (-8.57 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignerInfo:RemoveCounterSignature(int):this (FullOpts) -4 (-8.33 % of base) : System.Composition.TypedParts.dasm - System.Composition.CompositionContextExtensions:SatisfyImports(System.Composition.CompositionContext,System.Object) (FullOpts) -4 (-8.33 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.PooledStringBuilder:GetInstance():System.Reflection.Internal.PooledStringBuilder (FullOpts) -4 (-8.33 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PooledBlobBuilder:GetInstance():System.Reflection.Metadata.PooledBlobBuilder (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.CompositionContextExtensions:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.CompositionContextExtensions+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.Hosting.ContainerConfiguration+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.Hosting.SinglePartExportDescriptorProvider+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.ContractHelpers+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart+ParameterInfoComparer:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.Discovery.TypeInspector+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.TypedPartExportDescriptorProvider+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.SetOfValueComparer:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.HexConverter+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobBuilder+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder+SuffixSort:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.HandleComparer:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedTypeNames():System.String[] (FullOpts) -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PooledBlobBuilder:FreeChunk():this (FullOpts) -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PooledBlobBuilder+<>c:.cctor() (FullOpts) -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEReader+<>c:.cctor() (FullOpts) -16 (-7.55 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509CertificateLoader+<>c:b__33_1(System.Security.Cryptography.X509Certificates.Pkcs12LoaderLimits,System.String):ubyte:this (FullOpts) -24 (-7.41 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.MarshallingData:DecodeMarshalAsComInterface(System.String[],System.Object[],int,System.Reflection.Emit.MarshallingData) (FullOpts) -24 (-7.32 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.GenerateHelper:TestAndBranch(int,System.Reflection.Emit.Label,System.Reflection.Emit.OpCode):this (FullOpts) -4 (-7.14 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.PooledStringBuilder:.cctor() (FullOpts) -156 (-7.08 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Activity:AddException(System.Exception,byref,System.DateTimeOffset):System.Diagnostics.Activity:this (FullOpts) -36 (-7.03 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:get_PrivateKey():System.Security.Cryptography.AsymmetricAlgorithm:this (FullOpts) -12 (-6.82 % of base) : System.Runtime.Caching.dasm - System.Runtime.Caching.CacheItemPolicy:get_ChangeMonitors():System.Collections.ObjectModel.Collection`1[System.Runtime.Caching.ChangeMonitor]:this (FullOpts) -12 (-6.82 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.SyndicationFeed:get_Links():System.Collections.ObjectModel.Collection`1[System.ServiceModel.Syndication.SyndicationLink]:this (FullOpts) -12 (-6.82 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.SyndicationItem:get_Links():System.Collections.ObjectModel.Collection`1[System.ServiceModel.Syndication.SyndicationLink]:this (FullOpts) -4 (-6.67 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.AssemblyReference:.cctor() (FullOpts) -4 (-6.67 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.StringHeap:GetVirtualString(int):System.String (FullOpts) -4 (-6.67 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParser:.cctor() (FullOpts) -8 (-6.67 % of base) : System.Composition.TypedParts.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts) -8 (-6.67 % of base) : System.Reflection.Metadata.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts) -20 (-6.02 % of base) : System.Collections.dasm - System.Collections.Generic.SortedDictionary`2[double,System.Nullable`1[int]]:ContainsValue(System.Nullable`1[int]):ubyte:this (FullOpts) -20 (-6.02 % of base) : System.Collections.dasm - System.Collections.Generic.SortedDictionary`2[long,System.Nullable`1[int]]:ContainsValue(System.Nullable`1[int]):ubyte:this (FullOpts) -272 (-5.91 % of base) : System.ComponentModel.Primitives.dasm - System.ComponentModel.CategoryAttribute:GetLocalizedString(System.String):System.String:this (FullOpts) -4 (-5.88 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataStringDecoder:.cctor() (FullOpts) -4 (-5.56 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedSignatureTreatment(int):ubyte (FullOpts) -4 (-5.56 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParserHelpers:.cctor() (FullOpts) -4 (-5.56 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XmlEmptyNavigator:get_Singleton():System.Xml.XPath.XmlEmptyNavigator (FullOpts) -12 (-5.45 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.CompositionResult:MergeError(System.ComponentModel.Composition.CompositionError):System.ComponentModel.Composition.CompositionResult:this (FullOpts) -4 (-5.26 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.ActivationFeatures.ActivationFeature:.cctor() (FullOpts) -4 (-5.26 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedAssemblyRef(int):System.Reflection.Metadata.AssemblyReferenceHandle (FullOpts) -4 (-5.26 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedName(int):System.Reflection.Metadata.StringHandle (FullOpts) -4 (-5.26 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedNamespace(int):System.Reflection.Metadata.StringHandle (FullOpts) -4 (-5.26 % of base) : System.Reflection.Metadata.dasm - System.Text.ValueStringBuilder:Dispose():this (FullOpts) -16 (-5.19 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcEnvironment:GetGlobalEnvironmentHandle():System.Data.Odbc.OdbcEnvironmentHandle (FullOpts) -8 (-5.13 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PathUtilities:get_PlatformSpecificDirectorySeparator():System.String (FullOpts) -16 (-4.76 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.XPathParser:get_IsNodeType():ubyte:this (FullOpts) -4 (-4.76 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts) -12 (-4.76 % of base) : System.Net.Http.Json.dasm - System.Net.Http.Json.HttpClientJsonExtensions:DeleteFromJsonAsync[long](System.Net.Http.HttpClient,System.Uri,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[long] (FullOpts) -12 (-4.76 % of base) : System.Net.Http.Json.dasm - System.Net.Http.Json.HttpClientJsonExtensions:DeleteFromJsonAsync[ubyte](System.Net.Http.HttpClient,System.Uri,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts) -12 (-4.76 % of base) : System.Net.Http.Json.dasm - System.Net.Http.Json.HttpClientJsonExtensions:GetFromJsonAsync[long](System.Net.Http.HttpClient,System.Uri,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[long] (FullOpts) -12 (-4.76 % of base) : System.Net.Http.Json.dasm - System.Net.Http.Json.HttpClientJsonExtensions:GetFromJsonAsync[ubyte](System.Net.Http.HttpClient,System.Uri,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts) -12 (-4.76 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_DictionaryEnumeratorCtor():System.Reflection.ConstructorInfo (FullOpts) -16 (-4.76 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[double]:IsNodeType(System.Xml.Xsl.XPath.XPathScanner):ubyte (FullOpts) -16 (-4.76 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[int]:IsNodeType(System.Xml.Xsl.XPath.XPathScanner):ubyte (FullOpts) -16 (-4.76 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[long]:IsNodeType(System.Xml.Xsl.XPath.XPathScanner):ubyte (FullOpts) -16 (-4.76 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[short]:IsNodeType(System.Xml.Xsl.XPath.XPathScanner):ubyte (FullOpts) -16 (-4.76 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[System.__Canon]:IsNodeType(System.Xml.Xsl.XPath.XPathScanner):ubyte (FullOpts) -16 (-4.76 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[System.Nullable`1[int]]:IsNodeType(System.Xml.Xsl.XPath.XPathScanner):ubyte (FullOpts) -16 (-4.76 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[System.Numerics.Vector`1[float]]:IsNodeType(System.Xml.Xsl.XPath.XPathScanner):ubyte (FullOpts) -16 (-4.76 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[ubyte]:IsNodeType(System.Xml.Xsl.XPath.XPathScanner):ubyte (FullOpts) -8 (-4.65 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.ValidationAttributeStore+StoreItem:.ctor(System.ComponentModel.AttributeCollection):this (FullOpts) -8 (-4.65 % of base) : System.Private.CoreLib.dasm - System.Random:.ctor(int):this (FullOpts) -4 (-4.55 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DsesFilterAndTransform+TransformSpec+PropertySpec+PropertyFetch+EnumeratePropertyFetch`1[short]:Fetch(System.Object):System.Object:this (FullOpts) -4 (-4.55 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:.cctor() (FullOpts) -4 (-4.35 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.Discovery.TypeInspector:.cctor() (FullOpts) -12 (-4.35 % of base) : System.Net.Http.Json.dasm - System.Net.Http.Json.HttpClientJsonExtensions:DeleteFromJsonAsync[long](System.Net.Http.HttpClient,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[long] (FullOpts) -12 (-4.35 % of base) : System.Net.Http.Json.dasm - System.Net.Http.Json.HttpClientJsonExtensions:DeleteFromJsonAsync[ubyte](System.Net.Http.HttpClient,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts) -12 (-4.35 % of base) : System.Net.Http.Json.dasm - System.Net.Http.Json.HttpClientJsonExtensions:GetFromJsonAsync[long](System.Net.Http.HttpClient,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[long] (FullOpts) -12 (-4.35 % of base) : System.Net.Http.Json.dasm - System.Net.Http.Json.HttpClientJsonExtensions:GetFromJsonAsync[ubyte](System.Net.Http.HttpClient,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts) -4 (-4.35 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PooledBlobBuilder:Free():this (FullOpts) -8 (-4.17 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[System.Numerics.Vector`1[float]]:b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts) -4 (-4.17 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.AssemblyReference:get_Version():System.Version:this (FullOpts) -44 (-4.14 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathScanner:CheckAxis():int:this (FullOpts) -12 (-4.05 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbConnectionFactory:.ctor():this (FullOpts) -4 (-4.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.MemoryBlock:PeekUtf8(int,int):System.String:this (FullOpts) -20 (-3.97 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.IdnElement+UriIdnScopeTypeConverter:ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object):System.Object:this (FullOpts) -16 (-3.96 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.MetadataViewGenerator:GenerateLocalAssignmentFromDefaultAttribute(System.Reflection.Emit.ILGenerator,System.ComponentModel.DefaultValueAttribute[],System.Reflection.Emit.LocalBuilder) (FullOpts) -64 (-3.92 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.AggregationManager:.ctor(int,int,System.Action`3[System.Diagnostics.Metrics.Instrument,System.Diagnostics.Metrics.LabeledAggregationStatistics,System.Diagnostics.Metrics.InstrumentState],System.Action`2[System.DateTime,System.DateTime],System.Action`2[System.DateTime,System.DateTime],System.Action`2[System.Diagnostics.Metrics.Instrument,System.Diagnostics.Metrics.InstrumentState],System.Action`2[System.Diagnostics.Metrics.Instrument,System.Diagnostics.Metrics.InstrumentState],System.Action`2[System.Diagnostics.Metrics.Instrument,System.Diagnostics.Metrics.InstrumentState],System.Action,System.Action`1[System.Exception],System.Action,System.Action,System.Action`1[System.Exception]):this (FullOpts) -8 (-3.92 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[double]():System.Linq.ParallelQuery`1[double]:this (FullOpts) -8 (-3.92 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[int]():System.Linq.ParallelQuery`1[int]:this (FullOpts) -8 (-3.92 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[long]():System.Linq.ParallelQuery`1[long]:this (FullOpts) -8 (-3.92 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[short]():System.Linq.ParallelQuery`1[short]:this (FullOpts) -8 (-3.92 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:Cast[System.Nullable`1[int]]():System.Linq.ParallelQuery`1[System.Nullable`1[int]]:this (FullOpts) 3501 total methods with Code Size differences (950 improved, 2551 regressed), 228561 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 7 hours ago

Top method regressions

840 (48.17 % of base) - System.Data.XDRSchema:FindTypeNode(System.Xml.XmlElement):System.Xml.XmlElement ```diff ; Assembly listing for method System.Data.XDRSchema:FindTypeNode(System.Xml.XmlElement):System.Xml.XmlElement (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 39 single block inlinees; 16 inlinees without PGO data +; 0 inlinees with PGO data; 18 single block inlinees; 9 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T03] ( 21, 18 ) ref -> x19 class-hnd single-def -; V01 loc0 [V01,T22] ( 6, 7.50) ref -> x22 class-hnd exact single-def -; V02 loc1 [V02,T00] ( 30,404.50) ref -> x24 class-hnd -; V03 loc2 [V03,T01] ( 4, 21 ) ref -> x23 class-hnd single-def +; V00 arg0 [V00,T06] ( 21, 18 ) ref -> x19 class-hnd single-def +; V01 loc0 [V01,T27] ( 6, 7.50) ref -> x21 class-hnd exact single-def +; V02 loc1 [V02,T00] ( 30,404.50) ref -> x23 class-hnd +; V03 loc2 [V03,T05] ( 4, 21 ) ref -> x22 class-hnd single-def ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V05 tmp1 [V05 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V06 tmp2 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V07 tmp3 [V07,T32] ( 5, 4.50) ref -> x0 single-def "spilling varStr" -; V08 tmp4 [V08,T44] ( 2, 2 ) int -> x0 "spilling unroll qmark" -; V09 tmp5 [V09,T23] ( 6, 6 ) ref -> x0 class-hnd exact single-def "Inlining Arg" -; V10 tmp6 [V10,T47] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp" -;* V11 tmp7 [V11 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +; V07 tmp3 [V07,T30] ( 5, 4.50) ref -> x0 single-def "spilling varStr" +; V08 tmp4 [V08,T38] ( 2, 2 ) int -> x0 "spilling unroll qmark" +;* V09 tmp5 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V10 tmp6 [V10,T24] ( 8, 7.50) ref -> x0 single-def "spilling varStr" +; V11 tmp7 [V11,T39] ( 2, 2 ) int -> x0 "spilling unroll qmark" ;* V12 tmp8 [V12 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V13 tmp9 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V14 tmp10 [V14,T41] ( 5, 3 ) ref -> x0 single-def "spilling varStr" +; V14 tmp10 [V14,T35] ( 5, 3 ) ref -> x0 single-def "spilling varStr" ;* V15 tmp11 [V15 ] ( 0, 0 ) int -> zero-ref "spilling unroll qmark" -; V16 tmp12 [V16,T24] ( 6, 6 ) ref -> x0 class-hnd exact single-def "Inlining Arg" -; V17 tmp13 [V17,T48] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp" -;* V18 tmp14 [V18 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V16 tmp12 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V17 tmp13 [V17,T25] ( 8, 7.50) ref -> x0 single-def "spilling varStr" +; V18 tmp14 [V18,T40] ( 2, 2 ) int -> x0 "spilling unroll qmark" ;* V19 tmp15 [V19 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V20 tmp16 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V21 tmp17 [V21,T33] ( 5, 4.50) ref -> x0 single-def "spilling varStr" -; V22 tmp18 [V22,T45] ( 2, 2 ) int -> x0 "spilling unroll qmark" -; V23 tmp19 [V23,T25] ( 6, 6 ) ref -> x0 class-hnd exact single-def "Inlining Arg" -; V24 tmp20 [V24,T49] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp" -;* V25 tmp21 [V25 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" -;* V26 tmp22 [V26,T50] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V21 tmp17 [V21,T31] ( 5, 4.50) ref -> x0 single-def "spilling varStr" +; V22 tmp18 [V22,T41] ( 2, 2 ) int -> x0 "spilling unroll qmark" +;* V23 tmp19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V24 tmp20 [V24,T26] ( 8, 7.50) ref -> x0 single-def "spilling varStr" +; V25 tmp21 [V25,T42] ( 2, 2 ) int -> x0 "spilling unroll qmark" +;* V26 tmp22 [V26,T44] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V27 tmp23 [V27 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V28 tmp24 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V29 tmp25 [V29,T09] ( 5, 18 ) ref -> x0 "spilling varStr" +; V29 tmp25 [V29,T08] ( 5, 18 ) ref -> x0 "spilling varStr" ; V30 tmp26 [V30,T21] ( 2, 8 ) int -> x0 "spilling unroll qmark" -; V31 tmp27 [V31,T04] ( 5, 20 ) ref -> x0 class-hnd exact "Inlining Arg" -; V32 tmp28 [V32,T35] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp" -;* V33 tmp29 [V33 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V31 tmp27 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V32 tmp28 [V32,T01] ( 8, 30 ) ref -> x0 "spilling varStr" +; V33 tmp29 [V33,T22] ( 2, 8 ) int -> x0 "spilling unroll qmark" ;* V34 tmp30 [V34 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V35 tmp31 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V36 tmp32 [V36,T14] ( 5, 12 ) ref -> x0 "spilling varStr" -; V37 tmp33 [V37,T19] ( 2, 2 ) int -> x0 "spilling unroll qmark" -; V38 tmp34 [V38,T05] ( 5, 20 ) ref -> x0 class-hnd exact "Inlining Arg" -; V39 tmp35 [V39,T36] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp" -;* V40 tmp36 [V40 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +; V36 tmp32 [V36,T13] ( 5, 12 ) ref -> x0 "spilling varStr" +;* V37 tmp33 [V37 ] ( 0, 0 ) int -> zero-ref "spilling unroll qmark" +;* V38 tmp34 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V39 tmp35 [V39,T02] ( 8, 30 ) ref -> x0 "spilling varStr" +; V40 tmp36 [V40,T23] ( 2, 8 ) int -> x0 "spilling unroll qmark" ;* V41 tmp37 [V41 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V42 tmp38 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V43 tmp39 [V43,T10] ( 5, 18 ) ref -> x0 "spilling varStr" -; V44 tmp40 [V44,T15] ( 2, 8 ) int -> x0 "spilling unroll qmark" -; V45 tmp41 [V45,T06] ( 5, 20 ) ref -> x0 class-hnd exact "Inlining Arg" -; V46 tmp42 [V46,T37] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp" -;* V47 tmp43 [V47 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +; V43 tmp39 [V43,T09] ( 5, 18 ) ref -> x0 "spilling varStr" +; V44 tmp40 [V44,T14] ( 2, 8 ) int -> x0 "spilling unroll qmark" +;* V45 tmp41 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V46 tmp42 [V46,T03] ( 8, 30 ) ref -> x0 "spilling varStr" +; V47 tmp43 [V47,T15] ( 2, 8 ) int -> x0 "spilling unroll qmark" ;* V48 tmp44 [V48 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V49 tmp45 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V50 tmp46 [V50,T11] ( 5, 18 ) ref -> x0 "spilling varStr" +; V50 tmp46 [V50,T10] ( 5, 18 ) ref -> x0 "spilling varStr" ; V51 tmp47 [V51,T16] ( 2, 8 ) int -> x0 "spilling unroll qmark" -; V52 tmp48 [V52,T07] ( 5, 20 ) ref -> x0 class-hnd exact "Inlining Arg" -; V53 tmp49 [V53,T38] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp" -;* V54 tmp50 [V54 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" -; V55 tmp51 [V55,T08] ( 5, 20 ) ref -> x0 class-hnd exact "Inlining Arg" -; V56 tmp52 [V56,T39] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp" +;* V52 tmp48 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V53 tmp49 [V53,T04] ( 8, 30 ) ref -> x0 "spilling varStr" +; V54 tmp50 [V54,T17] ( 2, 8 ) int -> x1 "spilling unroll qmark" +; V55 tmp51 [V55,T07] ( 5, 20 ) ref -> x0 class-hnd exact "Inlining Arg" +; V56 tmp52 [V56,T33] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp" ; V57 tmp53 [V57,T20] ( 2, 8 ) byref -> x0 "impAppendStmt" -; V58 tmp54 [V58,T42] ( 3, 3 ) ref -> x0 "Single return block return value" -; V59 tmp55 [V59,T43] ( 3, 3 ) ref -> x0 single-def "argument with side effect" -;* V60 tmp56 [V60,T40] ( 0, 0 ) ref -> zero-ref "argument with side effect" -; V61 cse0 [V61,T34] ( 2, 2.50) ref -> x25 "CSE #24: moderate" -; V62 cse1 [V62,T12] ( 12, 12 ) long -> x20 multi-def "CSE #02: moderate" -; V63 cse2 [V63,T13] ( 6, 12 ) long -> x25 multi-def "CSE #12: moderate" -; V64 cse3 [V64,T17] ( 4, 12 ) long -> x25 "CSE #23: moderate" -; V65 cse4 [V65,T46] ( 3, 1.50) long -> x23 "CSE #08: conservative" -; V66 cse5 [V66,T02] ( 17, 20.50) ref -> x21 multi-def "CSE #04: aggressive" -; V67 cse6 [V67,T26] ( 3, 6 ) int -> x2 "CSE #13: moderate" -; V68 cse7 [V68,T27] ( 3, 6 ) int -> x2 "CSE #16: moderate" -; V69 cse8 [V69,T28] ( 3, 6 ) int -> x2 "CSE #17: moderate" -; V70 cse9 [V70,T29] ( 3, 6 ) int -> x2 "CSE #20: moderate" -; V71 cse10 [V71,T30] ( 3, 6 ) int -> x2 "CSE #22: moderate" -; V72 rat0 [V72,T18] ( 4, 9 ) ref -> x25 "replacement local" -; V73 rat1 [V73,T31] ( 3, 5 ) long -> x0 "CSE for expectedClsNode" -; V74 rat2 [V74,T54] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" -; V75 rat3 [V75,T55] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" -; V76 rat4 [V76,T51] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" -; V77 rat5 [V77,T52] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" -; V78 rat6 [V78,T53] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V58 tmp54 [V58,T36] ( 3, 3 ) ref -> x0 "Single return block return value" +; V59 tmp55 [V59,T37] ( 3, 3 ) ref -> x0 single-def "argument with side effect" +;* V60 tmp56 [V60,T34] ( 0, 0 ) ref -> zero-ref "argument with side effect" +; V61 cse0 [V61,T32] ( 2, 2.50) ref -> x24 "CSE #20: moderate" +; V62 cse1 [V62,T11] ( 12, 12 ) long -> x20 multi-def "CSE #02: moderate" +; V63 cse2 [V63,T12] ( 6, 12 ) long -> x24 multi-def "CSE #12: moderate" +; V64 cse3 [V64,T18] ( 4, 12 ) long -> x24 "CSE #19: moderate" +; V65 cse4 [V65,T43] ( 3, 1.50) long -> x22 "CSE #08: conservative" +; V66 cse5 [V66,T52] ( 10, 11 ) simd16 -> d8 multi-def "CSE #03: moderate" +; V67 cse6 [V67,T53] ( 10, 11 ) simd16 -> d9 multi-def "CSE #04: moderate" +; V68 cse7 [V68,T54] ( 10, 11 ) simd16 -> d10 multi-def "CSE #05: moderate" +; V69 cse8 [V69,T55] ( 10, 11 ) simd16 -> d11 multi-def "CSE #06: moderate" +; V70 cse9 [V70,T56] ( 10, 11 ) simd16 -> [fp+0x10] multi-def "CSE #07: moderate" +; V71 cse10 [V71,T28] ( 3, 6 ) int -> x2 "CSE #18: moderate" +; V72 rat0 [V72,T19] ( 4, 9 ) ref -> x24 "replacement local" +; V73 rat1 [V73,T29] ( 3, 5 ) long -> x0 "CSE for expectedClsNode" +; V74 rat2 [V74,T57] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V75 rat3 [V75,T58] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V76 rat4 [V76,T59] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V77 rat5 [V77,T60] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V78 rat6 [V78,T61] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V79 rat7 [V79,T45] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V80 rat8 [V80,T46] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V81 rat9 [V81,T47] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V82 rat10 [V82,T48] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V83 rat11 [V83,T49] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V84 rat12 [V84,T50] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V85 rat13 [V85,T51] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" ; -; Lcl frame size = 8 +; Lcl frame size = 16 G_M33548_IG01: - stp fp, lr, [sp, #-0x50]! - stp x19, x20, [sp, #0x18] - stp x21, x22, [sp, #0x28] - stp x23, x24, [sp, #0x38] - str x25, [sp, #0x48] + stp fp, lr, [sp, #-0x90]! + stp d8, d9, [sp, #0x20] + stp d10, d11, [sp, #0x30] + stp d12, d13, [sp, #0x40] + stp d14, d15, [sp, #0x50] + stp x19, x20, [sp, #0x60] + stp x21, x22, [sp, #0x70] + stp x23, x24, [sp, #0x80] mov fp, sp mov x19, x0 - ;; size=28 bbWeight=1 PerfScore 6.00 + ;; size=40 bbWeight=1 PerfScore 9.00 G_M33548_IG02: - cbz x19, G_M33548_IG06 + cbz x19, G_M33548_IG08 ;; size=4 bbWeight=1 PerfScore 1.00 G_M33548_IG03: mov x0, x19 ldr x1, [x19] ldr x20, [x1, #0x60] ldr x1, [x20, #0x30] blr x1 - cbz x0, G_M33548_IG06 + cbz x0, G_M33548_IG08 ;; size=24 bbWeight=0.50 PerfScore 5.75 G_M33548_IG04: ldr w1, [x0, #0x08] cmp w1, #11 - bne G_M33548_IG06 + bne G_M33548_IG08 ;; size=12 bbWeight=0.25 PerfScore 1.12 G_M33548_IG05: ldr q16, [x0, #0x0C] ldr q17, [@RWD00] eor v16.2d, v16.2d, v17.2d ldr q17, [x0, #0x12] ldr q18, [@RWD16] eor v17.2d, v17.2d, v18.2d orr v16.2d, v16.2d, v17.2d umaxp v16.4s, v16.4s, v16.4s umov x0, v16.d[0] cmp x0, #0 cset x0, eq - cbz w0, G_M33548_IG06 + cbz w0, G_M33548_IG08 mov x0, x19 ldr x1, [x20, #0x18] blr x1 - movz x21, #0xD1FFAB1E - movk x21, #0xD1FFAB1E LSL #16 - movk x21, #0xD1FFAB1E LSL #32 - cmp x0, x21 - beq G_M33548_IG44 - cbz x0, G_M33548_IG06 - ldr w2, [x0, #0x08] - cmp w2, #34 - bne G_M33548_IG06 - ldr w2, [x0, #0x08] - lsl w2, w2, #1 - mov w2, w2 - add x1, x21, #12 - add x0, x0, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbnz w0, G_M33548_IG44 - ;; size=140 bbWeight=0.50 PerfScore 20.25 + cbz x0, G_M33548_IG08 + ;; size=64 bbWeight=0.50 PerfScore 10.50 G_M33548_IG06: + ldr w1, [x0, #0x08] + cmp w1, #34 + bne G_M33548_IG08 + ;; size=12 bbWeight=0.25 PerfScore 1.12 +G_M33548_IG07: + ldr q16, [x0, #0x0C] + ldr q17, [x0, #0x1C] + ldr q8, [@RWD32] + eor v16.2d, v16.2d, v8.2d + ldr q9, [@RWD48] + eor v17.2d, v17.2d, v9.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x2C] + ldr q18, [x0, #0x3C] + ldr q10, [@RWD64] + eor v17.2d, v17.2d, v10.2d + orr v16.2d, v16.2d, v17.2d + ldr q11, [@RWD80] + eor v17.2d, v18.2d, v11.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x40] + ldr q12, [@RWD96] + eor v17.2d, v17.2d, v12.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x0, v16.d[0] + cmp x0, #0 + cset x0, eq + cbnz w0, G_M33548_IG56 + ;; size=96 bbWeight=0.50 PerfScore 16.75 +G_M33548_IG08: mov x0, x19 movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x2, [x19] ldr x2, [x2, #0x80] ldr x2, [x2, #0x38] blr x2 - mov x22, x0 + mov x21, x0 mov x0, x19 ldr x1, [x19] ldr x20, [x1, #0x60] ldr x1, [x20, #0x30] blr x1 - cbz x0, G_M33548_IG10 + cbz x0, G_M33548_IG14 ;; size=60 bbWeight=0.50 PerfScore 12.00 -G_M33548_IG07: +G_M33548_IG09: ldr w1, [x0, #0x08] cmp w1, #7 - bne G_M33548_IG10 + bne G_M33548_IG14 ;; size=12 bbWeight=0.25 PerfScore 1.12 -G_M33548_IG08: +G_M33548_IG10: ldr x1, [x0, #0x0C] movz x2, #101 movk x2, #108 LSL #16 movk x2, #101 LSL #32 movk x2, #109 LSL #48 eor x1, x1, x2 ldr x0, [x0, #0x12] movz x2, #109 movk x2, #101 LSL #16 movk x2, #110 LSL #32 movk x2, #116 LSL #48 eor x0, x0, x2 orr x0, x1, x0 - cbnz x0, G_M33548_IG10 + cbnz x0, G_M33548_IG14 ;; size=56 bbWeight=0.12 PerfScore 1.56 -G_M33548_IG09: +G_M33548_IG11: mov x0, x19 ldr x1, [x20, #0x18] blr x1 - movz x21, #0xD1FFAB1E - movk x21, #0xD1FFAB1E LSL #16 - movk x21, #0xD1FFAB1E LSL #32 - cmp x0, x21 - beq G_M33548_IG13 - cbz x0, G_M33548_IG10 - ldr w2, [x0, #0x08] - cmp w2, #34 - bne G_M33548_IG10 - ldr w2, [x0, #0x08] - lsl w2, w2, #1 - mov w2, w2 - add x1, x21, #12 - add x0, x0, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbnz w0, G_M33548_IG13 - ;; size=92 bbWeight=0.50 PerfScore 12.50 -G_M33548_IG10: + cbz x0, G_M33548_IG14 + ;; size=16 bbWeight=0.50 PerfScore 2.75 +G_M33548_IG12: + ldr w1, [x0, #0x08] + cmp w1, #34 + bne G_M33548_IG14 + ;; size=12 bbWeight=0.25 PerfScore 1.12 +G_M33548_IG13: + ldr q16, [x0, #0x0C] + ldr q17, [x0, #0x1C] + ldr q8, [@RWD32] + eor v16.2d, v16.2d, v8.2d + ldr q9, [@RWD48] + eor v17.2d, v17.2d, v9.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x2C] + ldr q18, [x0, #0x3C] + ldr q10, [@RWD64] + eor v17.2d, v17.2d, v10.2d + orr v16.2d, v16.2d, v17.2d + ldr q11, [@RWD80] + eor v17.2d, v18.2d, v11.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x40] + ldr q12, [@RWD96] + eor v17.2d, v17.2d, v12.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x0, v16.d[0] + cmp x0, #0 + cset x0, eq + cbnz w0, G_M33548_IG19 + ;; size=96 bbWeight=0.50 PerfScore 16.75 +G_M33548_IG14: mov x0, x19 ldr x1, [x20, #0x30] blr x1 - cbz x0, G_M33548_IG41 + cbz x0, G_M33548_IG52 ;; size=16 bbWeight=0.50 PerfScore 2.75 -G_M33548_IG11: +G_M33548_IG15: ldr w1, [x0, #0x08] cmp w1, #9 - bne G_M33548_IG41 + bne G_M33548_IG52 ;; size=12 bbWeight=0.25 PerfScore 1.12 -G_M33548_IG12: +G_M33548_IG16: ldr q16, [x0, #0x0C] - ldr q17, [@RWD32] + ldr q17, [@RWD112] eor v16.2d, v16.2d, v17.2d ldr q17, [x0, #0x0E] - ldr q18, [@RWD48] + ldr q18, [@RWD128] eor v17.2d, v17.2d, v18.2d orr v16.2d, v16.2d, v17.2d umaxp v16.4s, v16.4s, v16.4s umov x0, v16.d[0] cmp x0, #0 cset x0, eq - cbz w0, G_M33548_IG41 + cbz w0, G_M33548_IG52 mov x0, x19 ldr x1, [x20, #0x18] blr x1 - movz x21, #0xD1FFAB1E - movk x21, #0xD1FFAB1E LSL #16 - movk x21, #0xD1FFAB1E LSL #32 - cmp x0, x21 - beq G_M33548_IG13 - cbz x0, G_M33548_IG41 - ldr w2, [x0, #0x08] - cmp w2, #34 - bne G_M33548_IG41 - ldr w2, [x0, #0x08] - lsl w2, w2, #1 - mov w2, w2 - add x1, x21, #12 - add x0, x0, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbz w0, G_M33548_IG41 - ;; size=140 bbWeight=0.50 PerfScore 20.25 -G_M33548_IG13: - cbz x22, G_M33548_IG41 - ldr w0, [x22, #0x08] - cbz w0, G_M33548_IG41 + cbz x0, G_M33548_IG52 + ;; size=64 bbWeight=0.50 PerfScore 10.50 +G_M33548_IG17: + ldr w1, [x0, #0x08] + cmp w1, #34 + bne G_M33548_IG52 + ;; size=12 bbWeight=0.25 PerfScore 1.12 +G_M33548_IG18: + ldr q16, [x0, #0x0C] + ldr q17, [x0, #0x1C] + ldr q8, [@RWD32] + eor v16.2d, v16.2d, v8.2d + ldr q9, [@RWD48] + eor v17.2d, v17.2d, v9.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x2C] + ldr q18, [x0, #0x3C] + ldr q10, [@RWD64] + eor v17.2d, v17.2d, v10.2d + orr v16.2d, v16.2d, v17.2d + ldr q11, [@RWD80] + eor v17.2d, v18.2d, v11.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x40] + ldr q12, [@RWD96] + str q12, [fp, #0x10] // [V70 cse9] + eor v17.2d, v17.2d, v12.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x0, v16.d[0] + cmp x0, #0 + cset x0, eq + ldr q12, [fp, #0x10] // [V70 cse9] + cbz w0, G_M33548_IG52 + ;; size=104 bbWeight=0.50 PerfScore 18.25 +G_M33548_IG19: + cbz x21, G_M33548_IG52 + ldr w0, [x21, #0x08] + str q12, [fp, #0x10] // [V70 cse9] + cbz w0, G_M33548_IG52 mov x0, x19 ldr x1, [x19] - ldr x23, [x1, #0x48] - ldr x1, [x23, #0x30] + ldr x22, [x1, #0x48] + ldr x1, [x22, #0x30] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] blr x1 ldr x1, [x0] ldr x1, [x1, #0x48] ldr x1, [x1, #0x38] blr x1 - mov x24, x0 - mov x0, x19 - ldr x1, [x23, #0x30] - blr x1 mov x23, x0 - cmp x24, x23 - beq G_M33548_IG41 - ;; size=76 bbWeight=0.50 PerfScore 16.25 -G_M33548_IG14: - cbz x24, G_M33548_IG18 - ;; size=4 bbWeight=4 PerfScore 4.00 -G_M33548_IG15: - mov x0, x24 - ldr x1, [x24] - ldr x25, [x1, #0x60] - ldr x1, [x25, #0x30] + mov x0, x19 + ldr x1, [x22, #0x30] blr x1 - cbz x0, G_M33548_IG18 - ;; size=24 bbWeight=2 PerfScore 23.00 -G_M33548_IG16: + mov x22, x0 + cmp x23, x22 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + beq G_M33548_IG52 + ;; size=112 bbWeight=0.50 PerfScore 20.75 +G_M33548_IG20: + cbz x23, G_M33548_IG26 + ;; size=4 bbWeight=4 PerfScore 4.00 +G_M33548_IG21: + mov x0, x23 + ldr x1, [x23] + ldr x24, [x1, #0x60] + ldr x1, [x24, #0x30] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] + blr x1 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG26 + ;; size=56 bbWeight=2 PerfScore 39.00 +G_M33548_IG22: ldr w1, [x0, #0x08] cmp w1, #11 - bne G_M33548_IG18 + bne G_M33548_IG26 ;; size=12 bbWeight=1 PerfScore 4.50 -G_M33548_IG17: +G_M33548_IG23: ldr q16, [x0, #0x0C] ldr q17, [@RWD00] eor v16.2d, v16.2d, v17.2d ldr q17, [x0, #0x12] ldr q18, [@RWD16] eor v17.2d, v17.2d, v18.2d orr v16.2d, v16.2d, v17.2d umaxp v16.4s, v16.4s, v16.4s umov x0, v16.d[0] cmp x0, #0 cset x0, eq - cbz w0, G_M33548_IG18 - mov x0, x24 - ldr x1, [x25, #0x18] + cbz w0, G_M33548_IG26 + mov x0, x23 + ldr x1, [x24, #0x18] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] blr x1 - cmp x0, x21 - beq G_M33548_IG19 - cbz x0, G_M33548_IG18 - ldr w2, [x0, #0x08] - cmp w2, #34 - bne G_M33548_IG18 - add x0, x0, #12 - lsl w2, w2, #1 - mov w2, w2 - add x1, x21, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbnz w0, G_M33548_IG19 - ;; size=124 bbWeight=2 PerfScore 72.00 -G_M33548_IG18: - cbz x24, G_M33548_IG35 - b G_M33548_IG20 - ;; size=8 bbWeight=2 PerfScore 4.00 -G_M33548_IG19: - mov x0, x19 - ldr x1, [x20, #0x30] - blr x1 - cbnz x0, G_M33548_IG31 - ;; size=16 bbWeight=2 PerfScore 11.00 -G_M33548_IG20: - mov x0, x24 - ldr x1, [x24] - ldr x25, [x1, #0x60] - ldr x1, [x25, #0x30] - blr x1 - cbz x0, G_M33548_IG35 - ;; size=24 bbWeight=2 PerfScore 23.00 -G_M33548_IG21: - ldr w1, [x0, #0x08] - cmp w1, #13 - bne G_M33548_IG35 - ;; size=12 bbWeight=1 PerfScore 4.50 -G_M33548_IG22: - ldr q16, [x0, #0x0C] - ldr q17, [@RWD64] - eor v16.2d, v16.2d, v17.2d - ldr q17, [x0, #0x16] - ldr q18, [@RWD80] - eor v17.2d, v17.2d, v18.2d - orr v16.2d, v16.2d, v17.2d - umaxp v16.4s, v16.4s, v16.4s - umov x0, v16.d[0] - cmp x0, #0 - cset x0, eq - tst w0, #255 - beq G_M33548_IG35 - mov x0, x24 - ldr x1, [x25, #0x18] - blr x1 - cmp x0, x21 - beq G_M33548_IG23 - cbz x0, G_M33548_IG35 - ldr w2, [x0, #0x08] - cmp w2, #34 - bne G_M33548_IG35 - add x0, x0, #12 - lsl w2, w2, #1 - mov w2, w2 - add x1, x21, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbz w0, G_M33548_IG35 - ;; size=128 bbWeight=2 PerfScore 73.00 -G_M33548_IG23: - mov x0, x19 - ldr x1, [x20, #0x30] - blr x1 - cbz x0, G_M33548_IG35 - ;; size=16 bbWeight=2 PerfScore 11.00 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG26 + ;; size=96 bbWeight=2 PerfScore 58.00 G_M33548_IG24: ldr w1, [x0, #0x08] - cmp w1, #9 - bne G_M33548_IG35 + cmp w1, #34 + bne G_M33548_IG26 ;; size=12 bbWeight=1 PerfScore 4.50 G_M33548_IG25: ldr q16, [x0, #0x0C] - ldr q17, [@RWD32] - eor v16.2d, v16.2d, v17.2d - ldr q17, [x0, #0x0E] - ldr q18, [@RWD48] - eor v17.2d, v17.2d, v18.2d + ldr q17, [x0, #0x1C] + eor v16.2d, v16.2d, v8.2d + eor v17.2d, v17.2d, v9.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x2C] + ldr q18, [x0, #0x3C] + eor v17.2d, v17.2d, v10.2d + orr v16.2d, v16.2d, v17.2d + eor v17.2d, v18.2d, v11.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x40] + ldr q12, [fp, #0x10] // [V70 cse9] + eor v17.2d, v17.2d, v12.2d orr v16.2d, v16.2d, v17.2d umaxp v16.4s, v16.4s, v16.4s umov x0, v16.d[0] cmp x0, #0 cset x0, eq - tst w0, #255 - beq G_M33548_IG35 - mov x0, x19 - ldr x1, [x20, #0x18] - blr x1 - cmp x0, x21 - beq G_M33548_IG26 - cbz x0, G_M33548_IG35 - ldr w2, [x0, #0x08] - cmp w2, #34 - bne G_M33548_IG35 - add x0, x0, #12 - lsl w2, w2, #1 - mov w2, w2 - add x1, x21, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbz w0, G_M33548_IG35 - ;; size=128 bbWeight=2 PerfScore 73.00 + cbnz w0, G_M33548_IG27 + ;; size=80 bbWeight=2 PerfScore 51.00 G_M33548_IG26: - mov x1, x24 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 - cbz x0, G_M33548_IG35 - ;; size=40 bbWeight=2 PerfScore 17.00 + cbz x23, G_M33548_IG46 + b G_M33548_IG33 + ;; size=8 bbWeight=2 PerfScore 4.00 G_M33548_IG27: - mov x25, x24 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldr x1, [x25] - cmp x1, x0 - beq G_M33548_IG29 - ;; size=28 bbWeight=1 PerfScore 6.50 + mov x0, x19 + ldr x1, [x20, #0x30] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] + blr x1 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG33 + ;; size=48 bbWeight=2 PerfScore 27.00 G_M33548_IG28: - mov x1, x24 - movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 - mov x25, x0 - ;; size=28 bbWeight=0.50 PerfScore 3.25 -G_M33548_IG29: - mov x0, x24 - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - ldr x2, [x24] - ldr x2, [x2, #0x80] - ldr x2, [x2, #0x38] - blr x2 - cmp x0, x22 - bne G_M33548_IG34 - ;; size=40 bbWeight=2 PerfScore 27.00 -G_M33548_IG30: - mov x0, x25 - b G_M33548_IG45 - ;; size=8 bbWeight=0.50 PerfScore 0.75 -G_M33548_IG31: ldr w1, [x0, #0x08] cmp w1, #7 - bne G_M33548_IG20 + bne G_M33548_IG33 ;; size=12 bbWeight=1 PerfScore 4.50 -G_M33548_IG32: +G_M33548_IG29: ldr x1, [x0, #0x0C] movz x2, #101 movk x2, #108 LSL #16 movk x2, #101 LSL #32 movk x2, #109 LSL #48 eor x1, x1, x2 ldr x0, [x0, #0x12] movz x2, #109 movk x2, #101 LSL #16 movk x2, #110 LSL #32 movk x2, #116 LSL #48 eor x0, x0, x2 orr x0, x1, x0 + cbnz x0, G_M33548_IG33 + ;; size=56 bbWeight=0.50 PerfScore 6.25 +G_M33548_IG30: + mov x0, x19 + ldr x1, [x20, #0x18] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] + blr x1 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG33 + ;; size=48 bbWeight=2 PerfScore 27.00 +G_M33548_IG31: + ldr w1, [x0, #0x08] + cmp w1, #34 + bne G_M33548_IG33 + ;; size=12 bbWeight=1 PerfScore 4.50 +G_M33548_IG32: + ldr q16, [x0, #0x0C] + ldr q17, [x0, #0x1C] + eor v16.2d, v16.2d, v8.2d + eor v17.2d, v17.2d, v9.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x2C] + ldr q18, [x0, #0x3C] + eor v17.2d, v17.2d, v10.2d + orr v16.2d, v16.2d, v17.2d + eor v17.2d, v18.2d, v11.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x40] + ldr q12, [fp, #0x10] // [V70 cse9] + eor v17.2d, v17.2d, v12.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x0, v16.d[0] + cmp x0, #0 + cset x0, eq + cbnz w0, G_M33548_IG42 + ;; size=80 bbWeight=2 PerfScore 51.00 +G_M33548_IG33: + mov x0, x23 + ldr x1, [x23] + ldr x24, [x1, #0x60] + ldr x1, [x24, #0x30] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] + blr x1 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG46 + ;; size=56 bbWeight=2 PerfScore 39.00 +G_M33548_IG34: + ldr w1, [x0, #0x08] + cmp w1, #13 + bne G_M33548_IG46 + ;; size=12 bbWeight=1 PerfScore 4.50 +G_M33548_IG35: + ldr q16, [x0, #0x0C] + ldr q17, [@RWD144] + eor v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x16] + ldr q18, [@RWD160] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x0, v16.d[0] cmp x0, #0 cset x0, eq tst w0, #255 - beq G_M33548_IG20 - ;; size=68 bbWeight=0.50 PerfScore 7.00 -G_M33548_IG33: + beq G_M33548_IG46 + mov x0, x23 + ldr x1, [x24, #0x18] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] + blr x1 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG46 + ;; size=100 bbWeight=2 PerfScore 59.00 +G_M33548_IG36: + ldr w1, [x0, #0x08] + cmp w1, #34 + bne G_M33548_IG46 + ;; size=12 bbWeight=1 PerfScore 4.50 +G_M33548_IG37: + ldr q16, [x0, #0x0C] + ldr q17, [x0, #0x1C] + eor v16.2d, v16.2d, v8.2d + eor v17.2d, v17.2d, v9.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x2C] + ldr q18, [x0, #0x3C] + eor v17.2d, v17.2d, v10.2d + orr v16.2d, v16.2d, v17.2d + eor v17.2d, v18.2d, v11.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x40] + ldr q12, [fp, #0x10] // [V70 cse9] + eor v17.2d, v17.2d, v12.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x0, v16.d[0] + cmp x0, #0 + cset x0, eq + tst w0, #255 + beq G_M33548_IG46 + mov x0, x19 + ldr x1, [x20, #0x30] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] + blr x1 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG46 + ;; size=132 bbWeight=2 PerfScore 79.00 +G_M33548_IG38: + ldr w1, [x0, #0x08] + cmp w1, #9 + bne G_M33548_IG46 + ;; size=12 bbWeight=1 PerfScore 4.50 +G_M33548_IG39: + ldr q16, [x0, #0x0C] + ldr q17, [@RWD112] + eor v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x0E] + ldr q18, [@RWD128] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x0, v16.d[0] + cmp x0, #0 + cset x0, eq + tst w0, #255 + beq G_M33548_IG46 mov x0, x19 ldr x1, [x20, #0x18] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] blr x1 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG46 + ;; size=100 bbWeight=2 PerfScore 59.00 +G_M33548_IG40: + ldr w1, [x0, #0x08] + cmp w1, #34 + bne G_M33548_IG46 + ;; size=12 bbWeight=1 PerfScore 4.50 +G_M33548_IG41: + ldr q16, [x0, #0x0C] + ldr q17, [x0, #0x1C] + eor v16.2d, v16.2d, v8.2d + eor v17.2d, v17.2d, v9.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x2C] + ldr q18, [x0, #0x3C] + eor v17.2d, v17.2d, v10.2d + orr v16.2d, v16.2d, v17.2d + eor v17.2d, v18.2d, v11.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x40] + ldr q12, [fp, #0x10] // [V70 cse9] + eor v17.2d, v17.2d, v12.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x1, v16.d[0] + cmp x1, #0 + cset x1, eq + tst w1, #255 + beq G_M33548_IG46 + ;; size=84 bbWeight=2 PerfScore 52.00 +G_M33548_IG42: + mov x1, x23 + movz x0, #0xD1FFAB1E + movk x0, #0xD1FFAB1E LSL #16 + movk x0, #0xD1FFAB1E LSL #32 + movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + ldr x2, [x2] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] + blr x2 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG46 + ;; size=72 bbWeight=2 PerfScore 33.00 +G_M33548_IG43: + mov x24, x23 + movz x0, #0xD1FFAB1E + movk x0, #0xD1FFAB1E LSL #16 + movk x0, #0xD1FFAB1E LSL #32 + ldr x1, [x24] + cmp x1, x0 + beq G_M33548_IG45 + ;; size=28 bbWeight=1 PerfScore 6.50 +G_M33548_IG44: + mov x1, x23 + movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + ldr x2, [x2] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] + blr x2 + mov x24, x0 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + ;; size=60 bbWeight=0.50 PerfScore 7.25 +G_M33548_IG45: + mov x0, x23 + movz x1, #0xD1FFAB1E + movk x1, #0xD1FFAB1E LSL #16 + movk x1, #0xD1FFAB1E LSL #32 + ldr x2, [x23] + ldr x2, [x2, #0x80] + ldr x2, [x2, #0x38] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] + blr x2 cmp x0, x21 - beq G_M33548_IG26 - cbz x0, G_M33548_IG20 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + beq G_M33548_IG55 + cbz x0, G_M33548_IG46 ldr w2, [x0, #0x08] - cmp w2, #34 - bne G_M33548_IG20 + ldr w1, [x21, #0x08] + cmp w2, w1 + bne G_M33548_IG46 add x0, x0, #12 lsl w2, w2, #1 mov w2, w2 add x1, x21, #12 movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte movk x3, #0xD1FFAB1E LSL #16 movk x3, #0xD1FFAB1E LSL #32 ldr x3, [x3] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] blr x3 - cbnz w0, G_M33548_IG26 - b G_M33548_IG20 - ;; size=80 bbWeight=2 PerfScore 43.00 -G_M33548_IG34: - cbz x0, G_M33548_IG35 - ldr w2, [x0, #0x08] - ldr w1, [x22, #0x08] - cmp w2, w1 - bne G_M33548_IG35 - add x0, x0, #12 - lsl w2, w2, #1 - mov w2, w2 - add x1, x22, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbnz w0, G_M33548_IG30 - ;; size=60 bbWeight=2 PerfScore 35.00 -G_M33548_IG35: - mov x0, x24 - ldr x1, [x24] - ldr x25, [x1, #0x48] - ldr x1, [x25, #0x38] + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbnz w0, G_M33548_IG55 + ;; size=164 bbWeight=2 PerfScore 94.00 +G_M33548_IG46: + mov x0, x23 + ldr x1, [x23] + ldr x24, [x1, #0x48] + ldr x1, [x24, #0x38] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] blr x1 - cbnz x0, G_M33548_IG43 - ;; size=24 bbWeight=4 PerfScore 46.00 -G_M33548_IG36: - mov x0, x24 - ldr x1, [x25, #0x20] + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbnz x0, G_M33548_IG54 + ;; size=56 bbWeight=4 PerfScore 78.00 +G_M33548_IG47: + mov x0, x23 + ldr x1, [x24, #0x20] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] blr x1 - cbnz x0, G_M33548_IG39 - ;; size=16 bbWeight=2 PerfScore 11.00 -G_M33548_IG37: - cmp x24, x23 - beq G_M33548_IG40 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbnz x0, G_M33548_IG50 + ;; size=48 bbWeight=2 PerfScore 27.00 +G_M33548_IG48: + cmp x23, x22 + beq G_M33548_IG51 ;; size=8 bbWeight=16 PerfScore 24.00 -G_M33548_IG38: - mov x0, x24 - ldr x1, [x24] +G_M33548_IG49: + mov x0, x23 + ldr x1, [x23] ldr x1, [x1, #0x48] ldr x1, [x1, #0x08] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] blr x1 - mov x24, x0 - ldr x1, [x24] + mov x23, x0 + ldr x1, [x23] ldr x1, [x1, #0x48] ldr x1, [x1, #0x20] blr x1 - cbz x0, G_M33548_IG37 - ;; size=44 bbWeight=64 PerfScore 1408.00 -G_M33548_IG39: - mov x0, x24 - ldr x1, [x24] + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + cbz x0, G_M33548_IG48 + ;; size=76 bbWeight=64 PerfScore 1920.00 +G_M33548_IG50: + mov x0, x23 + ldr x1, [x23] ldr x1, [x1, #0x48] ldr x1, [x1, #0x20] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] blr x1 - mov x24, x0 - ;; size=24 bbWeight=8 PerfScore 88.00 -G_M33548_IG40: - cmp x24, x23 - bne G_M33548_IG14 + mov x23, x0 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + ;; size=56 bbWeight=8 PerfScore 152.00 +G_M33548_IG51: + cmp x23, x22 + bne G_M33548_IG20 ;; size=8 bbWeight=4 PerfScore 6.00 -G_M33548_IG41: +G_M33548_IG52: mov x0, xzr ;; size=4 bbWeight=0.50 PerfScore 0.25 -G_M33548_IG42: - ldr x25, [sp, #0x48] - ldp x23, x24, [sp, #0x38] - ldp x21, x22, [sp, #0x28] - ldp x19, x20, [sp, #0x18] - ldp fp, lr, [sp], #0x50 +G_M33548_IG53: + ldp x23, x24, [sp, #0x80] + ldp x21, x22, [sp, #0x70] + ldp x19, x20, [sp, #0x60] + ldp d14, d15, [sp, #0x50] + ldp d12, d13, [sp, #0x40] + ldp d10, d11, [sp, #0x30] + ldp d8, d9, [sp, #0x20] + ldp fp, lr, [sp], #0x90 ret lr - ;; size=24 bbWeight=0.50 PerfScore 3.50 -G_M33548_IG43: - mov x0, x24 - ldr x1, [x25, #0x38] + ;; size=36 bbWeight=0.50 PerfScore 4.50 +G_M33548_IG54: + mov x0, x23 + ldr x1, [x24, #0x38] + mov v13.d[0], v8.d[1] + mov v14.d[0], v9.d[1] + mov v15.d[0], v10.d[1] + mov v12.d[0], v11.d[1] blr x1 - mov x24, x0 - b G_M33548_IG40 - ;; size=20 bbWeight=2 PerfScore 12.00 -G_M33548_IG44: + mov x23, x0 + mov v8.d[1], v13.d[0] + mov v9.d[1], v14.d[0] + mov v10.d[1], v15.d[0] + mov v11.d[1], v12.d[0] + b G_M33548_IG51 + ;; size=52 bbWeight=2 PerfScore 28.00 +G_M33548_IG55: + mov x0, x24 + b G_M33548_IG57 + ;; size=8 bbWeight=0.50 PerfScore 0.75 +G_M33548_IG56: mov x0, x19 ;; size=4 bbWeight=0.50 PerfScore 0.25 -G_M33548_IG45: - ldr x25, [sp, #0x48] - ldp x23, x24, [sp, #0x38] - ldp x21, x22, [sp, #0x28] - ldp x19, x20, [sp, #0x18] - ldp fp, lr, [sp], #0x50 +G_M33548_IG57: + ldp x23, x24, [sp, #0x80] + ldp x21, x22, [sp, #0x70] + ldp x19, x20, [sp, #0x60] + ldp d14, d15, [sp, #0x50] + ldp d12, d13, [sp, #0x40] + ldp d10, d11, [sp, #0x30] + ldp d8, d9, [sp, #0x20] + ldp fp, lr, [sp], #0x90 ret lr - ;; size=24 bbWeight=0.50 PerfScore 3.50 + ;; size=36 bbWeight=0.50 PerfScore 4.50 RWD00 dq 006D0065006C0045h, 00540074006E0065h RWD16 dq 0074006E0065006Dh, 0065007000790054h -RWD32 dq 0072007400740061h, 0074007500620069h -RWD48 dq 0069007200740074h, 0065007400750062h -RWD64 dq 0072007400740041h, 0074007500620069h -RWD80 dq 0065007400750062h, 0065007000790054h +RWD32 dq 003A006E00720075h, 0065006800630073h +RWD48 dq 002D00730061006Dh, 007200630069006Dh +RWD64 dq 0066006F0073006Fh, 006F0063002D0074h +RWD80 dq 006D0078003A006Dh, 00610064002D006Ch +RWD96 dq 002D006C006D0078h, 0061007400610064h +RWD112 dq 0072007400740061h, 0074007500620069h +RWD128 dq 0069007200740074h, 0065007400750062h +RWD144 dq 0072007400740041h, 0074007500620069h +RWD160 dq 0065007400750062h, 0065007000790054h -; Total bytes of code 1744, prolog size 24, PerfScore 2155.69, instruction count 436, allocated bytes for code 1744 (MethodHash=df227cf3) for method System.Data.XDRSchema:FindTypeNode(System.Xml.XmlElement):System.Xml.XmlElement (FullOpts) +; Total bytes of code 2584, prolog size 36, PerfScore 3112.31, instruction count 646, allocated bytes for code 2584 (MethodHash=df227cf3) for method System.Data.XDRSchema:FindTypeNode(System.Xml.XmlElement):System.Xml.XmlElement (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/c38eda4ccf75afd288c83f086399f129

MihuBot commented 7 hours ago

Top method improvements

-76 (-9.90 % of base) - System.Xml.XPath.XPathNavigator:ComparePosition(System.Xml.XPath.XPathNavigator):int:this ```diff ; Assembly listing for method System.Xml.XPath.XPathNavigator:ComparePosition(System.Xml.XPath.XPathNavigator):int:this (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T09] ( 6, 4 ) ref -> x20 this class-hnd single-def ; V01 arg1 [V01,T08] ( 6, 4.50) ref -> x19 class-hnd single-def ; V02 loc0 [V02,T03] ( 10, 12 ) ref -> x20 class-hnd single-def ; V03 loc1 [V03,T04] ( 9, 11.50) ref -> x19 class-hnd single-def ; V04 loc2 [V04,T00] ( 7, 13.75) int -> x23 -; V05 loc3 [V05,T11] ( 5, 5.75) int -> x26 +; V05 loc3 [V05,T10] ( 5, 5.75) int -> x26 ; V06 loc4 [V06,T06] ( 4, 9 ) ref -> x22 class-hnd single-def ; V07 loc5 [V07,T01] ( 4, 12.50) ref -> x23 class-hnd single-def ;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V09 tmp1 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V10 tmp2 [V10,T10] ( 6, 6 ) ref -> x0 class-hnd exact single-def "Inlining Arg" -;* V11 tmp3 [V11 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V12 tmp4 [V12 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V10 tmp2 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V11 tmp3 [V11,T13] ( 3, 2.50) ref -> x0 single-def "spilling varStr" +;* V12 tmp4 [V12 ] ( 0, 0 ) int -> zero-ref "spilling unroll qmark" ; V13 tmp5 [V13,T15] ( 2, 2 ) int -> x0 "Single return block return value" ; V14 tmp6 [V14,T14] ( 2, 2 ) ref -> x0 single-def "argument with side effect" -; V15 cse0 [V15,T13] ( 2, 4.50) long -> x26 hoist "CSE #08: aggressive" +; V15 cse0 [V15,T12] ( 2, 4.50) long -> x26 hoist "CSE #08: aggressive" ; V16 cse1 [V16,T16] ( 3, 1.50) long -> x22 "CSE #05: moderate" ; V17 cse2 [V17,T17] ( 3, 1.50) long -> x25 "CSE #06: moderate" ; V18 cse3 [V18,T05] ( 6, 10 ) long -> x21 "CSE #02: aggressive" ; V19 cse4 [V19,T07] ( 4, 9 ) long -> x24 "CSE #03: aggressive" -; V20 cse5 [V20,T12] ( 3, 5 ) long -> x25 hoist "CSE #07: aggressive" +; V20 cse5 [V20,T11] ( 3, 5 ) long -> x25 hoist "CSE #07: aggressive" ; V21 rat0 [V21,T02] ( 4, 12.25) int -> x23 "Trip count IV" ; ; Lcl frame size = 0 G_M40554_IG01: stp fp, lr, [sp, #-0x50]! stp x19, x20, [sp, #0x10] stp x21, x22, [sp, #0x20] stp x23, x24, [sp, #0x30] stp x25, x26, [sp, #0x40] mov fp, sp mov x20, x0 mov x19, x1 ;; size=32 bbWeight=1 PerfScore 6.50 G_M40554_IG02: - cbz x19, G_M40554_IG18 + cbz x19, G_M40554_IG19 ;; size=4 bbWeight=1 PerfScore 1.00 G_M40554_IG03: mov x0, x20 mov x1, x19 ldr x2, [x20] ldr x2, [x2, #0x78] ldr x2, [x2, #0x30] blr x2 - cbnz w0, G_M40554_IG24 + cbnz w0, G_M40554_IG25 mov x0, x20 ldr x1, [x20] ldr x1, [x1, #0x58] ldr x1, [x1] blr x1 mov x20, x0 mov x0, x19 ldr x1, [x19] ldr x1, [x1, #0x58] ldr x1, [x1] blr x1 mov x19, x0 mov x0, x20 ldr x21, [x20] ldr x22, [x21, #0x58] ldr x1, [x22] blr x1 movz x1, #0xD1FFAB1E // code for System.Xml.XPath.XPathNavigator:GetDepth(System.Xml.XPath.XPathNavigator):int movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 sxtw w23, w0 mov x0, x19 ldr x24, [x19] ldr x25, [x24, #0x58] ldr x1, [x25] blr x1 movz x1, #0xD1FFAB1E // code for System.Xml.XPath.XPathNavigator:GetDepth(System.Xml.XPath.XPathNavigator):int movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 sxtw w26, w0 cmp w23, w26 ble G_M40554_IG07 b G_M40554_IG05 ;; size=176 bbWeight=0.50 PerfScore 34.75 G_M40554_IG04: mov x0, x20 ldr x1, [x21, #0x70] ldr x1, [x1, #0x08] blr x1 sub w23, w23, #1 ;; size=20 bbWeight=4 PerfScore 32.00 G_M40554_IG05: cmp w23, w26 bgt G_M40554_IG04 ;; size=8 bbWeight=4 PerfScore 6.00 G_M40554_IG06: mov x0, x20 mov x1, x19 ldr x2, [x21, #0x78] ldr x2, [x2, #0x30] blr x2 - cbnz w0, G_M40554_IG22 + cbnz w0, G_M40554_IG23 ;; size=24 bbWeight=0.50 PerfScore 4.50 G_M40554_IG07: cmp w26, w23 ble G_M40554_IG12 ;; size=8 bbWeight=0.50 PerfScore 0.75 G_M40554_IG08: neg w0, w23 add w0, w0, w26 add w23, w0, #1 b G_M40554_IG10 ;; size=16 bbWeight=0.25 PerfScore 0.62 G_M40554_IG09: mov x0, x19 ldr x1, [x24, #0x70] ldr x1, [x1, #0x08] blr x1 ;; size=16 bbWeight=4 PerfScore 30.00 G_M40554_IG10: sub w23, w23, #1 cbnz w23, G_M40554_IG09 ;; size=8 bbWeight=4 PerfScore 6.00 G_M40554_IG11: mov x0, x20 mov x1, x19 ldr x2, [x21, #0x78] ldr x2, [x2, #0x30] blr x2 - cbnz w0, G_M40554_IG20 + cbnz w0, G_M40554_IG21 ;; size=24 bbWeight=0.50 PerfScore 4.50 G_M40554_IG12: mov x0, x20 ldr x1, [x22] blr x1 mov x22, x0 mov x0, x19 ldr x1, [x25] blr x1 mov x23, x0 ldr x25, [x22] ldr x26, [x25, #0x70] b G_M40554_IG14 ;; size=44 bbWeight=0.50 PerfScore 8.50 G_M40554_IG13: mov x0, x20 ldr x1, [x21, #0x70] ldr x1, [x1, #0x08] blr x1 mov x0, x19 ldr x1, [x24, #0x70] ldr x1, [x1, #0x08] blr x1 ;; size=32 bbWeight=4 PerfScore 60.00 G_M40554_IG14: mov x0, x22 ldr x1, [x26, #0x08] blr x1 - cbz w0, G_M40554_IG18 + cbz w0, G_M40554_IG19 mov x0, x23 ldr x1, [x23] ldr x1, [x1, #0x70] ldr x1, [x1, #0x08] blr x1 - cbz w0, G_M40554_IG18 + cbz w0, G_M40554_IG19 mov x0, x22 mov x1, x23 ldr x2, [x25, #0x78] ldr x2, [x2, #0x30] blr x2 cbz w0, G_M40554_IG13 ;; size=64 bbWeight=4 PerfScore 104.00 G_M40554_IG15: mov x0, x20 movz x1, #0xD1FFAB1E // code for System.Object:GetType():System.Type:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov w1, #1 movz x2, #0xD1FFAB1E // code for System.RuntimeType:GetCachedName(int):System.String:this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 - movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - cmp x0, x2 - beq G_M40554_IG16 - cbz x0, G_M40554_IG16 - ldr w2, [x0, #0x08] - cmp w2, #46 - bne G_M40554_IG16 - ldr w2, [x0, #0x08] - lsl w2, w2, #1 - mov w2, w2 - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - add x0, x0, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - ;; size=132 bbWeight=0.50 PerfScore 16.25 + cbz x0, G_M40554_IG17 + ;; size=52 bbWeight=0.50 PerfScore 6.50 G_M40554_IG16: + ldr wzr, [x0, #0x08] + ;; size=4 bbWeight=0.25 PerfScore 0.75 +G_M40554_IG17: mov x0, x20 mov x1, x19 movz x2, #0xD1FFAB1E // code for System.Xml.XPath.XPathNavigator:CompareSiblings(System.Xml.XPath.XPathNavigator,System.Xml.XPath.XPathNavigator):int movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] ;; size=24 bbWeight=0.50 PerfScore 2.75 -G_M40554_IG17: +G_M40554_IG18: ldp x25, x26, [sp, #0x40] ldp x23, x24, [sp, #0x30] ldp x21, x22, [sp, #0x20] ldp x19, x20, [sp, #0x10] ldp fp, lr, [sp], #0x50 br x2 ;; size=24 bbWeight=0.50 PerfScore 3.00 -G_M40554_IG18: +G_M40554_IG19: mov w0, #3 ;; size=4 bbWeight=0.50 PerfScore 0.25 -G_M40554_IG19: +G_M40554_IG20: ldp x25, x26, [sp, #0x40] ldp x23, x24, [sp, #0x30] ldp x21, x22, [sp, #0x20] ldp x19, x20, [sp, #0x10] ldp fp, lr, [sp], #0x50 ret lr ;; size=24 bbWeight=0.50 PerfScore 3.00 -G_M40554_IG20: +G_M40554_IG21: mov w0, wzr ;; size=4 bbWeight=0.50 PerfScore 0.25 -G_M40554_IG21: +G_M40554_IG22: ldp x25, x26, [sp, #0x40] ldp x23, x24, [sp, #0x30] ldp x21, x22, [sp, #0x20] ldp x19, x20, [sp, #0x10] ldp fp, lr, [sp], #0x50 ret lr ;; size=24 bbWeight=0.50 PerfScore 3.00 -G_M40554_IG22: +G_M40554_IG23: mov w0, #1 ;; size=4 bbWeight=0.50 PerfScore 0.25 -G_M40554_IG23: +G_M40554_IG24: ldp x25, x26, [sp, #0x40] ldp x23, x24, [sp, #0x30] ldp x21, x22, [sp, #0x20] ldp x19, x20, [sp, #0x10] ldp fp, lr, [sp], #0x50 ret lr ;; size=24 bbWeight=0.50 PerfScore 3.00 -G_M40554_IG24: +G_M40554_IG25: mov w0, #2 ;; size=4 bbWeight=0.50 PerfScore 0.25 -G_M40554_IG25: +G_M40554_IG26: ldp x25, x26, [sp, #0x40] ldp x23, x24, [sp, #0x30] ldp x21, x22, [sp, #0x20] ldp x19, x20, [sp, #0x10] ldp fp, lr, [sp], #0x50 ret lr ;; size=24 bbWeight=0.50 PerfScore 3.00 -; Total bytes of code 768, prolog size 24, PerfScore 334.12, instruction count 192, allocated bytes for code 768 (MethodHash=b6286195) for method System.Xml.XPath.XPathNavigator:ComparePosition(System.Xml.XPath.XPathNavigator):int:this (FullOpts) +; Total bytes of code 692, prolog size 24, PerfScore 325.12, instruction count 173, allocated bytes for code 692 (MethodHash=b6286195) for method System.Xml.XPath.XPathNavigator:ComparePosition(System.Xml.XPath.XPathNavigator):int:this (FullOpts) ; ============================================================ ```
-72 (-8.57 % of base) - System.Security.Cryptography.Pkcs.SignerInfo:RemoveCounterSignature(int):this ```diff ; Assembly listing for method System.Security.Cryptography.Pkcs.SignerInfo:RemoveCounterSignature(int):this (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; fully interruptible ; No PGO data -; 0 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T04] ( 5, 5 ) ref -> x20 this class-hnd single-def -; V01 arg1 [V01,T03] ( 5, 5.50) int -> x19 single-def -; V02 loc0 [V02,T14] ( 4, 4 ) int -> x0 single-def -; V03 loc1 [V03,T18] ( 4, 3 ) byref -> x20 single-def -; V04 loc2 [V04,T13] ( 6, 4 ) int -> x22 -; V05 loc3 [V05,T21] ( 4, 2.50) int -> x23 -; V06 loc4 [V06,T19] ( 4, 3 ) ubyte -> x24 -; V07 loc5 [V07,T12] ( 4, 5.50) int -> x25 -; V08 loc6 [V08,T06] ( 4, 6.50) ref -> x21 class-hnd exact single-def -; V09 loc7 [V09,T01] ( 6, 17.50) int -> x26 +; V00 this [V00,T05] ( 5, 5 ) ref -> x20 this class-hnd single-def +; V01 arg1 [V01,T04] ( 5, 5.50) int -> x19 single-def +; V02 loc0 [V02,T13] ( 4, 4 ) int -> x0 single-def +; V03 loc1 [V03,T16] ( 4, 3 ) byref -> x0 single-def +; V04 loc2 [V04,T12] ( 6, 4 ) int -> x2 +; V05 loc3 [V05,T19] ( 4, 2.50) int -> x3 +; V06 loc4 [V06,T17] ( 4, 3 ) ubyte -> x4 +; V07 loc5 [V07,T11] ( 4, 5.50) int -> x5 +; V08 loc6 [V08,T07] ( 4, 6.50) ref -> x1 class-hnd exact single-def +; V09 loc7 [V09,T01] ( 6, 17.50) int -> x6 ;* V10 loc8 [V10 ] ( 0, 0 ) struct (16) zero-ref ;# V11 OutArgs [V11 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V12 tmp1 [V12,T22] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" -; V13 tmp2 [V13,T23] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" -; V14 tmp3 [V14,T24] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" -; V15 tmp4 [V15,T25] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" +; V12 tmp1 [V12,T21] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" +; V13 tmp2 [V13,T22] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" +; V14 tmp3 [V14,T23] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" +; V15 tmp4 [V15,T24] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" ;* V16 tmp5 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V17 tmp6 [V17,T15] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" +; V17 tmp6 [V17,T14] ( 2, 4 ) ref -> x1 class-hnd exact single-def "Inlining Arg" ;* V18 tmp7 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V19 tmp8 [V19,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp" -;* V20 tmp9 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -;* V21 tmp10 [V21 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" -; V22 tmp11 [V22,T02] ( 5, 14 ) ref -> x2 "field V10.AttrType (fldOffset=0x0)" P-INDEP -; V23 tmp12 [V23,T07] ( 3, 6.50) ref -> [fp+0x18] spill-single-def "field V10.AttrValues (fldOffset=0x8)" P-INDEP -; V24 tmp13 [V24,T16] ( 2, 4 ) ref -> x0 single-def "argument with side effect" -; V25 tmp14 [V25,T09] ( 3, 6 ) ref -> x2 single-def "arr expr" -; V26 tmp15 [V26,T00] ( 3, 24 ) byref -> x0 "BlockOp address local" +;* V19 tmp8 [V19 ] ( 0, 0 ) ref -> zero-ref "spilling varStr" +; V20 tmp9 [V20,T03] ( 2, 8 ) int -> x8 "spilling unroll qmark" +; V21 tmp10 [V21,T02] ( 6, 15 ) ref -> x8 "field V10.AttrType (fldOffset=0x0)" P-INDEP +; V22 tmp11 [V22,T08] ( 3, 6.50) ref -> x7 "field V10.AttrValues (fldOffset=0x8)" P-INDEP +; V23 tmp12 [V23,T15] ( 2, 4 ) ref -> x0 single-def "argument with side effect" +; V24 tmp13 [V24,T09] ( 3, 6 ) ref -> x1 single-def "arr expr" +; V25 tmp14 [V25,T00] ( 3, 24 ) byref -> x7 "BlockOp address local" +; V26 tmp15 [V26,T25] ( 2, 0 ) ref -> x1 single-def "argument with side effect" ; V27 tmp16 [V27,T26] ( 2, 0 ) ref -> x1 single-def "argument with side effect" ; V28 tmp17 [V28,T27] ( 2, 0 ) ref -> x1 single-def "argument with side effect" ; V29 tmp18 [V29,T28] ( 2, 0 ) ref -> x1 single-def "argument with side effect" -; V30 tmp19 [V30,T29] ( 2, 0 ) ref -> x1 single-def "argument with side effect" -; V31 cse0 [V31,T10] ( 3, 6 ) int -> x0 "CSE #06: aggressive" -; V32 cse1 [V32,T08] ( 3, 6.25) ref -> x28 hoist "CSE #03: aggressive" -; V33 cse2 [V33,T05] ( 5, 7 ) int -> x27 "CSE #07: aggressive" -; V34 cse3 [V34,T11] ( 3, 6 ) int -> x1 "CSE #04: moderate" -; V35 cse4 [V35,T20] ( 3, 3 ) ref -> x21 "CSE #02: moderate" +; V30 cse0 [V30,T10] ( 3, 6 ) int -> x8 "CSE #04: aggressive" +; V31 cse1 [V31,T06] ( 5, 7 ) int -> x20 "CSE #05: aggressive" +; V32 cse2 [V32,T18] ( 3, 3 ) ref -> x1 "CSE #02: moderate" +; V33 rat0 [V33,T20] ( 3, 12 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" ; -; Lcl frame size = 16 +; Lcl frame size = 0 G_M28540_IG01: - stp fp, lr, [sp, #-0x70]! - stp x19, x20, [sp, #0x20] - stp x21, x22, [sp, #0x30] - stp x23, x24, [sp, #0x40] - stp x25, x26, [sp, #0x50] - stp x27, x28, [sp, #0x60] + stp fp, lr, [sp, #-0x20]! + stp x19, x20, [sp, #0x10] mov fp, sp mov x20, x0 mov w19, w1 - ;; size=36 bbWeight=1 PerfScore 7.50 + ;; size=20 bbWeight=1 PerfScore 3.50 G_M28540_IG02: - tbnz w19, #31, G_M28540_IG19 + tbnz w19, #31, G_M28540_IG18 ldr x0, [x20, #0x30] movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Pkcs.SignedCms:get_SignerInfos():System.Security.Cryptography.Pkcs.SignerInfoCollection:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] ldr wzr, [x0] blr x1 ldr x0, [x0, #0x08] mov x1, x20 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Pkcs.SignerInfoCollection:FindIndexForSigner(System.Security.Cryptography.Pkcs.SignerInfo[],System.Security.Cryptography.Pkcs.SignerInfo):int movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 - tbnz w0, #31, G_M28540_IG18 - ldr x2, [x20, #0x30] - ldr x2, [x2, #0x40] - ldr w1, [x2, #0x08] - cmp w0, w1 - bhs G_M28540_IG20 - mov w1, #184 + tbnz w0, #31, G_M28540_IG17 + ldr x1, [x20, #0x30] + ldr x1, [x1, #0x40] + ldr w2, [x1, #0x08] + cmp w0, w2 + bhs G_M28540_IG19 + mov w2, #184 mov x3, #16 - umaddl x0, w0, w1, x3 - add x20, x2, x0 - ldr x21, [x20] - cbz x21, G_M28540_IG17 - movn w22, #0 - movn w23, #0 - mov w24, wzr - mov w25, wzr - mov w26, wzr - ldr w27, [x21, #0x08] - cmp w27, #0 - ble G_M28540_IG08 + umaddl x0, w0, w2, x3 + add x0, x1, x0 + ldr x1, [x0] + cbz x1, G_M28540_IG16 + movn w2, #0 + movn w3, #0 + mov w4, wzr + mov w5, wzr + mov w6, wzr + ldr w20, [x1, #0x08] + cmp w20, #0 + ble G_M28540_IG07 + align [0 bytes for IG03] + align [0 bytes] + align [0 bytes] + align [0 bytes] ;; size=140 bbWeight=1 PerfScore 50.50 G_M28540_IG03: - movz x28, #0xD1FFAB1E - movk x28, #0xD1FFAB1E LSL #16 - movk x28, #0xD1FFAB1E LSL #32 - ;; size=12 bbWeight=0.25 PerfScore 0.38 + ubfiz x7, x6, #4, #32 + add x7, x7, #16 + add x7, x1, x7 + ldp x8, x7, [x7] + cbz x8, G_M28540_IG06 + ;; size=20 bbWeight=4 PerfScore 28.00 G_M28540_IG04: - ubfiz x0, x26, #4, #32 - add x0, x0, #16 - add x0, x21, x0 - ldp x2, x3, [x0] - str x3, [fp, #0x18] // [V23 tmp12] - cmp x2, x28 - beq G_M28540_IG06 - ;; size=28 bbWeight=4 PerfScore 34.00 + ldr w9, [x8, #0x08] + cmp w9, #20 + bne G_M28540_IG06 + ;; size=12 bbWeight=1 PerfScore 4.50 G_M28540_IG05: - cbz x2, G_M28540_IG07 - ldr w1, [x2, #0x08] - cmp w1, #20 - bne G_M28540_IG07 - add x0, x2, #12 - lsl w2, w1, #1 - mov w2, w2 - add x1, x28, #12 - movz x4, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x4, #0xD1FFAB1E LSL #16 - movk x4, #0xD1FFAB1E LSL #32 - ldr x4, [x4] - blr x4 - cbz w0, G_M28540_IG07 - ;; size=56 bbWeight=2 PerfScore 29.00 + ldr q16, [x8, #0x0C] + ldr q17, [x8, #0x1C] + ldr q18, [@RWD00] + eor v16.2d, v16.2d, v18.2d + ldr q18, [@RWD16] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x8, #0x24] + ldr q18, [@RWD32] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x8, v16.d[0] + cmp x8, #0 + cset x8, eq + cbz w8, G_M28540_IG06 + ldr w8, [x7, #0x08] + add w8, w8, w5 + cmp w19, w8 + blt G_M28540_IG10 + sxtw w5, w8 + ;; size=84 bbWeight=2 PerfScore 54.00 G_M28540_IG06: - ldr x3, [fp, #0x18] // [V23 tmp12] - ldr w0, [x3, #0x08] - add w0, w0, w25 - cmp w19, w0 - blt G_M28540_IG11 - sxtw w25, w0 - ;; size=24 bbWeight=2 PerfScore 15.00 -G_M28540_IG07: - add w26, w26, #1 - cmp w27, w26 - bgt G_M28540_IG04 + add w6, w6, #1 + cmp w20, w6 + bgt G_M28540_IG03 ;; size=12 bbWeight=4 PerfScore 8.00 -G_M28540_IG08: - tbnz w22, #31, G_M28540_IG16 - cbz w24, G_M28540_IG12 +G_M28540_IG07: + tbnz w2, #31, G_M28540_IG15 + cbz w4, G_M28540_IG11 ;; size=8 bbWeight=1 PerfScore 2.00 -G_M28540_IG09: - cmp w27, #1 - bne G_M28540_IG14 - str xzr, [x20] +G_M28540_IG08: + cmp w20, #1 + bne G_M28540_IG13 + str xzr, [x0] ;; size=12 bbWeight=0.50 PerfScore 1.25 -G_M28540_IG10: - ldp x27, x28, [sp, #0x60] - ldp x25, x26, [sp, #0x50] - ldp x23, x24, [sp, #0x40] - ldp x21, x22, [sp, #0x30] - ldp x19, x20, [sp, #0x20] - ldp fp, lr, [sp], #0x70 +G_M28540_IG09: + ldp x19, x20, [sp, #0x10] + ldp fp, lr, [sp], #0x20 ret lr - ;; size=28 bbWeight=0.50 PerfScore 3.50 -G_M28540_IG11: - sxtw w22, w26 - sub w23, w19, w25 - cbnz w23, G_M28540_IG08 - ldr w0, [x3, #0x08] - mov w1, #1 - cmp w0, #1 - csel w24, w24, w1, ne - b G_M28540_IG08 + ;; size=12 bbWeight=0.50 PerfScore 1.50 +G_M28540_IG10: + sxtw w2, w6 + sub w3, w19, w5 + cbnz w3, G_M28540_IG07 + ldr w5, [x7, #0x08] + mov w6, #1 + cmp w5, #1 + csel w4, w4, w6, ne + b G_M28540_IG07 ;; size=32 bbWeight=0.50 PerfScore 3.75 -G_M28540_IG12: - cmp w22, w27 - bhs G_M28540_IG20 - ubfiz x0, x22, #4, #32 +G_M28540_IG11: + cmp w2, w20 + bhs G_M28540_IG19 + ubfiz x0, x2, #4, #32 add x0, x0, #16 - add x0, x21, x0 + add x0, x1, x0 add x0, x0, #8 - mov w1, w23 + mov w1, w3 movz x2, #0xD1FFAB1E // code for Internal.Cryptography.PkcsHelpers:RemoveAt[System.ReadOnlyMemory`1[ubyte]](byref,int) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] ;; size=44 bbWeight=0.50 PerfScore 4.50 -G_M28540_IG13: - ldp x27, x28, [sp, #0x60] - ldp x25, x26, [sp, #0x50] - ldp x23, x24, [sp, #0x40] - ldp x21, x22, [sp, #0x30] - ldp x19, x20, [sp, #0x20] - ldp fp, lr, [sp], #0x70 +G_M28540_IG12: + ldp x19, x20, [sp, #0x10] + ldp fp, lr, [sp], #0x20 br x2 - ;; size=28 bbWeight=0.50 PerfScore 3.50 -G_M28540_IG14: - mov x0, x20 - mov w1, w22 + ;; size=12 bbWeight=0.50 PerfScore 1.50 +G_M28540_IG13: + mov w1, w2 movz x2, #0xD1FFAB1E // code for Internal.Cryptography.PkcsHelpers:RemoveAt[System.Security.Cryptography.Asn1.AttributeAsn](byref,int) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] - ;; size=24 bbWeight=0.50 PerfScore 2.75 -G_M28540_IG15: - ldp x27, x28, [sp, #0x60] - ldp x25, x26, [sp, #0x50] - ldp x23, x24, [sp, #0x40] - ldp x21, x22, [sp, #0x30] - ldp x19, x20, [sp, #0x20] - ldp fp, lr, [sp], #0x70 + ;; size=20 bbWeight=0.50 PerfScore 2.50 +G_M28540_IG14: + ldp x19, x20, [sp, #0x10] + ldp fp, lr, [sp], #0x20 br x2 - ;; size=28 bbWeight=0.50 PerfScore 3.50 + ;; size=12 bbWeight=0.50 PerfScore 1.50 +G_M28540_IG15: + movz x0, #0xD1FFAB1E + movk x0, #0xD1FFAB1E LSL #16 + movk x0, #0xD1FFAB1E LSL #32 + bl CORINFO_HELP_NEWSFAST + mov x19, x0 + movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Cms_NoSignerAtIndex():System.String + movk x0, #0xD1FFAB1E LSL #16 + movk x0, #0xD1FFAB1E LSL #32 + ldr x0, [x0] + blr x0 + mov x1, x0 + mov x0, x19 + movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + ldr x2, [x2] + blr x2 + mov x0, x19 + bl CORINFO_HELP_THROW + brk #0 + ;; size=80 bbWeight=0 PerfScore 0.00 G_M28540_IG16: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x19, x0 movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Cms_NoSignerAtIndex():System.String movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 mov x1, x0 mov x0, x19 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x0, x19 bl CORINFO_HELP_THROW brk #0 ;; size=80 bbWeight=0 PerfScore 0.00 G_M28540_IG17: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x19, x0 - movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Cms_NoSignerAtIndex():System.String + movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Cms_SignerNotFound():System.String movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 mov x1, x0 mov x0, x19 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x0, x19 bl CORINFO_HELP_THROW brk #0 ;; size=80 bbWeight=0 PerfScore 0.00 G_M28540_IG18: - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - bl CORINFO_HELP_NEWSFAST - mov x19, x0 - movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Cms_SignerNotFound():System.String - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldr x0, [x0] - blr x0 - mov x1, x0 - mov x0, x19 - movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 - mov x0, x19 - bl CORINFO_HELP_THROW - brk #0 - ;; size=80 bbWeight=0 PerfScore 0.00 -G_M28540_IG19: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x19, x0 mov w0, #0xD1FFAB1E movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_STRCNS mov x1, x0 mov x0, x19 movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x0, x19 bl CORINFO_HELP_THROW brk #0 ;; size=80 bbWeight=0 PerfScore 0.00 -G_M28540_IG20: +G_M28540_IG19: bl CORINFO_HELP_RNGCHKFAIL brk #0 ;; size=8 bbWeight=0 PerfScore 0.00 +RWD00 dq 002E0032002E0031h, 002E003000340038h +RWD16 dq 0035003300310031h, 0031002E00390034h +RWD32 dq 0031002E00390034h, 0036002E0039002Eh -; Total bytes of code 840, prolog size 36, PerfScore 169.12, instruction count 210, allocated bytes for code 840 (MethodHash=e20b9083) for method System.Security.Cryptography.Pkcs.SignerInfo:RemoveCounterSignature(int):this (FullOpts) + +; Total bytes of code 768, prolog size 20, PerfScore 167.00, instruction count 196, allocated bytes for code 768 (MethodHash=e20b9083) for method System.Security.Cryptography.Pkcs.SignerInfo:RemoveCounterSignature(int):this (FullOpts) ; ============================================================ ```
-36 (-15.79 % of base) - System.Configuration.ClientConfigurationSystem:IsSectionUsedInInit(System.String):ubyte:this ```diff ; Assembly listing for method System.Configuration.ClientConfigurationSystem:IsSectionUsedInInit(System.String):ubyte:this (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data +; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 3, 2.50) ref -> x20 this class-hnd single-def -; V01 arg1 [V01,T00] ( 9, 5.50) ref -> x19 class-hnd single-def +; V00 this [V00,T01] ( 3, 2.50) ref -> x0 this class-hnd single-def +; V01 arg1 [V01,T00] ( 10, 5.75) ref -> x1 class-hnd single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr" -; V04 tmp2 [V04,T04] ( 3, 2 ) int -> x0 "spilling unroll qmark" -; V05 tmp3 [V05,T05] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp" -;* V06 tmp4 [V06 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" -; V07 cse0 [V07,T02] ( 5, 2.50) int -> x21 multi-def "CSE #01: aggressive" -; V08 cse1 [V08,T03] ( 3, 2.50) ref -> x1 "CSE #02: aggressive" -; V09 rat0 [V09,T06] ( 3, 1.50) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V04 tmp2 [V04,T02] ( 3, 2 ) int -> x0 "spilling unroll qmark" +;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr" +; V06 tmp4 [V06,T03] ( 2, 2 ) int -> x2 "spilling unroll qmark" +; V07 rat0 [V07,T04] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V08 rat1 [V08,T05] ( 3, 1.50) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" ; -; Lcl frame size = 8 +; Lcl frame size = 0 G_M6934_IG01: - stp fp, lr, [sp, #-0x30]! - stp x19, x20, [sp, #0x18] - str x21, [sp, #0x28] + stp fp, lr, [sp, #-0x10]! mov fp, sp - mov x20, x0 - mov x19, x1 - ;; size=24 bbWeight=1 PerfScore 4.50 + ;; size=8 bbWeight=1 PerfScore 1.50 G_M6934_IG02: - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - cmp x19, x1 - beq G_M6934_IG04 - ;; size=20 bbWeight=1 PerfScore 3.00 + cbz x1, G_M6934_IG06 + ;; size=4 bbWeight=1 PerfScore 1.00 G_M6934_IG03: - cbz x19, G_M6934_IG06 - ldr w21, [x19, #0x08] - cmp w21, #18 + ldr w2, [x1, #0x08] + cmp w2, #18 bne G_M6934_IG06 - add x0, x19, #12 - lsl w2, w21, #1 - mov w2, w2 - add x1, x1, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbz w0, G_M6934_IG06 - ;; size=56 bbWeight=0.50 PerfScore 7.25 + ;; size=12 bbWeight=0.25 PerfScore 1.12 G_M6934_IG04: + ldr q16, [x1, #0x0C] + ldr q17, [x1, #0x1C] + ldr q18, [@RWD00] + eor v16.2d, v16.2d, v18.2d + ldr q18, [@RWD16] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x1, #0x20] + ldr q18, [@RWD32] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x2, v16.d[0] + cmp x2, #0 + cset x2, eq + cbz w2, G_M6934_IG06 mov w0, #1 - ;; size=4 bbWeight=0.50 PerfScore 0.25 + ;; size=68 bbWeight=0.50 PerfScore 11.00 G_M6934_IG05: - ldr x21, [sp, #0x28] - ldp x19, x20, [sp, #0x18] - ldp fp, lr, [sp], #0x30 + ldp fp, lr, [sp], #0x10 ret lr - ;; size=16 bbWeight=0.50 PerfScore 2.50 + ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M6934_IG06: - ldrb w0, [x20, #0x30] + ldrb w0, [x0, #0x30] cbnz w0, G_M6934_IG08 mov w0, wzr ;; size=12 bbWeight=0.50 PerfScore 2.25 G_M6934_IG07: - ldr x21, [sp, #0x28] - ldp x19, x20, [sp, #0x18] - ldp fp, lr, [sp], #0x30 + ldp fp, lr, [sp], #0x10 ret lr - ;; size=16 bbWeight=0.50 PerfScore 2.50 + ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M6934_IG08: - ldr w21, [x19, #0x08] - cmp w21, #11 + ldr w0, [x1, #0x08] + cmp w0, #11 bge G_M6934_IG10 ;; size=12 bbWeight=0.50 PerfScore 2.25 G_M6934_IG09: mov w0, wzr b G_M6934_IG11 ;; size=8 bbWeight=0.25 PerfScore 0.38 G_M6934_IG10: - ldr q16, [x19, #0x0C] - ldr q17, [@RWD00] + ldr q16, [x1, #0x0C] + ldr q17, [@RWD48] eor v16.2d, v16.2d, v17.2d - ldr q17, [x19, #0x12] - ldr q18, [@RWD16] + ldr q17, [x1, #0x12] + ldr q18, [@RWD64] eor v17.2d, v17.2d, v18.2d orr v16.2d, v16.2d, v17.2d umaxp v16.4s, v16.4s, v16.4s umov x0, v16.d[0] cmp x0, #0 cset x0, eq ;; size=44 bbWeight=0.25 PerfScore 3.62 G_M6934_IG11: - ldr x21, [sp, #0x28] - ldp x19, x20, [sp, #0x18] - ldp fp, lr, [sp], #0x30 + ldp fp, lr, [sp], #0x10 ret lr - ;; size=16 bbWeight=0.50 PerfScore 2.50 -RWD00 dq 0074007300790073h, 006E002E006D0065h -RWD16 dq 002E006D00650074h, 002F00740065006Eh + ;; size=8 bbWeight=0.50 PerfScore 1.00 +RWD00 dq 0074007300790073h, 0064002E006D0065h +RWD16 dq 006E006700610069h, 006900740073006Fh +RWD32 dq 0073006F006E0067h, 0073006300690074h +RWD48 dq 0074007300790073h, 006E002E006D0065h +RWD64 dq 002E006D00650074h, 002F00740065006Eh -; Total bytes of code 228, prolog size 16, PerfScore 31.00, instruction count 57, allocated bytes for code 228 (MethodHash=0d81e4e9) for method System.Configuration.ClientConfigurationSystem:IsSectionUsedInInit(System.String):ubyte:this (FullOpts) +; Total bytes of code 192, prolog size 8, PerfScore 26.12, instruction count 48, allocated bytes for code 192 (MethodHash=0d81e4e9) for method System.Configuration.ClientConfigurationSystem:IsSectionUsedInInit(System.String):ubyte:this (FullOpts) ; ============================================================ ```
-36 (-7.03 % of base) - System.Security.Cryptography.X509Certificates.X509Certificate2:get_PrivateKey():System.Security.Cryptography.AsymmetricAlgorithm:this ```diff ; Assembly listing for method System.Security.Cryptography.X509Certificates.X509Certificate2:get_PrivateKey():System.Security.Cryptography.AsymmetricAlgorithm:this (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 12 single block inlinees; 2 inlinees without PGO data +; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 9, 6.50) ref -> x19 this class-hnd single-def -; V01 loc0 [V01,T06] ( 3, 1.50) ref -> x15 class-hnd -; V02 loc1 [V02,T01] ( 9, 4.50) ref -> x21 class-hnd exact single-def +; V01 loc0 [V01,T08] ( 3, 1.50) ref -> x15 class-hnd +; V02 loc1 [V02,T01] ( 11, 5 ) ref -> x0 class-hnd exact single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V04 tmp1 [V04,T11] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" -; V05 tmp2 [V05,T09] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp" -;* V06 tmp3 [V06 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" -; V07 tmp4 [V07,T10] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp" -;* V08 tmp5 [V08 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" +;* V05 tmp2 [V05 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr" +; V06 tmp3 [V06,T06] ( 2, 2 ) int -> x1 "spilling unroll qmark" +;* V07 tmp4 [V07 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr" +; V08 tmp5 [V08,T07] ( 2, 2 ) int -> x0 "spilling unroll qmark" ; V09 tmp6 [V09,T04] ( 2, 2 ) ref -> x0 single-def "argument with side effect" ; V10 tmp7 [V10,T05] ( 2, 2 ) ref -> x0 single-def "argument with side effect" ; V11 tmp8 [V11,T12] ( 2, 0 ) ref -> x1 single-def "argument with side effect" -; V12 cse0 [V12,T03] ( 4, 2 ) byref -> x20 "CSE #08: aggressive" -; V13 cse1 [V13,T02] ( 6, 3 ) int -> x22 multi-def "CSE #01: aggressive" -; V14 cse2 [V14,T07] ( 3, 1.50) ref -> x1 "CSE #02: moderate" -; V15 cse3 [V15,T08] ( 3, 1.50) ref -> x1 "CSE #05: moderate" +; V12 cse0 [V12,T02] ( 4, 2 ) ref -> x0 multi-def "CSE #06: aggressive" +; V13 cse1 [V13,T03] ( 4, 2 ) byref -> x20 "CSE #08: aggressive" +; V14 rat0 [V14,T09] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" +; V15 rat1 [V15,T10] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable" ; ; Lcl frame size = 0 G_M27222_IG01: - stp fp, lr, [sp, #-0x30]! + stp fp, lr, [sp, #-0x20]! stp x19, x20, [sp, #0x10] - stp x21, x22, [sp, #0x20] mov fp, sp mov x19, x0 - ;; size=20 bbWeight=1 PerfScore 4.00 + ;; size=16 bbWeight=1 PerfScore 3.00 G_M27222_IG02: mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509Certificate2:get_HasPrivateKey():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 - cbz w0, G_M27222_IG10 + cbz w0, G_M27222_IG13 ;; size=52 bbWeight=1 PerfScore 13.00 G_M27222_IG03: add x20, x19, #128 ldapr x0, [x20] - cbnz x0, G_M27222_IG08 + cbnz x0, G_M27222_IG11 mov x0, x19 ldr x1, [x19] ldr x1, [x1, #0x58] ldr x1, [x1] blr x1 - mov x21, x0 - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - cmp x21, x1 - beq G_M27222_IG04 - cbz x21, G_M27222_IG05 - ldr w22, [x21, #0x08] - cmp w22, #20 - bne G_M27222_IG05 - lsl w2, w22, #1 - mov w2, w2 - add x1, x1, #12 - add x0, x21, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbz w0, G_M27222_IG05 - ;; size=112 bbWeight=0.50 PerfScore 16.50 + cbz x0, G_M27222_IG05 + ;; size=36 bbWeight=0.50 PerfScore 8.00 G_M27222_IG04: + ldr w1, [x0, #0x08] + cmp w1, #20 + beq G_M27222_IG08 + ;; size=12 bbWeight=0.25 PerfScore 1.12 +G_M27222_IG05: + cbz x0, G_M27222_IG15 + ;; size=4 bbWeight=0.50 PerfScore 0.50 +G_M27222_IG06: + ldr w11, [x0, #0x08] + cmp w11, #17 + bne G_M27222_IG15 + ;; size=12 bbWeight=0.25 PerfScore 1.12 +G_M27222_IG07: + ldr q16, [x0, #0x0C] + ldr q17, [x0, #0x1C] + ldr q18, [@RWD00] + eor v16.2d, v16.2d, v18.2d + ldr q18, [@RWD16] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x1E] + ldr q18, [@RWD32] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x0, v16.d[0] + cmp x0, #0 + cset x0, eq + cbnz w0, G_M27222_IG09 + b G_M27222_IG15 + ;; size=68 bbWeight=0.50 PerfScore 11.25 +G_M27222_IG08: + ldr q16, [x0, #0x0C] + ldr q17, [x0, #0x1C] + ldr q18, [@RWD00] + eor v16.2d, v16.2d, v18.2d + ldr q18, [@RWD48] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + ldr q17, [x0, #0x24] + ldr q18, [@RWD64] + eor v17.2d, v17.2d, v18.2d + orr v16.2d, v16.2d, v17.2d + umaxp v16.4s, v16.4s, v16.4s + umov x1, v16.d[0] + cmp x1, #0 + cset x1, eq + cbz w1, G_M27222_IG06 ldr x1, [x19, #0x48] movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTINTERFACE movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 movz x11, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ICertificatePal:GetRSAPrivateKey():System.Security.Cryptography.RSA:this movk x11, #0xD1FFAB1E LSL #16 movk x11, #0xD1FFAB1E LSL #32 ldr xip0, [x11] blr xip0 mov x15, x0 - b G_M27222_IG07 - ;; size=64 bbWeight=0.50 PerfScore 8.50 -G_M27222_IG05: - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - cmp x21, x1 - beq G_M27222_IG06 - cbz x21, G_M27222_IG12 - ldr w22, [x21, #0x08] - cmp w22, #17 - bne G_M27222_IG12 - lsl w2, w22, #1 - mov w2, w2 - add x1, x1, #12 - add x0, x21, #12 - movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - cbz w0, G_M27222_IG12 - ;; size=76 bbWeight=0.50 PerfScore 8.75 -G_M27222_IG06: - ldr x1, [x19, #0x48] - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTINTERFACE - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + b G_M27222_IG10 + ;; size=128 bbWeight=0.50 PerfScore 19.25 +G_M27222_IG09: + ldr x0, [x19, #0x48] movz x11, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ICertificatePal:GetDSAPrivateKey():System.Security.Cryptography.DSA:this movk x11, #0xD1FFAB1E LSL #16 movk x11, #0xD1FFAB1E LSL #32 ldr xip0, [x11] blr xip0 mov x15, x0 - ;; size=60 bbWeight=0.50 PerfScore 8.00 -G_M27222_IG07: + ;; size=28 bbWeight=0.50 PerfScore 4.50 +G_M27222_IG10: mov x14, x20 bl CORINFO_HELP_ASSIGN_REF ;; size=8 bbWeight=0.50 PerfScore 0.75 -G_M27222_IG08: +G_M27222_IG11: ldapr x0, [x20] ;; size=4 bbWeight=0.50 PerfScore 1.50 -G_M27222_IG09: - ldp x21, x22, [sp, #0x20] +G_M27222_IG12: ldp x19, x20, [sp, #0x10] - ldp fp, lr, [sp], #0x30 + ldp fp, lr, [sp], #0x20 ret lr - ;; size=16 bbWeight=0.50 PerfScore 2.00 -G_M27222_IG10: + ;; size=12 bbWeight=0.50 PerfScore 1.50 +G_M27222_IG13: mov x0, xzr ;; size=4 bbWeight=0.50 PerfScore 0.25 -G_M27222_IG11: - ldp x21, x22, [sp, #0x20] +G_M27222_IG14: ldp x19, x20, [sp, #0x10] - ldp fp, lr, [sp], #0x30 + ldp fp, lr, [sp], #0x20 ret lr - ;; size=16 bbWeight=0.50 PerfScore 2.00 -G_M27222_IG12: + ;; size=12 bbWeight=0.50 PerfScore 1.50 +G_M27222_IG15: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x19, x0 movz x0, #0xD1FFAB1E // code for System.SR:get_NotSupported_KeyAlgorithm():System.String movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 mov x1, x0 mov x0, x19 movz x2, #0xD1FFAB1E // code for System.NotSupportedException:.ctor(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x0, x19 bl CORINFO_HELP_THROW brk #0 ;; size=80 bbWeight=0 PerfScore 0.00 +RWD00 dq 002E0032002E0031h, 002E003000340038h +RWD16 dq 0034003000300031h, 002E0034002E0030h +RWD32 dq 0030003400300030h, 0031002E0034002Eh +RWD48 dq 0035003300310031h, 0031002E00390034h +RWD64 dq 0031002E00390034h, 0031002E0031002Eh -; Total bytes of code 512, prolog size 16, PerfScore 65.25, instruction count 128, allocated bytes for code 512 (MethodHash=92fc95a9) for method System.Security.Cryptography.X509Certificates.X509Certificate2:get_PrivateKey():System.Security.Cryptography.AsymmetricAlgorithm:this (FullOpts) + +; Total bytes of code 476, prolog size 12, PerfScore 67.25, instruction count 119, allocated bytes for code 476 (MethodHash=92fc95a9) for method System.Security.Cryptography.X509Certificates.X509Certificate2:get_PrivateKey():System.Security.Cryptography.AsymmetricAlgorithm: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/0860e11beb422aa0557d87ca80b0523b

MihuBot commented 7 hours ago

@EgorBo