Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[ARM64] [xtqqczze] Replace unaligned casts in Buffer.Memmove #263

Open
MihuBot opened this issue Feb 23, 2024 · 4 comments
Open

[ARM64] [xtqqczze] Replace unaligned casts in Buffer.Memmove #263

MihuBot opened this issue Feb 23, 2024 · 4 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Feb 23, 2024

Build completed in 47 minutes.
dotnet/runtime#98812

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 8081232
Total bytes of diff: 8082108
Total bytes of delta: 876 (0.01 % of base)
Total relative delta: 4.36
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
         876 : System.Private.CoreLib.dasm (0.011% of base)

1 total files with Code Size differences (0 improved, 1 regressed), 0 unchanged.

Top method regressions (bytes):
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[double,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[int,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[long,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[short,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (12.500% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.__Canon,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Nullable`1[int],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[ubyte,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[double]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[int]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[long]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[short]:InnerInvoke():this (FullOpts)
          32 (11.765% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.__Canon]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Numerics.Vector`1[float]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[ubyte]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[double]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[int]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[long]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[short]:InnerInvoke():this (FullOpts)
          32 (13.333% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.__Canon]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Numerics.Vector`1[float]]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[ubyte]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromTask:InnerInvoke():this (FullOpts)
          32 (3.478% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
          16 (5.797% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskScheduler:GetScheduledTasksForDebugger():System.Threading.Tasks.Task[]:this (FullOpts)
          12 (0.591% of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts)
           8 (0.656% of base) : System.Private.CoreLib.dasm - System.DateTimeParse:.cctor() (FullOpts)
           8 (1.042% of base) : System.Private.CoreLib.dasm - System.Reflection.ReflectionTypeLoadException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)

Top method regressions (percentages):
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[double]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[int]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[long]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[short]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Numerics.Vector`1[float]]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[ubyte]:InnerInvoke():this (FullOpts)
          32 (18.605% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromTask:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[double,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[int,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[long,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[short,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Nullable`1[int],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[ubyte,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[double]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[int]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[long]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[short]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Numerics.Vector`1[float]]:InnerInvoke():this (FullOpts)
          32 (17.021% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[ubyte]:InnerInvoke():this (FullOpts)
          32 (13.333% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.__Canon]:InnerInvoke():this (FullOpts)
          32 (12.500% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.__Canon,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
          32 (11.765% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.__Canon]:InnerInvoke():this (FullOpts)
          16 (5.797% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskScheduler:GetScheduledTasksForDebugger():System.Threading.Tasks.Task[]:this (FullOpts)
          32 (3.478% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           8 (1.042% of base) : System.Private.CoreLib.dasm - System.Reflection.ReflectionTypeLoadException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           8 (0.656% of base) : System.Private.CoreLib.dasm - System.DateTimeParse:.cctor() (FullOpts)
          12 (0.591% of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts)

30 total methods with Code Size differences (0 improved, 30 regressed), 56141 unchanged.

--------------------------------------------------------------------------------

Frameworks diffs

Diffs
Found 354 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 46469736
Total bytes of diff: 46472156
Total bytes of delta: 2420 (0.01 % of base)
Total relative delta: 3.78
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
        2484 : System.Security.Cryptography.dasm (0.192% of base)
          48 : System.Private.CoreLib.dasm (0.001% of base)
          36 : Microsoft.Extensions.Http.dasm (0.045% of base)
          12 : System.Collections.dasm (0.002% of base)
          12 : System.Threading.Channels.dasm (0.004% of base)
           8 : System.Net.Mail.dasm (0.003% of base)
           8 : System.Threading.Tasks.Dataflow.dasm (0.000% of base)
           8 : Microsoft.Extensions.DependencyInjection.dasm (0.008% of base)
           4 : System.Text.RegularExpressions.dasm (0.000% of base)
           4 : System.Net.Http.dasm (0.000% of base)
           4 : System.Security.Cryptography.Pkcs.dasm (0.001% of base)
           4 : System.Text.Json.dasm (0.000% of base)
           4 : System.Linq.Parallel.dasm (0.000% of base)

Top file improvements (bytes):
         -68 : System.Private.DataContractSerialization.dasm (-0.005% of base)
         -48 : System.Data.Common.dasm (-0.002% of base)
         -32 : System.Linq.dasm (-0.002% of base)
         -28 : System.Resources.Extensions.dasm (-0.065% of base)
         -16 : System.Net.Security.dasm (-0.006% of base)
          -8 : System.Linq.Queryable.dasm (-0.002% of base)
          -8 : System.Runtime.Serialization.Formatters.dasm (-0.006% of base)
          -8 : System.Private.Xml.dasm (-0.000% of base)

21 total files with Code Size differences (8 improved, 13 regressed), 235 unchanged.

Top method regressions (bytes):
         100 (2.831% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+<ReadAsyncCore>d__44:MoveNext():this (FullOpts)
          68 (9.942% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts)
          56 (5.036% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) (FullOpts)
          52 (7.345% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts)
          52 (9.420% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts)
          48 (1.330% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+<WriteAsyncCore>d__53:MoveNext():this (FullOpts)
          48 (3.704% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+<ComputeHashAsyncCore>d__16:MoveNext():this (FullOpts)
          48 (6.780% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:TryDecrypt(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.RSAEncryptionPadding,byref):ubyte:this (FullOpts)
          48 (4.511% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts)
          48 (3.822% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:LoadSigningRequestPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,System.Security.Cryptography.RSASignaturePadding):System.Security.Cryptography.X509Certificates.CertificateRequest (FullOpts)
          44 (8.088% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          44 (2.087% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+<CopyToAsyncInternal>d__56:MoveNext():this (FullOpts)
          44 (9.821% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts)
          44 (9.821% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts)
          44 (9.483% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts)
          44 (9.649% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts)
          44 (8.943% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts)
          44 (9.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts)
          36 (4.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:<WriteAsyncCore>g__TransformBlock|53_0(System.Security.Cryptography.ICryptoTransform,System.ReadOnlyMemory`1[ubyte],ubyte[],int):int (FullOpts)
          36 (5.143% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts)
          36 (7.438% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts)
          32 (3.320% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:Pbkdf2Core(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,System.Security.Cryptography.HashAlgorithmName) (FullOpts)
          32 (4.396% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts)
          32 (2.010% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeAuthSafe(System.Formats.Asn1.AsnWriter,System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte],ubyte,System.String,System.String,System.Span`1[ubyte],System.Span`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts)
          28 (12.963% of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts)
          28 (7.292% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts)
          28 (3.804% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          28 (3.933% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Numerics.Vector`1[float]],System.Span`1[ushort],byref):ubyte (FullOpts)
          28 (3.627% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[double](System.ReadOnlySpan`1[ubyte],double,System.Security.Cryptography.RSA+TryFunc`1[double],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[int](System.ReadOnlySpan`1[ubyte],int,System.Security.Cryptography.RSA+TryFunc`1[int],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[long](System.ReadOnlySpan`1[ubyte],long,System.Security.Cryptography.RSA+TryFunc`1[long],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[short](System.ReadOnlySpan`1[ubyte],short,System.Security.Cryptography.RSA+TryFunc`1[short],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.__Canon](System.ReadOnlySpan`1[ubyte],System.__Canon,System.Security.Cryptography.RSA+TryFunc`1[System.__Canon],ubyte):ubyte[]:this (FullOpts)
          28 (3.684% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Nullable`1[int]](System.ReadOnlySpan`1[ubyte],System.Nullable`1[int],System.Security.Cryptography.RSA+TryFunc`1[System.Nullable`1[int]],ubyte):ubyte[]:this (FullOpts)
          28 (3.382% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ubyte],System.Numerics.Vector`1[float],System.Security.Cryptography.RSA+TryFunc`1[System.Numerics.Vector`1[float]],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,System.Security.Cryptography.RSA+TryFunc`1[ubyte],ubyte):ubyte[]:this (FullOpts)
          28 (3.723% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts)
          28 (1.138% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoOneShot:OneShotDecrypt(System.Security.Cryptography.ILiteSymmetricCipher,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte (FullOpts)
          28 (2.414% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeCerts(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[],int,System.Span`1[ubyte],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],byref,byref,byref):System.ArraySegment`1[ubyte] (FullOpts)
          28 (4.605% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeKeys(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int):System.ArraySegment`1[ubyte] (FullOpts)
          28 (13.208% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts)
          28 (3.763% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts)
          24 (1.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Asn1.Pkcs12.PfxAsn:DecryptContentInfo(System.Security.Cryptography.Asn1.Pkcs7.ContentInfoAsn,byref):System.ArraySegment`1[ubyte] (FullOpts)
          24 (5.000% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts)
          24 (0.784% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:DeriveSecretAgreement(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.IncrementalHash):ubyte[]:this (FullOpts)
          24 (8.571% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          24 (1.775% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HKDF:Expand(System.Security.Cryptography.HashAlgorithmName,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.ReadOnlySpan`1[ubyte]) (FullOpts)
          24 (4.412% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts)
          24 (3.030% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[double](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[double],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[double]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[int](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[int],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[int]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[long](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[long],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[long]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[short](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[short],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[short]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.__Canon](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.__Canon],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.__Canon]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Nullable`1[int]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Nullable`1[int]]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Numerics.Vector`1[float]]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[ubyte](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[ubyte]) (FullOpts)
          24 (1.835% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts)
          24 (1.073% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Pkcs.Pkcs12Kdf:Derive(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,ubyte,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) (FullOpts)
          24 (3.797% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts)
          24 (4.317% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts)
          24 (1.422% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts)
          24 (2.597% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts)
          24 (0.243% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:ToString(ubyte):System.String:this (FullOpts)
          20 (2.809% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[double,System.Nullable`1[int]](double,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[double,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.890% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Nullable`1[int],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.994% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[ubyte](ubyte,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[ubyte],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.591% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts)
          16 (5.000% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[ubyte]:Append(ubyte):System.Linq.Enumerable+AppendPrependIterator`1[ubyte]:this (FullOpts)
          16 (5.000% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[ubyte]:Prepend(ubyte):System.Linq.Enumerable+AppendPrependIterator`1[ubyte]:this (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[int,System.Nullable`1[int]](int,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[int,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[long,System.Nullable`1[int]](long,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[long,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[short,System.Nullable`1[int]](short,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[short,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.__Canon,System.Nullable`1[int]](System.__Canon,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.__Canon,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[ubyte,System.Nullable`1[int]](ubyte,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[ubyte,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          16 (2.116% 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)
          12 (1.676% of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:.cctor() (FullOpts)
          12 (0.419% of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.HttpClientLoggerHandler+<SendAsync>d__3:MoveNext():this (FullOpts)
          12 (0.806% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:GetCollectionSetItemDelegate[short](System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Object,ubyte):System.Runtime.Serialization.ReflectionReader+CollectionSetItemDelegate (FullOpts)
          12 (0.591% of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts)
           8 (0.452% of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceProvider:.ctor(System.Collections.Generic.ICollection`1[Microsoft.Extensions.DependencyInjection.ServiceDescriptor],Microsoft.Extensions.DependencyInjection.ServiceProviderOptions):this (FullOpts)
           8 (1.587% of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler+Log:.cctor() (FullOpts)
           8 (0.656% of base) : System.Private.CoreLib.dasm - System.DateTimeParse:.cctor() (FullOpts)
           8 (2.000% of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpAuthenticationManager:.cctor() (FullOpts)
           8 (7.143% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:ObjectToKeyValuePairGetKey[double,System.Nullable`1[int]](System.Object):System.Object (FullOpts)
           8 (6.897% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:ObjectToKeyValuePairGetValue[double,System.Nullable`1[int]](System.Object):System.Object (FullOpts)
           8 (1.515% of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[short]:.ctor(ubyte):this (FullOpts)
           8 (1.515% of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts)
           4 (0.769% of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.PkcsHelpers:DeepCopy(System.Security.Cryptography.Pkcs.CmsRecipientCollection):System.Security.Cryptography.Pkcs.CmsRecipientCollection (FullOpts)
           4 (2.273% of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultHttpMessageHandlerBuilder:.ctor(System.IServiceProvider):this (FullOpts)
           4 (1.370% of base) : System.Collections.dasm - System.Collections.Generic.IDictionaryDebugView`2[double,System.Nullable`1[int]]:get_Items():System.Collections.Generic.DebugViewDictionaryItem`2[double,System.Nullable`1[int]][]:this (FullOpts)
           4 (2.041% of base) : System.Collections.dasm - System.Collections.Generic.SortedList`2[double,System.Nullable`1[int]]:.ctor(int):this (FullOpts)
           4 (2.041% of base) : System.Collections.dasm - System.Collections.Generic.SortedList`2[long,System.Nullable`1[int]]:.ctor(int):this (FullOpts)

Top method improvements (bytes):
         -44 (-5.584% of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:FillSchemaInternal(System.Data.DataSet,System.Data.DataTable,int,System.Data.IDbCommand,System.String,int):System.Object:this (FullOpts)
         -28 (-0.759% of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts)
         -16 (-4.762% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[int]:Append(int):System.Linq.Enumerable+AppendPrependIterator`1[int]:this (FullOpts)
         -16 (-4.762% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[int]:Prepend(int):System.Linq.Enumerable+AppendPrependIterator`1[int]:this (FullOpts)
         -16 (-4.762% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[System.Nullable`1[int]]:Append(System.Nullable`1[int]):System.Linq.Enumerable+AppendPrependIterator`1[System.Nullable`1[int]]:this (FullOpts)
         -16 (-4.762% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[System.Nullable`1[int]]:Prepend(System.Nullable`1[int]):System.Linq.Enumerable+AppendPrependIterator`1[System.Nullable`1[int]]:this (FullOpts)
         -16 (-0.526% of base) : System.Net.Security.dasm - System.Net.Security.NetSecurityTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
         -12 (-1.500% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:AddDefaultDatasetType(System.Xml.Schema.XmlSchemaSet,System.String,System.String) (FullOpts)
          -8 (-2.128% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract:FindCollectionMethodsOnInterface(System.Type,System.Type,byref,byref) (FullOpts)
          -8 (-2.326% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract:GetTargetMethodWithName(System.String,System.Type,System.Type):System.Reflection.MethodInfo (FullOpts)
          -8 (-1.212% of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryParser:ReadAssembly(int):this (FullOpts)
          -8 (-1.124% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:AddDefaultTypedDatasetType(System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.XmlSchema,System.String,System.String) (FullOpts)
          -8 (-1.316% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:CreateAnyElementType():System.Xml.Schema.XmlSchemaComplexType (FullOpts)
          -8 (-1.183% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:CreateAnyType():System.Xml.Schema.XmlSchemaComplexType (FullOpts)
          -8 (-0.398% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportClassDataContract(System.Runtime.Serialization.DataContracts.ClassDataContract,System.Xml.Schema.XmlSchema):this (FullOpts)
          -8 (-0.411% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportCollectionDataContract(System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Xml.Schema.XmlSchema):this (FullOpts)
          -8 (-0.840% of base) : System.Private.Xml.dasm - System.Xml.AsyncHelper+<CallTaskFuncWhenFinishCoreAsync>d__9`1[System.__Canon]:MoveNext():this (FullOpts)
          -4 (-1.429% of base) : System.Collections.dasm - System.Collections.Generic.IDictionaryDebugView`2[long,System.Nullable`1[int]]:get_Items():System.Collections.Generic.DebugViewDictionaryItem`2[long,System.Nullable`1[int]][]:this (FullOpts)
          -4 (-0.498% of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts)
          -4 (-0.917% of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
          -4 (-0.769% of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Except[System.__Canon](System.Linq.IQueryable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Linq.IQueryable`1[System.__Canon] (FullOpts)
          -4 (-0.833% of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Max[System.__Canon](System.Linq.IQueryable`1[System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon]):System.__Canon (FullOpts)
          -4 (-0.714% of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:.ctor(System.String):this (FullOpts)
          -4 (-3.571% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ContextAwareDataContractIndex:.ctor(int):this (FullOpts)
          -4 (-0.368% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:ValidatePreviousCollectionTypes(System.Type,System.Type,System.Collections.Generic.HashSet`1[System.Type]) (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateGetterInternal[double,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Getter (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateGetterInternal[ubyte,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Getter (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateSetterInternal[long,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Setter (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateSetterInternal[short,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Setter (FullOpts)
          -4 (-7.143% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionXmlFormatWriter:.ctor():this (FullOpts)
          -4 (-1.176% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:CreateTypeContent(System.Xml.Schema.XmlSchemaComplexType,System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchema):System.Xml.Schema.XmlSchemaComplexContentExtension (FullOpts)
          -4 (-0.277% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportEnumDataContract(System.Runtime.Serialization.DataContracts.EnumDataContract,System.Xml.Schema.XmlSchema):this (FullOpts)
          -4 (-1.639% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:get_ISerializableSequence():System.Xml.Schema.XmlSchemaSequence (FullOpts)
          -4 (-1.250% of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.EnvelopedCms:Encrypt(System.Security.Cryptography.Pkcs.CmsRecipient):this (FullOpts)
          -4 (-0.508% of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.__Canon]:.ctor(int,int,ubyte,System.Action`1[System.__Canon]):this (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBinaryWriterSession:.ctor():this (FullOpts)

Top method regressions (percentages):
          28 (13.208% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:GrowIfNeeded[ubyte](byref,int) (FullOpts)
          28 (12.963% of base) : System.Security.Cryptography.dasm - System.Formats.Asn1.AsnWriterExtensions:RentAndEncode(System.Formats.Asn1.AsnWriter):System.ArraySegment`1[ubyte] (FullOpts)
           4 (10.000% of base) : System.Private.CoreLib.dasm - System.SR:get_Arg_Need2DArray():System.String (FullOpts)
           4 (10.000% of base) : System.Security.Cryptography.dasm - System.SR:get_NotSupported_Method():System.String (FullOpts)
           4 (10.000% of base) : System.Private.CoreLib.dasm - System.SR:get_TaskSchedulerException_ctor_DefaultMessage():System.String (FullOpts)
          68 (9.942% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignHashCore(System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts)
          44 (9.821% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts)
          44 (9.821% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:HashSpanToArray(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName):ubyte[]:this (FullOpts)
          44 (9.649% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts)
          44 (9.483% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts)
          52 (9.420% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts)
          44 (9.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:WritePkcs8PrivateKey():System.Formats.Asn1.AsnWriter:this (FullOpts)
          44 (8.943% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryExportSubjectPublicKeyInfo(System.Span`1[ubyte],byref):ubyte:this (FullOpts)
          24 (8.571% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:HashCore(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          44 (8.088% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          36 (7.438% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension:HashSubjectPublicKeyInfo(System.Security.Cryptography.X509Certificates.PublicKey,System.Security.Cryptography.HashAlgorithmName):ubyte[] (FullOpts)
          52 (7.345% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts)
          28 (7.292% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this (FullOpts)
           8 (7.143% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:ObjectToKeyValuePairGetKey[double,System.Nullable`1[int]](System.Object):System.Object (FullOpts)
           8 (6.897% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:ObjectToKeyValuePairGetValue[double,System.Nullable`1[int]](System.Object):System.Object (FullOpts)
          48 (6.780% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:TryDecrypt(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.RSAEncryptionPadding,byref):ubyte:this (FullOpts)
          36 (5.143% 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 (5.036% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SP800108HmacCounterKdfImplementationManaged:DeriveBytesOneShot(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) (FullOpts)
          16 (5.000% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[ubyte]:Append(ubyte):System.Linq.Enumerable+AppendPrependIterator`1[ubyte]:this (FullOpts)
          16 (5.000% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[ubyte]:Prepend(ubyte):System.Linq.Enumerable+AppendPrependIterator`1[ubyte]:this (FullOpts)
          24 (5.000% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:CopyTo(System.IO.Stream,int):this (FullOpts)
          28 (4.605% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeKeys(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int):System.ArraySegment`1[ubyte] (FullOpts)
           4 (4.545% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskSchedulerException:.ctor():this (FullOpts)
          48 (4.511% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts)
          24 (4.412% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:Transform(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts)
          32 (4.396% 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)
          24 (4.317% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SymmetricAlgorithm:DecryptCbc(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int):ubyte[]:this (FullOpts)
           4 (4.167% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract+GenericDictionaryEnumerator`2[double,System.Nullable`1[int]]:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
          36 (4.167% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:<WriteAsyncCore>g__TransformBlock|53_0(System.Security.Cryptography.ICryptoTransform,System.ReadOnlyMemory`1[ubyte],ubyte[],int):int (FullOpts)
           4 (4.167% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskSchedulerException:.ctor(System.String):this (FullOpts)
          28 (3.933% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Numerics.Vector`1[float]],System.Span`1[ushort],byref):ubyte (FullOpts)
           4 (3.846% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskSchedulerException:.ctor(System.Exception):this (FullOpts)
          48 (3.822% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRequest:LoadSigningRequestPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int,System.Security.Cryptography.RSASignaturePadding):System.Security.Cryptography.X509Certificates.CertificateRequest (FullOpts)
          28 (3.804% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Numerics.Vector`1[float],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          24 (3.797% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl:Decrypt(ubyte[],System.Security.Cryptography.RSAEncryptionPadding):ubyte[]:this (FullOpts)
          28 (3.763% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X500DistinguishedNameBuilder:Build():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this (FullOpts)
          28 (3.723% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.UniversalCryptoDecryptor:UncheckedTransformFinalBlock(ubyte[],int,int):ubyte[]:this (FullOpts)
          48 (3.704% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashAlgorithm+<ComputeHashAsyncCore>d__16:MoveNext():this (FullOpts)
          28 (3.684% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Nullable`1[int]](System.ReadOnlySpan`1[ubyte],System.Nullable`1[int],System.Security.Cryptography.RSA+TryFunc`1[System.Nullable`1[int]],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[int](System.ReadOnlySpan`1[ubyte],int,System.Security.Cryptography.RSA+TryFunc`1[int],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[long](System.ReadOnlySpan`1[ubyte],long,System.Security.Cryptography.RSA+TryFunc`1[long],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[short](System.ReadOnlySpan`1[ubyte],short,System.Security.Cryptography.RSA+TryFunc`1[short],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.__Canon](System.ReadOnlySpan`1[ubyte],System.__Canon,System.Security.Cryptography.RSA+TryFunc`1[System.__Canon],ubyte):ubyte[]:this (FullOpts)
          28 (3.665% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[ubyte](System.ReadOnlySpan`1[ubyte],ubyte,System.Security.Cryptography.RSA+TryFunc`1[ubyte],ubyte):ubyte[]:this (FullOpts)
          28 (3.627% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[double](System.ReadOnlySpan`1[ubyte],double,System.Security.Cryptography.RSA+TryFunc`1[double],ubyte):ubyte[]:this (FullOpts)
           4 (3.571% of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:Min[System.__Canon](System.Linq.ParallelQuery`1[System.__Canon],System.Func`2[System.__Canon,float]):float (FullOpts)
           4 (3.571% of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskSchedulerException:.ctor(System.String,System.Exception):this (FullOpts)
          28 (3.382% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryWithKeyBuffer[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ubyte],System.Numerics.Vector`1[float],System.Security.Cryptography.RSA+TryFunc`1[System.Numerics.Vector`1[float]],ubyte):ubyte[]:this (FullOpts)
          32 (3.320% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:Pbkdf2Core(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,System.Security.Cryptography.HashAlgorithmName) (FullOpts)
          24 (3.030% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslCipherLite:TransformFinal(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int:this (FullOpts)
          20 (2.994% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.907% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[ubyte](ubyte,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[ubyte],System.Span`1[ushort],byref):ubyte (FullOpts)
          20 (2.890% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.Nullable`1[int],System.Nullable`1[int]](System.Nullable`1[int],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.Nullable`1[int],System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
         100 (2.831% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+<ReadAsyncCore>d__44:MoveNext():this (FullOpts)
          20 (2.809% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[double,System.Nullable`1[int]](double,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[double,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          24 (2.597% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:DecryptSafeContents(System.ReadOnlySpan`1[ushort],byref) (FullOpts)
          20 (2.591% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder:LoadPem(System.ReadOnlySpan`1[ushort],byref):System.Security.Cryptography.X509Certificates.CertificateRevocationListBuilder (FullOpts)
           4 (2.500% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateSetterInternal[double,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Setter (FullOpts)
           4 (2.500% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateSetterInternal[ubyte,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Setter (FullOpts)
          28 (2.414% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeCerts(System.Formats.Asn1.AsnWriter,System.Security.Cryptography.Asn1.Pkcs12.CertBagAsn[],System.Security.Cryptography.Asn1.AttributeAsn[],int,System.Span`1[ubyte],System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],byref,byref,byref):System.ArraySegment`1[ubyte] (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[int,System.Nullable`1[int]](int,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[int,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[long,System.Nullable`1[int]](long,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[long,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[short,System.Nullable`1[int]](short,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[short,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[System.__Canon,System.Nullable`1[int]](System.__Canon,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[System.__Canon,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
          16 (2.286% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:TryExportToEncryptedPem[ubyte,System.Nullable`1[int]](ubyte,System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PbeParameters,System.Security.Cryptography.PemKeyHelpers+TryExportEncryptedKeyAction`2[ubyte,System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
           4 (2.273% of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultHttpMessageHandlerBuilder:.ctor(System.IServiceProvider):this (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[double](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[double],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[double]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[int](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[int],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[int]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[long](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[long],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[long]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[short](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[short],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[short]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.__Canon](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.__Canon],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.__Canon]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Nullable`1[int]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Nullable`1[int]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Nullable`1[int]]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[System.Numerics.Vector`1[float]]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportEncryptedPem[ubyte](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.PemKeyHelpers+ImportEncryptedKeyAction`1[ubyte]) (FullOpts)
          24 (2.214% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[ushort]):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts)
          16 (2.116% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ExtractPrivateKeys(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.Asn1.Pkcs12.SafeBagAsn[],int,System.Security.Cryptography.AsymmetricAlgorithm[],System.Security.Cryptography.X509Certificates.UnixPkcs12Reader+RentedSubjectPublicKeyInfo[]):this (FullOpts)
          44 (2.087% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream+<CopyToAsyncInternal>d__56:MoveNext():this (FullOpts)
           4 (2.083% of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsRecipientCollection:.ctor(System.Security.Cryptography.Pkcs.CmsRecipient):this (FullOpts)
           4 (2.041% of base) : System.Collections.dasm - System.Collections.Generic.SortedList`2[double,System.Nullable`1[int]]:.ctor(int):this (FullOpts)
           4 (2.041% of base) : System.Collections.dasm - System.Collections.Generic.SortedList`2[long,System.Nullable`1[int]]:.ctor(int):this (FullOpts)
           4 (2.041% of base) : System.Collections.dasm - System.Collections.Generic.SortedList`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(int):this (FullOpts)
          32 (2.010% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:EncodeAuthSafe(System.Formats.Asn1.AsnWriter,System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte],ubyte,System.String,System.String,System.Span`1[ubyte],System.Span`1[ubyte]):System.ArraySegment`1[ubyte] (FullOpts)
           8 (2.000% of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpAuthenticationManager:.cctor() (FullOpts)
          24 (1.835% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemKeyHelpers:ImportPem(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.PemKeyHelpers+FindImportActionFunc) (FullOpts)
          24 (1.775% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HKDF:Expand(System.Security.Cryptography.HashAlgorithmName,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.ReadOnlySpan`1[ubyte]) (FullOpts)
          12 (1.676% of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:.cctor() (FullOpts)
           8 (1.587% of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler+Log:.cctor() (FullOpts)
           8 (1.515% of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[short]:.ctor(ubyte):this (FullOpts)
           8 (1.515% of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts)
          24 (1.422% of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this (FullOpts)

Top method improvements (percentages):
          -4 (-7.143% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionXmlFormatWriter:.ctor():this (FullOpts)
         -44 (-5.584% of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:FillSchemaInternal(System.Data.DataSet,System.Data.DataTable,int,System.Data.IDbCommand,System.String,int):System.Object:this (FullOpts)
         -16 (-4.762% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[int]:Append(int):System.Linq.Enumerable+AppendPrependIterator`1[int]:this (FullOpts)
         -16 (-4.762% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[int]:Prepend(int):System.Linq.Enumerable+AppendPrependIterator`1[int]:this (FullOpts)
         -16 (-4.762% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[System.Nullable`1[int]]:Append(System.Nullable`1[int]):System.Linq.Enumerable+AppendPrependIterator`1[System.Nullable`1[int]]:this (FullOpts)
         -16 (-4.762% of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrepend1Iterator`1[System.Nullable`1[int]]:Prepend(System.Nullable`1[int]):System.Linq.Enumerable+AppendPrependIterator`1[System.Nullable`1[int]]:this (FullOpts)
          -4 (-3.571% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ContextAwareDataContractIndex:.ctor(int):this (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateGetterInternal[double,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Getter (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateGetterInternal[ubyte,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Getter (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateSetterInternal[long,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Setter (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:CreateSetterInternal[short,System.Nullable`1[int]](System.Reflection.PropertyInfo):System.Runtime.Serialization.FastInvokerBuilder+Setter (FullOpts)
          -4 (-2.439% of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBinaryWriterSession:.ctor():this (FullOpts)
          -8 (-2.326% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract:GetTargetMethodWithName(System.String,System.Type,System.Type):System.Reflection.MethodInfo (FullOpts)
          -8 (-2.128% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract:FindCollectionMethodsOnInterface(System.Type,System.Type,byref,byref) (FullOpts)
          -4 (-1.639% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:get_ISerializableSequence():System.Xml.Schema.XmlSchemaSequence (FullOpts)
         -12 (-1.500% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:AddDefaultDatasetType(System.Xml.Schema.XmlSchemaSet,System.String,System.String) (FullOpts)
          -4 (-1.429% of base) : System.Collections.dasm - System.Collections.Generic.IDictionaryDebugView`2[long,System.Nullable`1[int]]:get_Items():System.Collections.Generic.DebugViewDictionaryItem`2[long,System.Nullable`1[int]][]:this (FullOpts)
          -8 (-1.316% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:CreateAnyElementType():System.Xml.Schema.XmlSchemaComplexType (FullOpts)
          -4 (-1.250% of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.EnvelopedCms:Encrypt(System.Security.Cryptography.Pkcs.CmsRecipient):this (FullOpts)
          -8 (-1.212% of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryParser:ReadAssembly(int):this (FullOpts)
          -8 (-1.183% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:CreateAnyType():System.Xml.Schema.XmlSchemaComplexType (FullOpts)
          -4 (-1.176% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:CreateTypeContent(System.Xml.Schema.XmlSchemaComplexType,System.Xml.XmlQualifiedName,System.Xml.Schema.XmlSchema):System.Xml.Schema.XmlSchemaComplexContentExtension (FullOpts)
          -8 (-1.124% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:AddDefaultTypedDatasetType(System.Xml.Schema.XmlSchemaSet,System.Xml.Schema.XmlSchema,System.String,System.String) (FullOpts)
          -4 (-0.917% of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
          -8 (-0.840% of base) : System.Private.Xml.dasm - System.Xml.AsyncHelper+<CallTaskFuncWhenFinishCoreAsync>d__9`1[System.__Canon]:MoveNext():this (FullOpts)
          -4 (-0.833% of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Max[System.__Canon](System.Linq.IQueryable`1[System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon]):System.__Canon (FullOpts)
          -4 (-0.769% of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Except[System.__Canon](System.Linq.IQueryable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Linq.IQueryable`1[System.__Canon] (FullOpts)
         -28 (-0.759% of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts)
          -4 (-0.714% of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:.ctor(System.String):this (FullOpts)
         -16 (-0.526% of base) : System.Net.Security.dasm - System.Net.Security.NetSecurityTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
          -4 (-0.508% of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.__Canon]:.ctor(int,int,ubyte,System.Action`1[System.__Canon]):this (FullOpts)
          -4 (-0.498% of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts)
          -8 (-0.411% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportCollectionDataContract(System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Xml.Schema.XmlSchema):this (FullOpts)
          -8 (-0.398% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportClassDataContract(System.Runtime.Serialization.DataContracts.ClassDataContract,System.Xml.Schema.XmlSchema):this (FullOpts)
          -4 (-0.368% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:ValidatePreviousCollectionTypes(System.Type,System.Type,System.Collections.Generic.HashSet`1[System.Type]) (FullOpts)
          -4 (-0.277% of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportEnumDataContract(System.Runtime.Serialization.DataContracts.EnumDataContract,System.Xml.Schema.XmlSchema):this (FullOpts)

159 total methods with Code Size differences (36 improved, 123 regressed), 238788 unchanged.

--------------------------------------------------------------------------------

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 23, 2024

Top method regressions

32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[double,System.Nullable`1[int]]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[double,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[double,System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task`1[double]>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task`1[double],System.Nullable`1[int]]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task`1[double],System.Object,System.Nullable`1[int]]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M8916_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M8916_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M8916_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M8916_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     x0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M8916_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M8916_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M8916_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     x0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M8916_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M8916_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=af0cdd2b) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[double,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=af0cdd2b) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[double,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[int,System.Nullable`1[int]]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[int,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[int,System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task`1[int]>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task`1[int],System.Nullable`1[int]]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task`1[int],System.Object,System.Nullable`1[int]]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M34706_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M34706_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M34706_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M34706_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     x0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M34706_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M34706_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M34706_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     x0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M34706_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M34706_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=3b47786d) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[int,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=3b47786d) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[int,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[long,System.Nullable`1[int]]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[long,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[long,System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task`1[long]>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task`1[long],System.Nullable`1[int]]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task`1[long],System.Object,System.Nullable`1[int]]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M33163_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M33163_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M33163_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M33163_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     x0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M33163_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M33163_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M33163_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     x0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M33163_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M33163_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=b4047e74) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[long,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=b4047e74) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[long,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[short,System.Nullable`1[int]]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[short,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[short,System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task`1[short]>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task`1[short],System.Nullable`1[int]]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task`1[short],System.Object,System.Nullable`1[int]]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M46899_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M46899_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M46899_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M46899_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     x0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M46899_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M46899_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M46899_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     x0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M46899_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M46899_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=592548cc) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[short,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=592548cc) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[short,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
32 (12.500% of base) - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.__Canon,System.Nullable`1[int]]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.__Canon,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 11,  8.50)     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.__Canon,System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T05] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task`1[System.__Canon]>
 ;  V02 loc1         [V02,T06] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.__Canon,System.Nullable`1[int]]>
 ;  V03 loc2         [V03,T09] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.__Canon,System.__Canon,System.Nullable`1[int]]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp2         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V07 tmp3         [V07,T04] (  2,  4   )    long  ->   x0         "argument with side effect"
 ;  V08 tmp4         [V08,T11] (  2,  2   )    long  ->   x0         "argument with side effect"
 ;  V09 rat0         [V09,T02] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
 ;  V10 rat1         [V10,T03] (  3,  4   )    long  ->   x0         "runtime lookup"
 ;  V11 rat2         [V11,T01] (  3,  5.60)    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;  V12 rat3         [V12,T08] (  3,  2.20)    long  ->   x0         "Spilling to split statement for tree"
 ;  V13 rat4         [V13,T10] (  3,  2   )    long  ->   x0         "runtime lookup"
 ;  V14 rat5         [V14,T07] (  3,  2.80)    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 16
 
 G_M36231_IG01:
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             str     x0, [fp, #0x18]
             mov     x19, x0
 						;; size=20 bbWeight=1 PerfScore 4.00
 G_M36231_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19]
             ldr     x1, [x0, #0x30]
             ldr     x1, [x1, #0x08]
             ldr     x2, [x1, #0x18]
             cbz     x2, G_M36231_IG04
 						;; size=56 bbWeight=1 PerfScore 26.00
 G_M36231_IG03:
             mov     x0, x2
             b       G_M36231_IG05
 						;; size=8 bbWeight=0.80 PerfScore 1.20
 G_M36231_IG04:
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_RUNTIMEHANDLE_CLASS
 						;; size=16 bbWeight=0.20 PerfScore 0.50
 G_M36231_IG05:
             ldr     x1, [x19, #0x08]
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M36231_IG08
-						;; size=16 bbWeight=1 PerfScore 5.50
+						;; size=32 bbWeight=1 PerfScore 10.00
 G_M36231_IG06:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     x0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M36231_IG07:
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M36231_IG08:
             ldr     x0, [x19]
             ldr     x1, [x0, #0x30]
             ldr     x1, [x1, #0x08]
             ldr     x2, [x1, #0x20]
             cbz     x2, G_M36231_IG10
 						;; size=20 bbWeight=0.50 PerfScore 6.50
 G_M36231_IG09:
             mov     x0, x2
             b       G_M36231_IG11
 						;; size=8 bbWeight=0.40 PerfScore 0.60
 G_M36231_IG10:
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_RUNTIMEHANDLE_CLASS
 						;; size=16 bbWeight=0.10 PerfScore 0.25
 G_M36231_IG11:
             ldr     x1, [x19, #0x08]
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M36231_IG13
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     x0, [x19, #0x38]
-						;; size=40 bbWeight=0.50 PerfScore 8.50
+						;; size=56 bbWeight=0.50 PerfScore 10.75
 G_M36231_IG12:
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M36231_IG13:
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 256, prolog size 16, PerfScore 61.80, instruction count 64, allocated bytes for code 256 (MethodHash=c01f7278) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.__Canon,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
+; Total bytes of code 288, prolog size 16, PerfScore 68.55, instruction count 72, allocated bytes for code 288 (MethodHash=c01f7278) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.__Canon,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Nullable`1[int],System.Nullable`1[int]]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Nullable`1[int],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Nullable`1[int],System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Nullable`1[int]]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object,System.Nullable`1[int]]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M36351_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M36351_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M36351_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M36351_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     x0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M36351_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M36351_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M36351_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     x0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M36351_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M36351_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=58cc7200) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Nullable`1[int],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=58cc7200) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Nullable`1[int],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]],System.Nullable`1[int]]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]],System.Object,System.Nullable`1[int]]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M42882_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M42882_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M42882_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M42882_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     x0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M42882_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M42882_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M42882_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     x0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M42882_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M42882_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=2a41587d) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=2a41587d) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[ubyte,System.Nullable`1[int]]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[ubyte,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[ubyte,System.Nullable`1[int]]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task`1[ubyte]>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task`1[ubyte],System.Nullable`1[int]]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task`1[ubyte],System.Object,System.Nullable`1[int]]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M55070_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M55070_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M55070_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M55070_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     x0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M55070_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M55070_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M55070_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     x0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M55070_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M55070_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=090528e1) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[ubyte,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=090528e1) for method System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[ubyte,System.Nullable`1[int]]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromTask`1[double]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[double]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromTask`1[double]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task,double]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task,System.Object,double]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M51308_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M51308_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M51308_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M51308_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     d0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M51308_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M51308_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M51308_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     d0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M51308_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M51308_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=d7d73793) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[double]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=d7d73793) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[double]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromTask`1[int]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[int]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromTask`1[int]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task,int]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task,System.Object,int]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M37930_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M37930_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M37930_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M37930_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     w0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M37930_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M37930_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M37930_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     w0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M37930_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M37930_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=11f56bd5) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[int]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=11f56bd5) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[int]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromTask`1[long]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[long]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromTask`1[long]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task,long]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task,System.Object,long]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M64787_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M64787_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M64787_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M64787_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             str     x0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M64787_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M64787_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M64787_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             str     x0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M64787_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M64787_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=d34702ec) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[long]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=d34702ec) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[long]:InnerInvoke():this (FullOpts)
32 (17.021% of base) - System.Threading.Tasks.ContinuationResultTaskFromTask`1[short]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[short]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  7   )     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromTask`1[short]>
 ;  V01 loc0         [V01,T01] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V02 loc1         [V02,T02] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.Threading.Tasks.Task,short]>
 ;  V03 loc2         [V03,T03] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.Threading.Tasks.Task,System.Object,short]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
 ; Lcl frame size = 0
 
 G_M2219_IG01:
             stp     fp, lr, [sp, #-0x20]!
             stp     x19, x20, [sp, #0x10]
             mov     fp, sp
             mov     x19, x0
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M2219_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M2219_IG05
-						;; size=64 bbWeight=1 PerfScore 20.00
+						;; size=80 bbWeight=1 PerfScore 24.50
 G_M2219_IG03:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             strh    w0, [x19, #0x38]
 						;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M2219_IG04:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M2219_IG05:
             ldr     x1, [x19, #0x08]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M2219_IG07
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             strh    w0, [x19, #0x38]
-						;; size=52 bbWeight=0.50 PerfScore 9.25
+						;; size=68 bbWeight=0.50 PerfScore 11.50
 G_M2219_IG06:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M2219_IG07:
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 188, prolog size 12, PerfScore 41.00, instruction count 47, allocated bytes for code 188 (MethodHash=77c5f754) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[short]:InnerInvoke():this (FullOpts)
+; Total bytes of code 220, prolog size 12, PerfScore 47.75, instruction count 55, allocated bytes for code 220 (MethodHash=77c5f754) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[short]:InnerInvoke():this (FullOpts)
32 (11.765% of base) - System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.__Canon]:InnerInvoke():this
 ; Assembly listing for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.__Canon]:InnerInvoke():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 11,  8.50)     ref  ->  x19         this class-hnd single-def <System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.__Canon]>
 ;  V01 loc0         [V01,T05] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V02 loc1         [V02,T06] (  4,  3   )     ref  ->   x2         class-hnd single-def <System.Func`2[System.__Canon,System.__Canon]>
 ;  V03 loc2         [V03,T09] (  4,  2   )     ref  ->   x3         class-hnd single-def <System.Func`3[System.__Canon,System.__Canon,System.__Canon]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp2         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V07 tmp3         [V07,T04] (  2,  4   )    long  ->   x0         "argument with side effect"
 ;  V08 tmp4         [V08,T11] (  2,  2   )    long  ->   x0         "argument with side effect"
 ;  V09 rat0         [V09,T02] (  3,  4.40)    long  ->   x0         "Spilling to split statement for tree"
 ;  V10 rat1         [V10,T03] (  3,  4   )    long  ->   x0         "runtime lookup"
 ;  V11 rat2         [V11,T01] (  3,  5.60)    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;  V12 rat3         [V12,T08] (  3,  2.20)    long  ->   x0         "Spilling to split statement for tree"
 ;  V13 rat4         [V13,T10] (  3,  2   )    long  ->   x0         "runtime lookup"
 ;  V14 rat5         [V14,T07] (  3,  2.80)    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 16
 
 G_M46495_IG01:
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             str     x0, [fp, #0x18]
             mov     x19, x0
 						;; size=20 bbWeight=1 PerfScore 4.00
 G_M46495_IG02:
             ldr     x20, [x19, #0x40]
             str     xzr, [x19, #0x40]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19]
             ldr     x1, [x0, #0x30]
             ldr     x1, [x1, #0x08]
             ldr     x2, [x1, #0x10]
             cbz     x2, G_M46495_IG04
 						;; size=56 bbWeight=1 PerfScore 26.00
 G_M46495_IG03:
             mov     x0, x2
             b       G_M46495_IG05
 						;; size=8 bbWeight=0.80 PerfScore 1.20
 G_M46495_IG04:
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_RUNTIMEHANDLE_CLASS
 						;; size=16 bbWeight=0.20 PerfScore 0.50
 G_M46495_IG05:
             ldr     x1, [x19, #0x08]
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x2, x0
             cbz     x2, G_M46495_IG08
-						;; size=16 bbWeight=1 PerfScore 5.50
+						;; size=32 bbWeight=1 PerfScore 10.00
 G_M46495_IG06:
             mov     x1, x20
             ldr     x0, [x2, #0x08]
             ldr     x2, [x2, #0x18]
             blr     x2
             add     x14, x19, #56
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=28 bbWeight=0.50 PerfScore 4.75
 G_M46495_IG07:
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M46495_IG08:
             ldr     x0, [x19]
             ldr     x1, [x0, #0x30]
             ldr     x1, [x1, #0x08]
             ldr     x2, [x1, #0x18]
             cbz     x2, G_M46495_IG10
 						;; size=20 bbWeight=0.50 PerfScore 6.50
 G_M46495_IG09:
             mov     x0, x2
             b       G_M46495_IG11
 						;; size=8 bbWeight=0.40 PerfScore 0.60
 G_M46495_IG10:
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_RUNTIMEHANDLE_CLASS
 						;; size=16 bbWeight=0.10 PerfScore 0.25
 G_M46495_IG11:
             ldr     x1, [x19, #0x08]
-            bl      CORINFO_HELP_ISINSTANCEOFANY
+            movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFANY
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
             mov     x3, x0
             cbz     x3, G_M46495_IG13
             ldr     x2, [x19, #0x10]
             mov     x1, x20
             ldr     x0, [x3, #0x08]
             ldr     x3, [x3, #0x18]
             blr     x3
             add     x14, x19, #56
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=48 bbWeight=0.50 PerfScore 9.00
+						;; size=64 bbWeight=0.50 PerfScore 11.25
 G_M46495_IG12:
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 G_M46495_IG13:
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=12 bbWeight=0.50 PerfScore 1.50
 
-; Total bytes of code 272, prolog size 16, PerfScore 62.80, instruction count 68, allocated bytes for code 272 (MethodHash=c3d54a60) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.__Canon]:InnerInvoke():this (FullOpts)
+; Total bytes of code 304, prolog size 16, PerfScore 69.55, instruction count 76, allocated bytes for code 304 (MethodHash=c3d54a60) for method System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.__Canon]:InnerInvoke():this (FullOpts)

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

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 23, 2024

@MihaZupan

@xtqqczze
Copy link

@MihaZupan @EgorBo What's going on with these diffs? I can't tell whether they are related to dotnet/runtime#98812?

@EgorBo
Copy link

EgorBo commented Feb 24, 2024

@xtqqczze you can ignore these - helper calls are non-determenistically can be direct or indirect calls, I'll take a look on how to make it stable for jit-diff

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

No branches or pull requests

3 participants