MihuBot / runtime-utils

0 stars 0 forks source link

[X64] [MihaZupan] Implement IEquatable on Uri #431

Open MihuBot opened 3 weeks ago

MihuBot commented 3 weeks ago

Job completed in 17 minutes.

Diffs

Diffs ``` Found 267 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 41351684 Total bytes of diff: 41356029 Total bytes of delta: 4345 (0.01 % of base) Total relative delta: 6.83 diff is a regression. relative diff is a regression. Total byte diff includes 1177 bytes from reconciling methods Base had 0 unique methods, 0 unique bytes Diff had 1 unique methods, 1177 unique bytes Top file regressions (bytes): 4228 : System.Security.Cryptography.dasm (0.39 % of base) 89 : System.Private.Uri.dasm (0.10 % of base) 16 : System.Private.Xml.dasm (0.00 % of base) 10 : System.IO.Packaging.dasm (0.01 % of base) 4 : System.Net.Primitives.dasm (0.00 % of base) 2 : System.ServiceModel.Syndication.dasm (0.00 % of base) Top file improvements (bytes): -4 : System.Net.Http.dasm (-0.00 % of base) 7 total files with Code Size differences (1 improved, 6 regressed), 251 unchanged. Top method regressions (bytes): 1177 (Infinity of base) : System.Private.Uri.dasm - System.Uri:Equals(System.Uri):ubyte:this (FullOpts) (0 base, 1 diff methods) 140 (4.55 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__44:MoveNext():this (FullOpts) 106 (12.85 % 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) 93 (4.79 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__56:MoveNext():this (FullOpts) 85 (18.16 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 82 (9.93 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 79 (21.47 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts) 79 (22.44 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts) 78 (13.83 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) 78 (14.63 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 77 (6.74 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+d__16:MoveNext():this (FullOpts) 75 (11.23 % 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) 66 (18.44 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 62 (19.94 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts) 62 (20.33 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts) 61 (8.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts) 56 (17.55 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 56 (17.50 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 56 (10.85 % 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) 56 (10.69 % 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) 56 (9.12 % 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) 56 (9.12 % 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) 56 (9.09 % 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) 56 (9.18 % 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) 56 (9.09 % 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) 54 (6.01 % 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) 50 (8.03 % 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) 50 (7.96 % 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) 50 (7.96 % 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) 49 (11.37 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 48 (1.57 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:DeriveSecretAgreement(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.IncrementalHash):ubyte[]:this (FullOpts) 47 (7.09 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (9.75 % 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) 47 (8.69 % 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) 47 (10.11 % 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) 47 (13.39 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts) 46 (8.52 % 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) 46 (8.58 % 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) 46 (8.58 % 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) 46 (8.57 % 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) 46 (8.65 % 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) 46 (8.63 % 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) 46 (8.41 % 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) 46 (8.57 % 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) 46 (8.76 % 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) 46 (8.76 % 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) 46 (8.75 % 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) 46 (8.78 % 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) 46 (8.75 % 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) 45 (3.28 % 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) 45 (4.28 % 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) 45 (7.92 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts) 44 (18.11 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts) 44 (8.33 % 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) 44 (2.41 % 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) 44 (7.28 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts) 44 (4.50 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) 43 (2.32 % 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) 42 (25.45 % of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts) 41 (2.56 % 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) 41 (10.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 41 (7.16 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 41 (3.48 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts) 41 (8.32 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts) 41 (5.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts) 40 (11.53 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts) 40 (3.80 % 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) 39 (20.86 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 37 (3.09 % 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) 33 (5.98 % 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) 32 (20.51 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts) 31 (5.71 % 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) 31 (2.22 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 22 (0.65 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__53:MoveNext():this (FullOpts) 8 (0.72 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackageRelationshipSelector:Select(System.IO.Packaging.Package):System.Collections.Generic.List`1[System.IO.Packaging.PackageRelationship]:this (FullOpts) 4 (1.15 % of base) : System.Net.Http.dasm - System.Net.CredentialCacheKey:Equals(System.Net.CredentialCacheKey):ubyte:this (FullOpts) 4 (1.15 % of base) : System.Net.Primitives.dasm - System.Net.CredentialCacheKey:Equals(System.Net.CredentialCacheKey):ubyte:this (FullOpts) 4 (2.55 % of base) : System.Private.Xml.dasm - System.Xml.Schema.ChameleonKey:Equals(System.Object):ubyte:this (FullOpts) 4 (3.25 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Datatype_anyURI:Compare(System.Object,System.Object):int:this (FullOpts) 4 (0.48 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaSet:RemoveSchemaFromCaches(System.Xml.Schema.XmlSchema):this (FullOpts) 4 (2.42 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:UriEqual(System.Uri,System.String,System.String,System.Xml.XmlResolver):ubyte (FullOpts) 2 (0.35 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackUriHelper:ResolvePartUri(System.Uri,System.Uri):System.Uri (FullOpts) 2 (0.73 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager+HttpConnectionKey:Equals(System.Net.Http.HttpConnectionPoolManager+HttpConnectionKey):ubyte:this (FullOpts) 2 (0.58 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager+HttpConnectionKey:Equals(System.Object):ubyte:this (FullOpts) 2 (1.56 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.FeedUtils:GetBaseUriToWrite(System.Uri,System.Uri):System.Uri (FullOpts) 2 (4.76 % of base) : System.Private.Uri.dasm - System.Uri:op_Equality(System.Uri,System.Uri):ubyte (FullOpts) 2 (4.00 % of base) : System.Private.Uri.dasm - System.Uri:op_Inequality(System.Uri,System.Uri):ubyte (FullOpts) Top method improvements (bytes): -1092 (-80.65 % of base) : System.Private.Uri.dasm - System.Uri:Equals(System.Object):ubyte:this (FullOpts) -12 (-11.65 % of base) : System.Net.Http.dasm - System.Net.Http.HttpEnvironmentProxyCredentials:GetCredential(System.Uri,System.String):System.Net.NetworkCredential:this (FullOpts) Top method regressions (percentages): 1177 (Infinity of base) : System.Private.Uri.dasm - System.Uri:Equals(System.Uri):ubyte:this (FullOpts) (0 base, 1 diff methods) 42 (25.45 % of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts) 79 (22.44 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts) 79 (21.47 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts) 39 (20.86 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 32 (20.51 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts) 62 (20.33 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts) 62 (19.94 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts) 66 (18.44 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 85 (18.16 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts) 44 (18.11 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts) 56 (17.55 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 56 (17.50 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts) 78 (14.63 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 78 (13.83 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) 47 (13.39 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts) 106 (12.85 % 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) 40 (11.53 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts) 49 (11.37 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts) 75 (11.23 % 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) 56 (10.85 % 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) 56 (10.69 % 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) 41 (10.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 47 (10.11 % 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) 82 (9.93 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 47 (9.75 % 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) 56 (9.18 % 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) 56 (9.12 % 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) 56 (9.12 % 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) 56 (9.09 % 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) 56 (9.09 % 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) 46 (8.78 % 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) 46 (8.76 % 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) 46 (8.76 % 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) 61 (8.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts) 46 (8.75 % 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) 46 (8.75 % 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) 47 (8.69 % 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) 46 (8.65 % 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) 46 (8.63 % 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) 46 (8.58 % 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) 46 (8.58 % 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) 46 (8.57 % 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) 46 (8.57 % 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) 46 (8.52 % 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) 46 (8.41 % 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) 44 (8.33 % 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) 41 (8.32 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts) 50 (8.03 % 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) 50 (7.96 % 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) 50 (7.96 % 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) 45 (7.92 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts) 44 (7.28 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts) 41 (7.16 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts) 47 (7.09 % 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) 77 (6.74 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+d__16:MoveNext():this (FullOpts) 54 (6.01 % 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) 33 (5.98 % 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) 31 (5.71 % 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) 41 (5.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 47 (5.20 % 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) 93 (4.79 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__56:MoveNext():this (FullOpts) 2 (4.76 % of base) : System.Private.Uri.dasm - System.Uri:op_Equality(System.Uri,System.Uri):ubyte (FullOpts) 140 (4.55 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__44:MoveNext():this (FullOpts) 44 (4.50 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts) 45 (4.28 % 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) 2 (4.00 % of base) : System.Private.Uri.dasm - System.Uri:op_Inequality(System.Uri,System.Uri):ubyte (FullOpts) 40 (3.80 % 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) 41 (3.48 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts) 45 (3.28 % 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) 4 (3.25 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Datatype_anyURI:Compare(System.Object,System.Object):int:this (FullOpts) 37 (3.09 % 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) 41 (2.56 % 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) 4 (2.55 % of base) : System.Private.Xml.dasm - System.Xml.Schema.ChameleonKey:Equals(System.Object):ubyte:this (FullOpts) 4 (2.42 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:UriEqual(System.Uri,System.String,System.String,System.Xml.XmlResolver):ubyte (FullOpts) 44 (2.41 % 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) 43 (2.32 % 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) 31 (2.22 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts) 48 (1.57 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:DeriveSecretAgreement(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.IncrementalHash):ubyte[]:this (FullOpts) 2 (1.56 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.FeedUtils:GetBaseUriToWrite(System.Uri,System.Uri):System.Uri (FullOpts) 4 (1.15 % of base) : System.Net.Http.dasm - System.Net.CredentialCacheKey:Equals(System.Net.CredentialCacheKey):ubyte:this (FullOpts) 4 (1.15 % of base) : System.Net.Primitives.dasm - System.Net.CredentialCacheKey:Equals(System.Net.CredentialCacheKey):ubyte:this (FullOpts) 2 (0.73 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager+HttpConnectionKey:Equals(System.Net.Http.HttpConnectionPoolManager+HttpConnectionKey):ubyte:this (FullOpts) 8 (0.72 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackageRelationshipSelector:Select(System.IO.Packaging.Package):System.Collections.Generic.List`1[System.IO.Packaging.PackageRelationship]:this (FullOpts) 22 (0.65 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+d__53:MoveNext():this (FullOpts) 2 (0.58 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager+HttpConnectionKey:Equals(System.Object):ubyte:this (FullOpts) 4 (0.48 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaSet:RemoveSchemaFromCaches(System.Xml.Schema.XmlSchema):this (FullOpts) 2 (0.35 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackUriHelper:ResolvePartUri(System.Uri,System.Uri):System.Uri (FullOpts) Top method improvements (percentages): -1092 (-80.65 % of base) : System.Private.Uri.dasm - System.Uri:Equals(System.Object):ubyte:this (FullOpts) -12 (-11.65 % of base) : System.Net.Http.dasm - System.Net.Http.HttpEnvironmentProxyCredentials:GetCredential(System.Uri,System.String):System.Net.NetworkCredential:this (FullOpts) 97 total methods with Code Size differences (2 improved, 95 regressed), 252106 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 3 weeks ago

Top method regressions

106 (12.85 % 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 X86 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 18 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,T02] ( 10, 4 ) struct (24) [rbp-0x40] do-not-enreg[SHF] must-init ld-addr-op EH-live ;* V06 loc1 [V06 ] ( 0, 0 ) struct (16) zero-ref ;* V07 loc2 [V07 ] ( 0, 0 ) struct (16) zero-ref ; V08 loc3 [V08,T03] ( 10, 4 ) struct (24) [rbp-0x58] do-not-enreg[SHF] must-init ld-addr-op EH-live ; V09 OutArgs [V09 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V10 tmp1 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V11 tmp2 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V12 tmp3 [V12 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" ;* V13 tmp4 [V13 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" -; V14 tmp5 [V14,T14] ( 2, 2 ) long -> rcx "Inlining Arg" +; V14 tmp5 [V14,T16] ( 2, 2 ) long -> rcx "Inlining Arg" ;* V15 tmp6 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V16 tmp7 [V16,T20] ( 3, 1.50) int -> rax "Inline stloc first use temp" +; V16 tmp7 [V16,T22] ( 3, 1.50) int -> [rbp-0x5C] spill-single-def "Inline stloc first use temp" ;* V17 tmp8 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V18 tmp9 [V18 ] ( 0, 0 ) byref -> zero-ref ;* V19 tmp10 [V19 ] ( 0, 0 ) byref -> zero-ref ;* V20 tmp11 [V20 ] ( 0, 0 ) struct (16) zero-ref -; V21 tmp12 [V21,T21] ( 3, 1.50) int -> rax "Inline stloc first use temp" +; V21 tmp12 [V21,T23] ( 3, 1.50) int -> rax "Inline stloc first use temp" ; V22 tmp13 [V22,T00] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" ;* V23 tmp14 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" ;* V24 tmp15 [V24 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V25 tmp16 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V26 tmp17 [V26 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V27 tmp18 [V27,T15] ( 2, 2 ) long -> r13 "Inlining Arg" +; V27 tmp18 [V27,T17] ( 2, 2 ) long -> r13 "Inlining Arg" ;* V28 tmp19 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" -; V29 tmp20 [V29,T22] ( 3, 1.50) int -> rax "Inline stloc first use temp" +; V29 tmp20 [V29,T24] ( 3, 1.50) int -> [rbp-0x60] spill-single-def "Inline stloc first use temp" ;* V30 tmp21 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V31 tmp22 [V31 ] ( 0, 0 ) byref -> zero-ref ;* V32 tmp23 [V32 ] ( 0, 0 ) byref -> zero-ref ;* V33 tmp24 [V33 ] ( 0, 0 ) struct (16) zero-ref -; V34 tmp25 [V34,T23] ( 3, 1.50) int -> rax "Inline stloc first use temp" +; V34 tmp25 [V34,T25] ( 3, 1.50) int -> rax "Inline stloc first use temp" ; V35 tmp26 [V35,T01] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" ;* V36 tmp27 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" ;* V37 tmp28 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V38 tmp29 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V39 tmp30 [V39 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V40 tmp31 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V41 tmp32 [V41 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" ;* V42 tmp33 [V42 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V43 tmp34 [V43 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V44 tmp35 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V45 tmp36 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V46 tmp37 [V46 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V47 tmp38 [V47 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ; V48 tmp39 [V48,T05] ( 2, 1.50) byref -> r15 single-def "field V00._reference (fldOffset=0x0)" P-INDEP ; V49 tmp40 [V49,T08] ( 2, 1.50) int -> r12 single-def "field V00._length (fldOffset=0x8)" P-INDEP ; V50 tmp41 [V50,T06] ( 2, 1.50) ref -> r14 single-def "field V01._name (fldOffset=0x0)" P-INDEP ; V51 tmp42 [V51,T07] ( 2, 1.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP ; V52 tmp43 [V52,T04] ( 3, 2 ) int -> rbx single-def "field V02._length (fldOffset=0x8)" P-INDEP -; V53 tmp44 [V53,T43] ( 1, 0.50) byref -> [rbp+0x10] single-def "field V03._reference (fldOffset=0x0)" P-INDEP -; V54 tmp45 [V54,T35] ( 2, 1 ) int -> [rbp+0x18] single-def "field V03._length (fldOffset=0x8)" P-INDEP -; V55 tmp46 [V55,T44] ( 1, 0.50) byref -> [rbp+0x20] single-def "field V04._reference (fldOffset=0x0)" P-INDEP -; V56 tmp47 [V56,T28] ( 2, 1.50) int -> [rbp+0x28] single-def "field V04._length (fldOffset=0x8)" P-INDEP +; V53 tmp44 [V53,T45] ( 1, 0.50) byref -> [rbp+0x10] single-def "field V03._reference (fldOffset=0x0)" P-INDEP +; V54 tmp45 [V54,T37] ( 2, 1 ) int -> [rbp+0x18] single-def "field V03._length (fldOffset=0x8)" P-INDEP +; V55 tmp46 [V55,T46] ( 1, 0.50) byref -> [rbp+0x20] single-def "field V04._reference (fldOffset=0x0)" P-INDEP +; V56 tmp47 [V56,T30] ( 2, 1.50) int -> [rbp+0x28] single-def "field V04._length (fldOffset=0x8)" P-INDEP ;* V57 tmp48 [V57 ] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP ;* V58 tmp49 [V58 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP ;* V59 tmp50 [V59 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP ;* V60 tmp51 [V60 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP -; V61 tmp52 [V61,T29] ( 2, 1 ) byref -> [rbp-0x60] spill-single-def "field V10._reference (fldOffset=0x0)" P-INDEP -;* V62 tmp53 [V62,T47] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP -; V63 tmp54 [V63,T30] ( 2, 1 ) byref -> r13 single-def "field V11._reference (fldOffset=0x0)" P-INDEP -;* V64 tmp55 [V64,T48] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP +; V61 tmp52 [V61,T31] ( 2, 1 ) byref -> [rbp-0x68] spill-single-def "field V10._reference (fldOffset=0x0)" P-INDEP +;* V62 tmp53 [V62,T49] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP +; V63 tmp54 [V63,T32] ( 2, 1 ) byref -> r13 single-def "field V11._reference (fldOffset=0x0)" P-INDEP +;* V64 tmp55 [V64,T50] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP ;* V65 tmp56 [V65 ] ( 0, 0 ) byref -> zero-ref single-def "field V12._reference (fldOffset=0x0)" P-INDEP ;* V66 tmp57 [V66 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP ;* V67 tmp58 [V67 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP ;* V68 tmp59 [V68 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP ;* V69 tmp60 [V69 ] ( 0, 0 ) byref -> zero-ref single-def "field V15._reference (fldOffset=0x0)" P-INDEP ;* V70 tmp61 [V70 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP ;* V71 tmp62 [V71 ] ( 0, 0 ) byref -> zero-ref single-def "field V17._reference (fldOffset=0x0)" P-INDEP ;* V72 tmp63 [V72 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP -; V73 tmp64 [V73,T16] ( 3, 1.50) byref -> rcx "field V20._reference (fldOffset=0x0)" P-INDEP -; V74 tmp65 [V74,T24] ( 3, 1.50) int -> rdx "field V20._length (fldOffset=0x8)" P-INDEP -; V75 tmp66 [V75,T17] ( 3, 1.50) byref -> rcx "field V24._reference (fldOffset=0x0)" P-INDEP -; V76 tmp67 [V76,T25] ( 3, 1.50) int -> rdx "field V24._length (fldOffset=0x8)" P-INDEP -;* V77 tmp68 [V77,T45] ( 0, 0 ) byref -> zero-ref single-def "field V25._reference (fldOffset=0x0)" P-INDEP -; V78 tmp69 [V78,T36] ( 2, 1 ) int -> rax "field V25._length (fldOffset=0x8)" P-INDEP +; V73 tmp64 [V73,T18] ( 3, 1.50) byref -> rcx "field V20._reference (fldOffset=0x0)" P-INDEP +; V74 tmp65 [V74,T26] ( 3, 1.50) int -> rdx "field V20._length (fldOffset=0x8)" P-INDEP +; V75 tmp66 [V75,T19] ( 3, 1.50) byref -> rcx "field V24._reference (fldOffset=0x0)" P-INDEP +; V76 tmp67 [V76,T27] ( 3, 1.50) int -> rdx "field V24._length (fldOffset=0x8)" P-INDEP +;* V77 tmp68 [V77,T47] ( 0, 0 ) byref -> zero-ref single-def "field V25._reference (fldOffset=0x0)" P-INDEP +; V78 tmp69 [V78,T38] ( 2, 1 ) int -> rax "field V25._length (fldOffset=0x8)" P-INDEP ;* V79 tmp70 [V79 ] ( 0, 0 ) byref -> zero-ref single-def "field V28._reference (fldOffset=0x0)" P-INDEP ;* V80 tmp71 [V80 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP ;* V81 tmp72 [V81 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP ;* V82 tmp73 [V82 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP -; V83 tmp74 [V83,T18] ( 3, 1.50) byref -> r13 "field V33._reference (fldOffset=0x0)" P-INDEP -; V84 tmp75 [V84,T26] ( 3, 1.50) int -> rcx "field V33._length (fldOffset=0x8)" P-INDEP -; V85 tmp76 [V85,T19] ( 3, 1.50) byref -> r13 "field V37._reference (fldOffset=0x0)" P-INDEP -; V86 tmp77 [V86,T27] ( 3, 1.50) int -> rcx "field V37._length (fldOffset=0x8)" P-INDEP -;* V87 tmp78 [V87,T46] ( 0, 0 ) byref -> zero-ref single-def "field V38._reference (fldOffset=0x0)" P-INDEP -; V88 tmp79 [V88,T37] ( 2, 1 ) int -> rax "field V38._length (fldOffset=0x8)" P-INDEP -; V89 tmp80 [V89,T31] ( 2, 1 ) byref -> rcx single-def "field V40._reference (fldOffset=0x0)" P-INDEP -; V90 tmp81 [V90,T38] ( 2, 1 ) int -> r8 "field V40._length (fldOffset=0x8)" P-INDEP -; V91 tmp82 [V91,T32] ( 2, 1 ) byref -> rcx single-def "field V41._reference (fldOffset=0x0)" P-INDEP -; V92 tmp83 [V92,T39] ( 2, 1 ) int -> r8 "field V41._length (fldOffset=0x8)" P-INDEP -; V93 tmp84 [V93,T33] ( 2, 1 ) byref -> rdi single-def "field V44._reference (fldOffset=0x0)" P-INDEP -; V94 tmp85 [V94,T40] ( 2, 1 ) int -> rsi "field V44._length (fldOffset=0x8)" P-INDEP -; V95 tmp86 [V95,T34] ( 2, 1 ) byref -> rdi single-def "field V45._reference (fldOffset=0x0)" P-INDEP -; V96 tmp87 [V96,T41] ( 2, 1 ) int -> rsi "field V45._length (fldOffset=0x8)" P-INDEP -; V97 tmp88 [V97,T12] ( 6, 2 ) ref -> [rbp-0x68] do-not-enreg[M] EH-live "V05.[000..008)" -; V98 tmp89 [V98,T13] ( 6, 2 ) ref -> [rbp-0x70] do-not-enreg[M] EH-live "V08.[000..008)" -; V99 GsCookie [V99 ] ( 1, 1 ) long -> [rbp-0x80] do-not-enreg[X] addr-exposed "GSSecurityCookie" -; V100 PSPSym [V100,T42] ( 1, 1 ) long -> [rbp-0x90] do-not-enreg[V] "PSPSym" -; V101 cse0 [V101,T11] ( 5, 2.50) ref -> [rbp-0x78] spill-single-def "CSE #01: moderate" -; V102 cse1 [V102,T09] ( 6, 2 ) byref -> rbx multi-def "CSE #02: moderate" -; V103 cse2 [V103,T10] ( 6, 2 ) byref -> r13 multi-def "CSE #04: moderate" +; V83 tmp74 [V83,T20] ( 3, 1.50) byref -> r13 "field V33._reference (fldOffset=0x0)" P-INDEP +; V84 tmp75 [V84,T28] ( 3, 1.50) int -> rcx "field V33._length (fldOffset=0x8)" P-INDEP +; V85 tmp76 [V85,T21] ( 3, 1.50) byref -> r13 "field V37._reference (fldOffset=0x0)" P-INDEP +; V86 tmp77 [V86,T29] ( 3, 1.50) int -> rcx "field V37._length (fldOffset=0x8)" P-INDEP +;* V87 tmp78 [V87,T48] ( 0, 0 ) byref -> zero-ref single-def "field V38._reference (fldOffset=0x0)" P-INDEP +; V88 tmp79 [V88,T39] ( 2, 1 ) int -> rax "field V38._length (fldOffset=0x8)" P-INDEP +; V89 tmp80 [V89,T33] ( 2, 1 ) byref -> rcx single-def "field V40._reference (fldOffset=0x0)" P-INDEP +; V90 tmp81 [V90,T40] ( 2, 1 ) int -> r8 "field V40._length (fldOffset=0x8)" P-INDEP +; V91 tmp82 [V91,T34] ( 2, 1 ) byref -> rcx single-def "field V41._reference (fldOffset=0x0)" P-INDEP +; V92 tmp83 [V92,T41] ( 2, 1 ) int -> r8 "field V41._length (fldOffset=0x8)" P-INDEP +; V93 tmp84 [V93,T35] ( 2, 1 ) byref -> rdi single-def "field V44._reference (fldOffset=0x0)" P-INDEP +; V94 tmp85 [V94,T42] ( 2, 1 ) int -> rsi "field V44._length (fldOffset=0x8)" P-INDEP +; V95 tmp86 [V95,T36] ( 2, 1 ) byref -> rdi single-def "field V45._reference (fldOffset=0x0)" P-INDEP +; V96 tmp87 [V96,T43] ( 2, 1 ) int -> rsi "field V45._length (fldOffset=0x8)" P-INDEP +; V97 tmp88 [V97,T12] ( 6, 2 ) ref -> [rbp-0x70] do-not-enreg[M] EH-live "V05.[000..008)" +; V98 tmp89 [V98,T13] ( 6, 2 ) ref -> [rbp-0x78] do-not-enreg[M] EH-live "V08.[000..008)" +; V99 tmp90 [V99,T14] ( 2, 2 ) ref -> rdi single-def "argument with side effect" +; V100 tmp91 [V100,T15] ( 2, 2 ) ref -> rdi single-def "argument with side effect" +; V101 GsCookie [V101 ] ( 1, 1 ) long -> [rbp-0x88] do-not-enreg[X] addr-exposed "GSSecurityCookie" +; V102 PSPSym [V102,T44] ( 1, 1 ) long -> [rbp-0x90] do-not-enreg[V] "PSPSym" +; V103 cse0 [V103,T11] ( 5, 2.50) ref -> [rbp-0x80] spill-single-def "CSE #01: moderate" +; V104 cse1 [V104,T09] ( 6, 2 ) byref -> rbx multi-def "CSE #02: moderate" +; V105 cse2 [V105,T10] ( 6, 2 ) byref -> r13 multi-def "CSE #06: moderate" ; ; Lcl frame size = 136 G_M59622_IG01: push rbp push r15 push r14 push r13 push r12 push rbx 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-0x90], rsp - mov qword ptr [rbp-0x80], 0xD1FFAB1E + 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=78 bbWeight=1 PerfScore 15.58 + ;; size=81 bbWeight=1 PerfScore 15.58 G_M59622_IG02: mov dword ptr [rbp+0x28], eax test eax, eax - je G_M59622_IG08 + je G_M59622_IG09 ;; size=11 bbWeight=1 PerfScore 2.25 G_M59622_IG03: test dword ptr [rsp], esp sub rsp, 256 lea rcx, [rsp+0x20] - mov bword ptr [rbp-0x60], rcx + mov bword ptr [rbp-0x68], rcx xor rdi, rdi - mov gword ptr [rbp-0x68], rdi + mov gword ptr [rbp-0x70], rdi mov rdi, 0xD1FFAB1E ; const ptr mov rdx, gword ptr [rdi] - mov gword ptr [rbp-0x78], 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 cmp eax, 256 ja SHORT G_M59622_IG04 - mov rcx, bword ptr [rbp-0x60] + mov rcx, bword ptr [rbp-0x68] mov edx, 256 - jmp SHORT G_M59622_IG06 - ;; size=78 bbWeight=0.50 PerfScore 8.75 + jmp SHORT G_M59622_IG07 + ;; size=81 bbWeight=0.50 PerfScore 9.25 G_M59622_IG04: - mov rdi, 0xD1FFAB1E ; const ptr + mov rdi, 0xD1FFAB1E ; global ptr + test byte ptr [rdi], 1 + je G_M59622_IG22 + ;; size=19 bbWeight=0.50 PerfScore 2.12 +G_M59622_IG05: + mov rdi, 0xD1FFAB1E ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared mov rdi, gword ptr [rdi] mov esi, eax 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-0x68], rax + mov gword ptr [rbp-0x70], rax test rax, rax - je SHORT G_M59622_IG05 + je SHORT G_M59622_IG06 lea rcx, bword ptr [rax+0x10] mov edx, dword ptr [rax+0x08] - jmp SHORT G_M59622_IG06 - ;; size=45 bbWeight=0.50 PerfScore 6.25 -G_M59622_IG05: + jmp SHORT G_M59622_IG07 + ;; size=47 bbWeight=0.50 PerfScore 7.75 +G_M59622_IG06: xor rcx, rcx xor edx, edx ;; size=4 bbWeight=0.50 PerfScore 0.25 -G_M59622_IG06: +G_M59622_IG07: mov bword ptr [rbp-0x38], rcx mov dword ptr [rbp-0x30], edx mov rsi, r13 mov edx, ebx mov rbx, bword ptr [rbp-0x38] mov rcx, rbx mov r8, qword ptr [rbp-0x30] - mov rdi, gword ptr [rbp-0x78] + 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_IG19 + ja G_M59622_IG23 mov dword ptr [rbp-0x30], eax - jmp SHORT G_M59622_IG11 + jmp SHORT G_M59622_IG12 ;; size=53 bbWeight=0.50 PerfScore 7.50 -G_M59622_IG07: - mov rdi, gword ptr [rbp-0x68] +G_M59622_IG08: + mov rdi, gword ptr [rbp-0x70] 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=18 bbWeight=0.50 PerfScore 2.25 -G_M59622_IG08: - cmp qword ptr [rbp-0x80], 0xD1FFAB1E - je SHORT G_M59622_IG09 - call CORINFO_HELP_FAIL_FAST - ;; size=15 bbWeight=1 PerfScore 4.00 G_M59622_IG09: + cmp qword ptr [rbp-0x88], 0xD1FFAB1E + je SHORT G_M59622_IG10 + call CORINFO_HELP_FAIL_FAST + ;; size=18 bbWeight=1 PerfScore 4.00 +G_M59622_IG10: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M59622_IG10: +G_M59622_IG11: 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_IG11: +G_M59622_IG12: test dword ptr [rsp], esp sub rsp, 256 lea r13, [rsp+0x20] xor rdi, rdi - mov gword ptr [rbp-0x70], rdi - mov rdi, gword ptr [rbp-0x78] + mov gword ptr [rbp-0x78], rdi + 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 + mov dword ptr [rbp-0x60], eax cmp eax, 256 - ja SHORT G_M59622_IG12 + ja SHORT G_M59622_IG13 mov ecx, 256 - jmp SHORT G_M59622_IG14 - ;; size=54 bbWeight=0.50 PerfScore 6.88 -G_M59622_IG12: - mov rdi, 0xD1FFAB1E ; const ptr + jmp SHORT G_M59622_IG16 + ;; size=57 bbWeight=0.50 PerfScore 7.38 +G_M59622_IG13: + mov rdi, 0xD1FFAB1E ; global ptr + test byte ptr [rdi], 1 + je G_M59622_IG19 + ;; size=19 bbWeight=0.50 PerfScore 2.12 +G_M59622_IG14: + mov rdi, 0xD1FFAB1E ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared mov rdi, gword ptr [rdi] mov esi, eax 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-0x70], rax + mov gword ptr [rbp-0x78], rax test rax, rax - je SHORT G_M59622_IG13 + je SHORT G_M59622_IG15 lea r13, bword ptr [rax+0x10] mov ecx, dword ptr [rax+0x08] - jmp SHORT G_M59622_IG14 - ;; size=45 bbWeight=0.50 PerfScore 6.25 -G_M59622_IG13: + jmp SHORT G_M59622_IG16 + ;; size=47 bbWeight=0.50 PerfScore 7.75 +G_M59622_IG15: xor r13, r13 xor ecx, ecx ;; size=5 bbWeight=0.50 PerfScore 0.25 -G_M59622_IG14: +G_M59622_IG16: mov bword ptr [rbp-0x50], r13 mov dword ptr [rbp-0x48], ecx mov rsi, bword ptr [rbp+0x10] mov edx, dword ptr [rbp+0x18] mov r13, bword ptr [rbp-0x50] mov rcx, r13 mov r8, qword ptr [rbp-0x48] - mov rdi, gword ptr [rbp-0x78] + 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] - ja SHORT G_M59622_IG17 + ja G_M59622_IG20 mov dword ptr [rbp-0x48], eax - ;; size=49 bbWeight=0.50 PerfScore 7.25 -G_M59622_IG15: + ;; size=53 bbWeight=0.50 PerfScore 7.25 +G_M59622_IG17: mov rcx, rbx mov r8d, dword ptr [rbp-0x30] mov rdi, r13 mov esi, dword ptr [rbp-0x48] mov bword ptr [rsp], rdi mov dword ptr [rsp+0x08], esi - mov rdi, bword ptr [rbp+0x20] - mov bword ptr [rsp+0x10], rdi - mov esi, dword ptr [rbp+0x28] - mov dword ptr [rsp+0x18], esi + mov rax, bword ptr [rbp+0x20] + mov bword ptr [rsp+0x10], rax + mov r9d, dword ptr [rbp+0x28] + mov dword ptr [rsp+0x18], r9d 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=59 bbWeight=0.50 PerfScore 6.38 -G_M59622_IG16: + ;; size=61 bbWeight=0.50 PerfScore 6.38 +G_M59622_IG18: mov rdi, r13 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-0x70], 0 - je SHORT G_M59622_IG18 - mov rdi, gword ptr [rbp-0x70] + cmp gword ptr [rbp-0x78], 0 + je SHORT G_M59622_IG21 + mov rdi, gword ptr [rbp-0x78] 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 SHORT G_M59622_IG18 + jmp SHORT G_M59622_IG21 ;; size=46 bbWeight=0.50 PerfScore 7.00 -G_M59622_IG17: +G_M59622_IG19: + mov rdi, 0xD1FFAB1E ; System.Buffers.ArrayPool`1[ubyte] + call CORINFO_HELP_GET_GCSTATIC_BASE + mov eax, dword ptr [rbp-0x60] + jmp G_M59622_IG14 + ;; size=23 bbWeight=0 PerfScore 0.00 +G_M59622_IG20: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M59622_IG18: +G_M59622_IG21: mov rdi, rbx 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-0x68], 0 - je G_M59622_IG08 - jmp G_M59622_IG07 + cmp gword ptr [rbp-0x70], 0 + je G_M59622_IG09 + jmp G_M59622_IG08 ;; size=35 bbWeight=0.50 PerfScore 4.75 -G_M59622_IG19: +G_M59622_IG22: + mov rdi, 0xD1FFAB1E ; System.Buffers.ArrayPool`1[ubyte] + call CORINFO_HELP_GET_GCSTATIC_BASE + mov eax, dword ptr [rbp-0x5C] + jmp G_M59622_IG05 + ;; size=23 bbWeight=0 PerfScore 0.00 +G_M59622_IG23: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M59622_IG20: +G_M59622_IG24: 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+0xB0] ;; size=30 bbWeight=0 PerfScore 0.00 -G_M59622_IG21: +G_M59622_IG25: mov r13, bword ptr [rbp-0x50] mov rdi, r13 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-0x70], 0 - je SHORT G_M59622_IG22 - mov rdi, gword ptr [rbp-0x70] + cmp gword ptr [rbp-0x78], 0 + je SHORT G_M59622_IG26 + mov rdi, gword ptr [rbp-0x78] 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=48 bbWeight=0 PerfScore 0.00 -G_M59622_IG22: +G_M59622_IG26: nop ;; size=1 bbWeight=0 PerfScore 0.00 -G_M59622_IG23: +G_M59622_IG27: 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_IG24: +G_M59622_IG28: 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+0xB0] ;; size=30 bbWeight=0 PerfScore 0.00 -G_M59622_IG25: +G_M59622_IG29: mov rbx, bword ptr [rbp-0x38] mov rdi, rbx 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-0x68], 0 - je SHORT G_M59622_IG26 - mov rdi, gword ptr [rbp-0x68] + cmp gword ptr [rbp-0x70], 0 + je SHORT G_M59622_IG30 + mov rdi, gword ptr [rbp-0x70] 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=48 bbWeight=0 PerfScore 0.00 -G_M59622_IG26: +G_M59622_IG30: nop ;; size=1 bbWeight=0 PerfScore 0.00 -G_M59622_IG27: +G_M59622_IG31: 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 825, prolog size 78, PerfScore 90.33, instruction count 224, allocated bytes for code 825 (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 931, prolog size 81, PerfScore 98.58, instruction count 242, allocated bytes for code 931 (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/afac779696183c8a381ac50f3eb21e38

MihuBot commented 3 weeks ago

Top method improvements

-1092 (-80.65 % of base) - System.Uri:Equals(System.Object):ubyte:this ```diff ; Assembly listing for method System.Uri:Equals(System.Object):ubyte:this (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame -; fully interruptible +; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 27 single block inlinees; 11 inlinees without PGO data +; 0 inlinees with PGO data; 0 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T03] ( 29, 15.25) ref -> rbx this class-hnd single-def -; V01 arg1 [V01,T07] ( 7, 5 ) ref -> r15 class-hnd single-def -; V02 loc0 [V02,T04] ( 24, 12 ) ref -> r14 ld-addr-op class-hnd -; V03 loc1 [V03,T45] ( 3, 1.50) ref -> r15 class-hnd exact single-def -; V04 loc2 [V04,T46] ( 3, 1.50) ref -> r13 class-hnd exact single-def -; V05 loc3 [V05,T25] ( 4, 2 ) int -> r12 -;* V06 loc4 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def -; V07 loc5 [V07,T44] ( 3, 1.50) ref -> rdi class-hnd exact -; V08 loc6 [V08,T14] ( 7, 3.50) int -> rax -; V09 loc7 [V09,T09] ( 5, 6 ) int -> rdx -; V10 loc8 [V10,T15] ( 6, 3 ) int -> r8 -; V11 loc9 [V11,T26] ( 4, 2 ) int -> rsi -; V12 loc10 [V12,T06] ( 5, 9.50) ref -> r10 class-hnd exact single-def -;* V13 loc11 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd -;* V14 loc12 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd -;# V15 OutArgs [V15 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -;* V16 tmp1 [V16 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V17 tmp2 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" -;* V18 tmp3 [V18 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -; V19 tmp4 [V19,T29] ( 2, 2 ) ref -> r15 class-hnd exact single-def "impAppendStmt" -; V20 tmp5 [V20,T30] ( 2, 2 ) ref -> r13 class-hnd exact single-def "impAppendStmt" -;* V21 tmp6 [V21 ] ( 0, 0 ) ref -> zero-ref single-def -;* V22 tmp7 [V22 ] ( 0, 0 ) ref -> zero-ref single-def -;* V23 tmp8 [V23 ] ( 0, 0 ) ref -> zero-ref single-def -;* V24 tmp9 [V24 ] ( 0, 0 ) ref -> zero-ref single-def -; V25 tmp10 [V25,T54] ( 2, 1 ) int -> rdx -; V26 tmp11 [V26,T31] ( 2, 2 ) ref -> rax class-hnd exact single-def "dup spill" -; V27 tmp12 [V27,T20] ( 4, 2 ) ref -> [rbp-0x40] -; V28 tmp13 [V28,T32] ( 2, 2 ) ref -> r15 class-hnd exact single-def "dup spill" -;* V29 tmp14 [V29 ] ( 0, 0 ) ref -> zero-ref single-def -; V30 tmp15 [V30,T21] ( 4, 2 ) ref -> r15 -;* V31 tmp16 [V31 ] ( 0, 0 ) ref -> zero-ref single-def -;* V32 tmp17 [V32 ] ( 0, 0 ) ref -> zero-ref single-def -;* V33 tmp18 [V33 ] ( 0, 0 ) ref -> zero-ref single-def -;* V34 tmp19 [V34 ] ( 0, 0 ) ref -> zero-ref single-def -; V35 tmp20 [V35,T55] ( 2, 1 ) int -> rdx -; V36 tmp21 [V36,T16] ( 3, 3 ) ref -> r15 class-hnd exact single-def "dup spill" -; V37 tmp22 [V37,T17] ( 3, 3 ) ref -> [rbp-0x48] class-hnd exact spill-single-def "dup spill" -;* V38 tmp23 [V38 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" -;* V39 tmp24 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" -;* V40 tmp25 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" -; V41 tmp26 [V41,T33] ( 2, 2 ) ref -> r8 class-hnd exact single-def "dup spill" -; V42 tmp27 [V42,T22] ( 4, 2 ) ref -> r8 -; V43 tmp28 [V43,T52] ( 3, 1.50) ubyte -> rdi "Inline return value spill temp" -; V44 tmp29 [V44 ] ( 4, 2 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" -; V45 tmp30 [V45 ] ( 2, 1 ) struct ( 8) [rbp-0x38] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" -; V46 tmp31 [V46,T56] ( 2, 1 ) ubyte -> rdi "Inline return value spill temp" -;* V47 tmp32 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -; V48 tmp33 [V48,T34] ( 2, 2 ) ref -> rdi class-hnd exact single-def "dup spill" -; V49 tmp34 [V49,T23] ( 4, 2 ) ref -> rdi -;* V50 tmp35 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" -; V51 tmp36 [V51,T35] ( 2, 2 ) ref -> rax class-hnd exact single-def "dup spill" -; V52 tmp37 [V52,T24] ( 4, 2 ) ref -> rax -;* V53 tmp38 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -; V54 tmp39 [V54,T36] ( 2, 2 ) ref -> r15 class-hnd exact single-def "dup spill" -; V55 tmp40 [V55,T12] ( 8, 4 ) ref -> r15 -;* V56 tmp41 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" -; V57 tmp42 [V57,T37] ( 2, 2 ) ref -> rsi class-hnd exact single-def "dup spill" -; V58 tmp43 [V58,T13] ( 7, 3.50) ref -> rsi -; V59 tmp44 [V59,T27] ( 4, 2 ) ubyte -> rax "Inline return value spill temp" -; V60 tmp45 [V60,T38] ( 2, 2 ) byref -> rdi single-def "impAppendStmt" -;* V61 tmp46 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -; V62 tmp47 [V62,T39] ( 2, 2 ) ref -> rdi class-hnd single-def "Inlining Arg" -;* V63 tmp48 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -; V64 tmp49 [V64,T40] ( 2, 2 ) ref -> rdi class-hnd single-def "Inlining Arg" -;* V65 tmp50 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -;* V66 tmp51 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" -; V67 tmp52 [V67,T28] ( 2, 1 ) ubyte -> rax "Inline return value spill temp" -; V68 tmp53 [V68,T08] ( 6, 6 ) ref -> rdx class-hnd exact single-def "Inlining Arg" -; V69 tmp54 [V69,T11] ( 5, 5 ) ref -> rsi class-hnd exact single-def "Inlining Arg" -; V70 tmp55 [V70,T41] ( 2, 2 ) byref -> rdi single-def "impAppendStmt" -; V71 tmp56 [V71,T42] ( 2, 2 ) ref -> rdi class-hnd single-def "Inlining Arg" -; V72 tmp57 [V72,T43] ( 2, 2 ) ref -> rdi class-hnd single-def "Inlining Arg" -;* V73 tmp58 [V73 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" -; V74 tmp59 [V74,T19] ( 3, 3 ) int -> rax "Single return block return value" -; V75 tmp60 [V75 ] ( 2, 1 ) ubyte -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V45._disablePathAndQueryCanonicalization (fldOffset=0x0)" P-DEP -; V76 tmp61 [V76,T00] ( 3, 24 ) ref -> r8 "arr expr" -; V77 tmp62 [V77,T18] ( 3, 3 ) ref -> r11 single-def "arr expr" -; V78 cse0 [V78,T05] ( 3, 12 ) int -> r8 "CSE #13: aggressive" -; V79 cse1 [V79,T53] ( 3, 1.50) int -> rdi "CSE #14: conservative" -; V80 cse2 [V80,T10] ( 4, 5.25) ref -> r11 hoist multi-def "CSE #09: moderate" -; V81 cse3 [V81,T47] ( 3, 1.50) ref -> rdi "CSE #07: conservative" -; V82 cse4 [V82,T48] ( 3, 1.50) ref -> rdi "CSE #01: conservative" -; V83 cse5 [V83,T49] ( 3, 1.50) ref -> r15 "CSE #02: conservative" -; V84 cse6 [V84,T50] ( 3, 1.50) ref -> rsi "CSE #04: conservative" -; V85 cse7 [V85,T51] ( 3, 1.50) ref -> rsi "CSE #08: conservative" -; V86 rat0 [V86,T01] ( 9, 22 ) long -> rcx "Widened IV V08" -; V87 rat1 [V87,T02] ( 8, 18 ) long -> r9 "Widened IV V10" +; V00 this [V00,T01] ( 7, 4.50) ref -> r15 this class-hnd single-def +; V01 arg1 [V01,T00] ( 7, 5 ) ref -> rbx class-hnd single-def +; V02 loc0 [V02,T02] ( 5, 2.50) ref -> rax ld-addr-op class-hnd +; V03 loc1 [V03,T06] ( 3, 1.50) ref -> rdi class-hnd exact +;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" +;* V05 tmp1 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" +; V06 tmp2 [V06,T04] ( 2, 2 ) ref -> r8 class-hnd exact single-def "dup spill" +; V07 tmp3 [V07,T03] ( 4, 2 ) ref -> r8 +; V08 tmp4 [V08,T07] ( 3, 1.50) ubyte -> rdi "Inline return value spill temp" +; V09 tmp5 [V09 ] ( 4, 2 ) ref -> [rbp-0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" +; V10 tmp6 [V10 ] ( 2, 1 ) struct ( 8) [rbp-0x20] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" +; V11 tmp7 [V11,T08] ( 2, 1 ) ubyte -> rdi "Inline return value spill temp" +;* V12 tmp8 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" +; V13 tmp9 [V13,T05] ( 2, 2 ) int -> rax "Single return block return value" +; V14 tmp10 [V14 ] ( 2, 1 ) ubyte -> [rbp-0x20] do-not-enreg[X] addr-exposed "field V10._disablePathAndQueryCanonicalization (fldOffset=0x0)" P-DEP ; -; Lcl frame size = 40 +; Lcl frame size = 16 G_M60668_IG01: push rbp push r15 - push r14 - push r13 - push r12 push rbx - sub rsp, 40 - lea rbp, [rsp+0x50] + sub rsp, 16 + lea rbp, [rsp+0x20] xor eax, eax - mov qword ptr [rbp-0x30], rax - mov rbx, rdi - mov r15, rsi - ;; size=31 bbWeight=1 PerfScore 8.50 + mov qword ptr [rbp-0x18], rax + mov r15, rdi + mov rbx, rsi + ;; size=25 bbWeight=1 PerfScore 5.50 G_M60668_IG02: - test r15, r15 - je G_M60668_IG36 + test rbx, rbx + je G_M60668_IG11 ;; size=9 bbWeight=1 PerfScore 1.25 G_M60668_IG03: - cmp rbx, r15 - je G_M60668_IG27 - mov rsi, r15 + cmp r15, rbx + je G_M60668_IG09 + mov rsi, rbx mov rdi, 0xD1FFAB1E ; System.Uri mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS call [rax]CORINFO_HELP_ISINSTANCEOFCLASS - mov r14, rax - test r14, r14 + test rax, rax jne G_M60668_IG07 - mov rdi, rbx + mov rdi, r15 mov rax, 0xD1FFAB1E ; code for System.Uri:get_DisablePathAndQueryCanonicalization():ubyte:this call [rax]System.Uri:get_DisablePathAndQueryCanonicalization():ubyte:this test eax, eax - jne G_M60668_IG36 + jne G_M60668_IG11 mov r8, 0xD1FFAB1E ; System.String - cmp qword ptr [r15], r8 - jne G_M60668_IG36 - mov rdi, r15 - mov r8, gword ptr [rbx+0x10] + cmp qword ptr [rbx], r8 + jne G_M60668_IG11 + mov rdi, rbx + mov r8, gword ptr [r15+0x10] test r8, r8 jne SHORT G_M60668_IG04 - mov r8, gword ptr [rbx+0x08] - ;; size=104 bbWeight=0.50 PerfScore 10.50 + mov r8, gword ptr [r15+0x08] + ;; size=101 bbWeight=0.50 PerfScore 10.38 G_M60668_IG04: cmp rdi, r8 - je G_M60668_IG27 + je SHORT G_M60668_IG09 xor r8, r8 - mov gword ptr [rbp-0x30], r8 - mov byte ptr [rbp-0x38], 0 - lea r8, [rbp-0x38] - lea rcx, [rbp-0x30] + mov gword ptr [rbp-0x18], r8 + mov byte ptr [rbp-0x20], 0 + lea r8, [rbp-0x20] + lea rcx, [rbp-0x18] xor esi, esi xor edx, edx mov rax, 0xD1FFAB1E ; code for System.Uri:CreateHelper(System.String,ubyte,int,byref,byref):System.Uri call [rax]System.Uri:CreateHelper(System.String,ubyte,int,byref,byref):System.Uri - mov r14, rax - cmp gword ptr [rbp-0x30], 0 + cmp gword ptr [rbp-0x18], 0 je SHORT G_M60668_IG05 xor edi, edi jmp SHORT G_M60668_IG06 - align [4 bytes for IG18] - ;; size=62 bbWeight=0.50 PerfScore 6.88 + ;; size=51 bbWeight=0.50 PerfScore 6.75 G_M60668_IG05: - test r14, r14 + test rax, rax setne dil movzx rdi, dil ;; size=11 bbWeight=0.50 PerfScore 0.75 G_M60668_IG06: - xor rax, rax - mov gword ptr [rbp-0x30], rax + xor rsi, rsi + mov gword ptr [rbp-0x18], rsi test edi, edi - je G_M60668_IG36 - ;; size=14 bbWeight=0.50 PerfScore 1.25 + je SHORT G_M60668_IG11 + ;; size=10 bbWeight=0.50 PerfScore 1.25 G_M60668_IG07: - mov rdi, rbx - mov rax, 0xD1FFAB1E ; code for System.Uri:get_DisablePathAndQueryCanonicalization():ubyte:this - call [rax]System.Uri:get_DisablePathAndQueryCanonicalization():ubyte:this - mov r15d, eax - mov rdi, r14 - mov rax, 0xD1FFAB1E ; code for System.Uri:get_DisablePathAndQueryCanonicalization():ubyte:this - cmp dword ptr [rdi], edi - call [rax]System.Uri:get_DisablePathAndQueryCanonicalization():ubyte:this - cmp r15d, eax - jne G_M60668_IG36 - mov r15, gword ptr [rbx+0x10] mov rdi, r15 - test rdi, rdi - jne SHORT G_M60668_IG08 - mov rdi, gword ptr [rbx+0x08] - ;; size=60 bbWeight=0.50 PerfScore 8.50 -G_M60668_IG08: - mov rsi, gword ptr [r14+0x10] - mov rax, rsi - test rax, rax - jne SHORT G_M60668_IG09 - mov rax, gword ptr [r14+0x08] - ;; size=16 bbWeight=0.50 PerfScore 2.75 -G_M60668_IG09: - cmp rdi, rax - je G_M60668_IG27 - mov rdi, gword ptr [rbx+0x18] - test rdi, rdi - setne al - movzx rax, al - cmp gword ptr [r14+0x18], 0 - setne cl - movzx rcx, cl - cmp eax, ecx - jne G_M60668_IG36 - test rdi, rdi - je G_M60668_IG29 - test dword ptr [rbx+0x28], 0xD1FFAB1E - je SHORT G_M60668_IG10 - test dword ptr [r14+0x28], 0xD1FFAB1E - jne SHORT G_M60668_IG11 - ;; size=69 bbWeight=0.50 PerfScore 9.75 -G_M60668_IG10: - mov r15, gword ptr [rbx+0x08] - mov r13, gword ptr [r14+0x08] - mov rdi, rbx - mov rax, 0xD1FFAB1E ; code for System.Uri:get_IsUncOrDosPath():ubyte:this - call [rax]System.Uri:get_IsUncOrDosPath():ubyte:this - mov edx, 5 - mov edi, 4 - test eax, eax - cmove edx, edi - mov rdi, r15 - mov rsi, r13 - mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte - call [rax]System.String:Equals(System.String,System.String,int):ubyte - test eax, eax - jne G_M60668_IG27 - ;; size=64 bbWeight=0.50 PerfScore 6.75 -G_M60668_IG11: - mov rdi, rbx - mov rax, 0xD1FFAB1E ; code for System.Uri:EnsureUriInfo():System.Uri+UriInfo:this - call [rax]System.Uri:EnsureUriInfo():System.Uri+UriInfo:this - mov rdi, r14 - mov rax, 0xD1FFAB1E ; code for System.Uri:EnsureUriInfo():System.Uri+UriInfo:this - call [rax]System.Uri:EnsureUriInfo():System.Uri+UriInfo:this - mov rdi, rbx - mov rax, 0xD1FFAB1E ; code for System.Uri:get_UserDrivenParsing():ubyte:this - call [rax]System.Uri:get_UserDrivenParsing():ubyte:this - test eax, eax - jne G_M60668_IG23 - mov rdi, r14 - mov rax, 0xD1FFAB1E ; code for System.Uri:get_UserDrivenParsing():ubyte:this - call [rax]System.Uri:get_UserDrivenParsing():ubyte:this - test eax, eax - jne G_M60668_IG23 - mov rdi, gword ptr [rbx+0x18] - test dword ptr [rdi+0x10], 0x20000 - je G_M60668_IG23 - mov rdi, gword ptr [r14+0x18] - test dword ptr [rdi+0x10], 0x20000 - je G_M60668_IG23 - test dword ptr [rbx+0x28], 0xD1FFAB1E - je SHORT G_M60668_IG12 - test dword ptr [r14+0x28], 0xD1FFAB1E - jne G_M60668_IG15 - ;; size=133 bbWeight=0.50 PerfScore 18.25 -G_M60668_IG12: - mov rdi, rbx - mov rax, 0xD1FFAB1E ; code for System.Uri:EnsureUriInfo():System.Uri+UriInfo:this - call [rax]System.Uri:EnsureUriInfo():System.Uri+UriInfo:this - cmp gword ptr [rax+0x10], 0 - jne SHORT G_M60668_IG13 - mov rdi, rbx - mov rax, 0xD1FFAB1E ; code for System.Uri:CreateHostString():this - call [rax]System.Uri:CreateHostString():this - ;; size=37 bbWeight=0.50 PerfScore 5.50 -G_M60668_IG13: - mov rdi, r14 - mov rax, 0xD1FFAB1E ; code for System.Uri:EnsureUriInfo():System.Uri+UriInfo:this - call [rax]System.Uri:EnsureUriInfo():System.Uri+UriInfo:this - cmp gword ptr [rax+0x10], 0 - jne SHORT G_M60668_IG14 - mov rdi, r14 - mov rax, 0xD1FFAB1E ; code for System.Uri:CreateHostString():this - call [rax]System.Uri:CreateHostString():this - ;; size=37 bbWeight=0.50 PerfScore 5.50 -G_M60668_IG14: - mov rdx, gword ptr [rbx+0x20] - mov rdx, gword ptr [rdx+0x10] - mov rsi, gword ptr [r14+0x20] - mov rsi, gword ptr [rsi+0x10] - cmp byte ptr [rdx], dl - cmp rdx, rsi - je G_M60668_IG22 - test rsi, rsi - je G_M60668_IG36 - mov edi, dword ptr [rdx+0x08] - cmp edi, dword ptr [rsi+0x08] - jne G_M60668_IG36 - lea rdi, bword ptr [rdx+0x0C] - mov edx, dword ptr [rdx+0x08] - add edx, edx - add rsi, 12 - mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - test eax, eax - je G_M60668_IG36 - jmp G_M60668_IG22 - ;; size=86 bbWeight=0.50 PerfScore 14.50 -G_M60668_IG15: - mov rdi, gword ptr [rbx+0x20] - movzx rax, word ptr [rdi+0x3C] - mov ecx, eax - movzx rdi, word ptr [rdi+0x40] - mov edx, edi - mov rsi, gword ptr [r14+0x20] - movzx r8, word ptr [rsi+0x3C] - mov r9d, r8d - movzx rsi, word ptr [rsi+0x40] - mov r10, gword ptr [r14+0x08] - mov r11d, edx - sub r11d, ecx - mov r15d, esi - sub r15d, r9d - cmp r11d, r15d - jle SHORT G_M60668_IG16 - lea edx, [rcx+rsi] - sub edx, r9d - ;; size=59 bbWeight=0.50 PerfScore 8.88 -G_M60668_IG16: - cmp eax, edx - jge SHORT G_M60668_IG20 - ;; size=4 bbWeight=0.50 PerfScore 0.62 -G_M60668_IG17: - mov r11, gword ptr [rbx+0x08] - ;; size=4 bbWeight=0.25 PerfScore 0.50 -G_M60668_IG18: - mov r8, r11 - cmp ecx, dword ptr [r8+0x08] - jae G_M60668_IG38 - movzx rax, word ptr [r8+2*rcx+0x0C] - cmp r9d, dword ptr [r10+0x08] - jae G_M60668_IG38 - movzx r8, word ptr [r10+2*r9+0x0C] - cmp eax, r8d - jne G_M60668_IG36 - cmp r8d, 58 - je SHORT G_M60668_IG19 - inc ecx - inc r9d - cmp ecx, edx - jl SHORT G_M60668_IG18 - ;; size=59 bbWeight=4 PerfScore 66.00 -G_M60668_IG19: - mov r8d, r9d - mov eax, ecx - ;; size=5 bbWeight=0.50 PerfScore 0.25 -G_M60668_IG20: - cmp eax, edi - jge SHORT G_M60668_IG21 - mov r11, gword ptr [rbx+0x08] - cmp eax, dword ptr [r11+0x08] - jae G_M60668_IG38 - mov edi, eax - cmp word ptr [r11+2*rdi+0x0C], 58 - jne G_M60668_IG36 - ;; size=33 bbWeight=0.50 PerfScore 5.75 -G_M60668_IG21: - cmp r8d, esi - jge SHORT G_M60668_IG22 - cmp r8d, dword ptr [r10+0x08] - jae G_M60668_IG38 - mov edi, r8d - cmp word ptr [r10+2*rdi+0x0C], 58 - jne G_M60668_IG36 - ;; size=31 bbWeight=0.50 PerfScore 4.75 -G_M60668_IG22: - mov rdi, rbx - mov rax, 0xD1FFAB1E ; code for System.Uri:get_Port():int:this - call [rax]System.Uri:get_Port():int:this - mov r15d, eax - mov rdi, r14 - mov rax, 0xD1FFAB1E ; code for System.Uri:get_Port():int:this - call [rax]System.Uri:get_Port():int:this - cmp r15d, eax - jne G_M60668_IG36 - ;; size=42 bbWeight=0.50 PerfScore 4.25 -G_M60668_IG23: - mov rdi, gword ptr [rbx+0x20] - mov rax, 0xD1FFAB1E ; code for System.Uri+UriInfo:get_MoreInfo():System.Uri+MoreInfo:this - cmp dword ptr [rdi], edi - call [rax]System.Uri+UriInfo:get_MoreInfo():System.Uri+MoreInfo:this - mov r15, rax - mov rdi, gword ptr [r14+0x20] - mov rax, 0xD1FFAB1E ; code for System.Uri+UriInfo:get_MoreInfo():System.Uri+MoreInfo:this - cmp dword ptr [rdi], edi - call [rax]System.Uri+UriInfo:get_MoreInfo():System.Uri+MoreInfo:this - mov r13, rax - mov r12d, 61 - mov rdi, gword ptr [rbx+0x18] - test dword ptr [rdi+0x10], 0x4000 - je SHORT G_M60668_IG24 - mov rdi, gword ptr [r14+0x18] - test dword ptr [rdi+0x10], 0x4000 - je G_M60668_IG36 - mov r12d, 63 - ;; size=84 bbWeight=0.50 PerfScore 14.75 -G_M60668_IG24: - mov rax, gword ptr [r15+0x28] - test rax, rax - jne SHORT G_M60668_IG25 - mov rdi, rbx - mov esi, r12d - mov edx, 3 - mov rax, 0xD1FFAB1E ; code for System.Uri:InternalGetComponents(int,int):System.String:this - call [rax]System.Uri:InternalGetComponents(int,int):System.String:this - mov gword ptr [rbp-0x48], rax - lea rdi, bword ptr [r15+0x28] mov rsi, rax - call CORINFO_HELP_ASSIGN_REF - mov r15, gword ptr [rbp-0x48] - mov gword ptr [rbp-0x40], r15 - mov rax, gword ptr [rbp-0x40] - ;; size=60 bbWeight=0.50 PerfScore 6.50 -G_M60668_IG25: - mov r15, gword ptr [r13+0x28] - test r15, r15 - mov gword ptr [rbp-0x40], rax - jne SHORT G_M60668_IG26 - mov rdi, r14 - mov esi, r12d - mov edx, 3 - mov rcx, 0xD1FFAB1E ; code for System.Uri:InternalGetComponents(int,int):System.String:this - call [rcx]System.Uri:InternalGetComponents(int,int):System.String:this - mov r15, rax - lea rdi, bword ptr [r13+0x28] - mov rsi, r15 - call CORINFO_HELP_ASSIGN_REF - ;; size=51 bbWeight=0.50 PerfScore 5.12 -G_M60668_IG26: - mov rdi, rbx - mov rcx, 0xD1FFAB1E ; code for System.Uri:get_IsUncOrDosPath():ubyte:this - call [rcx]System.Uri:get_IsUncOrDosPath():ubyte:this - mov edx, 5 - mov edi, 4 - test eax, eax - cmove edx, edi - mov rdi, gword ptr [rbp-0x40] - mov rsi, r15 - mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte - call [rax]System.String:Equals(System.String,System.String,int):ubyte - jmp SHORT G_M60668_IG34 - ;; size=51 bbWeight=0.50 PerfScore 5.50 -G_M60668_IG27: - mov eax, 1 - ;; size=5 bbWeight=0.50 PerfScore 0.12 -G_M60668_IG28: - add rsp, 40 + mov rax, 0xD1FFAB1E ; code for System.Uri:Equals(System.Uri):ubyte:this + call [rax]System.Uri:Equals(System.Uri):ubyte:this + movzx rax, al + ;; size=21 bbWeight=0.50 PerfScore 2.00 +G_M60668_IG08: + add rsp, 16 pop rbx - pop r12 - pop r13 - pop r14 pop r15 pop rbp ret - ;; size=15 bbWeight=0.50 PerfScore 2.12 -G_M60668_IG29: - test r15, r15 - jne SHORT G_M60668_IG30 - mov r15, gword ptr [rbx+0x08] - ;; size=9 bbWeight=0.50 PerfScore 1.62 -G_M60668_IG30: - test rsi, rsi - jne SHORT G_M60668_IG31 - mov rsi, gword ptr [r14+0x08] - ;; size=9 bbWeight=0.50 PerfScore 1.62 -G_M60668_IG31: - cmp byte ptr [r15], r15b - cmp r15, rsi - je SHORT G_M60668_IG33 - test rsi, rsi - je SHORT G_M60668_IG32 - mov edx, dword ptr [r15+0x08] - cmp edx, dword ptr [rsi+0x08] - jne SHORT G_M60668_IG32 - lea rdi, bword ptr [r15+0x0C] - mov edx, dword ptr [r15+0x08] - add edx, edx - add rsi, 12 - mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte - jmp SHORT G_M60668_IG34 - ;; size=50 bbWeight=0.50 PerfScore 9.88 -G_M60668_IG32: - xor eax, eax - jmp SHORT G_M60668_IG34 - ;; size=4 bbWeight=0.50 PerfScore 1.12 -G_M60668_IG33: + ;; size=9 bbWeight=0.50 PerfScore 1.38 +G_M60668_IG09: mov eax, 1 ;; size=5 bbWeight=0.50 PerfScore 0.12 -G_M60668_IG34: - movzx rax, al - ;; size=3 bbWeight=0.50 PerfScore 0.12 -G_M60668_IG35: - add rsp, 40 +G_M60668_IG10: + add rsp, 16 pop rbx - pop r12 - pop r13 - pop r14 pop r15 pop rbp ret - ;; size=15 bbWeight=0.50 PerfScore 2.12 -G_M60668_IG36: + ;; size=9 bbWeight=0.50 PerfScore 1.38 +G_M60668_IG11: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 -G_M60668_IG37: - add rsp, 40 +G_M60668_IG12: + add rsp, 16 pop rbx - pop r12 - pop r13 - pop r14 pop r15 pop rbp ret - ;; size=15 bbWeight=0.50 PerfScore 2.12 -G_M60668_IG38: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 + ;; size=9 bbWeight=0.50 PerfScore 1.38 -; Total bytes of code 1354, prolog size 31, PerfScore 244.62, instruction count 348, allocated bytes for code 1354 (MethodHash=e6ef1303) for method System.Uri:Equals(System.Object):ubyte:this (FullOpts) +; Total bytes of code 262, prolog size 19, PerfScore 32.25, instruction count 76, allocated bytes for code 262 (MethodHash=e6ef1303) for method System.Uri:Equals(System.Object):ubyte:this (FullOpts) ```
-12 (-11.65 % of base) - System.Net.Http.HttpEnvironmentProxyCredentials:GetCredential(System.Uri,System.String):System.Net.NetworkCredential:this ```diff ; Assembly listing for method System.Net.Http.HttpEnvironmentProxyCredentials:GetCredential(System.Uri,System.String):System.Net.NetworkCredential:this (FullOpts) ; Emitting BLENDED_CODE for X86 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 6, 4 ) ref -> r15 this class-hnd single-def -; V01 arg1 [V01,T00] ( 6, 4.50) ref -> rbx class-hnd single-def +; V00 this [V00,T00] ( 6, 4 ) ref -> rbx this class-hnd single-def +; V01 arg1 [V01,T01] ( 5, 4 ) ref -> r15 class-hnd single-def ;* V02 arg2 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -;* V04 tmp1 [V04,T03] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V05 cse0 [V05,T02] ( 3, 1.50) long -> r14 "CSE #02: moderate" +;* V04 tmp1 [V04,T02] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; -; Lcl frame size = 8 +; Lcl frame size = 0 G_M41623_IG01: push rbp push r15 - push r14 push rbx - push rax - lea rbp, [rsp+0x20] - mov r15, rdi - mov rbx, rsi - ;; size=18 bbWeight=1 PerfScore 6.00 + lea rbp, [rsp+0x10] + mov rbx, rdi + mov r15, rsi + ;; size=15 bbWeight=1 PerfScore 4.00 G_M41623_IG02: - test rbx, rbx + test r15, r15 je SHORT G_M41623_IG07 ;; size=5 bbWeight=1 PerfScore 1.25 G_M41623_IG03: - mov rsi, gword ptr [r15+0x18] - mov rdi, rbx - mov rax, qword ptr [rbx] - mov r14, qword ptr [rax+0x40] - call [r14+0x10]System.Object:Equals(System.Object):ubyte:this + mov rsi, gword ptr [rbx+0x18] + mov rdi, r15 + mov rax, 0xD1FFAB1E ; code for System.Uri:Equals(System.Uri):ubyte:this + call [rax]System.Uri:Equals(System.Uri):ubyte:this test eax, eax je SHORT G_M41623_IG05 - mov rax, gword ptr [r15+0x08] - ;; size=26 bbWeight=0.50 PerfScore 6.25 + mov rax, gword ptr [rbx+0x08] + ;; size=27 bbWeight=0.50 PerfScore 4.38 G_M41623_IG04: - add rsp, 8 pop rbx - pop r14 pop r15 pop rbp ret - ;; size=11 bbWeight=0.50 PerfScore 1.62 + ;; size=5 bbWeight=0.50 PerfScore 1.25 G_M41623_IG05: - mov rsi, gword ptr [r15+0x20] - mov rdi, rbx - call [r14+0x10]System.Object:Equals(System.Object):ubyte:this + mov rsi, gword ptr [rbx+0x20] + mov rdi, r15 + mov rax, 0xD1FFAB1E ; code for System.Uri:Equals(System.Uri):ubyte:this + call [rax]System.Uri:Equals(System.Uri):ubyte:this test eax, eax je SHORT G_M41623_IG07 - mov rax, gword ptr [r15+0x10] - ;; size=19 bbWeight=0.50 PerfScore 4.25 + mov rax, gword ptr [rbx+0x10] + ;; size=27 bbWeight=0.50 PerfScore 4.38 G_M41623_IG06: - add rsp, 8 pop rbx - pop r14 pop r15 pop rbp ret - ;; size=11 bbWeight=0.50 PerfScore 1.62 + ;; size=5 bbWeight=0.50 PerfScore 1.25 G_M41623_IG07: xor rax, rax ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M41623_IG08: - add rsp, 8 pop rbx - pop r14 pop r15 pop rbp ret - ;; size=11 bbWeight=0.50 PerfScore 1.62 + ;; size=5 bbWeight=0.50 PerfScore 1.25 -; Total bytes of code 103, prolog size 12, PerfScore 22.75, instruction count 43, allocated bytes for code 103 (MethodHash=04005d68) for method System.Net.Http.HttpEnvironmentProxyCredentials:GetCredential(System.Uri,System.String):System.Net.NetworkCredential:this (FullOpts) +; Total bytes of code 91, prolog size 9, PerfScore 17.88, instruction count 35, allocated bytes for code 91 (MethodHash=04005d68) for method System.Net.Http.HttpEnvironmentProxyCredentials:GetCredential(System.Uri,System.String):System.Net.NetworkCredential:this (FullOpts) ```
MihuBot commented 3 weeks ago

@MihaZupan