Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ARM64] [xtqqczze] BinaryWriter perf improvements #296

Open
MihuBot opened this issue Mar 15, 2024 · 4 comments
Open

[ARM64] [xtqqczze] BinaryWriter perf improvements #296

MihuBot opened this issue Mar 15, 2024 · 4 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Mar 15, 2024

Build completed in 35 minutes.
dotnet/runtime#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+<ReadAsyncCore>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:<WriteCharsCommonWithoutLengthPrefix>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+<WriteAsyncCore>d__53:MoveNext():this (FullOpts)
          48 (3.614% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+<ComputeHashAsyncCore>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+<CopyToAsyncInternal>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:<WriteAsyncCore>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:<WriteCharsCommonWithoutLengthPrefix>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+<ParseExternalIdAsync>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]]:<CreateImmutableEnumerableCreateRangeDelegate>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:<WriteCharsCommonWithoutLengthPrefix>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:<WriteAsyncCore>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+<ComputeHashAsyncCore>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+<ReadAsyncCore>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+<CopyToAsyncInternal>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+<WriteAsyncCore>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:<WriteCharsCommonWithoutLengthPrefix>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]]:<CreateImmutableEnumerableCreateRangeDelegate>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+<ParseExternalIdAsync>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
Copy link
Owner Author

MihuBot commented Mar 15, 2024

Top method regressions

76 (3.800% of base) - System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[]
 ; 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 <System.IO.MemoryStream>
-;  V05 loc4         [V05,T02] ( 16, 14   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.IO.BinaryWriter>
-;  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 <System.IO.MemoryStream>
+;  V05 loc4         [V05,T04] ( 16, 14   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.IO.BinaryWriter>
+;  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 <ubyte[]>
-;  V08 loc7         [V08,T25] (  2,  2   )     ref  ->  x19         class-hnd single-def <ubyte[]>
+;  V08 loc7         [V08,T42] (  2,  2   )     ref  ->  x19         class-hnd single-def <ubyte[]>
 ;# 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" <System.IO.MemoryStream>
+;  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" <System.IO.MemoryStream>
 ;  V13 tmp4         [V13,T01] ( 25, 32   )     ref  ->  x27         class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
 ;* 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" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V19 tmp10        [V19,T64] (  2,  1   )     int  ->   x1        
+;  V20 tmp11        [V20,T12] (  4,  7   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
 ;* 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" <System.ArgumentException>
-;  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" <System.Security.Cryptography.DSAParameters>
-;  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" <System.ArgumentException>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V28 tmp19        [V28,T22] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V29 tmp20        [V29    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V30 tmp21        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V31 tmp22        [V31    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V32 tmp23        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V39 tmp30        [V39,T23] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V40 tmp31        [V40    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V41 tmp32        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V42 tmp33        [V42    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V43 tmp34        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V49 tmp40        [V49,T24] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V50 tmp41        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V51 tmp42        [V51    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V52 tmp43        [V52    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V53 tmp44        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V60 tmp51        [V60,T25] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V61 tmp52        [V61    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V62 tmp53        [V62    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V63 tmp54        [V63    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V64 tmp55        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V71 tmp62        [V71,T26] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V72 tmp63        [V72    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V73 tmp64        [V73    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V74 tmp65        [V74    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V75 tmp66        [V75    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V81 tmp72        [V81,T02] (  3, 24   )     ref  ->   x0         class-hnd "impAppendStmt" <System.IO.Stream>
+;* V82 tmp73        [V82    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V83 tmp74        [V83    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V84 tmp75        [V84    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V85 tmp76        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V92 tmp83        [V92,T27] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V93 tmp84        [V93    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V94 tmp85        [V94    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V95 tmp86        [V95    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V96 tmp87        [V96    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V102 tmp93       [V102,T28] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V103 tmp94       [V103    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V104 tmp95       [V104    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V105 tmp96       [V105    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V106 tmp97       [V106    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V113 tmp104      [V113,T29] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V114 tmp105      [V114    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V115 tmp106      [V115    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V116 tmp107      [V116    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V117 tmp108      [V117    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V123 tmp114      [V123,T03] (  3, 24   )     ref  ->   x0         class-hnd "impAppendStmt" <System.IO.Stream>
+;* V124 tmp115      [V124    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V125 tmp116      [V125    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V126 tmp117      [V126    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V127 tmp118      [V127    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.ReadOnlySpan`1[uint]>
+;  V134 tmp125      [V134,T30] (  3,  3   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V135 tmp126      [V135    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V136 tmp127      [V136    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V137 tmp128      [V137    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V138 tmp129      [V138    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* 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" <System.Security.Cryptography.DSAParameters>
+;  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
Copy link
Owner Author

MihuBot commented Mar 15, 2024

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
 ; 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 <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
-;  V01 arg1         [V01,T04] (  4,  3.94)     int  ->  x20         single-def
+;  V00 arg0         [V00,T06] (  3,  3   )     ref  ->  x21         class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
+;  V01 arg1         [V01,T05] (  4,  3.94)     int  ->  x20         single-def
 ;  V02 arg2         [V02,T01] ( 17,  9.50)     ref  ->  x19         class-hnd single-def <System.Object>
-;  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 <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
-;  V05 loc1         [V05,T38] (  2,  0   )     ref  ->  [fp+0x10]  class-hnd exact EH-live single-def <System.Security.Cryptography.X509Certificates.OpenSslCertificateFinder>
+;  V05 loc1         [V05,T39] (  2,  0   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.Security.Cryptography.X509Certificates.OpenSslCertificateFinder>
 ;* V06 loc2         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <ubyte[]>
 ;* V07 loc3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V08 loc4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V09 loc5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V10 loc6         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V11 loc7         [V11,T22] (  3,  1.50)     ref  ->  x19         class-hnd exact single-def <System.String>
-;  V12 loc8         [V12,T13] (  4,  2   )     ref  ->   x0         class-hnd single-def <ubyte[]>
-;  V13 loc9         [V13    ] (  3,  1.50)  struct (16) [fp+0x18]  do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op <System.Numerics.BigInteger>
+;  V11 loc7         [V11,T23] (  3,  1.50)     ref  ->  x19         class-hnd exact single-def <System.String>
+;  V12 loc8         [V12,T14] (  4,  2   )     ref  ->   x0         class-hnd single-def <ubyte[]>
+;  V13 loc9         [V13    ] (  3,  1.50)  struct (16) [fp+0x20]  do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op <System.Numerics.BigInteger>
 ;* V14 loc10        [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg multireg-ret <System.Numerics.BigInteger>
 ;* V15 loc11        [V15    ] (  0,  0   )  struct ( 8) zero-ref    <System.DateTime>
 ;* V16 loc12        [V16    ] (  0,  0   )  struct ( 8) zero-ref    <System.DateTime>
 ;* V17 loc13        [V17    ] (  0,  0   )  struct ( 8) zero-ref    <System.DateTime>
 ;* V18 loc14        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V19 loc15        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V20 loc16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V21 loc17        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V22 loc18        [V22    ] (  0,  0   )     int  ->  zero-ref   
 ;* V23 loc19        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <ubyte[]>
 ;# 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" <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
-;  V26 tmp2         [V26,T34] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+;  V26 tmp2         [V26,T35] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
 ;* V27 tmp3         [V27    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V28 tmp4         [V28,T03] (  3,  6   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
-;  V29 tmp5         [V29,T00] ( 21, 27   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.OpenSslCertificateFinder>
+;  V28 tmp4         [V28,T04] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
+;  V29 tmp5         [V29,T00] ( 21, 27   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.OpenSslCertificateFinder>
 ;* V30 tmp6         [V30    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V31 tmp7         [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;  V32 tmp8         [V32,T10] (  6,  3   )     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <System.String>
-;  V33 tmp9         [V33,T35] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-;  V34 tmp10        [V34,T23] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
-;  V35 tmp11        [V35,T07] (  4,  4   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
+;  V32 tmp8         [V32,T11] (  6,  3   )     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <System.String>
+;  V33 tmp9         [V33,T36] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;  V34 tmp10        [V34,T24] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
+;  V35 tmp11        [V35,T08] (  4,  4   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
 ;* V36 tmp12        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Security.Cryptography.Oid>
 ;* V37 tmp13        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.OrdinalIgnoreCaseComparer>
 ;* V38 tmp14        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;  V39 tmp15        [V39,T11] (  6,  3   )     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <System.String>
-;  V40 tmp16        [V40,T36] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-;  V41 tmp17        [V41,T24] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
-;  V42 tmp18        [V42,T08] (  4,  4   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
+;  V39 tmp15        [V39,T12] (  6,  3   )     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <System.String>
+;  V40 tmp16        [V40,T37] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;  V41 tmp17        [V41,T25] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
+;  V42 tmp18        [V42,T09] (  4,  4   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
 ;* V43 tmp19        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Security.Cryptography.Oid>
 ;* V44 tmp20        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.OrdinalIgnoreCaseComparer>
 ;* V45 tmp21        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
-;  V46 tmp22        [V46,T12] (  6,  3   )     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <System.String>
-;  V47 tmp23        [V47,T37] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-;  V48 tmp24        [V48,T25] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
-;  V49 tmp25        [V49,T09] (  4,  4   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
+;  V46 tmp22        [V46,T13] (  6,  3   )     ref  ->  x19         class-hnd exact single-def "Inline stloc first use temp" <System.String>
+;  V47 tmp23        [V47,T38] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;  V48 tmp24        [V48,T26] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
+;  V49 tmp25        [V49,T10] (  4,  4   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
 ;* V50 tmp26        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Security.Cryptography.Oid>
 ;* V51 tmp27        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.OrdinalIgnoreCaseComparer>
-;  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
Copy link
Owner Author

MihuBot commented Mar 15, 2024

@xtqqczze

@MihaZupan
Copy link
Collaborator

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

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

No branches or pull requests

2 participants