MihuBot / runtime-utils

0 stars 0 forks source link

[ARM64] [xtqqczze] BinaryWriter perf improvements #296

Open MihuBot opened 5 months ago

MihuBot commented 5 months ago

Build completed in 35 minutes. https://github.com/dotnet/runtime/pull/99775

Diffs

Diffs ``` Found 349 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 47171656 Total bytes of diff: 47174148 Total bytes of delta: 2492 (0.01 % of base) Total relative delta: 0.01 diff is a regression. relative diff is a regression. Total byte diff includes 288 bytes from reconciling methods Base had 1 unique methods, 60 unique bytes Diff had 7 unique methods, 348 unique bytes Top file regressions (bytes): 2480 : System.Security.Cryptography.dasm (0.191% of base) 288 : System.IO.Compression.dasm (0.240% of base) 148 : System.Private.Xml.dasm (0.003% of base) 16 : System.ServiceModel.Syndication.dasm (0.008% of base) 12 : Microsoft.Extensions.DependencyInjection.dasm (0.012% of base) 8 : System.IO.IsolatedStorage.dasm (0.027% of base) 8 : System.Configuration.ConfigurationManager.dasm (0.001% of base) 4 : System.ComponentModel.TypeConverter.dasm (0.001% of base) Top file improvements (bytes): -200 : System.Resources.Writer.dasm (-1.677% of base) -92 : System.Resources.Extensions.dasm (-0.212% of base) -76 : System.Private.CoreLib.dasm (-0.001% of base) -48 : System.Data.Common.dasm (-0.002% of base) -20 : System.Text.Json.dasm (-0.001% of base) -20 : System.Private.DataContractSerialization.dasm (-0.002% of base) -12 : System.Runtime.Serialization.Formatters.dasm (-0.009% of base) -4 : System.Net.Security.dasm (-0.001% of base) 16 total files with Code Size differences (8 improved, 8 regressed), 240 unchanged. Top method regressions (bytes): 100 (2.796% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__44:MoveNext():this (FullOpts) 92 (4.064% of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryStaticData:GetObjectData(byref,byref):this (FullOpts) 76 (3.800% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[] (FullOpts) 68 (9.942% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 60 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:g__WriteToOutStream|40_0(ubyte[],int,int,ubyte):this (FullOpts) (0 base, 1 diff methods) 60 (9.804% of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64EndOfCentralDirectoryRecord:WriteBlock(System.IO.Stream,long,long,long) (FullOpts) 56 (5.036% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) (FullOpts) 52 (7.345% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) 52 (9.420% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[double](double):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[int](int):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[long](long):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[short](short):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[ubyte](ubyte):this (FullOpts) (0 base, 1 diff methods) 48 (4.461% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchiveEntry:WriteCrcAndSizesInLocalHeader(ubyte):this (FullOpts) 48 (9.091% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchiveEntry:WriteDataDescriptor():this (FullOpts) 48 (1.302% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__53:MoveNext():this (FullOpts) 48 (3.614% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+d__16:MoveNext():this (FullOpts) 48 (6.780% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:TryDecrypt(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.RSAEncryptionPadding,byref):ubyte:this (FullOpts) 48 (4.511% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 48 (3.822% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:LoadSigningRequestPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,System.Security.Cryptography.RSASignaturePadding):System.Security.Cryptography.X509Certificates.CertificateRequest (FullOpts) 44 (8.088% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 44 (2.026% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__56:MoveNext():this (FullOpts) 44 (9.821% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 44 (9.821% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 44 (9.483% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts) 44 (9.649% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts) 44 (8.943% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts) 44 (9.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts) 36 (6.618% of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64ExtraField:WriteBlock(System.IO.Stream):this (FullOpts) 36 (4.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:g__TransformBlock|53_0(System.Security.Cryptography.ICryptoTransform,System.ReadOnlyMemory`1[ubyte],ubyte[],int):int (FullOpts) 36 (5.028% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) 36 (7.438% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts) 36 (2.795% of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaInfo:Add(System.Xml.Schema.SchemaInfo,System.Xml.Schema.ValidationEventHandler):this (FullOpts) 32 (3.320% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:Pbkdf2Core(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,System.Security.Cryptography.HashAlgorithmName) (FullOpts) 32 (4.301% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) 32 (2.010% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeAuthSafe(System.Formats.Asn1.AsnWriter,System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte],ubyte,System.String,System.String,System.Span`1[ubyte],System.Span`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 28 (12.963% of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts) 28 (6.542% of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64EndOfCentralDirectoryLocator:WriteBlock(System.IO.Stream,long) (FullOpts) 28 (7.292% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts) 28 (3.804% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 28 (3.933% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Numerics.Vector`1[float]],System.Span`1[ushort],byref):ubyte (FullOpts) 28 (3.627% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[double](System.ReadOnlySpan`1[ubyte],double,System.Security.Cryptography.RSA+TryFunc`1[double],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[int](System.ReadOnlySpan`1[ubyte],int,System.Security.Cryptography.RSA+TryFunc`1[int],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[long](System.ReadOnlySpan`1[ubyte],long,System.Security.Cryptography.RSA+TryFunc`1[long],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[short](System.ReadOnlySpan`1[ubyte],short,System.Security.Cryptography.RSA+TryFunc`1[short],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.__Canon](System.ReadOnlySpan`1[ubyte],System.__Canon,System.Security.Cryptography.RSA+TryFunc`1[System.__Canon],ubyte):ubyte[]:this (FullOpts) 28 (3.684% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Nullable`1[int]](System.ReadOnlySpan`1[ubyte],System.Nullable`1[int],System.Security.Cryptography.RSA+TryFunc`1[System.Nullable`1[int]],ubyte):ubyte[]:this (FullOpts) 28 (3.382% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ubyte],System.Numerics.Vector`1[float],System.Security.Cryptography.RSA+TryFunc`1[System.Numerics.Vector`1[float]],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,System.Security.Cryptography.RSA+TryFunc`1[ubyte],ubyte):ubyte[]:this (FullOpts) 28 (3.723% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts) 28 (1.138% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoOneShot:OneShotDecrypt(System.Security.Cryptography.ILiteSymmetricCipher,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte (FullOpts) 28 (2.414% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeCerts(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[],int,System.Span`1[ubyte],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],byref,byref,byref):System.ArraySegment`1[ubyte] (FullOpts) 28 (4.605% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeKeys(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int):System.ArraySegment`1[ubyte] (FullOpts) 28 (13.208% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts) 28 (3.763% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts) 24 (1.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Asn1.Pkcs12.PfxAsn:DecryptContentInfo(System.Security.Cryptography.Asn1.Pkcs7.ContentInfoAsn,byref):System.ArraySegment`1[ubyte] (FullOpts) 24 (5.000% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts) 24 (0.784% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:DeriveSecretAgreement(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.IncrementalHash):ubyte[]:this (FullOpts) 24 (8.571% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 24 (1.775% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HKDF:Expand(System.Security.Cryptography.HashAlgorithmName,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.ReadOnlySpan`1[ubyte]) (FullOpts) 24 (4.412% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 24 (3.030% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 24 (2.214% 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.214% 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.214% 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.214% 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.214% 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.214% 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.214% 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.214% 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.835% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts) 24 (1.066% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Pkcs.Pkcs12Kdf:Derive(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,ubyte,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) (FullOpts) 24 (3.797% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts) 24 (4.317% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 24 (1.418% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 24 (2.597% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts) 24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) 24 (0.250% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:ToString(ubyte):System.String:this (FullOpts) 20 (1.222% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchiveEntry:WriteCentralDirectoryFileHeader():this (FullOpts) 20 (4.464% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipGenericExtraField:WriteBlock(System.IO.Stream):this (FullOpts) 20 (2.809% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[double,System.Nullable`1[int]](double,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[double,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.890% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Nullable`1[int],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.994% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[ubyte](ubyte,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[ubyte],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.591% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts) 20 (0.538% of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping,ubyte,ubyte,System.String):System.Object:this (FullOpts) 16 (2.353% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipEndOfCentralDirectoryBlock:WriteBlock(System.IO.Stream,long,long,long,ubyte[]) (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[int,System.Nullable`1[int]](int,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[int,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[long,System.Nullable`1[int]](long,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[long,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[short,System.Nullable`1[int]](short,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[short,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.__Canon,System.Nullable`1[int]](System.__Canon,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.__Canon,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[ubyte,System.Nullable`1[int]](ubyte,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[ubyte,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 16 (2.073% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ExtractPrivateKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int,System.Security.Cryptography.AsymmetricAlgorithm[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[]):this (FullOpts) Top method improvements (bytes): -200 (-5.280% of base) : System.Resources.Writer.dasm - System.Resources.ResourceWriter:Generate():this (FullOpts) -92 (-2.500% of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts) -68 (-3.108% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts) -60 (-100.000% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:g__WriteToOutStream|39_0(ubyte[],int,int,ubyte):this (FullOpts) (1 base, 0 diff methods) -44 (-5.584% of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:FillSchemaInternal(System.Data.DataSet,System.Data.DataTable,int,System.Data.IDbCommand,System.String,int):System.Object:this (FullOpts) -44 (-47.826% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(short):this (FullOpts) -44 (-47.826% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(System.Half):this (FullOpts) -44 (-6.587% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(ushort):this (FullOpts) (2 methods) -40 (-45.455% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(int):this (FullOpts) -40 (-45.455% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(long):this (FullOpts) -40 (-45.455% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(uint):this (FullOpts) -40 (-45.455% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(ulong):this (FullOpts) -36 (-42.857% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(double):this (FullOpts) -36 (-42.857% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(float):this (FullOpts) -36 (-1.119% of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateLiteralMembersElementInternal(System.Xml.Serialization.MemberMapping[],ubyte,System.Object[]):ubyte:this (FullOpts) -16 (-1.176% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) -12 (-0.425% of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__172:MoveNext():this (FullOpts) -8 (-0.755% of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryFormatter:Deserialize(System.IO.Stream):System.Object:this (FullOpts) -8 (-0.905% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts) -8 (-0.327% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaImporter:CreateSchemaObjects():System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Runtime.Serialization.SchemaObjectInfo]:this (FullOpts) -8 (-1.887% of base) : System.Private.CoreLib.dasm - System.Text.EncodingTable:InternalGetCodePageDataItem(int,int):System.Text.CodePageDataItem (FullOpts) -8 (-2.083% of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslAstAnalyzer:.ctor():this (FullOpts) -4 (-0.685% of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[ubyte,System.Nullable`1[int]]:VisitCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,ubyte):System.Nullable`1[int]:this (FullOpts) -4 (-3.030% of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ExpressionResolverBuilder:VisitFactory(Microsoft.Extensions.DependencyInjection.ServiceLookup.FactoryCallSite,System.Object):System.Linq.Expressions.Expression:this (FullOpts) -4 (-2.632% of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ExpressionResolverBuilder:VisitScopeCache(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,System.Object):System.Linq.Expressions.Expression:this (FullOpts) -4 (-0.588% of base) : System.Data.Common.dasm - System.Data.Function:.cctor() (FullOpts) -4 (-0.521% of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPipeEventDispatcher:CommitDispatchConfiguration():this (FullOpts) -4 (-0.840% of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:GetChannelData():ulong[]:this (FullOpts) -4 (-2.222% of base) : System.Net.Security.dasm - System.Net.Security.CipherSuitesPolicyPal+OpenSslStringBuilder:GetOpenSslString():ubyte[]:this (FullOpts) -4 (-1.515% of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:.ctor(System.Reflection.Emit.RuntimeAssemblyBuilder,System.Reflection.RuntimeModule):this (FullOpts) -4 (-0.885% of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetTypesNoLock():System.Type[]:this (FullOpts) -4 (-0.500% of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryParser:ReadMemberPrimitiveUnTyped():this (FullOpts) -4 (-0.775% of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.XmlBuffer:OpenSection(System.Xml.XmlDictionaryReaderQuotas):System.Xml.XmlDictionaryWriter:this (FullOpts) -4 (-1.639% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.FSharpCoreReflectionProxy:CreateFSharpListConstructor[System.Nullable`1[int],System.Nullable`1[int]]():System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-1.639% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.FSharpCoreReflectionProxy:CreateFSharpSetConstructor[System.Nullable`1[int],System.Nullable`1[int]]():System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-0.690% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+<>c__9`2[System.Nullable`1[int],System.Nullable`1[int]]:b__9_0(System.ValueTuple`3[System.String,System.Type,System.Reflection.MemberInfo]):System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-0.690% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateImmutableEnumerableCreateRangeDelegate[System.Nullable`1[int],System.Nullable`1[int]]():System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-2.703% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor:CreateImmutableEnumerableCreateRangeDelegate[System.Nullable`1[int],System.Nullable`1[int]]():System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-1.235% of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:WriteAddCollectionFixup(System.Object,System.Xml.Serialization.ReflectionXmlSerializationReader+Member,System.Object):this (FullOpts) -4 (-0.699% of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBinaryReaderSession:TryLookup(System.String,byref):ubyte:this (FullOpts) -4 (-0.680% of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Compiler:MergeAttributeSets(System.Xml.Xsl.Xslt.Stylesheet):this (FullOpts) Top method regressions (percentages): 60 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:g__WriteToOutStream|40_0(ubyte[],int,int,ubyte):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[double](double):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[int](int):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[long](long):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[short](short):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):this (FullOpts) (0 base, 1 diff methods) 48 ( ∞ of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:WriteBytes[ubyte](ubyte):this (FullOpts) (0 base, 1 diff methods) 28 (13.208% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts) 28 (12.963% of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts) 68 (9.942% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 44 (9.821% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 44 (9.821% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 60 (9.804% of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64EndOfCentralDirectoryRecord:WriteBlock(System.IO.Stream,long,long,long) (FullOpts) 44 (9.649% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts) 44 (9.483% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts) 52 (9.420% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 44 (9.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts) 48 (9.091% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchiveEntry:WriteDataDescriptor():this (FullOpts) 44 (8.943% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts) 24 (8.571% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 44 (8.088% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 36 (7.438% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts) 52 (7.345% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) 28 (7.292% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts) 48 (6.780% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:TryDecrypt(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.RSAEncryptionPadding,byref):ubyte:this (FullOpts) 36 (6.618% of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64ExtraField:WriteBlock(System.IO.Stream):this (FullOpts) 28 (6.542% of base) : System.IO.Compression.dasm - System.IO.Compression.Zip64EndOfCentralDirectoryLocator:WriteBlock(System.IO.Stream,long) (FullOpts) 56 (5.036% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) (FullOpts) 36 (5.028% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) 24 (5.000% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts) 28 (4.605% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeKeys(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int):System.ArraySegment`1[ubyte] (FullOpts) 48 (4.511% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 20 (4.464% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipGenericExtraField:WriteBlock(System.IO.Stream):this (FullOpts) 48 (4.461% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchiveEntry:WriteCrcAndSizesInLocalHeader(ubyte):this (FullOpts) 24 (4.412% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 24 (4.317% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 32 (4.301% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) 36 (4.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:g__TransformBlock|53_0(System.Security.Cryptography.ICryptoTransform,System.ReadOnlyMemory`1[ubyte],ubyte[],int):int (FullOpts) 92 (4.064% of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryStaticData:GetObjectData(byref,byref):this (FullOpts) 28 (3.933% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Numerics.Vector`1[float]],System.Span`1[ushort],byref):ubyte (FullOpts) 48 (3.822% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:LoadSigningRequestPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,System.Security.Cryptography.RSASignaturePadding):System.Security.Cryptography.X509Certificates.CertificateRequest (FullOpts) 28 (3.804% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 76 (3.800% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[] (FullOpts) 24 (3.797% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts) 28 (3.763% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts) 28 (3.723% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts) 28 (3.684% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Nullable`1[int]](System.ReadOnlySpan`1[ubyte],System.Nullable`1[int],System.Security.Cryptography.RSA+TryFunc`1[System.Nullable`1[int]],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[int](System.ReadOnlySpan`1[ubyte],int,System.Security.Cryptography.RSA+TryFunc`1[int],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[long](System.ReadOnlySpan`1[ubyte],long,System.Security.Cryptography.RSA+TryFunc`1[long],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[short](System.ReadOnlySpan`1[ubyte],short,System.Security.Cryptography.RSA+TryFunc`1[short],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.__Canon](System.ReadOnlySpan`1[ubyte],System.__Canon,System.Security.Cryptography.RSA+TryFunc`1[System.__Canon],ubyte):ubyte[]:this (FullOpts) 28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,System.Security.Cryptography.RSA+TryFunc`1[ubyte],ubyte):ubyte[]:this (FullOpts) 28 (3.627% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[double](System.ReadOnlySpan`1[ubyte],double,System.Security.Cryptography.RSA+TryFunc`1[double],ubyte):ubyte[]:this (FullOpts) 48 (3.614% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+d__16:MoveNext():this (FullOpts) 8 (3.509% of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.PatternBag:.ctor():this (FullOpts) 28 (3.382% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ubyte],System.Numerics.Vector`1[float],System.Security.Cryptography.RSA+TryFunc`1[System.Numerics.Vector`1[float]],ubyte):ubyte[]:this (FullOpts) 32 (3.320% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:Pbkdf2Core(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,System.Security.Cryptography.HashAlgorithmName) (FullOpts) 24 (3.030% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 20 (2.994% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[ubyte](ubyte,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[ubyte],System.Span`1[ushort],byref):ubyte (FullOpts) 20 (2.890% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Nullable`1[int],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 4 (2.857% of base) : System.Private.Xml.dasm - System.Xml.Serialization.TempAssemblyCache:.ctor():this (FullOpts) 20 (2.809% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[double,System.Nullable`1[int]](double,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[double,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 100 (2.796% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__44:MoveNext():this (FullOpts) 36 (2.795% of base) : System.Private.Xml.dasm - System.Xml.Schema.SchemaInfo:Add(System.Xml.Schema.SchemaInfo,System.Xml.Schema.ValidationEventHandler):this (FullOpts) 16 (2.649% of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateTypeElement(System.Xml.Serialization.XmlTypeMapping):System.Object:this (FullOpts) 24 (2.597% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts) 20 (2.591% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts) 28 (2.414% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeCerts(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[],int,System.Span`1[ubyte],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],byref,byref,byref):System.ArraySegment`1[ubyte] (FullOpts) 16 (2.353% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipEndOfCentralDirectoryBlock:WriteBlock(System.IO.Stream,long,long,long,ubyte[]) (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[int,System.Nullable`1[int]](int,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[int,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[long,System.Nullable`1[int]](long,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[long,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[short,System.Nullable`1[int]](short,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[short,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.__Canon,System.Nullable`1[int]](System.__Canon,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.__Canon,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[ubyte,System.Nullable`1[int]](ubyte,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[ubyte,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts) 24 (2.214% 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.214% 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.214% 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.214% 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.214% 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.214% 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.214% 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.214% 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 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) 16 (2.073% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ExtractPrivateKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int,System.Security.Cryptography.AsymmetricAlgorithm[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[]):this (FullOpts) 4 (2.041% of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ExpressionResolverBuilder:.ctor(Microsoft.Extensions.DependencyInjection.ServiceProvider):this (FullOpts) 44 (2.026% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__56:MoveNext():this (FullOpts) 32 (2.010% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeAuthSafe(System.Formats.Asn1.AsnWriter,System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte],ubyte,System.String,System.String,System.Span`1[ubyte],System.Span`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 8 (2.000% of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.ScopeTree:EnsureCapacity():this (FullOpts) 24 (1.835% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts) 24 (1.775% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HKDF:Expand(System.Security.Cryptography.HashAlgorithmName,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.ReadOnlySpan`1[ubyte]) (FullOpts) 24 (1.418% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 48 (1.302% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__53:MoveNext():this (FullOpts) 12 (1.261% of base) : System.Private.Xml.dasm - System.Xml.XmlWriterSettings:GetObjectData(System.Xml.Xsl.Runtime.XmlQueryDataWriter):this (FullOpts) 20 (1.222% of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchiveEntry:WriteCentralDirectoryFileHeader():this (FullOpts) Top method improvements (percentages): -60 (-100.000% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:g__WriteToOutStream|39_0(ubyte[],int,int,ubyte):this (FullOpts) (1 base, 0 diff methods) -44 (-47.826% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(short):this (FullOpts) -44 (-47.826% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(System.Half):this (FullOpts) -40 (-45.455% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(int):this (FullOpts) -40 (-45.455% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(long):this (FullOpts) -40 (-45.455% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(uint):this (FullOpts) -40 (-45.455% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(ulong):this (FullOpts) -36 (-42.857% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(double):this (FullOpts) -36 (-42.857% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(float):this (FullOpts) -44 (-6.587% of base) : System.Private.CoreLib.dasm - System.IO.BinaryWriter:Write(ushort):this (FullOpts) (2 methods) -44 (-5.584% of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:FillSchemaInternal(System.Data.DataSet,System.Data.DataTable,int,System.Data.IDbCommand,System.String,int):System.Object:this (FullOpts) -200 (-5.280% of base) : System.Resources.Writer.dasm - System.Resources.ResourceWriter:Generate():this (FullOpts) -68 (-3.108% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts) -4 (-3.030% of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ExpressionResolverBuilder:VisitFactory(Microsoft.Extensions.DependencyInjection.ServiceLookup.FactoryCallSite,System.Object):System.Linq.Expressions.Expression:this (FullOpts) -4 (-2.703% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor:CreateImmutableEnumerableCreateRangeDelegate[System.Nullable`1[int],System.Nullable`1[int]]():System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-2.632% of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ExpressionResolverBuilder:VisitScopeCache(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,System.Object):System.Linq.Expressions.Expression:this (FullOpts) -92 (-2.500% of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts) -4 (-2.222% of base) : System.Net.Security.dasm - System.Net.Security.CipherSuitesPolicyPal+OpenSslStringBuilder:GetOpenSslString():ubyte[]:this (FullOpts) -8 (-2.083% of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslAstAnalyzer:.ctor():this (FullOpts) -8 (-1.887% of base) : System.Private.CoreLib.dasm - System.Text.EncodingTable:InternalGetCodePageDataItem(int,int):System.Text.CodePageDataItem (FullOpts) -4 (-1.639% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.FSharpCoreReflectionProxy:CreateFSharpListConstructor[System.Nullable`1[int],System.Nullable`1[int]]():System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-1.639% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.FSharpCoreReflectionProxy:CreateFSharpSetConstructor[System.Nullable`1[int],System.Nullable`1[int]]():System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-1.515% of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:.ctor(System.Reflection.Emit.RuntimeAssemblyBuilder,System.Reflection.RuntimeModule):this (FullOpts) -4 (-1.235% of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:WriteAddCollectionFixup(System.Object,System.Xml.Serialization.ReflectionXmlSerializationReader+Member,System.Object):this (FullOpts) -16 (-1.176% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) -36 (-1.119% of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateLiteralMembersElementInternal(System.Xml.Serialization.MemberMapping[],ubyte,System.Object[]):ubyte:this (FullOpts) -8 (-0.905% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ReprocessAll(System.Xml.Schema.XmlSchemaSet) (FullOpts) -4 (-0.885% of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetTypesNoLock():System.Type[]:this (FullOpts) -4 (-0.840% of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:GetChannelData():ulong[]:this (FullOpts) -4 (-0.775% of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.XmlBuffer:OpenSection(System.Xml.XmlDictionaryReaderQuotas):System.Xml.XmlDictionaryWriter:this (FullOpts) -8 (-0.755% of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryFormatter:Deserialize(System.IO.Stream):System.Object:this (FullOpts) -4 (-0.699% of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBinaryReaderSession:TryLookup(System.String,byref):ubyte:this (FullOpts) -4 (-0.690% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitCachingMemberAccessor+<>c__9`2[System.Nullable`1[int],System.Nullable`1[int]]:b__9_0(System.ValueTuple`3[System.String,System.Type,System.Reflection.MemberInfo]):System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-0.690% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateImmutableEnumerableCreateRangeDelegate[System.Nullable`1[int],System.Nullable`1[int]]():System.Func`2[System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Nullable`1[int]]:this (FullOpts) -4 (-0.685% of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[ubyte,System.Nullable`1[int]]:VisitCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,ubyte):System.Nullable`1[int]:this (FullOpts) -4 (-0.680% of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Compiler:MergeAttributeSets(System.Xml.Xsl.Xslt.Stylesheet):this (FullOpts) -4 (-0.588% of base) : System.Data.Common.dasm - System.Data.Function:.cctor() (FullOpts) -4 (-0.521% of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPipeEventDispatcher:CommitDispatchConfiguration():this (FullOpts) -4 (-0.500% of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryParser:ReadMemberPrimitiveUnTyped():this (FullOpts) -12 (-0.425% of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__172:MoveNext():this (FullOpts) -8 (-0.327% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaImporter:CreateSchemaObjects():System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Runtime.Serialization.SchemaObjectInfo]:this (FullOpts) 168 total methods with Code Size differences (41 improved, 127 regressed), 239022 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 5 months ago

Top method regressions

76 (3.800% of base) - System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[] ```diff ; Assembly listing for method System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[] (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; 10 single block inlinees; 6 inlinees without PGO data +; 0 inlinees with PGO data; 65 single block inlinees; 28 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 24, 37 ) byref -> x19 single-def -; V01 loc0 [V01,T10] ( 8, 5.50) ubyte -> x23 -; V02 loc1 [V02,T20] ( 3, 2 ) int -> x24 -; V03 loc2 [V03,T21] ( 3, 2 ) int -> x25 -; V04 loc3 [V04,T19] ( 4, 2 ) ref -> [fp+0x20] class-hnd exact EH-live spill-single-def -; V05 loc4 [V05,T02] ( 16, 14 ) ref -> [fp+0x18] class-hnd exact EH-live single-def -; V06 loc5 [V06 ] ( 2, 2 ) ubyte -> [fp+0x68] do-not-enreg[X] addr-exposed ld-addr-op +; V01 loc0 [V01,T16] ( 8, 5.50) ubyte -> x23 +; V02 loc1 [V02,T37] ( 3, 2 ) int -> x24 +; V03 loc2 [V03,T38] ( 3, 2 ) int -> x25 +; V04 loc3 [V04,T36] ( 4, 2 ) ref -> [fp+0x20] class-hnd exact EH-live spill-single-def +; V05 loc4 [V05,T04] ( 16, 14 ) ref -> [fp+0x18] class-hnd exact EH-live single-def +; V06 loc5 [V06 ] ( 2, 2 ) ubyte -> [fp+0x98] do-not-enreg[X] addr-exposed ld-addr-op ;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd -; V08 loc7 [V08,T25] ( 2, 2 ) ref -> x19 class-hnd single-def +; V08 loc7 [V08,T42] ( 2, 2 ) ref -> x19 class-hnd single-def ;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V10 tmp1 [V10,T22] ( 3, 2 ) int -> x2 -; V11 tmp2 [V11,T23] ( 3, 2 ) int -> x25 -; V12 tmp3 [V12,T05] ( 5, 10 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" +; V10 tmp1 [V10,T39] ( 3, 2 ) int -> x2 +; V11 tmp2 [V11,T40] ( 3, 2 ) int -> x25 +; V12 tmp3 [V12,T07] ( 5, 10 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" ; V13 tmp4 [V13,T01] ( 25, 32 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" ;* V14 tmp5 [V14 ] ( 0, 0 ) ref -> zero-ref ;* V15 tmp6 [V15 ] ( 0, 0 ) ref -> zero-ref single-def -; V16 tmp7 [V16,T26] ( 2, 1 ) int -> x1 +; V16 tmp7 [V16,T63] ( 2, 1 ) int -> x1 ;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref ;* V18 tmp9 [V18 ] ( 0, 0 ) ref -> zero-ref single-def -; V19 tmp10 [V19,T27] ( 2, 1 ) int -> x1 -; V20 tmp11 [V20,T06] ( 4, 7 ) ref -> x0 class-hnd exact single-def "Inlining Arg" +; V19 tmp10 [V19,T64] ( 2, 1 ) int -> x1 +; V20 tmp11 [V20,T12] ( 4, 7 ) ref -> x0 class-hnd exact single-def "Inlining Arg" ;* V21 tmp12 [V21 ] ( 0, 0 ) ref -> zero-ref single-def ;* V22 tmp13 [V22 ] ( 0, 0 ) ref -> zero-ref -; V23 tmp14 [V23,T24] ( 3, 2 ) int -> x14 -; V24 tmp15 [V24,T29] ( 3, 0 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" -; V25 tmp16 [V25,T03] ( 4, 12.50) int -> x27 "Inline stloc first use temp" -; V26 tmp17 [V26,T04] ( 4, 12.50) int -> x19 "Inline stloc first use temp" -; V27 tmp18 [V27,T11] ( 6, 5 ) ref -> x20 single-def "V00.[000..008)" -; V28 tmp19 [V28,T09] ( 8, 5.50) ref -> x21 single-def "V00.[040..048)" -; V29 tmp20 [V29,T07] ( 10, 6.50) ref -> x22 single-def "V00.[048..056)" -; V30 tmp21 [V30,T14] ( 3, 3 ) ref -> x0 single-def "argument with side effect" -; V31 tmp22 [V31 ] ( 2, 4 ) struct (64) [fp+0x28] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" -; V32 tmp23 [V32,T08] ( 3, 6 ) ref -> x0 single-def "argument with side effect" -; V33 tmp24 [V33,T30] ( 3, 0 ) ref -> x0 single-def "argument with side effect" -; V34 tmp25 [V34,T31] ( 3, 0 ) ref -> x0 single-def "argument with side effect" -; V35 tmp26 [V35,T15] ( 3, 3 ) ref -> x0 single-def "argument with side effect" -; V36 tmp27 [V36,T16] ( 3, 3 ) ref -> x0 single-def "argument with side effect" -; V37 tmp28 [V37,T32] ( 2, 0 ) ref -> x1 single-def "argument with side effect" -; V38 PSPSym [V38,T28] ( 1, 1 ) long -> [fp+0x70] do-not-enreg[V] "PSPSym" -; V39 cse0 [V39,T13] ( 5, 4 ) ref -> x1 "CSE #04: aggressive" -; V40 cse1 [V40,T17] ( 3, 3 ) ref -> x1 "CSE #01: moderate" -; V41 cse2 [V41,T18] ( 3, 3 ) ref -> x1 "CSE #02: moderate" -; V42 cse3 [V42,T12] ( 6, 5 ) int -> x0 "CSE #03: aggressive" +; V23 tmp14 [V23,T41] ( 3, 2 ) int -> x14 +; V24 tmp15 [V24,T75] ( 3, 0 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" +;* V25 tmp16 [V25 ] ( 0, 0 ) ref -> zero-ref single-def +; V26 tmp17 [V26 ] ( 2, 2 ) int -> [fp+0x94] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V27 tmp18 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V28 tmp19 [V28,T22] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" +;* V29 tmp20 [V29 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V30 tmp21 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V31 tmp22 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V32 tmp23 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V33 tmp24 [V33 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V34 tmp25 [V34 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V35 tmp26 [V35 ] ( 0, 0 ) ref -> zero-ref single-def +; V36 tmp27 [V36,T43] ( 2, 2 ) int -> x1 "Inlining Arg" +; V37 tmp28 [V37 ] ( 2, 2 ) int -> [fp+0x90] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V38 tmp29 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V39 tmp30 [V39,T23] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" +;* V40 tmp31 [V40 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V41 tmp32 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V42 tmp33 [V42 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V43 tmp34 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V44 tmp35 [V44 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V45 tmp36 [V45 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V46 tmp37 [V46 ] ( 0, 0 ) ref -> zero-ref single-def +; V47 tmp38 [V47 ] ( 2, 2 ) int -> [fp+0x8C] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V48 tmp39 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V49 tmp40 [V49,T24] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" +;* V50 tmp41 [V50 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V51 tmp42 [V51 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V52 tmp43 [V52 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V53 tmp44 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V54 tmp45 [V54 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V55 tmp46 [V55 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V56 tmp47 [V56 ] ( 0, 0 ) ref -> zero-ref single-def +; V57 tmp48 [V57,T44] ( 2, 2 ) int -> x1 "Inlining Arg" +; V58 tmp49 [V58 ] ( 2, 2 ) int -> [fp+0x88] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V59 tmp50 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V60 tmp51 [V60,T25] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" +;* V61 tmp52 [V61 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V62 tmp53 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V63 tmp54 [V63 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V64 tmp55 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V65 tmp56 [V65 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V66 tmp57 [V66 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +; V67 tmp58 [V67,T05] ( 4, 12.50) int -> x27 "Inline stloc first use temp" +;* V68 tmp59 [V68 ] ( 0, 0 ) ref -> zero-ref single-def +; V69 tmp60 [V69 ] ( 2, 2 ) int -> [fp+0x84] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V70 tmp61 [V70 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V71 tmp62 [V71,T26] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" +;* V72 tmp63 [V72 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V73 tmp64 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V74 tmp65 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V75 tmp66 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V76 tmp67 [V76 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V77 tmp68 [V77 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V78 tmp69 [V78 ] ( 0, 0 ) ref -> zero-ref +; V79 tmp70 [V79 ] ( 2, 16 ) int -> [fp+0x80] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V80 tmp71 [V80 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V81 tmp72 [V81,T02] ( 3, 24 ) ref -> x0 class-hnd "impAppendStmt" +;* V82 tmp73 [V82 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V83 tmp74 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V84 tmp75 [V84 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V85 tmp76 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V86 tmp77 [V86 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V87 tmp78 [V87 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V88 tmp79 [V88 ] ( 0, 0 ) ref -> zero-ref single-def +;* V89 tmp80 [V89 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +; V90 tmp81 [V90 ] ( 2, 2 ) int -> [fp+0x7C] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V91 tmp82 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V92 tmp83 [V92,T27] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" +;* V93 tmp84 [V93 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V94 tmp85 [V94 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V95 tmp86 [V95 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V96 tmp87 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V97 tmp88 [V97 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V98 tmp89 [V98 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V99 tmp90 [V99 ] ( 0, 0 ) ref -> zero-ref single-def +; V100 tmp91 [V100 ] ( 2, 2 ) int -> [fp+0x78] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V101 tmp92 [V101 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V102 tmp93 [V102,T28] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" +;* V103 tmp94 [V103 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V104 tmp95 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V105 tmp96 [V105 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V106 tmp97 [V106 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V107 tmp98 [V107 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V108 tmp99 [V108 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +; V109 tmp100 [V109,T06] ( 4, 12.50) int -> x19 "Inline stloc first use temp" +;* V110 tmp101 [V110 ] ( 0, 0 ) ref -> zero-ref single-def +; V111 tmp102 [V111 ] ( 2, 2 ) int -> [fp+0x74] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V112 tmp103 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V113 tmp104 [V113,T29] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" +;* V114 tmp105 [V114 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V115 tmp106 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V116 tmp107 [V116 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V117 tmp108 [V117 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V118 tmp109 [V118 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V119 tmp110 [V119 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V120 tmp111 [V120 ] ( 0, 0 ) ref -> zero-ref +; V121 tmp112 [V121 ] ( 2, 16 ) int -> [fp+0x70] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V122 tmp113 [V122 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V123 tmp114 [V123,T03] ( 3, 24 ) ref -> x0 class-hnd "impAppendStmt" +;* V124 tmp115 [V124 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V125 tmp116 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V126 tmp117 [V126 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V127 tmp118 [V127 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V128 tmp119 [V128 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V129 tmp120 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +;* V130 tmp121 [V130 ] ( 0, 0 ) ref -> zero-ref single-def +;* V131 tmp122 [V131 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +; V132 tmp123 [V132 ] ( 2, 2 ) int -> [fp+0x6C] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg" +;* V133 tmp124 [V133 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +; V134 tmp125 [V134,T30] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" +;* V135 tmp126 [V135 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" +;* V136 tmp127 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V137 tmp128 [V137 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" +;* V138 tmp129 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" +;* V139 tmp130 [V139 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" +;* V140 tmp131 [V140 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" +; V141 tmp132 [V141,T45] ( 2, 1 ) byref -> x1 single-def "field V27._reference (fldOffset=0x0)" P-INDEP +;* V142 tmp133 [V142 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP +;* V143 tmp134 [V143 ] ( 0, 0 ) byref -> zero-ref "field V29._reference (fldOffset=0x0)" P-INDEP +;* V144 tmp135 [V144 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP +;* V145 tmp136 [V145 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP +;* V146 tmp137 [V146 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP +; V147 tmp138 [V147,T46] ( 2, 1 ) byref -> x1 single-def "field V31._reference (fldOffset=0x0)" P-INDEP +;* V148 tmp139 [V148,T66] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP +;* V149 tmp140 [V149 ] ( 0, 0 ) byref -> zero-ref single-def "field V32._reference (fldOffset=0x0)" P-INDEP +;* V150 tmp141 [V150 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP +; V151 tmp142 [V151,T47] ( 2, 1 ) byref -> x1 single-def "field V38._reference (fldOffset=0x0)" P-INDEP +;* V152 tmp143 [V152 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP +;* V153 tmp144 [V153 ] ( 0, 0 ) byref -> zero-ref "field V40._reference (fldOffset=0x0)" P-INDEP +;* V154 tmp145 [V154 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP +;* V155 tmp146 [V155 ] ( 0, 0 ) byref -> zero-ref single-def "field V41._reference (fldOffset=0x0)" P-INDEP +;* V156 tmp147 [V156 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP +; V157 tmp148 [V157,T48] ( 2, 1 ) byref -> x1 single-def "field V42._reference (fldOffset=0x0)" P-INDEP +;* V158 tmp149 [V158,T67] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP +;* V159 tmp150 [V159 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP +;* V160 tmp151 [V160 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP +; V161 tmp152 [V161,T49] ( 2, 1 ) byref -> x1 single-def "field V48._reference (fldOffset=0x0)" P-INDEP +;* V162 tmp153 [V162 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP +;* V163 tmp154 [V163 ] ( 0, 0 ) byref -> zero-ref "field V50._reference (fldOffset=0x0)" P-INDEP +;* V164 tmp155 [V164 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP +;* V165 tmp156 [V165 ] ( 0, 0 ) byref -> zero-ref single-def "field V51._reference (fldOffset=0x0)" P-INDEP +;* V166 tmp157 [V166 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP +; V167 tmp158 [V167,T50] ( 2, 1 ) byref -> x1 single-def "field V52._reference (fldOffset=0x0)" P-INDEP +;* V168 tmp159 [V168,T68] ( 0, 0 ) int -> zero-ref "field V52._length (fldOffset=0x8)" P-INDEP +;* V169 tmp160 [V169 ] ( 0, 0 ) byref -> zero-ref single-def "field V53._reference (fldOffset=0x0)" P-INDEP +;* V170 tmp161 [V170 ] ( 0, 0 ) int -> zero-ref "field V53._length (fldOffset=0x8)" P-INDEP +; V171 tmp162 [V171,T51] ( 2, 1 ) byref -> x1 single-def "field V59._reference (fldOffset=0x0)" P-INDEP +;* V172 tmp163 [V172 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP +;* V173 tmp164 [V173 ] ( 0, 0 ) byref -> zero-ref "field V61._reference (fldOffset=0x0)" P-INDEP +;* V174 tmp165 [V174 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP +;* V175 tmp166 [V175 ] ( 0, 0 ) byref -> zero-ref single-def "field V62._reference (fldOffset=0x0)" P-INDEP +;* V176 tmp167 [V176 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP +; V177 tmp168 [V177,T52] ( 2, 1 ) byref -> x1 single-def "field V63._reference (fldOffset=0x0)" P-INDEP +;* V178 tmp169 [V178,T69] ( 0, 0 ) int -> zero-ref "field V63._length (fldOffset=0x8)" P-INDEP +;* V179 tmp170 [V179 ] ( 0, 0 ) byref -> zero-ref single-def "field V64._reference (fldOffset=0x0)" P-INDEP +;* V180 tmp171 [V180 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP +; V181 tmp172 [V181,T53] ( 2, 1 ) byref -> x1 single-def "field V70._reference (fldOffset=0x0)" P-INDEP +;* V182 tmp173 [V182 ] ( 0, 0 ) int -> zero-ref "field V70._length (fldOffset=0x8)" P-INDEP +;* V183 tmp174 [V183 ] ( 0, 0 ) byref -> zero-ref "field V72._reference (fldOffset=0x0)" P-INDEP +;* V184 tmp175 [V184 ] ( 0, 0 ) int -> zero-ref "field V72._length (fldOffset=0x8)" P-INDEP +;* V185 tmp176 [V185 ] ( 0, 0 ) byref -> zero-ref single-def "field V73._reference (fldOffset=0x0)" P-INDEP +;* V186 tmp177 [V186 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-INDEP +; V187 tmp178 [V187,T54] ( 2, 1 ) byref -> x1 single-def "field V74._reference (fldOffset=0x0)" P-INDEP +;* V188 tmp179 [V188,T70] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP +;* V189 tmp180 [V189 ] ( 0, 0 ) byref -> zero-ref single-def "field V75._reference (fldOffset=0x0)" P-INDEP +;* V190 tmp181 [V190 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP +; V191 tmp182 [V191,T08] ( 2, 8 ) byref -> x1 "field V80._reference (fldOffset=0x0)" P-INDEP +;* V192 tmp183 [V192 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP +;* V193 tmp184 [V193 ] ( 0, 0 ) byref -> zero-ref "field V82._reference (fldOffset=0x0)" P-INDEP +;* V194 tmp185 [V194 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP +;* V195 tmp186 [V195 ] ( 0, 0 ) byref -> zero-ref "field V83._reference (fldOffset=0x0)" P-INDEP +;* V196 tmp187 [V196 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP +; V197 tmp188 [V197,T09] ( 2, 8 ) byref -> x1 "field V84._reference (fldOffset=0x0)" P-INDEP +;* V198 tmp189 [V198,T20] ( 0, 0 ) int -> zero-ref "field V84._length (fldOffset=0x8)" P-INDEP +;* V199 tmp190 [V199 ] ( 0, 0 ) byref -> zero-ref "field V85._reference (fldOffset=0x0)" P-INDEP +;* V200 tmp191 [V200 ] ( 0, 0 ) int -> zero-ref "field V85._length (fldOffset=0x8)" P-INDEP +; V201 tmp192 [V201,T55] ( 2, 1 ) byref -> x1 single-def "field V91._reference (fldOffset=0x0)" P-INDEP +;* V202 tmp193 [V202 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP +;* V203 tmp194 [V203 ] ( 0, 0 ) byref -> zero-ref "field V93._reference (fldOffset=0x0)" P-INDEP +;* V204 tmp195 [V204 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP +;* V205 tmp196 [V205 ] ( 0, 0 ) byref -> zero-ref single-def "field V94._reference (fldOffset=0x0)" P-INDEP +;* V206 tmp197 [V206 ] ( 0, 0 ) int -> zero-ref "field V94._length (fldOffset=0x8)" P-INDEP +; V207 tmp198 [V207,T56] ( 2, 1 ) byref -> x1 single-def "field V95._reference (fldOffset=0x0)" P-INDEP +;* V208 tmp199 [V208,T71] ( 0, 0 ) int -> zero-ref "field V95._length (fldOffset=0x8)" P-INDEP +;* V209 tmp200 [V209 ] ( 0, 0 ) byref -> zero-ref single-def "field V96._reference (fldOffset=0x0)" P-INDEP +;* V210 tmp201 [V210 ] ( 0, 0 ) int -> zero-ref "field V96._length (fldOffset=0x8)" P-INDEP +; V211 tmp202 [V211,T57] ( 2, 1 ) byref -> x1 single-def "field V101._reference (fldOffset=0x0)" P-INDEP +;* V212 tmp203 [V212 ] ( 0, 0 ) int -> zero-ref "field V101._length (fldOffset=0x8)" P-INDEP +;* V213 tmp204 [V213 ] ( 0, 0 ) byref -> zero-ref "field V103._reference (fldOffset=0x0)" P-INDEP +;* V214 tmp205 [V214 ] ( 0, 0 ) int -> zero-ref "field V103._length (fldOffset=0x8)" P-INDEP +;* V215 tmp206 [V215 ] ( 0, 0 ) byref -> zero-ref single-def "field V104._reference (fldOffset=0x0)" P-INDEP +;* V216 tmp207 [V216 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP +; V217 tmp208 [V217,T58] ( 2, 1 ) byref -> x1 single-def "field V105._reference (fldOffset=0x0)" P-INDEP +;* V218 tmp209 [V218,T72] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP +;* V219 tmp210 [V219 ] ( 0, 0 ) byref -> zero-ref single-def "field V106._reference (fldOffset=0x0)" P-INDEP +;* V220 tmp211 [V220 ] ( 0, 0 ) int -> zero-ref "field V106._length (fldOffset=0x8)" P-INDEP +; V221 tmp212 [V221,T59] ( 2, 1 ) byref -> x1 single-def "field V112._reference (fldOffset=0x0)" P-INDEP +;* V222 tmp213 [V222 ] ( 0, 0 ) int -> zero-ref "field V112._length (fldOffset=0x8)" P-INDEP +;* V223 tmp214 [V223 ] ( 0, 0 ) byref -> zero-ref "field V114._reference (fldOffset=0x0)" P-INDEP +;* V224 tmp215 [V224 ] ( 0, 0 ) int -> zero-ref "field V114._length (fldOffset=0x8)" P-INDEP +;* V225 tmp216 [V225 ] ( 0, 0 ) byref -> zero-ref single-def "field V115._reference (fldOffset=0x0)" P-INDEP +;* V226 tmp217 [V226 ] ( 0, 0 ) int -> zero-ref "field V115._length (fldOffset=0x8)" P-INDEP +; V227 tmp218 [V227,T60] ( 2, 1 ) byref -> x1 single-def "field V116._reference (fldOffset=0x0)" P-INDEP +;* V228 tmp219 [V228,T73] ( 0, 0 ) int -> zero-ref "field V116._length (fldOffset=0x8)" P-INDEP +;* V229 tmp220 [V229 ] ( 0, 0 ) byref -> zero-ref single-def "field V117._reference (fldOffset=0x0)" P-INDEP +;* V230 tmp221 [V230 ] ( 0, 0 ) int -> zero-ref "field V117._length (fldOffset=0x8)" P-INDEP +; V231 tmp222 [V231,T10] ( 2, 8 ) byref -> x1 "field V122._reference (fldOffset=0x0)" P-INDEP +;* V232 tmp223 [V232 ] ( 0, 0 ) int -> zero-ref "field V122._length (fldOffset=0x8)" P-INDEP +;* V233 tmp224 [V233 ] ( 0, 0 ) byref -> zero-ref "field V124._reference (fldOffset=0x0)" P-INDEP +;* V234 tmp225 [V234 ] ( 0, 0 ) int -> zero-ref "field V124._length (fldOffset=0x8)" P-INDEP +;* V235 tmp226 [V235 ] ( 0, 0 ) byref -> zero-ref "field V125._reference (fldOffset=0x0)" P-INDEP +;* V236 tmp227 [V236 ] ( 0, 0 ) int -> zero-ref "field V125._length (fldOffset=0x8)" P-INDEP +; V237 tmp228 [V237,T11] ( 2, 8 ) byref -> x1 "field V126._reference (fldOffset=0x0)" P-INDEP +;* V238 tmp229 [V238,T21] ( 0, 0 ) int -> zero-ref "field V126._length (fldOffset=0x8)" P-INDEP +;* V239 tmp230 [V239 ] ( 0, 0 ) byref -> zero-ref "field V127._reference (fldOffset=0x0)" P-INDEP +;* V240 tmp231 [V240 ] ( 0, 0 ) int -> zero-ref "field V127._length (fldOffset=0x8)" P-INDEP +; V241 tmp232 [V241,T61] ( 2, 1 ) byref -> x1 single-def "field V133._reference (fldOffset=0x0)" P-INDEP +;* V242 tmp233 [V242 ] ( 0, 0 ) int -> zero-ref "field V133._length (fldOffset=0x8)" P-INDEP +;* V243 tmp234 [V243 ] ( 0, 0 ) byref -> zero-ref "field V135._reference (fldOffset=0x0)" P-INDEP +;* V244 tmp235 [V244 ] ( 0, 0 ) int -> zero-ref "field V135._length (fldOffset=0x8)" P-INDEP +;* V245 tmp236 [V245 ] ( 0, 0 ) byref -> zero-ref single-def "field V136._reference (fldOffset=0x0)" P-INDEP +;* V246 tmp237 [V246 ] ( 0, 0 ) int -> zero-ref "field V136._length (fldOffset=0x8)" P-INDEP +; V247 tmp238 [V247,T62] ( 2, 1 ) byref -> x1 single-def "field V137._reference (fldOffset=0x0)" P-INDEP +;* V248 tmp239 [V248,T74] ( 0, 0 ) int -> zero-ref "field V137._length (fldOffset=0x8)" P-INDEP +;* V249 tmp240 [V249 ] ( 0, 0 ) byref -> zero-ref single-def "field V138._reference (fldOffset=0x0)" P-INDEP +;* V250 tmp241 [V250 ] ( 0, 0 ) int -> zero-ref "field V138._length (fldOffset=0x8)" P-INDEP +; V251 tmp242 [V251,T17] ( 6, 5 ) ref -> x20 single-def "V00.[000..008)" +; V252 tmp243 [V252,T15] ( 8, 5.50) ref -> x21 single-def "V00.[040..048)" +; V253 tmp244 [V253,T13] ( 10, 6.50) ref -> x22 single-def "V00.[048..056)" +; V254 tmp245 [V254,T31] ( 3, 3 ) ref -> x0 single-def "argument with side effect" +; V255 tmp246 [V255 ] ( 2, 4 ) struct (64) [fp+0x28] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" +; V256 tmp247 [V256,T14] ( 3, 6 ) ref -> x0 single-def "argument with side effect" +; V257 tmp248 [V257,T76] ( 3, 0 ) ref -> x0 single-def "argument with side effect" +; V258 tmp249 [V258,T77] ( 3, 0 ) ref -> x0 single-def "argument with side effect" +; V259 tmp250 [V259,T32] ( 3, 3 ) ref -> x0 single-def "argument with side effect" +; V260 tmp251 [V260,T33] ( 3, 3 ) ref -> x0 single-def "argument with side effect" +; V261 tmp252 [V261,T78] ( 2, 0 ) ref -> x1 single-def "argument with side effect" +; V262 PSPSym [V262,T65] ( 1, 1 ) long -> [fp+0xA0] do-not-enreg[V] "PSPSym" +; V263 cse0 [V263,T19] ( 5, 4 ) ref -> x1 "CSE #04: moderate" +; V264 cse1 [V264,T34] ( 3, 3 ) ref -> x1 "CSE #01: moderate" +; V265 cse2 [V265,T35] ( 3, 3 ) ref -> x1 "CSE #02: moderate" +; V266 cse3 [V266,T18] ( 6, 5 ) int -> x0 "CSE #03: moderate" ; -; Lcl frame size = 104 +; Lcl frame size = 152 G_M53852_IG01: - stp fp, lr, [sp, #-0xC0]! - stp x19, x20, [sp, #0x78] - stp x21, x22, [sp, #0x88] - stp x23, x24, [sp, #0x98] - stp x25, x26, [sp, #0xA8] - str x27, [sp, #0xB8] + stp fp, lr, [sp, #-0xF0]! + stp x19, x20, [sp, #0xA8] + stp x21, x22, [sp, #0xB8] + stp x23, x24, [sp, #0xC8] + stp x25, x26, [sp, #0xD8] + str x27, [sp, #0xE8] mov fp, sp add x9, fp, #40 movi v16.16b, #0 stp q16, q16, [x9] stp q16, q16, [x9, #0x20] - add x1, sp, #192 - str x1, [fp, #0x70] // [V38 PSPSym] + add x1, sp, #240 + str x1, [fp, #0xA0] // [V262 PSPSym] mov x19, x0 ;; size=56 bbWeight=1 PerfScore 11.50 G_M53852_IG02: ldr x20, [x19] ldp x21, x22, [x19, #0x28] cbz x20, G_M53852_IG44 ldr w0, [x20, #0x08] cbz w0, G_M53852_IG44 ldr x1, [x19, #0x08] cbz x1, G_M53852_IG44 ldr w1, [x1, #0x08] cmp w1, #20 bne G_M53852_IG44 ldr x1, [x19, #0x10] cbz x1, G_M53852_IG45 ldr w1, [x1, #0x08] cmp w1, w0 bne G_M53852_IG45 ldr x1, [x19, #0x20] cbz x1, G_M53852_IG04 ;; size=68 bbWeight=1 PerfScore 33.00 G_M53852_IG03: ldr w2, [x1, #0x08] cmp w2, w0 bge G_M53852_IG46 ;; size=12 bbWeight=0.50 PerfScore 2.25 G_M53852_IG04: ldr x2, [x19, #0x18] cbz x2, G_M53852_IG06 ;; size=8 bbWeight=1 PerfScore 4.00 G_M53852_IG05: ldr x2, [x19, #0x18] ldr w2, [x2, #0x08] cmp w2, w0 bne G_M53852_IG47 ;; size=16 bbWeight=0.50 PerfScore 3.75 G_M53852_IG06: cbz x22, G_M53852_IG08 ;; size=4 bbWeight=1 PerfScore 1.00 G_M53852_IG07: ldr w2, [x22, #0x08] cmp w2, #20 bne G_M53852_IG48 ;; size=12 bbWeight=0.50 PerfScore 2.25 G_M53852_IG08: cbz x21, G_M53852_IG10 ;; size=4 bbWeight=1 PerfScore 1.00 G_M53852_IG09: ldr w2, [x21, #0x08] cmp w2, #0 cset x2, ne b G_M53852_IG11 ;; size=16 bbWeight=0.50 PerfScore 2.50 G_M53852_IG10: mov w2, wzr ;; size=4 bbWeight=0.50 PerfScore 0.25 G_M53852_IG11: uxtb w23, w2 cbz w23, G_M53852_IG13 ;; size=8 bbWeight=1 PerfScore 1.50 G_M53852_IG12: ldr w2, [x21, #0x08] cmp w2, #20 bne G_M53852_IG49 ;; size=12 bbWeight=0.50 PerfScore 2.25 G_M53852_IG13: lsl w24, w0, #3 cbz x1, G_M53852_IG15 ;; size=8 bbWeight=1 PerfScore 2.00 G_M53852_IG14: ldr w0, [x1, #0x08] lsl w25, w0, #3 b G_M53852_IG16 ;; size=12 bbWeight=0.50 PerfScore 2.50 G_M53852_IG15: mov w25, wzr ;; size=4 bbWeight=0.50 PerfScore 0.25 G_M53852_IG16: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x26, x0 mov w1, wzr movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 str x26, [fp, #0x20] // [V04 loc3] ;; size=48 bbWeight=1 PerfScore 10.00 G_M53852_IG17: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x27, x0 movz x14, #0xD1FFAB1E movk x14, #0xD1FFAB1E LSL #16 movk x14, #0xD1FFAB1E LSL #32 ldr x0, [x14] ldrb w14, [x26, #0x29] cbz w14, G_M53852_IG40 add x14, x27, #8 mov x15, x26 bl CORINFO_HELP_ASSIGN_REF add x14, x27, #16 mov x15, x0 bl CORINFO_HELP_ASSIGN_REF strb wzr, [x27, #0x18] ldr w1, [x0, #0x20] mov w2, #0xD1FFAB1E cmp w1, w2 bne G_M53852_IG20 ;; size=88 bbWeight=1 PerfScore 21.50 G_M53852_IG18: ldr x0, [x0, #0x10] ldr x1, [x0] ldr x1, [x1, #0x40] ldr x1, [x1, #0x28] blr x1 cmp w0, #1 cset x14, le ;; size=28 bbWeight=0.50 PerfScore 7.00 G_M53852_IG19: strb w14, [x27, #0x19] mov x26, x27 str x26, [fp, #0x18] // [V05 loc4] b G_M53852_IG21 ;; size=16 bbWeight=1 PerfScore 3.50 G_M53852_IG20: mov w14, wzr b G_M53852_IG19 ;; size=8 bbWeight=0.50 PerfScore 0.75 G_M53852_IG21: mov x14, x19 mov x15, x20 bl CORINFO_HELP_CHECKED_ASSIGN_REF add x14, x19, #40 mov x15, x21 bl CORINFO_HELP_CHECKED_ASSIGN_REF add x14, x19, #48 mov x15, x22 bl CORINFO_HELP_CHECKED_ASSIGN_REF ;; size=36 bbWeight=1 PerfScore 6.00 G_M53852_IG22: ldp x0, x3, [x19] stp x0, x3, [fp, #0x28] ldp x0, x3, [x19, #0x10] stp x0, x3, [fp, #0x38] ldp x0, x3, [x19, #0x20] stp x0, x3, [fp, #0x48] ldp x0, x3, [x19, #0x30] stp x0, x3, [fp, #0x58] ;; size=32 bbWeight=1 PerfScore 20.00 G_M53852_IG23: - add x0, fp, #40 // [V31 tmp22] - add x3, fp, #104 // [V06 loc5] + add x0, fp, #40 // [V255 tmp246] + add x3, fp, #152 // [V06 loc5] mov x1, x27 mov w2, w23 movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteKeyBlobHeader(System.Security.Cryptography.DSAParameters,System.IO.BinaryWriter,ubyte,byref) movk x4, #0xD1FFAB1E LSL #16 movk x4, #0xD1FFAB1E LSL #32 ldr x4, [x4] blr x4 - ldrb w0, [fp, #0x68] // [V06 loc5] + ldrb w0, [fp, #0x98] // [V06 loc5] cbz w0, G_M53852_IG31 ;; size=44 bbWeight=1 PerfScore 10.50 G_M53852_IG24: movz w0, #0xD1FFAB1E movk w0, #0xD1FFAB1E LSL #16 movz w1, #0xD1FFAB1E movk w1, #0xD1FFAB1E LSL #16 cmp w23, #0 csel w1, w0, w1, ne mov x0, x27 movz x2, #0xD1FFAB1E movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] ldr x2, [x2, #0x38] blr x2 - mov x0, x27 - mov w1, w24 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + str w24, [fp, #0x94] // [V26 tmp17] + ldr x0, [x27, #0x08] + add x1, fp, #148 // [V26 tmp17] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 ldr x1, [x19, #0x08] ldr w1, [x1, #0x08] lsl w1, w1, #3 - mov x0, x27 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 - mov x0, x27 - mov w1, w25 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + str w1, [fp, #0x90] // [V37 tmp28] + ldr x0, [x27, #0x08] + add x1, fp, #144 // [V37 tmp28] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 + str w25, [fp, #0x8C] // [V47 tmp38] + ldr x0, [x27, #0x08] + add x1, fp, #140 // [V47 tmp38] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 cbz w23, G_M53852_IG25 ldr w1, [x21, #0x08] lsl w1, w1, #3 - mov x0, x27 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 - ;; size=180 bbWeight=0.50 PerfScore 24.50 + str w1, [fp, #0x88] // [V58 tmp49] + ldr x0, [x27, #0x08] + add x1, fp, #136 // [V58 tmp49] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 + ;; size=204 bbWeight=0.50 PerfScore 42.00 G_M53852_IG25: cbz x22, G_M53852_IG26 - ldr w0, [x22, #0x08] - cbnz w0, G_M53852_IG28 + ldr w1, [x22, #0x08] + cbnz w1, G_M53852_IG28 ;; size=12 bbWeight=0.50 PerfScore 2.50 G_M53852_IG26: - mov x0, x27 movn w1, #0 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + str w1, [fp, #0x84] // [V69 tmp60] + ldr x0, [x27, #0x08] + add x1, fp, #132 // [V69 tmp60] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 mov w27, wzr - ;; size=32 bbWeight=0.50 PerfScore 3.50 + ;; size=40 bbWeight=0.50 PerfScore 8.00 G_M53852_IG27: - mov x0, x26 movn w1, #0 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + str w1, [fp, #0x80] // [V79 tmp70] + ldr x0, [x26, #0x08] + add x1, fp, #128 // [V79 tmp70] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 add w27, w27, #4 cmp w27, #20 blt G_M53852_IG27 b G_M53852_IG29 - ;; size=44 bbWeight=4 PerfScore 38.00 + ;; size=52 bbWeight=4 PerfScore 74.00 G_M53852_IG28: ldr w1, [x19, #0x38] - mov x0, x27 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + str w1, [fp, #0x7C] // [V90 tmp81] + ldr x0, [x27, #0x08] + add x1, fp, #124 // [V90 tmp81] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 mov x0, x27 mov x1, x22 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 - ;; size=56 bbWeight=0.50 PerfScore 7.75 + ;; size=64 bbWeight=0.50 PerfScore 12.25 G_M53852_IG29: mov x0, x26 mov x1, x20 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ldr x1, [x19, #0x08] mov x0, x26 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ldr x1, [x19, #0x10] mov x0, x26 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 cbz w25, G_M53852_IG30 ldr x1, [x19, #0x20] mov x0, x26 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ;; size=116 bbWeight=0.50 PerfScore 17.25 G_M53852_IG30: ldr x1, [x19, #0x18] mov x0, x26 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 cbz w23, G_M53852_IG37 mov x0, x26 mov x1, x21 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M53852_IG37 ;; size=64 bbWeight=0.50 PerfScore 8.75 G_M53852_IG31: movz w0, #0xD1FFAB1E movk w0, #0xD1FFAB1E LSL #16 movz w1, #0xD1FFAB1E movk w1, #0xD1FFAB1E LSL #16 cmp w23, #0 csel w1, w0, w1, ne mov x0, x27 movz x2, #0xD1FFAB1E movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] ldr x2, [x2, #0x38] blr x2 - mov x0, x27 - mov w1, w24 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + str w24, [fp, #0x78] // [V100 tmp91] + ldr x0, [x27, #0x08] + add x1, fp, #120 // [V100 tmp91] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 mov x0, x27 mov x1, x20 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ldr x1, [x19, #0x08] mov x0, x27 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ldr x1, [x19, #0x10] mov x0, x27 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 cbz w23, G_M53852_IG32 mov x0, x27 mov x1, x21 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M53852_IG33 - ;; size=200 bbWeight=0.50 PerfScore 25.75 + ;; size=204 bbWeight=0.50 PerfScore 30.00 G_M53852_IG32: ldr x1, [x19, #0x18] mov x0, x27 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ;; size=28 bbWeight=0.50 PerfScore 4.50 G_M53852_IG33: cbz x22, G_M53852_IG34 - ldr w0, [x22, #0x08] - cbnz w0, G_M53852_IG36 + ldr w1, [x22, #0x08] + cbnz w1, G_M53852_IG36 ;; size=12 bbWeight=0.50 PerfScore 2.50 G_M53852_IG34: - mov x0, x27 movn w1, #0 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + str w1, [fp, #0x74] // [V111 tmp102] + ldr x0, [x27, #0x08] + add x1, fp, #116 // [V111 tmp102] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 mov w19, wzr - ;; size=32 bbWeight=0.50 PerfScore 3.50 + ;; size=40 bbWeight=0.50 PerfScore 8.00 G_M53852_IG35: - mov x0, x26 movn w1, #0 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + str w1, [fp, #0x70] // [V121 tmp112] + ldr x0, [x26, #0x08] + add x1, fp, #112 // [V121 tmp112] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 add w19, w19, #4 cmp w19, #20 blt G_M53852_IG35 b G_M53852_IG37 - ;; size=44 bbWeight=4 PerfScore 38.00 + ;; size=52 bbWeight=4 PerfScore 74.00 G_M53852_IG36: ldr w1, [x19, #0x38] - mov x0, x27 - movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 + str w1, [fp, #0x6C] // [V132 tmp123] + ldr x0, [x27, #0x08] + add x1, fp, #108 // [V132 tmp123] + mov w2, #4 + ldr x3, [x0] + ldr x3, [x3, #0x60] + ldr x3, [x3, #0x38] + blr x3 mov x0, x27 mov x1, x22 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[]) movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 - ;; size=56 bbWeight=0.50 PerfScore 7.75 + ;; size=64 bbWeight=0.50 PerfScore 12.25 G_M53852_IG37: ldr x0, [x26, #0x08] ldr x1, [x0] ldr x1, [x1, #0x50] ldr x1, [x1, #0x30] blr x1 ldr x0, [fp, #0x20] // [V04 loc3] movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:ToArray():ubyte[]:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x19, x0 ;; size=48 bbWeight=1 PerfScore 21.00 G_M53852_IG38: ldrb w0, [x26, #0x18] cbz w0, G_M53852_IG41 ;; size=8 bbWeight=1 PerfScore 4.00 G_M53852_IG39: ldr x0, [x26, #0x08] ldr x1, [x0] ldr x1, [x1, #0x50] ldr x1, [x1, #0x30] blr x1 b G_M53852_IG42 ;; size=24 bbWeight=0.50 PerfScore 7.00 G_M53852_IG40: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x26, x0 movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_StreamNotWritable():System.String movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 mov x1, x0 mov x0, x26 movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x0, x26 bl CORINFO_HELP_THROW ;; size=76 bbWeight=0 PerfScore 0.00 G_M53852_IG41: ldr x0, [x26, #0x08] ldr x1, [x0] ldr x1, [x1, #0x50] ldr x1, [x1, #0x18] blr x1 ;; size=20 bbWeight=0.50 PerfScore 6.50 G_M53852_IG42: ldr x0, [fp, #0x20] // [V04 loc3] movz x1, #0xD1FFAB1E // code for System.IO.Stream:Dispose():this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x0, x19 ;; size=28 bbWeight=1 PerfScore 8.00 G_M53852_IG43: - ldr x27, [sp, #0xB8] - ldp x25, x26, [sp, #0xA8] - ldp x23, x24, [sp, #0x98] - ldp x21, x22, [sp, #0x88] - ldp x19, x20, [sp, #0x78] - ldp fp, lr, [sp], #0xC0 + ldr x27, [sp, #0xE8] + ldp x25, x26, [sp, #0xD8] + ldp x23, x24, [sp, #0xC8] + ldp x21, x22, [sp, #0xB8] + ldp x19, x20, [sp, #0xA8] + ldp fp, lr, [sp], #0xF0 ret lr ;; size=28 bbWeight=1 PerfScore 8.00 G_M53852_IG44: movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 bl CORINFO_HELP_THROW ;; size=24 bbWeight=0 PerfScore 0.00 G_M53852_IG45: movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 bl CORINFO_HELP_THROW ;; size=24 bbWeight=0 PerfScore 0.00 G_M53852_IG46: movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 bl CORINFO_HELP_THROW ;; size=24 bbWeight=0 PerfScore 0.00 G_M53852_IG47: movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 bl CORINFO_HELP_THROW ;; size=24 bbWeight=0 PerfScore 0.00 G_M53852_IG48: movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 bl CORINFO_HELP_THROW ;; size=24 bbWeight=0 PerfScore 0.00 G_M53852_IG49: movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0 bl CORINFO_HELP_THROW brk_unix #0 ;; size=28 bbWeight=0 PerfScore 0.00 G_M53852_IG50: stp fp, lr, [sp, #-0x60]! stp x19, x20, [sp, #0x18] stp x21, x22, [sp, #0x28] stp x23, x24, [sp, #0x38] stp x25, x26, [sp, #0x48] str x27, [sp, #0x58] - add x3, fp, #192 + add x3, fp, #240 str x3, [sp, #0x10] ;; size=32 bbWeight=0 PerfScore 0.00 G_M53852_IG51: ldr x26, [fp, #0x18] // [V05 loc4] ldrb w0, [x26, #0x18] cbz w0, G_M53852_IG52 ldr x0, [x26, #0x08] ldr x1, [x0] ldr x1, [x1, #0x50] ldr x1, [x1, #0x30] blr x1 b G_M53852_IG53 ;; size=36 bbWeight=0 PerfScore 0.00 G_M53852_IG52: ldr x0, [x26, #0x08] ldr x1, [x0] ldr x1, [x1, #0x50] ldr x1, [x1, #0x18] blr x1 ;; size=20 bbWeight=0 PerfScore 0.00 G_M53852_IG53: ldr x27, [sp, #0x58] ldp x25, x26, [sp, #0x48] ldp x23, x24, [sp, #0x38] ldp x21, x22, [sp, #0x28] ldp x19, x20, [sp, #0x18] ldp fp, lr, [sp], #0x60 ret lr ;; size=28 bbWeight=0 PerfScore 0.00 G_M53852_IG54: stp fp, lr, [sp, #-0x60]! stp x19, x20, [sp, #0x18] stp x21, x22, [sp, #0x28] stp x23, x24, [sp, #0x38] stp x25, x26, [sp, #0x48] str x27, [sp, #0x58] - add x3, fp, #192 + add x3, fp, #240 str x3, [sp, #0x10] ;; size=32 bbWeight=0 PerfScore 0.00 G_M53852_IG55: ldr x0, [fp, #0x20] // [V04 loc3] movz x1, #0xD1FFAB1E // code for System.IO.Stream:Dispose():this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 ;; size=24 bbWeight=0 PerfScore 0.00 G_M53852_IG56: ldr x27, [sp, #0x58] ldp x25, x26, [sp, #0x48] ldp x23, x24, [sp, #0x38] ldp x21, x22, [sp, #0x28] ldp x19, x20, [sp, #0x18] ldp fp, lr, [sp], #0x60 ret lr ;; size=28 bbWeight=0 PerfScore 0.00 -; Total bytes of code 2000, prolog size 56, PerfScore 388.00, instruction count 500, allocated bytes for code 2000 (MethodHash=e0822da3) for method System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[] (FullOpts) +; Total bytes of code 2076, prolog size 56, PerfScore 499.75, instruction count 519, allocated bytes for code 2076 (MethodHash=e0822da3) for method System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[] (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/5b8ad801d2481f88d1d4fd05f7a8dfea

MihuBot commented 5 months ago

Top method improvements

-68 (-3.108% of base) - System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection ```diff ; Assembly listing for method System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (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; 21 single block inlinees; 7 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T05] ( 3, 3 ) ref -> x21 class-hnd single-def -; V01 arg1 [V01,T04] ( 4, 3.94) int -> x20 single-def +; V00 arg0 [V00,T06] ( 3, 3 ) ref -> x21 class-hnd single-def +; V01 arg1 [V01,T05] ( 4, 3.94) int -> x20 single-def ; V02 arg2 [V02,T01] ( 17, 9.50) ref -> x19 class-hnd single-def -; V03 arg3 [V03,T06] ( 3, 3 ) ubyte -> x22 single-def +; V03 arg3 [V03,T07] ( 3, 3 ) ubyte -> x22 single-def ;* V04 loc0 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def -; V05 loc1 [V05,T38] ( 2, 0 ) ref -> [fp+0x10] class-hnd exact EH-live single-def +; V05 loc1 [V05,T39] ( 2, 0 ) ref -> [fp+0x18] class-hnd exact EH-live single-def ;* V06 loc2 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd ;* V07 loc3 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V08 loc4 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V09 loc5 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V10 loc6 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact -; V11 loc7 [V11,T22] ( 3, 1.50) ref -> x19 class-hnd exact single-def -; V12 loc8 [V12,T13] ( 4, 2 ) ref -> x0 class-hnd single-def -; V13 loc9 [V13 ] ( 3, 1.50) struct (16) [fp+0x18] do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op +; V11 loc7 [V11,T23] ( 3, 1.50) ref -> x19 class-hnd exact single-def +; V12 loc8 [V12,T14] ( 4, 2 ) ref -> x0 class-hnd single-def +; V13 loc9 [V13 ] ( 3, 1.50) struct (16) [fp+0x20] do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op ;* V14 loc10 [V14 ] ( 0, 0 ) struct (16) zero-ref multireg-arg multireg-ret ;* V15 loc11 [V15 ] ( 0, 0 ) struct ( 8) zero-ref ;* V16 loc12 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ;* V17 loc13 [V17 ] ( 0, 0 ) struct ( 8) zero-ref ;* V18 loc14 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V19 loc15 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V20 loc16 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V21 loc17 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V22 loc18 [V22 ] ( 0, 0 ) int -> zero-ref ;* V23 loc19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd ;# V24 OutArgs [V24 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V25 tmp1 [V25,T02] ( 4, 8 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" -; V26 tmp2 [V26,T34] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" +; V26 tmp2 [V26,T35] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" ;* V27 tmp3 [V27 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" -; V28 tmp4 [V28,T03] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" -; V29 tmp5 [V29,T00] ( 21, 27 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" +; V28 tmp4 [V28,T04] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" +; V29 tmp5 [V29,T00] ( 21, 27 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" ;* V30 tmp6 [V30 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" ;* V31 tmp7 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V32 tmp8 [V32,T10] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" -; V33 tmp9 [V33,T35] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" -; V34 tmp10 [V34,T23] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" -; V35 tmp11 [V35,T07] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V32 tmp8 [V32,T11] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" +; V33 tmp9 [V33,T36] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" +; V34 tmp10 [V34,T24] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" +; V35 tmp11 [V35,T08] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" ;* V36 tmp12 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" ;* V37 tmp13 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" ;* V38 tmp14 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V39 tmp15 [V39,T11] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" -; V40 tmp16 [V40,T36] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" -; V41 tmp17 [V41,T24] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" -; V42 tmp18 [V42,T08] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V39 tmp15 [V39,T12] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" +; V40 tmp16 [V40,T37] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" +; V41 tmp17 [V41,T25] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" +; V42 tmp18 [V42,T09] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" ;* V43 tmp19 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" ;* V44 tmp20 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" ;* V45 tmp21 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V46 tmp22 [V46,T12] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" -; V47 tmp23 [V47,T37] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" -; V48 tmp24 [V48,T25] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" -; V49 tmp25 [V49,T09] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" +; V46 tmp22 [V46,T13] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" +; V47 tmp23 [V47,T38] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" +; V48 tmp24 [V48,T26] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" +; V49 tmp25 [V49,T10] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" ;* V50 tmp26 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" ;* V51 tmp27 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" -; V52 tmp28 [V52 ] ( 2, 1 ) ref -> [fp+0x18] do-not-enreg[X] addr-exposed "field V13._bits (fldOffset=0x0)" P-DEP -; V53 tmp29 [V53 ] ( 2, 1 ) int -> [fp+0x20] do-not-enreg[X] addr-exposed "field V13._sign (fldOffset=0x8)" P-DEP -; V54 tmp30 [V54,T28] ( 2, 1 ) ref -> x3 "field V14._bits (fldOffset=0x0)" P-INDEP -; V55 tmp31 [V55,T29] ( 2, 1 ) int -> x4 "field V14._sign (fldOffset=0x8)" P-INDEP -; V56 tmp32 [V56,T30] ( 2, 1 ) long -> x1 "field V15._dateData (fldOffset=0x0)" P-INDEP -; V57 tmp33 [V57,T31] ( 2, 1 ) long -> x1 "field V16._dateData (fldOffset=0x0)" P-INDEP -; V58 tmp34 [V58,T32] ( 2, 1 ) long -> x1 "field V17._dateData (fldOffset=0x0)" P-INDEP +; V52 tmp28 [V52 ] ( 2, 1 ) ref -> [fp+0x20] do-not-enreg[X] addr-exposed "field V13._bits (fldOffset=0x0)" P-DEP +; V53 tmp29 [V53 ] ( 2, 1 ) int -> [fp+0x28] do-not-enreg[X] addr-exposed "field V13._sign (fldOffset=0x8)" P-DEP +; V54 tmp30 [V54,T29] ( 2, 1 ) ref -> x3 "field V14._bits (fldOffset=0x0)" P-INDEP +; V55 tmp31 [V55,T30] ( 2, 1 ) int -> x4 "field V14._sign (fldOffset=0x8)" P-INDEP +; V56 tmp32 [V56,T31] ( 2, 1 ) long -> x1 "field V15._dateData (fldOffset=0x0)" P-INDEP +; V57 tmp33 [V57,T32] ( 2, 1 ) long -> x1 "field V16._dateData (fldOffset=0x0)" P-INDEP +; V58 tmp34 [V58,T33] ( 2, 1 ) long -> x1 "field V17._dateData (fldOffset=0x0)" P-INDEP ;* V59 tmp35 [V59 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP ;* V60 tmp36 [V60 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP -; V61 tmp37 [V61,T26] ( 3, 1.50) byref -> x1 "field V30._reference (fldOffset=0x0)" P-INDEP -; V62 tmp38 [V62,T27] ( 3, 1.50) int -> x2 "field V30._length (fldOffset=0x8)" P-INDEP -; V63 tmp39 [V63,T39] ( 2, 0 ) ref -> x1 single-def "argument with side effect" -; V64 tmp40 [V64,T14] ( 2, 2 ) ref -> x1 single-def "argument with side effect" -; V65 tmp41 [V65,T21] ( 2, 2 ) int -> x1 "argument with side effect" -; V66 tmp42 [V66,T40] ( 2, 0 ) ref -> x1 single-def "argument with side effect" -; V67 tmp43 [V67,T41] ( 2, 0 ) ref -> x1 single-def "argument with side effect" -; V68 tmp44 [V68,T42] ( 2, 0 ) ref -> x1 single-def "argument with side effect" -; V69 tmp45 [V69,T15] ( 2, 2 ) ref -> x1 single-def "argument with side effect" -; V70 tmp46 [V70,T16] ( 2, 2 ) ref -> x1 single-def "argument with side effect" -; V71 tmp47 [V71,T17] ( 2, 2 ) ref -> x1 single-def "argument with side effect" -; V72 tmp48 [V72,T18] ( 2, 2 ) ref -> x1 single-def "argument with side effect" -; V73 tmp49 [V73,T19] ( 2, 2 ) ref -> x1 single-def "argument with side effect" -; V74 tmp50 [V74,T20] ( 2, 2 ) ref -> x1 single-def "argument with side effect" -; V75 PSPSym [V75,T33] ( 1, 1 ) long -> [fp+0x28] do-not-enreg[V] "PSPSym" +; V61 tmp37 [V61,T27] ( 3, 1.50) byref -> x1 "field V30._reference (fldOffset=0x0)" P-INDEP +; V62 tmp38 [V62,T28] ( 3, 1.50) int -> x2 "field V30._length (fldOffset=0x8)" P-INDEP +; V63 tmp39 [V63,T40] ( 2, 0 ) ref -> x1 single-def "argument with side effect" +; V64 tmp40 [V64,T15] ( 2, 2 ) ref -> x1 single-def "argument with side effect" +; V65 tmp41 [V65,T22] ( 2, 2 ) int -> x1 "argument with side effect" +; V66 tmp42 [V66,T41] ( 2, 0 ) ref -> x1 single-def "argument with side effect" +; V67 tmp43 [V67,T42] ( 2, 0 ) ref -> x1 single-def "argument with side effect" +; V68 tmp44 [V68,T43] ( 2, 0 ) ref -> x1 single-def "argument with side effect" +; V69 tmp45 [V69,T16] ( 2, 2 ) ref -> x1 single-def "argument with side effect" +; V70 tmp46 [V70,T17] ( 2, 2 ) ref -> x1 single-def "argument with side effect" +; V71 tmp47 [V71,T18] ( 2, 2 ) ref -> x1 single-def "argument with side effect" +; V72 tmp48 [V72,T19] ( 2, 2 ) ref -> x1 single-def "argument with side effect" +; V73 tmp49 [V73,T20] ( 2, 2 ) ref -> x1 single-def "argument with side effect" +; V74 tmp50 [V74,T21] ( 2, 2 ) ref -> x1 single-def "argument with side effect" +; V75 PSPSym [V75,T34] ( 1, 1 ) long -> [fp+0x30] do-not-enreg[V] "PSPSym" +; V76 cse0 [V76,T03] ( 13, 7.50) long -> x24 "CSE #01: aggressive" ; -; Lcl frame size = 32 +; Lcl frame size = 40 G_M11167_IG01: - stp fp, lr, [sp, #-0x60]! - stp x19, x20, [sp, #0x30] - stp x21, x22, [sp, #0x40] - stp x23, x24, [sp, #0x50] + stp fp, lr, [sp, #-0x70]! + stp x19, x20, [sp, #0x38] + stp x21, x22, [sp, #0x48] + stp x23, x24, [sp, #0x58] + str x25, [sp, #0x68] mov fp, sp - str xzr, [fp, #0x18] // [V13 loc9] - add x4, sp, #96 - str x4, [fp, #0x28] // [V75 PSPSym] + str xzr, [fp, #0x20] // [V13 loc9] + add x4, sp, #112 + str x4, [fp, #0x30] // [V75 PSPSym] mov x21, x0 mov w20, w1 mov x19, x2 mov w22, w3 - ;; size=48 bbWeight=1 PerfScore 9.00 + ;; size=52 bbWeight=1 PerfScore 10.00 G_M11167_IG02: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x23, x0 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + movz x24, #0xD1FFAB1E + movk x24, #0xD1FFAB1E LSL #16 + movk x24, #0xD1FFAB1E LSL #32 + add x0, x24, #0xD1FFAB1E bl CORINFO_HELP_NEWSFAST - mov x24, x0 + mov x25, x0 movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 - mov w1, #60 + mov w1, #59 bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value movk x14, #0xD1FFAB1E LSL #16 movk x14, #0xD1FFAB1E LSL #32 ldr x15, [x14] - add x14, x24, #8 + add x14, x25, #8 bl CORINFO_HELP_ASSIGN_REF add x14, x23, #8 - mov x15, x24 + mov x15, x25 bl CORINFO_HELP_ASSIGN_REF movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST - mov x24, x0 - add x14, x24, #8 + mov x25, x0 + add x14, x25, #8 mov x15, x21 bl CORINFO_HELP_ASSIGN_REF - add x14, x24, #16 + add x14, x25, #16 mov x15, x23 bl CORINFO_HELP_ASSIGN_REF - strb w22, [x24, #0x18] - str x24, [fp, #0x10] // [V05 loc1] - ;; size=148 bbWeight=1 PerfScore 26.00 + strb w22, [x25, #0x18] + str x25, [fp, #0x18] // [V05 loc1] + ;; size=152 bbWeight=1 PerfScore 26.50 G_M11167_IG03: cmp w20, #14 bhi G_M11167_IG28 ;; size=8 bbWeight=1 PerfScore 1.50 G_M11167_IG04: mov w1, w20 adr x0, [@RWD00] ldr w0, [x0, x1, LSL #2] adr x2, [G_M11167_IG02] add x0, x0, x2 br x0 ;; size=24 bbWeight=0.94 PerfScore 5.62 G_M11167_IG05: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 movz x1, #0xD1FFAB1E // code for Internal.Cryptography.Helpers:LaxDecodeHexString(System.String):ubyte[] movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByThumbprint(ubyte[]):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 - ;; size=88 bbWeight=0.50 PerfScore 10.25 + ;; size=80 bbWeight=0.50 PerfScore 9.75 G_M11167_IG06: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindBySubjectName(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 - ;; size=68 bbWeight=0.50 PerfScore 7.50 + ;; size=60 bbWeight=0.50 PerfScore 7.00 G_M11167_IG07: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindBySubjectDistinguishedName(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 - ;; size=68 bbWeight=0.50 PerfScore 7.50 + ;; size=60 bbWeight=0.50 PerfScore 7.00 G_M11167_IG08: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByIssuerName(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 - ;; size=68 bbWeight=0.50 PerfScore 7.50 + ;; size=60 bbWeight=0.50 PerfScore 7.00 G_M11167_IG09: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByIssuerDistinguishedName(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 - ;; size=68 bbWeight=0.50 PerfScore 7.50 + ;; size=60 bbWeight=0.50 PerfScore 7.00 G_M11167_IG10: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x19, x0 movz x1, #0xD1FFAB1E // code for Internal.Cryptography.Helpers:LaxDecodeHexString(System.String):ubyte[] movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 cbnz x0, G_M11167_IG11 mov x1, xzr mov w2, wzr b G_M11167_IG12 - ;; size=76 bbWeight=0.50 PerfScore 8.25 + ;; size=68 bbWeight=0.50 PerfScore 7.75 G_M11167_IG11: add x1, x0, #16 ldr w2, [x0, #0x08] ;; size=8 bbWeight=0.50 PerfScore 1.75 G_M11167_IG12: - add x0, fp, #24 // [V13 loc9] + add x0, fp, #32 // [V13 loc9] mov w3, #1 mov w4, #1 movz x5, #0xD1FFAB1E // code for System.Numerics.BigInteger:.ctor(System.ReadOnlySpan`1[ubyte],ubyte,ubyte):this movk x5, #0xD1FFAB1E LSL #16 movk x5, #0xD1FFAB1E LSL #32 ldr x5, [x5] blr x5 mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x3, x0 mov w4, w1 - ldr x1, [fp, #0x18] // [V52 tmp28] - ldr w2, [fp, #0x20] // [V53 tmp29] - mov x0, x24 + ldr x1, [fp, #0x20] // [V52 tmp28] + ldr w2, [fp, #0x28] // [V53 tmp29] + mov x0, x25 movz x5, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindBySerialNumber(System.Numerics.BigInteger,System.Numerics.BigInteger):this movk x5, #0xD1FFAB1E LSL #16 movk x5, #0xD1FFAB1E LSL #32 ldr x5, [x5] blr x5 b G_M11167_IG32 ;; size=100 bbWeight=0.50 PerfScore 12.50 G_M11167_IG13: mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.DateTime](System.Object):System.DateTime movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByTimeValid(System.DateTime):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 ;; size=56 bbWeight=0.50 PerfScore 6.75 G_M11167_IG14: mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.DateTime](System.Object):System.DateTime movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByTimeNotYetValid(System.DateTime):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 ;; size=56 bbWeight=0.50 PerfScore 6.75 G_M11167_IG15: mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.DateTime](System.Object):System.DateTime movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByTimeExpired(System.DateTime):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 ;; size=56 bbWeight=0.50 PerfScore 6.75 G_M11167_IG16: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByTemplateName(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 - ;; size=68 bbWeight=0.50 PerfScore 7.50 + ;; size=60 bbWeight=0.50 PerfScore 7.00 G_M11167_IG17: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x19, x0 ldr w0, [x19, #0x08] cbz w0, G_M11167_IG29 movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST - mov x20, x0 + mov x24, x0 mov x1, x19 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Oid:.ctor(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] - ldr x1, [x20, #0x08] + ldr x1, [x24, #0x08] mov x2, x19 movz x3, #0xD1FFAB1E // code for System.OrdinalIgnoreCaseComparer:Equals(System.String,System.String):ubyte:this movk x3, #0xD1FFAB1E LSL #16 movk x3, #0xD1FFAB1E LSL #32 ldr x3, [x3] blr x3 cbnz w0, G_M11167_IG19 - ldr x1, [x20, #0x08] - ;; size=144 bbWeight=0.50 PerfScore 19.25 + ldr x1, [x24, #0x08] + ;; size=136 bbWeight=0.50 PerfScore 18.75 G_M11167_IG18: - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByApplicationPolicy(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 ;; size=28 bbWeight=0.50 PerfScore 3.50 G_M11167_IG19: mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ValidateOidValue(System.String) movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x1, x19 b G_M11167_IG18 ;; size=32 bbWeight=0.50 PerfScore 3.75 G_M11167_IG20: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x19, x0 ldr w0, [x19, #0x08] cbz w0, G_M11167_IG30 movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST - mov x20, x0 + mov x24, x0 mov x1, x19 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Oid:.ctor(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] - ldr x1, [x20, #0x08] + ldr x1, [x24, #0x08] mov x2, x19 movz x3, #0xD1FFAB1E // code for System.OrdinalIgnoreCaseComparer:Equals(System.String,System.String):ubyte:this movk x3, #0xD1FFAB1E LSL #16 movk x3, #0xD1FFAB1E LSL #32 ldr x3, [x3] blr x3 cbnz w0, G_M11167_IG22 - ldr x1, [x20, #0x08] - ;; size=144 bbWeight=0.50 PerfScore 19.25 + ldr x1, [x24, #0x08] + ;; size=136 bbWeight=0.50 PerfScore 18.75 G_M11167_IG21: - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByCertificatePolicy(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 ;; size=28 bbWeight=0.50 PerfScore 3.50 G_M11167_IG22: mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ValidateOidValue(System.String) movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x1, x19 b G_M11167_IG21 ;; size=32 bbWeight=0.50 PerfScore 3.75 G_M11167_IG23: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 mov x19, x0 ldr w0, [x19, #0x08] cbz w0, G_M11167_IG31 movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST - mov x20, x0 + mov x24, x0 mov x1, x19 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Oid:.ctor(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] - ldr x1, [x20, #0x08] + ldr x1, [x24, #0x08] mov x2, x19 movz x3, #0xD1FFAB1E // code for System.OrdinalIgnoreCaseComparer:Equals(System.String,System.String):ubyte:this movk x3, #0xD1FFAB1E LSL #16 movk x3, #0xD1FFAB1E LSL #32 ldr x3, [x3] blr x3 cbnz w0, G_M11167_IG25 - ldr x1, [x20, #0x08] - ;; size=144 bbWeight=0.50 PerfScore 19.25 + ldr x1, [x24, #0x08] + ;; size=136 bbWeight=0.50 PerfScore 18.75 G_M11167_IG24: - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByExtension(System.String):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 ;; size=28 bbWeight=0.50 PerfScore 3.50 G_M11167_IG25: mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ValidateOidValue(System.String) movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x1, x19 b G_M11167_IG24 ;; size=32 bbWeight=0.50 PerfScore 3.75 G_M11167_IG26: mov x0, x19 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedX509KeyUsage(System.Object):int movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 sxtw w1, w0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByKeyUsage(int):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 ;; size=56 bbWeight=0.50 PerfScore 6.75 G_M11167_IG27: mov x1, x19 - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 + mov x0, x24 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 movz x1, #0xD1FFAB1E // code for Internal.Cryptography.Helpers:LaxDecodeHexString(System.String):ubyte[] movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x1, x0 - mov x0, x24 + mov x0, x25 movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindBySubjectKeyIdentifier(ubyte[]):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 b G_M11167_IG32 - ;; size=88 bbWeight=0.50 PerfScore 10.25 + ;; size=80 bbWeight=0.50 PerfScore 9.75 G_M11167_IG28: 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_X509_InvalidFindType():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 ;; size=76 bbWeight=0 PerfScore 0.00 G_M11167_IG29: 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_Argument_InvalidOidValue():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.ArgumentException:.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 ;; size=76 bbWeight=0 PerfScore 0.00 G_M11167_IG30: 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_Argument_InvalidOidValue():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.ArgumentException:.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 ;; size=76 bbWeight=0 PerfScore 0.00 G_M11167_IG31: 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_Argument_InvalidOidValue():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.ArgumentException:.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_unix #0 ;; size=80 bbWeight=0 PerfScore 0.00 G_M11167_IG32: - mov x0, x24 + mov x0, x25 movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:Dispose():this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x0, x23 ;; size=28 bbWeight=1 PerfScore 6.50 G_M11167_IG33: - ldp x23, x24, [sp, #0x50] - ldp x21, x22, [sp, #0x40] - ldp x19, x20, [sp, #0x30] - ldp fp, lr, [sp], #0x60 + ldr x25, [sp, #0x68] + ldp x23, x24, [sp, #0x58] + ldp x21, x22, [sp, #0x48] + ldp x19, x20, [sp, #0x38] + ldp fp, lr, [sp], #0x70 ret lr - ;; size=20 bbWeight=1 PerfScore 5.00 + ;; size=24 bbWeight=1 PerfScore 7.00 G_M11167_IG34: stp fp, lr, [sp, #-0x50]! - stp x19, x20, [sp, #0x20] - stp x21, x22, [sp, #0x30] - stp x23, x24, [sp, #0x40] - add x3, fp, #96 - str x3, [sp, #0x18] - ;; size=24 bbWeight=0 PerfScore 0.00 + stp x19, x20, [sp, #0x18] + stp x21, x22, [sp, #0x28] + stp x23, x24, [sp, #0x38] + str x25, [sp, #0x48] + add x3, fp, #112 + str x3, [sp, #0x10] + ;; size=28 bbWeight=0 PerfScore 0.00 G_M11167_IG35: - ldr x0, [fp, #0x10] // [V05 loc1] + ldr x0, [fp, #0x18] // [V05 loc1] movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:Dispose():this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 ;; size=24 bbWeight=0 PerfScore 0.00 G_M11167_IG36: - ldp x23, x24, [sp, #0x40] - ldp x21, x22, [sp, #0x30] - ldp x19, x20, [sp, #0x20] + ldr x25, [sp, #0x48] + ldp x23, x24, [sp, #0x38] + ldp x21, x22, [sp, #0x28] + ldp x19, x20, [sp, #0x18] ldp fp, lr, [sp], #0x50 ret lr - ;; size=20 bbWeight=0 PerfScore 0.00 + ;; size=24 bbWeight=0 PerfScore 0.00 RWD00 dd G_M11167_IG05 - G_M11167_IG02 dd G_M11167_IG06 - G_M11167_IG02 dd G_M11167_IG07 - G_M11167_IG02 dd G_M11167_IG08 - G_M11167_IG02 dd G_M11167_IG09 - G_M11167_IG02 dd G_M11167_IG10 - G_M11167_IG02 dd G_M11167_IG13 - G_M11167_IG02 dd G_M11167_IG14 - G_M11167_IG02 dd G_M11167_IG15 - G_M11167_IG02 dd G_M11167_IG16 - G_M11167_IG02 dd G_M11167_IG17 - G_M11167_IG02 dd G_M11167_IG20 - G_M11167_IG02 dd G_M11167_IG23 - G_M11167_IG02 dd G_M11167_IG26 - G_M11167_IG02 dd G_M11167_IG27 - G_M11167_IG02 -; Total bytes of code 2188, prolog size 48, PerfScore 240.62, instruction count 547, allocated bytes for code 2188 (MethodHash=a227d460) for method System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts) +; Total bytes of code 2120, prolog size 52, PerfScore 238.62, instruction count 530, allocated bytes for code 2120 (MethodHash=a227d460) for method System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (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/a68fffae93165051222d3cb10aa85244

MihuBot commented 5 months ago

@xtqqczze

MihaZupan commented 5 months ago

You can ignore the CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS diffs - see https://discord.com/channels/143867839282020352/312132327348240384/1218293426584289306