Skip to content

[JitDiff X64] [hez2010] Support devirtualization for virtual methods that re ... #2030

Description

@MihuBot

Job completed in 24 minutes 59 seconds (remote runner delay: 1 minute 13 seconds).
dotnet/runtime#128702

Main commit: dotnet/runtime@e556d5a
PR commit: hez2010/runtime@d0b8e36

Diffs

Diffs
Found 96 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 137694046
Total bytes of diff: 137695344
Total bytes of delta: 1298 (0.00 % of base)
Total relative delta: Infinity
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
        1871 : AWSSDK.Core.dasm (0.17 % of base)
          65 : SixLabors.ImageSharp.dasm (0.00 % of base)
          59 : Pipelines.Sockets.Unofficial.dasm (0.01 % of base)
          24 : StackExchange.Redis.dasm (0.00 % of base)
           8 : System.Private.CoreLib.dasm (0.00 % of base)

Top file improvements (bytes):
        -428 : Microsoft.Azure.Amqp.dasm (-0.08 % of base)
        -258 : System.Security.Cryptography.Pkcs.dasm (-0.06 % of base)
         -28 : nunit.framework.dasm (-0.00 % of base)
         -15 : System.Text.Json.dasm (-0.00 % of base)

9 total files with Code Size differences (4 improved, 5 regressed), 342 unchanged.

Top method regressions (bytes):
         298 (36.47 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.Auth.AWS4aSignerCRTWrapper:.ctor(bool):this (FullOpts)
         265 (35.91 % of base) : AWSSDK.Core.dasm - AWSSDK.Runtime.Internal.Util.ChecksumCRTWrapper:get_Instance():Amazon.Runtime.SharedInterfaces.Internal.IChecksumProvider (FullOpts)
         262 (97.04 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SSOServiceClientHelpers:BuildSSOClient(Amazon.RegionEndpoint,System.Net.IWebProxy):Amazon.Runtime.SharedInterfaces.ICoreAmazonSSO (FullOpts)
         262 (97.04 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SSOServiceClientHelpers:BuildSSOIDC_V2Client(Amazon.RegionEndpoint,System.Net.IWebProxy):Amazon.Runtime.SharedInterfaces.ICoreAmazonSSOOIDC_V2 (FullOpts)
         262 (97.04 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SSOServiceClientHelpers:BuildSSOIDCClient(Amazon.RegionEndpoint,System.Net.IWebProxy):Amazon.Runtime.SharedInterfaces.ICoreAmazonSSOOIDC (FullOpts)
         262 (97.04 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SSOServiceClientHelpers:BuildSSOLogoutClient(Amazon.RegionEndpoint,System.Net.IWebProxy):Amazon.Runtime.SharedInterfaces.ICoreAmazonSSO_Logout (FullOpts)
         260 (78.79 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SigninServiceClientHelpers:BuildSigninClient(Amazon.RegionEndpoint,System.String,System.Net.IWebProxy,System.String):Amazon.Runtime.SharedInterfaces.ICoreAmazonSignin (FullOpts)
          65 (80.25 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Formats.Webp.WebpDecoder:Decode(SixLabors.ImageSharp.Formats.DecoderOptions,System.IO.Stream,System.Threading.CancellationToken):SixLabors.ImageSharp.Image:this (FullOpts)
          59 (Infinity of base) : Pipelines.Sockets.Unofficial.dasm - Pipelines.Sockets.Unofficial.DedicatedThreadPoolPipeScheduler+<>c:<.cctor>b__41_0(System.Object):this (FullOpts)
          14 (4.65 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.RedisSubscriber:IdentifyEndpointAsync(StackExchange.Redis.RedisChannel,int):System.Threading.Tasks.Task`1[System.Net.EndPoint]:this (FullOpts)
          10 (3.29 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.RedisSubscriber:IdentifyEndpoint(StackExchange.Redis.RedisChannel,int):System.Net.EndPoint:this (FullOpts)
           8 (3.70 % of base) : System.Private.CoreLib.dasm - System.Numerics.TotalOrderIeee754Comparer`1[double]:<Compare>g__CompareSignificand|0_2(double,double):int (FullOpts)

Top method improvements (bytes):
        -216 (-15.72 % of base) : Microsoft.Azure.Amqp.dasm - Microsoft.Azure.Amqp.AmqpMessage+AmqpStreamMessage:GetNonBodySectionsStream():System.IO.Stream:this (FullOpts)
        -212 (-29.90 % of base) : Microsoft.Azure.Amqp.dasm - Microsoft.Azure.Amqp.AmqpMessage+AmqpStreamMessageHeader:Write(System.Xml.XmlWriter):long:this (FullOpts)
         -68 (-6.49 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+RSACmsSignature:SignCore(System.ReadOnlySpan`1[byte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,System.Security.Cryptography.RSASignaturePadding,byref):bool (FullOpts)
         -54 (-4.26 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+DSACmsSignature:Sign(System.ReadOnlySpan`1[byte],System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,byref,byref,byref):bool:this (FullOpts)
         -49 (-7.40 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+MLDsaCmsSignature:Sign(System.ReadOnlySpan`1[byte],System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,byref,byref,byref):bool:this (FullOpts)
         -49 (-7.40 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+SlhDsaCmsSignature:Sign(System.ReadOnlySpan`1[byte],System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,byref,byref,byref):bool:this (FullOpts)
         -38 (-2.24 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+ECDsaCmsSignature:Sign(System.ReadOnlySpan`1[byte],System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,byref,byref,byref):bool:this (FullOpts)
         -28 (-2.02 % of base) : nunit.framework.dasm - NUnit.Framework.Constraints.Comparers.DirectoriesComparer:Equal(System.Object,System.Object,byref,NUnit.Framework.Constraints.Comparers.ComparisonState,NUnit.Framework.Constraints.NUnitEqualityComparer):int (FullOpts)
         -15 (-1.70 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonNode:ToString():System.String:this (FullOpts)

Top method regressions (percentages):
          59 (Infinity of base) : Pipelines.Sockets.Unofficial.dasm - Pipelines.Sockets.Unofficial.DedicatedThreadPoolPipeScheduler+<>c:<.cctor>b__41_0(System.Object):this (FullOpts)
         262 (97.04 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SSOServiceClientHelpers:BuildSSOClient(Amazon.RegionEndpoint,System.Net.IWebProxy):Amazon.Runtime.SharedInterfaces.ICoreAmazonSSO (FullOpts)
         262 (97.04 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SSOServiceClientHelpers:BuildSSOIDC_V2Client(Amazon.RegionEndpoint,System.Net.IWebProxy):Amazon.Runtime.SharedInterfaces.ICoreAmazonSSOOIDC_V2 (FullOpts)
         262 (97.04 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SSOServiceClientHelpers:BuildSSOIDCClient(Amazon.RegionEndpoint,System.Net.IWebProxy):Amazon.Runtime.SharedInterfaces.ICoreAmazonSSOOIDC (FullOpts)
         262 (97.04 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SSOServiceClientHelpers:BuildSSOLogoutClient(Amazon.RegionEndpoint,System.Net.IWebProxy):Amazon.Runtime.SharedInterfaces.ICoreAmazonSSO_Logout (FullOpts)
          65 (80.25 % of base) : SixLabors.ImageSharp.dasm - SixLabors.ImageSharp.Formats.Webp.WebpDecoder:Decode(SixLabors.ImageSharp.Formats.DecoderOptions,System.IO.Stream,System.Threading.CancellationToken):SixLabors.ImageSharp.Image:this (FullOpts)
         260 (78.79 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.SigninServiceClientHelpers:BuildSigninClient(Amazon.RegionEndpoint,System.String,System.Net.IWebProxy,System.String):Amazon.Runtime.SharedInterfaces.ICoreAmazonSignin (FullOpts)
         298 (36.47 % of base) : AWSSDK.Core.dasm - Amazon.Runtime.Internal.Auth.AWS4aSignerCRTWrapper:.ctor(bool):this (FullOpts)
         265 (35.91 % of base) : AWSSDK.Core.dasm - AWSSDK.Runtime.Internal.Util.ChecksumCRTWrapper:get_Instance():Amazon.Runtime.SharedInterfaces.Internal.IChecksumProvider (FullOpts)
          14 (4.65 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.RedisSubscriber:IdentifyEndpointAsync(StackExchange.Redis.RedisChannel,int):System.Threading.Tasks.Task`1[System.Net.EndPoint]:this (FullOpts)
           8 (3.70 % of base) : System.Private.CoreLib.dasm - System.Numerics.TotalOrderIeee754Comparer`1[double]:<Compare>g__CompareSignificand|0_2(double,double):int (FullOpts)
          10 (3.29 % of base) : StackExchange.Redis.dasm - StackExchange.Redis.RedisSubscriber:IdentifyEndpoint(StackExchange.Redis.RedisChannel,int):System.Net.EndPoint:this (FullOpts)

Top method improvements (percentages):
        -212 (-29.90 % of base) : Microsoft.Azure.Amqp.dasm - Microsoft.Azure.Amqp.AmqpMessage+AmqpStreamMessageHeader:Write(System.Xml.XmlWriter):long:this (FullOpts)
        -216 (-15.72 % of base) : Microsoft.Azure.Amqp.dasm - Microsoft.Azure.Amqp.AmqpMessage+AmqpStreamMessage:GetNonBodySectionsStream():System.IO.Stream:this (FullOpts)
         -49 (-7.40 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+MLDsaCmsSignature:Sign(System.ReadOnlySpan`1[byte],System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,byref,byref,byref):bool:this (FullOpts)
         -49 (-7.40 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+SlhDsaCmsSignature:Sign(System.ReadOnlySpan`1[byte],System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,byref,byref,byref):bool:this (FullOpts)
         -68 (-6.49 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+RSACmsSignature:SignCore(System.ReadOnlySpan`1[byte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,System.Security.Cryptography.RSASignaturePadding,byref):bool (FullOpts)
         -54 (-4.26 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+DSACmsSignature:Sign(System.ReadOnlySpan`1[byte],System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,byref,byref,byref):bool:this (FullOpts)
         -38 (-2.24 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+ECDsaCmsSignature:Sign(System.ReadOnlySpan`1[byte],System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Object,bool,byref,byref,byref):bool:this (FullOpts)
         -28 (-2.02 % of base) : nunit.framework.dasm - NUnit.Framework.Constraints.Comparers.DirectoriesComparer:Equal(System.Object,System.Object,byref,NUnit.Framework.Constraints.Comparers.ComparisonState,NUnit.Framework.Constraints.NUnitEqualityComparer):int (FullOpts)
         -15 (-1.70 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonNode:ToString():System.String:this (FullOpts)

21 total methods with Code Size differences (9 improved, 12 regressed), 760100 unchanged.

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

Artifacts:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions