JIT: retrieve element class for arrays of ref types by AndyAyersMS · Pull Request #20292 · dotnet/coreclr (original) (raw)

@erozenfeld PTAL
cc @dotnet/jit-contrib

Contributes to #9908.

A few hits in jit pmi diffs (again just a partial corelib because of #20284)

Summary:
(Lower is better)

Total bytes of diff: -183 (0.00% of base)
    diff is an improvement.

Top file regressions by size (bytes):
           4 : Microsoft.CodeAnalysis.CSharp.dasm (0.00% of base)

Top file improvements by size (bytes):
        -132 : System.Private.CoreLib.dasm (0.00% of base)
         -54 : System.Private.Xml.dasm (0.00% of base)
          -1 : NuGet.Packaging.dasm (0.00% of base)

4 total files with size differences (3 improved, 1 regressed), 125 unchanged.

Top method regressions by size (bytes):
          55 : Microsoft.CodeAnalysis.CSharp.dasm - StackOptimizerPass1:IsNestedLocalOfCompoundOperator(ref,ref):bool:this
           3 : System.Private.CoreLib.dasm - ConfigurableArrayPool`1:Rent(int):ref:this (5 methods)
           3 : System.Private.CoreLib.dasm - LockedStack:Trim(int,int,int,int):this (5 methods)

Top method improvements by size (bytes):
         -56 : System.Private.CoreLib.dasm - Associates:AssignAssociates(int,ref,ref):ref
         -56 : System.Private.CoreLib.dasm - TypeBuilder:CreateTypeNoLock():ref:this
         -54 : System.Private.Xml.dasm - Datatype_List:Compare(ref,ref):int:this
         -51 : Microsoft.CodeAnalysis.CSharp.dasm - ConstructedNamedTypeSymbol:TypeParametersMatchTypeArguments(struct,struct):bool
         -26 : System.Private.CoreLib.dasm - RuntimeType:ValidateGenericArguments(ref,ref,ref)

9 total methods with size differences (6 improved, 3 regressed), 191117 unchanged.