MihuBot / runtime-utils

0 stars 0 forks source link

[X64] [Sergio0694] Intrinsify typeof(T).IsGenericType #282

Open MihuBot opened 5 months ago

MihuBot commented 5 months ago

Build completed in 35 minutes.

Diffs

Diffs ``` Found 267 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38279936 Total bytes of diff: 38279062 Total bytes of delta: -874 (-0.00 % of base) Total relative delta: -2.96 diff is an improvement. relative diff is an improvement. Top file regressions (bytes): 2345 : System.Security.Cryptography.dasm (0.217% of base) Top file improvements (bytes): -1797 : System.Text.Json.dasm (-0.142% of base) -1391 : System.Data.Common.dasm (-0.084% of base) -31 : System.Private.DataContractSerialization.dasm (-0.003% of base) 4 total files with Code Size differences (3 improved, 1 regressed), 252 unchanged. Top method regressions (bytes): 101 (3.288% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__44:MoveNext():this (FullOpts) 73 (8.680% 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) 69 (3.583% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__56:MoveNext():this (FullOpts) 47 (10.398% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 46 (12.202% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 46 (8.200% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) 46 (8.679% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 46 (14.465% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts) 46 (14.744% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts) 45 (6.560% 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) 44 (1.289% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__53:MoveNext():this (FullOpts) 44 (3.932% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+d__16:MoveNext():this (FullOpts) 44 (5.308% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 42 (12.963% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 42 (12.923% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 42 (8.235% 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) 42 (11.538% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts) 42 (8.077% 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) 42 (12.069% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts) 41 (3.414% 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) 32 (3.725% 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.520% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts) 30 (7.026% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 28 (6.074% 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) 27 (4.376% 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) 27 (4.376% 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) 27 (4.362% 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) 27 (4.405% 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) 27 (4.362% 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) 26 (15.758% of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts) 26 (4.745% 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) 26 (4.779% 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) 26 (4.779% 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) 26 (4.771% 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) 26 (4.815% 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) 26 (4.842% 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) 26 (4.685% 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) 26 (4.771% 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) 26 (4.869% 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) 26 (4.869% 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) 26 (4.860% 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) 26 (4.842% 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) 26 (4.842% 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) 26 (4.860% 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) 26 (4.685% 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) 26 (1.422% 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) 26 (1.852% 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) 26 (4.569% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts) 25 (3.748% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:g__TransformBlock|53_0(System.Security.Cryptography.ICryptoTransform,System.ReadOnlyMemory`1[ubyte],ubyte[],int):int (FullOpts) 25 (10.373% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts) 25 (4.209% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts) 24 (6.761% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts) 23 (3.704% 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) 23 (3.674% 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) 23 (3.674% 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) 23 (2.184% 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) 22 (1.222% 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) 22 (0.694% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:DeriveSecretAgreement(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.IncrementalHash):ubyte[]:this (FullOpts) 22 (2.081% 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) 22 (5.432% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 22 (3.860% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 22 (1.202% 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) 22 (4.622% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:VerifyData(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding):ubyte:this (FullOpts) 22 (4.508% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts) 22 (1.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 22 (2.857% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts) 22 (2.254% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) 21 (5.949% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts) 21 (1.714% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts) 21 (13.462% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts) 20 (10.695% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 15 (2.674% 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) 9 (1.619% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.876% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.877% 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) Top method improvements (bytes): -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[double](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[double] (FullOpts) -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[int](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[int] (FullOpts) -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[long](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[long] (FullOpts) -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[short](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[short] (FullOpts) -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[ubyte](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[ubyte] (FullOpts) -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[double]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,double] (FullOpts) -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[int]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,int] (FullOpts) -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[long]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,long] (FullOpts) -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[short]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,short] (FullOpts) -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[ubyte]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,ubyte] (FullOpts) -124 (-37.462% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.__Canon]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.__Canon,System.__Canon] (FullOpts) -118 (-17.126% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[System.__Canon](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon] (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[double]():System.Text.Json.Serialization.JsonConverter`1[double]:this (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[int]():System.Text.Json.Serialization.JsonConverter`1[int]:this (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[long]():System.Text.Json.Serialization.JsonConverter`1[long]:this (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[short]():System.Text.Json.Serialization.JsonConverter`1[short]:this (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[ubyte]():System.Text.Json.Serialization.JsonConverter`1[ubyte]:this (FullOpts) -106 (-18.629% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.__Canon]:NullableFieldUsingReflection(System.Object):System.__Canon (FullOpts) -90 (-16.275% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[double]:NullableFieldUsingReflection(System.Object):double (FullOpts) -90 (-16.484% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[int]:NullableFieldUsingReflection(System.Object):int (FullOpts) -90 (-16.453% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[long]:NullableFieldUsingReflection(System.Object):long (FullOpts) -90 (-16.423% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[short]:NullableFieldUsingReflection(System.Object):short (FullOpts) -90 (-16.453% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[ubyte]:NullableFieldUsingReflection(System.Object):ubyte (FullOpts) -47 (-5.609% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[System.Nullable`1[int]](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.Nullable`1[int]] (FullOpts) -47 (-5.609% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[System.Numerics.Vector`1[float]](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.Numerics.Vector`1[float]] (FullOpts) -35 (-10.736% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[System.Nullable`1[int]]():System.Text.Json.Serialization.JsonConverter`1[System.Nullable`1[int]]:this (FullOpts) -35 (-10.736% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[System.Numerics.Vector`1[float]]():System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:this (FullOpts) -31 (-0.583% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract:IsCollectionOrTryCreate(System.Type,ubyte,byref,byref,ubyte,ubyte):ubyte (FullOpts) -19 (-6.810% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.Nullable`1[int]]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,System.Nullable`1[int]] (FullOpts) -19 (-3.287% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.Nullable`1[int]]:NullableFieldUsingReflection(System.Object):System.Nullable`1[int] (FullOpts) -19 (-6.810% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.Numerics.Vector`1[float]]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,System.Numerics.Vector`1[float]] (FullOpts) -19 (-3.065% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.Numerics.Vector`1[float]]:NullableFieldUsingReflection(System.Object):System.Numerics.Vector`1[float] (FullOpts) Top method regressions (percentages): 26 (15.758% of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts) 46 (14.744% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts) 46 (14.465% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts) 21 (13.462% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts) 42 (12.963% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 42 (12.923% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 46 (12.202% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 42 (12.069% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts) 42 (11.538% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts) 20 (10.695% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 47 (10.398% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 25 (10.373% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts) 73 (8.680% 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) 46 (8.679% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 42 (8.235% 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) 46 (8.200% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) 42 (8.077% 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) 30 (7.026% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 24 (6.761% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts) 45 (6.560% 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) 28 (6.074% 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) 21 (5.949% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts) 22 (5.432% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 44 (5.308% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 26 (4.869% 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) 26 (4.869% 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) 26 (4.860% 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) 26 (4.860% 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) 26 (4.842% 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) 26 (4.842% 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) 26 (4.842% 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) 26 (4.815% 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) 26 (4.779% 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) 26 (4.779% 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) 26 (4.771% 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) 26 (4.771% 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) 26 (4.745% 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) 26 (4.685% 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) 26 (4.685% 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) 22 (4.622% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:VerifyData(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding):ubyte:this (FullOpts) 26 (4.569% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts) 32 (4.520% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts) 22 (4.508% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts) 27 (4.405% 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) 27 (4.376% 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) 27 (4.376% 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) 27 (4.362% 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) 27 (4.362% 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) 25 (4.209% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts) 44 (3.932% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+d__16:MoveNext():this (FullOpts) 22 (3.860% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 25 (3.748% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:g__TransformBlock|53_0(System.Security.Cryptography.ICryptoTransform,System.ReadOnlyMemory`1[ubyte],ubyte[],int):int (FullOpts) 32 (3.725% 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) 23 (3.704% 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) 23 (3.674% 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) 23 (3.674% 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) 69 (3.583% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__56:MoveNext():this (FullOpts) 41 (3.414% 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) 101 (3.288% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__44:MoveNext():this (FullOpts) 22 (2.857% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts) 15 (2.674% 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) 22 (2.254% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) 23 (2.184% 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) 22 (2.081% 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) 26 (1.852% 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) 21 (1.714% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts) 22 (1.674% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 9 (1.619% 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) 26 (1.422% 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) 44 (1.289% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__53:MoveNext():this (FullOpts) 22 (1.222% 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) 22 (1.202% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.877% 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) 8 (0.876% 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) 22 (0.694% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:DeriveSecretAgreement(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.IncrementalHash):ubyte[]:this (FullOpts) Top method improvements (percentages): -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[double]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,double] (FullOpts) -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[int]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,int] (FullOpts) -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[long]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,long] (FullOpts) -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[short]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,short] (FullOpts) -127 (-45.520% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[ubyte]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,ubyte] (FullOpts) -124 (-37.462% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.__Canon]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.__Canon,System.__Canon] (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[double]():System.Text.Json.Serialization.JsonConverter`1[double]:this (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[int]():System.Text.Json.Serialization.JsonConverter`1[int]:this (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[long]():System.Text.Json.Serialization.JsonConverter`1[long]:this (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[short]():System.Text.Json.Serialization.JsonConverter`1[short]:this (FullOpts) -107 (-32.822% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[ubyte]():System.Text.Json.Serialization.JsonConverter`1[ubyte]:this (FullOpts) -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[double](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[double] (FullOpts) -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[int](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[int] (FullOpts) -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[long](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[long] (FullOpts) -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[short](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[short] (FullOpts) -196 (-23.389% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[ubyte](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[ubyte] (FullOpts) -106 (-18.629% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.__Canon]:NullableFieldUsingReflection(System.Object):System.__Canon (FullOpts) -118 (-17.126% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[System.__Canon](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon] (FullOpts) -90 (-16.484% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[int]:NullableFieldUsingReflection(System.Object):int (FullOpts) -90 (-16.453% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[long]:NullableFieldUsingReflection(System.Object):long (FullOpts) -90 (-16.453% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[ubyte]:NullableFieldUsingReflection(System.Object):ubyte (FullOpts) -90 (-16.423% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[short]:NullableFieldUsingReflection(System.Object):short (FullOpts) -90 (-16.275% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[double]:NullableFieldUsingReflection(System.Object):double (FullOpts) -35 (-10.736% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[System.Nullable`1[int]]():System.Text.Json.Serialization.JsonConverter`1[System.Nullable`1[int]]:this (FullOpts) -35 (-10.736% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:CreateCastingConverter[System.Numerics.Vector`1[float]]():System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:this (FullOpts) -19 (-6.810% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.Nullable`1[int]]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,System.Nullable`1[int]] (FullOpts) -19 (-6.810% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.Numerics.Vector`1[float]]:g__CreateWhenDynamicCodeSupported|1_0():System.Func`2[System.Object,System.Numerics.Vector`1[float]] (FullOpts) -47 (-5.609% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[System.Nullable`1[int]](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.Nullable`1[int]] (FullOpts) -47 (-5.609% of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo[System.Numerics.Vector`1[float]](System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.Numerics.Vector`1[float]] (FullOpts) -19 (-3.287% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.Nullable`1[int]]:NullableFieldUsingReflection(System.Object):System.Nullable`1[int] (FullOpts) -19 (-3.065% of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[System.Numerics.Vector`1[float]]:NullableFieldUsingReflection(System.Object):System.Numerics.Vector`1[float] (FullOpts) -31 (-0.583% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract:IsCollectionOrTryCreate(System.Type,ubyte,byref,byref,ubyte,ubyte):ubyte (FullOpts) 113 total methods with Code Size differences (32 improved, 81 regressed), 239562 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 5 months ago

Top method regressions

73 (8.680% of base) - 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]) ```diff ; Assembly listing for method 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) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 20 single block inlinees; 10 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;* V01 arg1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref single-def ;* V02 arg2 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;* V03 arg3 [V03 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ;* V04 arg4 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op single-def ; V05 loc0 [V05 ] ( 19, 7.50) struct (24) [rbp-0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op ;* V06 loc1 [V06 ] ( 0, 0 ) struct (16) zero-ref ;* V07 loc2 [V07 ] ( 0, 0 ) struct (16) zero-ref ; V08 loc3 [V08 ] ( 19, 7.50) struct (24) [rbp-0x58] do-not-enreg[XSF] must-init addr-exposed ld-addr-op ;* V09 loc4 [V09 ] ( 0, 0 ) struct (16) zero-ref ; V10 OutArgs [V10 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V11 tmp1 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V12 tmp2 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V13 tmp3 [V13 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" ;* V14 tmp4 [V14 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" -; V15 tmp5 [V15,T08] ( 2, 2 ) long -> rcx "Inlining Arg" +; V15 tmp5 [V15,T10] ( 2, 2 ) long -> rcx "Inlining Arg" ;* V16 tmp6 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V17 tmp7 [V17,T16] ( 3, 1.50) int -> rax "Inline stloc first use temp" +; V17 tmp7 [V17,T18] ( 3, 1.50) int -> [rbp-0x5C] spill-single-def "Inline stloc first use temp" ;* V18 tmp8 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V19 tmp9 [V19,T10] ( 3, 1.50) byref -> [rbp-0x60] spill-single-def +; V19 tmp9 [V19,T12] ( 3, 1.50) byref -> [rbp-0x68] spill-single-def ;* V20 tmp10 [V20 ] ( 0, 0 ) byref -> zero-ref ;* V21 tmp11 [V21 ] ( 0, 0 ) struct (16) zero-ref -; V22 tmp12 [V22,T17] ( 3, 1.50) int -> rax "Inline stloc first use temp" +; V22 tmp12 [V22,T19] ( 3, 1.50) int -> rax "Inline stloc first use temp" ; V23 tmp13 [V23,T00] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" ;* V24 tmp14 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" ;* V25 tmp15 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V26 tmp16 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V27 tmp17 [V27 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V28 tmp18 [V28,T09] ( 2, 2 ) long -> rbx "Inlining Arg" +; V28 tmp18 [V28,T11] ( 2, 2 ) long -> rbx "Inlining Arg" ;* V29 tmp19 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V30 tmp20 [V30,T18] ( 3, 1.50) int -> rax "Inline stloc first use temp" +; V30 tmp20 [V30,T20] ( 3, 1.50) int -> r13 "Inline stloc first use temp" ;* V31 tmp21 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V32 tmp22 [V32,T11] ( 3, 1.50) byref -> r13 single-def +; V32 tmp22 [V32,T13] ( 3, 1.50) byref -> [rbp-0x70] spill-single-def ;* V33 tmp23 [V33 ] ( 0, 0 ) byref -> zero-ref ;* V34 tmp24 [V34 ] ( 0, 0 ) struct (16) zero-ref -; V35 tmp25 [V35,T19] ( 3, 1.50) int -> rax "Inline stloc first use temp" +; V35 tmp25 [V35,T21] ( 3, 1.50) int -> rax "Inline stloc first use temp" ; V36 tmp26 [V36,T01] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" ;* V37 tmp27 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" ;* V38 tmp28 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V39 tmp29 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V40 tmp30 [V40 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V41 tmp31 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V42 tmp32 [V42 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" ;* V43 tmp33 [V43 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V44 tmp34 [V44 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V45 tmp35 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V46 tmp36 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V47 tmp37 [V47 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V48 tmp38 [V48 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ; V49 tmp39 [V49,T03] ( 2, 1.50) byref -> r15 single-def "field V00._reference (fldOffset=0x0)" P-INDEP ; V50 tmp40 [V50,T06] ( 2, 1.50) int -> r12 single-def "field V00._length (fldOffset=0x8)" P-INDEP ; V51 tmp41 [V51,T04] ( 2, 1.50) ref -> r14 single-def "field V01._name (fldOffset=0x0)" P-INDEP ; V52 tmp42 [V52,T05] ( 2, 1.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP ; V53 tmp43 [V53,T02] ( 3, 2 ) int -> rbx single-def "field V02._length (fldOffset=0x8)" P-INDEP -; V54 tmp44 [V54,T41] ( 1, 0.50) byref -> [rbp+0x10] single-def "field V03._reference (fldOffset=0x0)" P-INDEP -; V55 tmp45 [V55,T33] ( 2, 1 ) int -> [rbp+0x18] single-def "field V03._length (fldOffset=0x8)" P-INDEP -; V56 tmp46 [V56,T42] ( 1, 0.50) byref -> [rbp+0x20] single-def "field V04._reference (fldOffset=0x0)" P-INDEP -; V57 tmp47 [V57,T24] ( 2, 1.50) int -> [rbp+0x28] single-def "field V04._length (fldOffset=0x8)" P-INDEP +; V54 tmp44 [V54,T43] ( 1, 0.50) byref -> [rbp+0x10] single-def "field V03._reference (fldOffset=0x0)" P-INDEP +; V55 tmp45 [V55,T35] ( 2, 1 ) int -> [rbp+0x18] single-def "field V03._length (fldOffset=0x8)" P-INDEP +; V56 tmp46 [V56,T44] ( 1, 0.50) byref -> [rbp+0x20] single-def "field V04._reference (fldOffset=0x0)" P-INDEP +; V57 tmp47 [V57,T26] ( 2, 1.50) int -> [rbp+0x28] single-def "field V04._length (fldOffset=0x8)" P-INDEP ;* V58 tmp48 [V58 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP ;* V59 tmp49 [V59 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP ;* V60 tmp50 [V60 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP ;* V61 tmp51 [V61 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP ;* V62 tmp52 [V62 ] ( 0, 0 ) byref -> zero-ref single-def "field V09._reference (fldOffset=0x0)" P-INDEP ;* V63 tmp53 [V63 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0x8)" P-INDEP -; V64 tmp54 [V64,T25] ( 2, 1 ) byref -> [rbp-0x68] spill-single-def "field V11._reference (fldOffset=0x0)" P-INDEP -;* V65 tmp55 [V65,T43] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP -; V66 tmp56 [V66,T26] ( 2, 1 ) byref -> rbx single-def "field V12._reference (fldOffset=0x0)" P-INDEP -;* V67 tmp57 [V67,T44] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP +; V64 tmp54 [V64,T27] ( 2, 1 ) byref -> [rbp-0x78] spill-single-def "field V11._reference (fldOffset=0x0)" P-INDEP +;* V65 tmp55 [V65,T45] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP +; V66 tmp56 [V66,T28] ( 2, 1 ) byref -> rbx single-def "field V12._reference (fldOffset=0x0)" P-INDEP +;* V67 tmp57 [V67,T46] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP ;* V68 tmp58 [V68 ] ( 0, 0 ) byref -> zero-ref single-def "field V13._reference (fldOffset=0x0)" P-INDEP ;* V69 tmp59 [V69 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP ;* V70 tmp60 [V70 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP ;* V71 tmp61 [V71 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP ;* V72 tmp62 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V16._reference (fldOffset=0x0)" P-INDEP ;* V73 tmp63 [V73 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP ;* V74 tmp64 [V74 ] ( 0, 0 ) byref -> zero-ref single-def "field V18._reference (fldOffset=0x0)" P-INDEP ;* V75 tmp65 [V75 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP -; V76 tmp66 [V76,T12] ( 3, 1.50) byref -> rsi "field V21._reference (fldOffset=0x0)" P-INDEP -; V77 tmp67 [V77,T20] ( 3, 1.50) int -> rdx "field V21._length (fldOffset=0x8)" P-INDEP -; V78 tmp68 [V78,T13] ( 3, 1.50) byref -> rsi "field V25._reference (fldOffset=0x0)" P-INDEP -; V79 tmp69 [V79,T21] ( 3, 1.50) int -> rdx "field V25._length (fldOffset=0x8)" P-INDEP -; V80 tmp70 [V80,T27] ( 2, 1 ) byref -> rdi single-def "field V26._reference (fldOffset=0x0)" P-INDEP -; V81 tmp71 [V81,T34] ( 2, 1 ) int -> rax "field V26._length (fldOffset=0x8)" P-INDEP +; V76 tmp66 [V76,T14] ( 3, 1.50) byref -> rsi "field V21._reference (fldOffset=0x0)" P-INDEP +; V77 tmp67 [V77,T22] ( 3, 1.50) int -> rdx "field V21._length (fldOffset=0x8)" P-INDEP +; V78 tmp68 [V78,T15] ( 3, 1.50) byref -> rsi "field V25._reference (fldOffset=0x0)" P-INDEP +; V79 tmp69 [V79,T23] ( 3, 1.50) int -> rdx "field V25._length (fldOffset=0x8)" P-INDEP +; V80 tmp70 [V80,T29] ( 2, 1 ) byref -> rdi single-def "field V26._reference (fldOffset=0x0)" P-INDEP +; V81 tmp71 [V81,T36] ( 2, 1 ) int -> rax "field V26._length (fldOffset=0x8)" P-INDEP ;* V82 tmp72 [V82 ] ( 0, 0 ) byref -> zero-ref single-def "field V29._reference (fldOffset=0x0)" P-INDEP ;* V83 tmp73 [V83 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP ;* V84 tmp74 [V84 ] ( 0, 0 ) byref -> zero-ref single-def "field V31._reference (fldOffset=0x0)" P-INDEP ;* V85 tmp75 [V85 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP -; V86 tmp76 [V86,T14] ( 3, 1.50) byref -> rsi "field V34._reference (fldOffset=0x0)" P-INDEP -; V87 tmp77 [V87,T22] ( 3, 1.50) int -> rdx "field V34._length (fldOffset=0x8)" P-INDEP -; V88 tmp78 [V88,T15] ( 3, 1.50) byref -> rsi "field V38._reference (fldOffset=0x0)" P-INDEP -; V89 tmp79 [V89,T23] ( 3, 1.50) int -> rdx "field V38._length (fldOffset=0x8)" P-INDEP -; V90 tmp80 [V90,T28] ( 2, 1 ) byref -> rdi single-def "field V39._reference (fldOffset=0x0)" P-INDEP -; V91 tmp81 [V91,T35] ( 2, 1 ) int -> rax "field V39._length (fldOffset=0x8)" P-INDEP -; V92 tmp82 [V92,T29] ( 2, 1 ) byref -> rcx single-def "field V41._reference (fldOffset=0x0)" P-INDEP -; V93 tmp83 [V93,T36] ( 2, 1 ) int -> r8 "field V41._length (fldOffset=0x8)" P-INDEP -; V94 tmp84 [V94,T30] ( 2, 1 ) byref -> rcx single-def "field V42._reference (fldOffset=0x0)" P-INDEP -; V95 tmp85 [V95,T37] ( 2, 1 ) int -> r8 "field V42._length (fldOffset=0x8)" P-INDEP -; V96 tmp86 [V96,T31] ( 2, 1 ) byref -> rdi single-def "field V45._reference (fldOffset=0x0)" P-INDEP -; V97 tmp87 [V97,T38] ( 2, 1 ) int -> rsi "field V45._length (fldOffset=0x8)" P-INDEP -; V98 tmp88 [V98,T32] ( 2, 1 ) byref -> rdi single-def "field V46._reference (fldOffset=0x0)" P-INDEP -; V99 tmp89 [V99,T39] ( 2, 1 ) int -> rsi "field V46._length (fldOffset=0x8)" P-INDEP -; V100 GsCookie [V100 ] ( 1, 1 ) long -> [rbp-0x78] do-not-enreg[X] addr-exposed "GSSecurityCookie" -; V101 PSPSym [V101,T40] ( 1, 1 ) long -> [rbp-0x80] do-not-enreg[V] "PSPSym" -; V102 cse0 [V102,T07] ( 5, 2.50) ref -> [rbp-0x70] spill-single-def "CSE #01: moderate" +; V86 tmp76 [V86,T16] ( 3, 1.50) byref -> rsi "field V34._reference (fldOffset=0x0)" P-INDEP +; V87 tmp77 [V87,T24] ( 3, 1.50) int -> rdx "field V34._length (fldOffset=0x8)" P-INDEP +; V88 tmp78 [V88,T17] ( 3, 1.50) byref -> rsi "field V38._reference (fldOffset=0x0)" P-INDEP +; V89 tmp79 [V89,T25] ( 3, 1.50) int -> rdx "field V38._length (fldOffset=0x8)" P-INDEP +; V90 tmp80 [V90,T30] ( 2, 1 ) byref -> rdi single-def "field V39._reference (fldOffset=0x0)" P-INDEP +; V91 tmp81 [V91,T37] ( 2, 1 ) int -> rax "field V39._length (fldOffset=0x8)" P-INDEP +; V92 tmp82 [V92,T31] ( 2, 1 ) byref -> rcx single-def "field V41._reference (fldOffset=0x0)" P-INDEP +; V93 tmp83 [V93,T38] ( 2, 1 ) int -> r8 "field V41._length (fldOffset=0x8)" P-INDEP +; V94 tmp84 [V94,T32] ( 2, 1 ) byref -> rcx single-def "field V42._reference (fldOffset=0x0)" P-INDEP +; V95 tmp85 [V95,T39] ( 2, 1 ) int -> r8 "field V42._length (fldOffset=0x8)" P-INDEP +; V96 tmp86 [V96,T33] ( 2, 1 ) byref -> rdi single-def "field V45._reference (fldOffset=0x0)" P-INDEP +; V97 tmp87 [V97,T40] ( 2, 1 ) int -> rsi "field V45._length (fldOffset=0x8)" P-INDEP +; V98 tmp88 [V98,T34] ( 2, 1 ) byref -> rdi single-def "field V46._reference (fldOffset=0x0)" P-INDEP +; V99 tmp89 [V99,T41] ( 2, 1 ) int -> rsi "field V46._length (fldOffset=0x8)" P-INDEP +; V100 tmp90 [V100,T08] ( 2, 2 ) ref -> rdi single-def "argument with side effect" +; V101 tmp91 [V101,T09] ( 2, 2 ) ref -> rdi single-def "argument with side effect" +; V102 GsCookie [V102 ] ( 1, 1 ) long -> [rbp-0x88] do-not-enreg[X] addr-exposed "GSSecurityCookie" +; V103 PSPSym [V103,T42] ( 1, 1 ) long -> [rbp-0x90] do-not-enreg[V] "PSPSym" +; V104 cse0 [V104,T07] ( 5, 2.50) ref -> [rbp-0x80] spill-single-def "CSE #01: moderate" ; -; Lcl frame size = 120 +; Lcl frame size = 136 G_M59622_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 120 - lea rbp, [rsp+0xA0] + sub rsp, 136 + lea rbp, [rsp+0xB0] xor eax, eax mov qword ptr [rbp-0x58], rax vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x50], ymm8 mov qword ptr [rbp-0x30], rax - mov qword ptr [rbp-0x80], rsp - mov qword ptr [rbp-0x78], 0xD1FFAB1E + mov qword ptr [rbp-0x90], rsp + mov qword ptr [rbp-0x88], 0xD1FFAB1E mov r15, rdi mov r12d, esi mov r14, rdx mov r13, rcx mov ebx, r8d mov eax, dword ptr [rbp+0x28] - ;; size=72 bbWeight=1 PerfScore 15.58 + ;; size=81 bbWeight=1 PerfScore 15.58 G_M59622_IG02: mov dword ptr [rbp+0x28], eax test eax, eax jne SHORT G_M59622_IG06 ;; size=7 bbWeight=1 PerfScore 2.25 G_M59622_IG03: - cmp qword ptr [rbp-0x78], 0xD1FFAB1E + cmp qword ptr [rbp-0x88], 0xD1FFAB1E je SHORT G_M59622_IG04 call CORINFO_HELP_FAIL_FAST - ;; size=15 bbWeight=1 PerfScore 4.00 + ;; size=18 bbWeight=1 PerfScore 4.00 G_M59622_IG04: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M59622_IG05: lea rsp, [rbp-0x28] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.50 G_M59622_IG06: test dword ptr [rsp], esp sub rsp, 256 lea rcx, [rsp+0x20] - mov bword ptr [rbp-0x68], rcx + mov bword ptr [rbp-0x78], rcx xor rdi, rdi mov gword ptr [rbp-0x40], rdi mov rdi, 0xD1FFAB1E ; const ptr mov rdx, gword ptr [rdi] - mov gword ptr [rbp-0x70], rdx + mov gword ptr [rbp-0x80], rdx mov rdi, rdx mov esi, ebx mov r8, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:GetMaxByteCount(int):int:this call [r8]System.Text.UTF8Encoding:GetMaxByteCount(int):int:this + mov dword ptr [rbp-0x5C], eax lea rcx, bword ptr [rbp-0x40] - mov bword ptr [rbp-0x60], rcx + mov bword ptr [rbp-0x68], rcx cmp eax, 256 jbe SHORT G_M59622_IG09 - mov rdi, 0xD1FFAB1E ; const ptr + mov rdi, 0xD1FFAB1E + mov esi, 15 + call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS + mov rdi, 0xD1FFAB1E ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared mov rdi, gword ptr [rdi] - mov esi, eax + mov esi, dword ptr [rbp-0x5C] mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this + cmp dword ptr [rdi], edi call [rax]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this mov gword ptr [rbp-0x40], rax test rax, rax jne SHORT G_M59622_IG07 xor rsi, rsi xor edx, edx jmp SHORT G_M59622_IG08 - ;; size=117 bbWeight=0.50 PerfScore 13.12 + ;; size=143 bbWeight=0.50 PerfScore 16.25 G_M59622_IG07: lea rsi, bword ptr [rax+0x10] mov edx, dword ptr [rax+0x08] ;; size=7 bbWeight=0.50 PerfScore 1.25 G_M59622_IG08: jmp SHORT G_M59622_IG10 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M59622_IG09: - mov rsi, bword ptr [rbp-0x68] + mov rsi, bword ptr [rbp-0x78] mov edx, 256 ;; size=9 bbWeight=0.50 PerfScore 0.62 G_M59622_IG10: - mov rcx, bword ptr [rbp-0x60] + mov rcx, bword ptr [rbp-0x68] mov bword ptr [rcx+0x08], rsi mov dword ptr [rcx+0x10], edx mov rsi, r13 mov edx, ebx mov rcx, bword ptr [rbp-0x38] mov r8, qword ptr [rbp-0x30] - mov rdi, gword ptr [rbp-0x70] + mov rdi, gword ptr [rbp-0x80] mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this call [rax]System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this cmp eax, dword ptr [rbp-0x30] ja G_M59622_IG21 mov rdi, bword ptr [rbp-0x38] mov bword ptr [rbp-0x38], rdi mov dword ptr [rbp-0x30], eax ;; size=60 bbWeight=0.50 PerfScore 7.88 G_M59622_IG11: test dword ptr [rsp], esp sub rsp, 256 lea rbx, [rsp+0x20] xor rdi, rdi mov gword ptr [rbp-0x58], rdi - mov rdi, gword ptr [rbp-0x70] + mov rdi, gword ptr [rbp-0x80] mov esi, dword ptr [rbp+0x18] mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:GetMaxByteCount(int):int:this call [rax]System.Text.UTF8Encoding:GetMaxByteCount(int):int:this - lea r13, bword ptr [rbp-0x58] - cmp eax, 256 + mov r13d, eax + lea rax, bword ptr [rbp-0x58] + mov bword ptr [rbp-0x70], rax + cmp r13d, 256 jbe SHORT G_M59622_IG14 - mov rdi, 0xD1FFAB1E ; const ptr + mov rdi, 0xD1FFAB1E + mov esi, 15 + call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS + mov rdi, 0xD1FFAB1E ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared mov rdi, gword ptr [rdi] - mov esi, eax + mov esi, r13d mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this + cmp dword ptr [rdi], edi call [rax]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this mov gword ptr [rbp-0x58], rax test rax, rax jne SHORT G_M59622_IG12 xor rsi, rsi xor edx, edx jmp SHORT G_M59622_IG13 - ;; size=93 bbWeight=0.50 PerfScore 11.25 + ;; size=125 bbWeight=0.50 PerfScore 14.12 G_M59622_IG12: lea rsi, bword ptr [rax+0x10] mov edx, dword ptr [rax+0x08] ;; size=7 bbWeight=0.50 PerfScore 1.25 G_M59622_IG13: jmp SHORT G_M59622_IG15 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M59622_IG14: mov rsi, rbx mov edx, 256 ;; size=8 bbWeight=0.50 PerfScore 0.25 G_M59622_IG15: - mov bword ptr [r13+0x08], rsi - mov dword ptr [r13+0x10], edx + mov rax, bword ptr [rbp-0x70] + mov bword ptr [rax+0x08], rsi + mov dword ptr [rax+0x10], edx mov rsi, bword ptr [rbp+0x10] mov edx, dword ptr [rbp+0x18] mov rcx, bword ptr [rbp-0x50] mov r8, qword ptr [rbp-0x48] - mov rdi, gword ptr [rbp-0x70] + mov rdi, gword ptr [rbp-0x80] mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this call [rax]System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this cmp eax, dword ptr [rbp-0x48] jbe SHORT G_M59622_IG17 - ;; size=44 bbWeight=0.50 PerfScore 6.62 + ;; size=47 bbWeight=0.50 PerfScore 7.12 G_M59622_IG16: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M59622_IG17: mov rdi, bword ptr [rbp-0x50] mov bword ptr [rbp-0x50], rdi mov dword ptr [rbp-0x48], eax ;; size=11 bbWeight=0.50 PerfScore 1.50 G_M59622_IG18: mov rcx, bword ptr [rbp-0x38] mov r8d, dword ptr [rbp-0x30] mov rdi, bword ptr [rbp-0x50] mov esi, dword ptr [rbp-0x48] mov bword ptr [rsp], rdi mov dword ptr [rsp+0x08], esi mov rbx, bword ptr [rbp+0x20] mov bword ptr [rsp+0x10], rbx mov r13d, dword ptr [rbp+0x28] mov dword ptr [rsp+0x18], r13d mov rdi, r15 mov esi, r12d mov rdx, r14 mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) call [rax]System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) nop ;; size=63 bbWeight=0.50 PerfScore 7.12 G_M59622_IG19: mov rdi, bword ptr [rbp-0x50] mov rsi, qword ptr [rbp-0x48] mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.CryptographicOperations:ZeroMemory(System.Span`1[ubyte]) call [rax]System.Security.Cryptography.CryptographicOperations:ZeroMemory(System.Span`1[ubyte]) cmp gword ptr [rbp-0x58], 0 je SHORT G_M59622_IG20 mov rdi, gword ptr [rbp-0x58] xor esi, esi mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int) call [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int) nop ;; size=46 bbWeight=0.50 PerfScore 6.50 G_M59622_IG20: mov rdi, bword ptr [rbp-0x38] mov rsi, qword ptr [rbp-0x30] mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.CryptographicOperations:ZeroMemory(System.Span`1[ubyte]) call [rax]System.Security.Cryptography.CryptographicOperations:ZeroMemory(System.Span`1[ubyte]) cmp gword ptr [rbp-0x40], 0 je G_M59622_IG03 mov rdi, gword ptr [rbp-0x40] xor esi, esi mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int) call [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int) jmp G_M59622_IG03 ;; size=54 bbWeight=0.50 PerfScore 7.38 G_M59622_IG21: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M59622_IG22: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 40 mov rbp, qword ptr [rdi+0x20] mov qword ptr [rsp+0x20], rbp - lea rbp, [rbp+0xA0] + lea rbp, [rbp+0xB0] ;; size=30 bbWeight=0 PerfScore 0.00 G_M59622_IG23: mov rdi, bword ptr [rbp-0x50] mov rsi, qword ptr [rbp-0x48] mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.CryptographicOperations:ZeroMemory(System.Span`1[ubyte]) call [rax]System.Security.Cryptography.CryptographicOperations:ZeroMemory(System.Span`1[ubyte]) cmp gword ptr [rbp-0x58], 0 je SHORT G_M59622_IG24 mov rdi, gword ptr [rbp-0x58] xor esi, esi mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int) call [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int) ;; size=45 bbWeight=0 PerfScore 0.00 G_M59622_IG24: nop ;; size=1 bbWeight=0 PerfScore 0.00 G_M59622_IG25: add rsp, 40 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=0 PerfScore 0.00 G_M59622_IG26: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 40 mov rbp, qword ptr [rdi+0x20] mov qword ptr [rsp+0x20], rbp - lea rbp, [rbp+0xA0] + lea rbp, [rbp+0xB0] ;; size=30 bbWeight=0 PerfScore 0.00 G_M59622_IG27: mov rdi, bword ptr [rbp-0x38] mov rsi, qword ptr [rbp-0x30] mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.CryptographicOperations:ZeroMemory(System.Span`1[ubyte]) call [rax]System.Security.Cryptography.CryptographicOperations:ZeroMemory(System.Span`1[ubyte]) cmp gword ptr [rbp-0x40], 0 je SHORT G_M59622_IG28 mov rdi, gword ptr [rbp-0x40] xor esi, esi mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int) call [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int) ;; size=45 bbWeight=0 PerfScore 0.00 G_M59622_IG28: nop ;; size=1 bbWeight=0 PerfScore 0.00 G_M59622_IG29: add rsp, 40 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=0 PerfScore 0.00 -; Total bytes of code 841, prolog size 72, PerfScore 93.33, instruction count 228, allocated bytes for code 841 (MethodHash=b39a1719) for method 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) +; Total bytes of code 914, prolog size 81, PerfScore 99.83, instruction count 240, allocated bytes for code 914 (MethodHash=b39a1719) for method 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) ```

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

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

MihuBot commented 5 months ago

@MihaZupan