MihuBot / runtime-utils

0 stars 0 forks source link

[X64] [EgorBo] JIT: Use faster write barriers when we know the target address is on the heap #235

Open MihuBot opened 9 months ago

MihuBot commented 9 months ago

Build completed in 2 hours 2 minutes. https://github.com/dotnet/runtime/pull/97953

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 7311671
Total bytes of diff: 7311304
Total bytes of delta: -367 (-0.01 % of base)
Total relative delta: -1.47
    diff is an improvement.
    relative diff is an improvement.

Top file improvements (bytes):
        -367 : System.Private.CoreLib.dasm (-0.01 % of base)

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

Top method improvements (bytes):
         -19 (-2.09 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts)
         -13 (-1.06 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeWithFewArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
         -10 (-1.46 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInvoker:InvokeWithFewArgs(System.Span`1[System.Object]):System.Object:this (FullOpts)
          -9 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Max[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -9 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Min[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -9 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Max[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -9 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Min[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Abs[System.__Canon](System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Equals[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GreaterThan[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GreaterThanOrEqual[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:LessThan[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:LessThanOrEqual[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:SquareRoot[System.__Canon](System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-4.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:WithElement[System.__Canon](System.Numerics.Vector`1[System.__Canon],int,System.__Canon):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.54 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:get_AllBitsSet():System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.54 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:get_One():System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Addition(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.38 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Division(System.Numerics.Vector`1[System.__Canon],System.__Canon):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Division(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.40 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_LeftShift(System.Numerics.Vector`1[System.__Canon],int):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.07 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Multiply(System.__Canon,System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.38 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Multiply(System.Numerics.Vector`1[System.__Canon],System.__Canon):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Multiply(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.40 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_RightShift(System.Numerics.Vector`1[System.__Canon],int):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Subtraction(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-2.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_UnaryNegation(System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.40 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_UnsignedRightShift(System.Numerics.Vector`1[System.__Canon],int):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
          -8 (-5.10 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
          -8 (-4.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
          -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Abs[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Ceiling[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-5.33 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.__Canon](System.__Canon):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Equals[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Floor[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:GreaterThan[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:GreaterThanOrEqual[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:LessThan[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:LessThanOrEqual[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Sqrt[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-5.30 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -5 (-0.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
          -4 (-0.40 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeWithOneArg(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)

Top method improvements (percentages):
          -8 (-5.33 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.__Canon](System.__Canon):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-5.30 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-5.10 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
          -8 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
          -8 (-4.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:WithElement[System.__Canon](System.Numerics.Vector`1[System.__Canon],int,System.__Canon):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-4.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
          -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Abs[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Ceiling[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Floor[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Sqrt[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -9 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Max[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -9 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Min[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -9 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Max[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -9 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Min[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Abs[System.__Canon](System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:SquareRoot[System.__Canon](System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.54 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:get_AllBitsSet():System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.54 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:get_One():System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Addition(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Division(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Multiply(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Subtraction(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.40 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_LeftShift(System.Numerics.Vector`1[System.__Canon],int):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.40 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_RightShift(System.Numerics.Vector`1[System.__Canon],int):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.40 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_UnsignedRightShift(System.Numerics.Vector`1[System.__Canon],int):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.38 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Division(System.Numerics.Vector`1[System.__Canon],System.__Canon):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.38 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Multiply(System.Numerics.Vector`1[System.__Canon],System.__Canon):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Equals[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:GreaterThan[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:GreaterThanOrEqual[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:LessThan[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:LessThanOrEqual[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Equals[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GreaterThan[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GreaterThanOrEqual[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:LessThan[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:LessThanOrEqual[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-3.07 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Multiply(System.__Canon,System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
          -8 (-2.81 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_UnaryNegation(System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
         -19 (-2.09 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts)
         -10 (-1.46 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInvoker:InvokeWithFewArgs(System.Span`1[System.Object]):System.Object:this (FullOpts)
         -13 (-1.06 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeWithFewArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
          -5 (-0.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokePropertySetter(System.Object,int,System.Reflection.Binder,System.Object,System.Globalization.CultureInfo):this (FullOpts)
          -4 (-0.40 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeWithOneArg(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)

44 total methods with Code Size differences (44 improved, 0 regressed), 55662 unchanged.

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

Frameworks diffs

Diffs ``` Found 321 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38718461 Total bytes of diff: 38713451 Total bytes of delta: -5010 (-0.01 % of base) Total relative delta: -8.86 diff is an improvement. relative diff is an improvement. Top file improvements (bytes): -2469 : System.Linq.Parallel.dasm (-0.11 % of base) -933 : System.Collections.Immutable.dasm (-0.05 % of base) -593 : System.IO.Pipelines.dasm (-0.75 % of base) -416 : System.Private.CoreLib.dasm (-0.01 % of base) -105 : System.Data.Common.dasm (-0.01 % of base) -104 : System.Private.Xml.Linq.dasm (-0.05 % of base) -97 : System.Security.Cryptography.Pkcs.dasm (-0.02 % of base) -55 : System.Net.Http.dasm (-0.01 % of base) -45 : System.Threading.Channels.dasm (-0.02 % of base) -35 : System.DirectoryServices.Protocols.dasm (-0.02 % of base) -34 : System.Security.Cryptography.Xml.dasm (-0.02 % of base) -32 : System.Security.Cryptography.dasm (-0.00 % of base) -26 : System.Console.dasm (-0.03 % of base) -14 : System.Text.Json.dasm (-0.00 % of base) -12 : System.Net.Quic.dasm (-0.01 % of base) -10 : System.Net.Security.dasm (-0.00 % of base) -10 : System.Private.Xml.dasm (-0.00 % of base) -8 : Microsoft.Extensions.DependencyModel.dasm (-0.01 % of base) -5 : System.Reflection.MetadataLoadContext.dasm (-0.00 % of base) -4 : System.Runtime.Numerics.dasm (-0.00 % of base) -3 : Microsoft.Extensions.DependencyInjection.dasm (-0.00 % of base) 21 total files with Code Size differences (21 improved, 0 regressed), 235 unchanged. Top method regressions (bytes): 2 (0.20 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:Populate():this (FullOpts) 1 (0.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.PublicKey:EncodeSubjectPublicKeyInfo():System.Formats.Asn1.AsnWriter:this (FullOpts) Top method improvements (bytes): -97 (-6.90 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest:CreateFromHash(System.ReadOnlyMemory`1[ubyte],System.Security.Cryptography.Oid,System.Security.Cryptography.Oid,System.Nullable`1[System.ReadOnlyMemory`1[ubyte]],ubyte,System.Security.Cryptography.X509Certificates.X509ExtensionCollection):System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest (FullOpts) -91 (-6.09 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:ReadAtLeastAsync(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (FullOpts) -84 (-18.83 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:ReaderCancellationRequested():this (FullOpts) -84 (-18.83 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:WriterCancellationRequested():this (FullOpts) -74 (-6.68 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:AdvanceReader(System.IO.Pipelines.BufferSegment,int,System.IO.Pipelines.BufferSegment,int):this (FullOpts) -66 (-17.51 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:CancelPendingFlush():this (FullOpts) -66 (-17.51 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:CancelPendingRead():this (FullOpts) -64 (-9.77 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:CompleteReader(System.Exception):this (FullOpts) -64 (-10.34 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:CompleteWriter(System.Exception):this (FullOpts) -37 (-2.19 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[int,System.Nullable`1[int]]:Add(int,System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[int,System.Nullable`1[int]]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int,byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[int,System.Nullable`1[int]]:this (FullOpts) -37 (-2.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[long,System.Nullable`1[int]]:Add(long,System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[long,System.Nullable`1[int]]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int,byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[long,System.Nullable`1[int]]:this (FullOpts) -37 (-2.19 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[short,System.Nullable`1[int]]:Add(short,System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[short,System.Nullable`1[int]]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int,byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[short,System.Nullable`1[int]]:this (FullOpts) -37 (-2.24 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int,byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts) -37 (-2.19 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[ubyte,System.Nullable`1[int]]:Add(ubyte,System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int,byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[ubyte,System.Nullable`1[int]]:this (FullOpts) -36 (-2.14 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[double,System.Nullable`1[int]]:Add(double,System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[double,System.Nullable`1[int]]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int,byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[double,System.Nullable`1[int]]:this (FullOpts) -36 (-1.87 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Add(System.Numerics.Vector`1[float],System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int,byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Numerics.Vector`1[float],System.Nullable`1[int]]:this (FullOpts) -34 (-2.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Nullable`1[int]]:Union(System.ReadOnlySpan`1[System.Nullable`1[int]],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[System.Nullable`1[int]] (FullOpts) -34 (-1.25 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.DSAKeyValue:LoadXml(System.Xml.XmlElement):this (FullOpts) -33 (-3.59 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts) -31 (-1.29 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XContainer+ContentReader:ReadContentFrom(System.Xml.Linq.XContainer,System.Xml.XmlReader):ubyte:this (FullOpts) -31 (-0.93 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XContainer+ContentReader:ReadContentFromContainer(System.Xml.Linq.XContainer,System.Xml.XmlReader):ubyte:this (FullOpts) -25 (-0.75 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:GetECCurveParameters(Microsoft.Win32.SafeHandles.SafeEcKeyHandle,ubyte):System.Security.Cryptography.ECParameters (FullOpts) -24 (-2.18 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[System.Numerics.Vector`1[float]] (FullOpts) -24 (-3.29 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:this (FullOpts) -22 (-3.15 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[double]:Union(System.ReadOnlySpan`1[double],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[double] (FullOpts) -22 (-3.14 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[short]:Union(System.ReadOnlySpan`1[short],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[short] (FullOpts) -22 (-1.53 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]]:Union(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[System.Numerics.Vector`1[float]] (FullOpts) -22 (-3.17 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[ubyte]:Union(System.ReadOnlySpan`1[ubyte],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[ubyte]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[ubyte] (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[double]:WrapPartitionedStreamHelper[double](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.91 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[double]:WrapPartitionedStreamHelper[int](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[double]:WrapPartitionedStreamHelper[long](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[double]:WrapPartitionedStreamHelper[short](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[double]:WrapPartitionedStreamHelper[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[double]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[double]:WrapPartitionedStreamHelper[ubyte](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[int]:WrapPartitionedStreamHelper[double](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.91 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[int]:WrapPartitionedStreamHelper[int](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[int]:WrapPartitionedStreamHelper[long](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[int]:WrapPartitionedStreamHelper[short](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[int]:WrapPartitionedStreamHelper[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[int]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[int]:WrapPartitionedStreamHelper[ubyte](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[long]:WrapPartitionedStreamHelper[double](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.IPartitionedStreamRecipient`1[long],System.Threading.CancellationToken):this (FullOpts) -21 (-2.91 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[long]:WrapPartitionedStreamHelper[int](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.IPartitionedStreamRecipient`1[long],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[long]:WrapPartitionedStreamHelper[long](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.IPartitionedStreamRecipient`1[long],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[long]:WrapPartitionedStreamHelper[short](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.IPartitionedStreamRecipient`1[long],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[long]:WrapPartitionedStreamHelper[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[long]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[long]:WrapPartitionedStreamHelper[ubyte](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.IPartitionedStreamRecipient`1[long],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[short]:WrapPartitionedStreamHelper[double](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.IPartitionedStreamRecipient`1[short],System.Threading.CancellationToken):this (FullOpts) -21 (-2.91 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[short]:WrapPartitionedStreamHelper[int](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.IPartitionedStreamRecipient`1[short],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[short]:WrapPartitionedStreamHelper[long](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.IPartitionedStreamRecipient`1[short],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[short]:WrapPartitionedStreamHelper[short](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.IPartitionedStreamRecipient`1[short],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[short]:WrapPartitionedStreamHelper[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[short]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[short]:WrapPartitionedStreamHelper[ubyte](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.IPartitionedStreamRecipient`1[short],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStreamHelper[double](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.91 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStreamHelper[int](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStreamHelper[long](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStreamHelper[short](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStreamHelper[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStreamHelper[ubyte](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStreamHelper[double](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.91 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStreamHelper[int](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStreamHelper[long](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStreamHelper[short](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStreamHelper[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStreamHelper[ubyte](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[ubyte]:WrapPartitionedStreamHelper[double](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte],System.Threading.CancellationToken):this (FullOpts) -21 (-2.91 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[ubyte]:WrapPartitionedStreamHelper[int](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[ubyte]:WrapPartitionedStreamHelper[long](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[ubyte]:WrapPartitionedStreamHelper[short](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[ubyte]:WrapPartitionedStreamHelper[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[ubyte]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte],System.Threading.CancellationToken):this (FullOpts) -21 (-2.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[ubyte]:WrapPartitionedStreamHelper[ubyte](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte],System.Threading.CancellationToken):this (FullOpts) -21 (-2.16 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ExceptQueryOperator`1+OrderedExceptQueryOperatorEnumerator`1[double,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) -21 (-2.36 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ExceptQueryOperator`1+OrderedExceptQueryOperatorEnumerator`1[int,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) -21 (-2.18 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ExceptQueryOperator`1+OrderedExceptQueryOperatorEnumerator`1[long,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) -21 (-2.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ExceptQueryOperator`1+OrderedExceptQueryOperatorEnumerator`1[short,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) -21 (-2.08 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ExceptQueryOperator`1+OrderedExceptQueryOperatorEnumerator`1[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) -21 (-1.88 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ExceptQueryOperator`1+OrderedExceptQueryOperatorEnumerator`1[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) -21 (-2.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ExceptQueryOperator`1+OrderedExceptQueryOperatorEnumerator`1[ubyte,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[double]:WrapPartitionedStreamHelper[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.53 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[double]:WrapPartitionedStreamHelper[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[double]:WrapPartitionedStreamHelper[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[double]:WrapPartitionedStreamHelper[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.07 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[double]:WrapPartitionedStreamHelper[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],System.__Canon],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[double]:WrapPartitionedStreamHelper[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[double]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[double]:WrapPartitionedStreamHelper[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[int]:WrapPartitionedStreamHelper[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.53 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[int]:WrapPartitionedStreamHelper[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[int]:WrapPartitionedStreamHelper[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[int]:WrapPartitionedStreamHelper[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.07 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[int]:WrapPartitionedStreamHelper[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],System.__Canon],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[int]:WrapPartitionedStreamHelper[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[int]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) -21 (-2.48 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[int]:WrapPartitionedStreamHelper[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int],System.Threading.CancellationToken):this (FullOpts) Top method regressions (percentages): 1 (0.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.PublicKey:EncodeSubjectPublicKeyInfo():System.Formats.Asn1.AsnWriter:this (FullOpts) 2 (0.20 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:Populate():this (FullOpts) Top method improvements (percentages): -84 (-18.83 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:ReaderCancellationRequested():this (FullOpts) -84 (-18.83 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:WriterCancellationRequested():this (FullOpts) -66 (-17.51 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:CancelPendingFlush():this (FullOpts) -66 (-17.51 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:CancelPendingRead():this (FullOpts) -13 (-17.33 % of base) : System.Console.dasm - System.TermInfo+ParameterizedStrings+FormatParam:op_Implicit(System.String):System.TermInfo+ParameterizedStrings+FormatParam (FullOpts) -64 (-10.34 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:CompleteWriter(System.Exception):this (FullOpts) -64 (-9.77 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:CompleteReader(System.Exception):this (FullOpts) -17 (-7.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:GetResolvedUnmanagedDll(System.Reflection.Assembly,System.String):long:this (FullOpts) -97 (-6.90 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest:CreateFromHash(System.ReadOnlyMemory`1[ubyte],System.Security.Cryptography.Oid,System.Security.Cryptography.Oid,System.Nullable`1[System.ReadOnlyMemory`1[ubyte]],ubyte,System.Security.Cryptography.X509Certificates.X509ExtensionCollection):System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest (FullOpts) -18 (-6.82 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapReferralCallback+Marshaller+MarshalValue:ToManaged():System.DirectoryServices.Protocols.LdapReferralCallback:this (FullOpts) -13 (-6.74 % of base) : System.Console.dasm - System.ConsolePal:set_Title(System.String) (FullOpts) -74 (-6.68 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:AdvanceReader(System.IO.Pipelines.BufferSegment,int,System.IO.Pipelines.BufferSegment,int):this (FullOpts) -91 (-6.09 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:ReadAtLeastAsync(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (FullOpts) -12 (-5.77 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapSessionOptions:ProcessCallBackRoutine(System.DirectoryServices.Protocols.ReferralCallback):this (FullOpts) -8 (-5.33 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[System.__Canon](System.__Canon):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -8 (-5.30 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -8 (-5.10 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector256`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) -5 (-5.05 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CreatedTaskWithCancellation[double]():System.Threading.Tasks.Task`1[double] (FullOpts) -5 (-5.05 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CreatedTaskWithCancellation[int]():System.Threading.Tasks.Task`1[int] (FullOpts) -5 (-5.05 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CreatedTaskWithCancellation[long]():System.Threading.Tasks.Task`1[long] (FullOpts) -5 (-5.05 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CreatedTaskWithCancellation[short]():System.Threading.Tasks.Task`1[short] (FullOpts) -5 (-5.05 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CreatedTaskWithCancellation[System.Nullable`1[int]]():System.Threading.Tasks.Task`1[System.Nullable`1[int]] (FullOpts) -5 (-5.05 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CreatedTaskWithCancellation[System.Numerics.Vector`1[float]]():System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]] (FullOpts) -5 (-5.05 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CreatedTaskWithCancellation[ubyte]():System.Threading.Tasks.Task`1[ubyte] (FullOpts) -16 (-4.98 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:.ctor(System.Net.Http.HttpConnectionPool,System.IO.Stream,System.Net.TransportContext,System.Net.IPEndPoint):this (FullOpts) -8 (-4.88 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector128`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) -8 (-4.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:WithElement[System.__Canon](System.Numerics.Vector`1[System.__Canon],int,System.__Canon):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-4.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:WithElement[System.__Canon](System.Runtime.Intrinsics.Vector512`1[System.__Canon],int,System.__Canon):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) -8 (-4.15 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[double,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Collections.Generic.IEqualityComparer`1[double],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-4.15 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[int,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Collections.Generic.IEqualityComparer`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-4.15 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[long,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Collections.Generic.IEqualityComparer`1[long],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-4.15 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[short,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Collections.Generic.IEqualityComparer`1[short],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-4.15 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-4.15 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-4.15 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[ubyte,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Collections.Generic.IEqualityComparer`1[ubyte],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -13 (-3.94 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]:Add(int,System.Collections.Generic.IEqualityComparer`1[int],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]:this (FullOpts) -13 (-3.92 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]:Add(long,System.Collections.Generic.IEqualityComparer`1[long],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]:this (FullOpts) -13 (-3.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]:Add(ubyte,System.Collections.Generic.IEqualityComparer`1[ubyte],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]:this (FullOpts) -8 (-3.88 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1+OrderedDistinctQueryOperatorEnumerator`1[double,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[double,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[double],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-3.88 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1+OrderedDistinctQueryOperatorEnumerator`1[int,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[int,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-3.88 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1+OrderedDistinctQueryOperatorEnumerator`1[long,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[long,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[long],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-3.88 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1+OrderedDistinctQueryOperatorEnumerator`1[short,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[short,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[short],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-3.88 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1+OrderedDistinctQueryOperatorEnumerator`1[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[System.Nullable`1[int],System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-3.88 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1+OrderedDistinctQueryOperatorEnumerator`1[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[System.Numerics.Vector`1[float],System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -8 (-3.88 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1+OrderedDistinctQueryOperatorEnumerator`1[ubyte,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[ubyte,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[ubyte],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts) -13 (-3.86 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]:Add(short,System.Collections.Generic.IEqualityComparer`1[short],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]:this (FullOpts) -16 (-3.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]:Remove(int,System.Collections.Generic.IEqualityComparer`1[int],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]:this (FullOpts) -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Abs[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Ceiling[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Floor[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -8 (-3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Sqrt[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -16 (-3.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]:Remove(long,System.Collections.Generic.IEqualityComparer`1[long],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]:this (FullOpts) -9 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Max[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -9 (-3.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Min[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -13 (-3.67 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]:Add(double,System.Collections.Generic.IEqualityComparer`1[double],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]:this (FullOpts) -16 (-3.67 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]:Remove(ubyte,System.Collections.Generic.IEqualityComparer`1[ubyte],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]:this (FullOpts) -16 (-3.60 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]:Remove(short,System.Collections.Generic.IEqualityComparer`1[short],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]:this (FullOpts) -33 (-3.59 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts) -9 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Max[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -9 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Min[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Abs[System.__Canon](System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.56 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:SquareRoot[System.__Canon](System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.54 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:get_AllBitsSet():System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.54 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:get_One():System.Numerics.Vector`1[System.__Canon] (FullOpts) -13 (-3.51 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Nullable`1[int]]:this (FullOpts) -16 (-3.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[long,System.Nullable`1[int]]:Remove(long,System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[long,System.Nullable`1[int]]],byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[long,System.Nullable`1[int]]:this (FullOpts) -16 (-3.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Nullable`1[int],System.Nullable`1[int]]:Remove(System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]],byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts) -16 (-3.49 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[double,System.Nullable`1[int]]:Remove(double,System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[double,System.Nullable`1[int]]],byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[double,System.Nullable`1[int]]:this (FullOpts) -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Addition(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Division(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Multiply(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.43 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Subtraction(System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -16 (-3.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[int,System.Nullable`1[int]]:Remove(int,System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[int,System.Nullable`1[int]]],byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[int,System.Nullable`1[int]]:this (FullOpts) -16 (-3.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[ubyte,System.Nullable`1[int]]:Remove(ubyte,System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]],byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[ubyte,System.Nullable`1[int]]:this (FullOpts) -16 (-3.41 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[short,System.Nullable`1[int]]:Remove(short,System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[short,System.Nullable`1[int]]],byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[short,System.Nullable`1[int]]:this (FullOpts) -8 (-3.40 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_LeftShift(System.Numerics.Vector`1[System.__Canon],int):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.40 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_RightShift(System.Numerics.Vector`1[System.__Canon],int):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.40 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_UnsignedRightShift(System.Numerics.Vector`1[System.__Canon],int):System.Numerics.Vector`1[System.__Canon] (FullOpts) -16 (-3.40 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]:Remove(double,System.Collections.Generic.IEqualityComparer`1[double],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]:this (FullOpts) -8 (-3.38 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Division(System.Numerics.Vector`1[System.__Canon],System.__Canon):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.38 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Multiply(System.Numerics.Vector`1[System.__Canon],System.__Canon):System.Numerics.Vector`1[System.__Canon] (FullOpts) -16 (-3.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Nullable`1[int]]:Remove(System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Nullable`1[int]]:this (FullOpts) -5 (-3.33 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CreatedTaskWithCancellation[System.__Canon]():System.Threading.Tasks.Task`1[System.__Canon] (FullOpts) -24 (-3.29 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:Add(System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:this (FullOpts) -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Equals[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:GreaterThan[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:GreaterThanOrEqual[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:LessThan[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -8 (-3.23 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:LessThanOrEqual[System.__Canon](System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Runtime.Intrinsics.Vector64`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) -22 (-3.17 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[ubyte]:Union(System.ReadOnlySpan`1[ubyte],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[ubyte]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[ubyte] (FullOpts) -22 (-3.15 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[double]:Union(System.ReadOnlySpan`1[double],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[double] (FullOpts) -22 (-3.14 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[short]:Union(System.ReadOnlySpan`1[short],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[short] (FullOpts) -16 (-3.13 % of base) : System.Net.Http.dasm - System.Net.Http.Http3RequestStream:.ctor(System.Net.Http.HttpRequestMessage,System.Net.Http.Http3Connection,System.Net.Quic.QuicStream):this (FullOpts) -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:Equals[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GreaterThan[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GreaterThanOrEqual[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:LessThan[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -8 (-3.11 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:LessThanOrEqual[System.__Canon](System.Numerics.Vector`1[System.__Canon],System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) -16 (-3.08 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:Remove(System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],byref):System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:this (FullOpts) -8 (-3.07 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[System.__Canon]:op_Multiply(System.__Canon,System.Numerics.Vector`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts) 292 total methods with Code Size differences (290 improved, 2 regressed), 237771 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 9 months ago

Top method improvements

-19 (-2.09 % of base) - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly ```diff ; Assembly listing for method System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 15 single block inlinees; 10 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T07] ( 6, 7.50) ref -> [rbp-0x70] class-hnd single-def ; V01 arg1 [V01,T29] ( 3, 2.50) ref -> r14 class-hnd single-def ; V02 arg2 [V02,T09] ( 5, 6.50) ref -> [rbp-0x78] class-hnd single-def ; V03 loc0 [V03,T33] ( 2, 2.50) ref -> [rbp-0x80] class-hnd exact single-def ; V04 loc1 [V04 ] ( 8, 19.50) struct (24) [rbp-0x40] do-not-enreg[XS] must-init addr-exposed ld-addr-op ;* V05 loc2 [V05 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op ; V06 loc3 [V06,T10] ( 4, 8 ) ref -> r14 class-hnd exact ; V07 loc4 [V07,T04] ( 7, 14 ) ref -> [rbp-0x88] class-hnd spill-single-def ; V08 loc5 [V08,T30] ( 3, 4.50) ref -> rax class-hnd exact ;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V10 tmp1 [V10,T31] ( 4, 4 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" ;* V11 tmp2 [V11 ] ( 0, 0 ) ref -> zero-ref ; V12 tmp3 [V12,T27] ( 3, 6 ) ref -> r14 ;* V13 tmp4 [V13 ] ( 0, 0 ) ref -> zero-ref ;* V14 tmp5 [V14 ] ( 0, 0 ) ref -> zero-ref ; V15 tmp6 [V15,T11] ( 4, 8 ) ref -> [rbp-0x90] ;* V16 tmp7 [V16 ] ( 0, 0 ) ref -> zero-ref ;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref ;* V18 tmp9 [V18 ] ( 0, 0 ) ref -> zero-ref ;* V19 tmp10 [V19 ] ( 0, 0 ) ref -> zero-ref ;* V20 tmp11 [V20 ] ( 0, 0 ) ref -> zero-ref ;* V21 tmp12 [V21 ] ( 0, 0 ) ref -> zero-ref ; V22 tmp13 [V22,T12] ( 3, 6 ) ref -> rax ;* V23 tmp14 [V23 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" ; V24 tmp15 [V24,T28] ( 2, 4 ) ubyte -> rax "Inline return value spill temp" ; V25 tmp16 [V25,T03] ( 4, 16 ) ref -> rdi class-hnd exact "Inlining Arg" ;* V26 tmp17 [V26 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V27 tmp18 [V27 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V28 tmp19 [V28 ] ( 2, 4 ) byref -> [rbp-0x48] must-init pinned "Inline stloc first use temp" ;* V29 tmp20 [V29 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V30 tmp21 [V30 ] ( 2, 4 ) byref -> [rbp-0x50] must-init pinned "Inline stloc first use temp" ;* V31 tmp22 [V31 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V32 tmp23 [V32 ] ( 2, 4 ) byref -> [rbp-0x58] must-init pinned "Inline stloc first use temp" ;* V33 tmp24 [V33 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V34 tmp25 [V34 ] ( 2, 4 ) byref -> [rbp-0x60] must-init pinned "Inline stloc first use temp" ;* V35 tmp26 [V35 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V36 tmp27 [V36 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V37 tmp28 [V37 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ; V38 tmp29 [V38,T13] ( 4, 8 ) byref -> rcx "Inline return value spill temp" ; V39 tmp30 [V39,T14] ( 4, 8 ) byref -> rdx "Inline return value spill temp" ; V40 tmp31 [V40,T15] ( 4, 8 ) byref -> rsi "Inline return value spill temp" ; V41 tmp32 [V41,T16] ( 4, 8 ) byref -> rdi "Inline return value spill temp" ;* V42 tmp33 [V42 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V43 tmp34 [V43,T21] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V44 tmp35 [V44,T01] ( 6, 30 ) int -> r14 "Inline stloc first use temp" ; V45 tmp36 [V45,T00] ( 5, 68 ) ref -> [rbp-0x98] class-hnd spill-single-def "dup spill" ; V46 tmp37 [V46,T19] ( 2, 8 ) byref -> [rbp-0xA0] spill-single-def ;* V47 tmp38 [V47 ] ( 0, 0 ) ref -> zero-ref ;* V48 tmp39 [V48 ] ( 0, 0 ) byref -> zero-ref -; V49 tmp40 [V49,T05] ( 4, 12 ) ref -> [rbp-0xA8] +; V49 tmp40 [V49,T05] ( 4, 12 ) ref -> rdx ;* V50 tmp41 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" ;* V51 tmp42 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ; V52 tmp43 [V52,T02] ( 4, 20 ) ref -> rdx class-hnd "Inline return value spill temp" ; V53 tmp44 [V53,T17] ( 4, 8 ) ref -> rax class-hnd "Inline stloc first use temp" ;* V54 tmp45 [V54 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V55 tmp46 [V55,T32] ( 3, 4 ) ref -> rax "Single return block return value" ; V56 FramesRoot [V56,T08] ( 6, 10 ) long -> r13 "Pinvoke FrameListRoot" -; V57 PInvokeFrame [V57 ] ( 8, 12 ) struct (72) [rbp-0xF0] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" +; V57 PInvokeFrame [V57 ] ( 8, 12 ) struct (72) [rbp-0xE8] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" ; V58 tmp49 [V58 ] ( 3, 8.50) ref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V04._delegate (fldOffset=0x0)" P-DEP ; V59 tmp50 [V59 ] ( 3, 6.50) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V04._current (fldOffset=0x8)" P-DEP ; V60 tmp51 [V60 ] ( 4, 12.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V04._index (fldOffset=0x10)" P-DEP ;* V61 tmp52 [V61 ] ( 0, 0 ) ref -> zero-ref "field V05._delegate (fldOffset=0x0)" P-INDEP ;* V62 tmp53 [V62 ] ( 0, 0 ) ref -> zero-ref "field V05._current (fldOffset=0x8)" P-INDEP ;* V63 tmp54 [V63 ] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x10)" P-INDEP ;* V64 tmp55 [V64,T34] ( 0, 0 ) ref -> zero-ref single-def "field V23._delegate (fldOffset=0x0)" P-INDEP ;* V65 tmp56 [V65,T35] ( 0, 0 ) ref -> zero-ref single-def "field V23._current (fldOffset=0x8)" P-INDEP ;* V66 tmp57 [V66,T36] ( 0, 0 ) int -> zero-ref "field V23._index (fldOffset=0x10)" P-INDEP ; V67 tmp58 [V67,T20] ( 2, 8 ) ref -> rsi "argument with side effect" ; V68 tmp59 [V68,T06] ( 3, 12 ) ref -> rax "argument with side effect" ; V69 tmp60 [V69,T22] ( 2, 8 ) long -> rcx "Cast away GC" ; V70 tmp61 [V70,T23] ( 2, 8 ) long -> rdx "Cast away GC" ; V71 tmp62 [V71,T24] ( 2, 8 ) long -> rsi "Cast away GC" ; V72 tmp63 [V72,T25] ( 2, 8 ) long -> rdi "Cast away GC" ; V73 tmp64 [V73,T26] ( 2, 8 ) long -> rdi "argument with side effect" ; V74 cse0 [V74,T18] ( 4, 8 ) long -> [rbp-0x68] spill-single-def "CSE - moderate" ; ; Lcl frame size = 200 G_M55783_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 200 lea rbp, [rsp+0xF0] vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x60], ymm8 vmovdqa xmmword ptr [rbp-0x40], xmm8 xor ecx, ecx mov qword ptr [rbp-0x30], rcx mov rbx, rdi mov r14, rsi mov r15, rdx ;; size=55 bbWeight=1 PerfScore 13.08 G_M55783_IG02: - lea rdi, [rbp-0xE8] + lea rdi, [rbp-0xE0] mov rsi, r10 call CORINFO_HELP_INIT_PINVOKE_FRAME mov r13, rax mov rdi, rsp - mov qword ptr [rbp-0xC8], rdi + mov qword ptr [rbp-0xC0], rdi mov rdi, rbp - mov qword ptr [rbp-0xB8], rdi + mov qword ptr [rbp-0xB0], rdi test rbx, rbx jne SHORT G_M55783_IG04 ;; size=43 bbWeight=1 PerfScore 5.75 G_M55783_IG03: xor rax, rax - jmp G_M55783_IG39 + jmp G_M55783_IG38 ;; size=7 bbWeight=0.50 PerfScore 1.12 G_M55783_IG04: mov rdi, 0xD1FFAB1E ; System.ResolveEventArgs call CORINFO_HELP_NEWSFAST mov r12, rax lea rdi, bword ptr [r12+0x08] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x10] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF mov gword ptr [rbp-0x40], rbx xor rsi, rsi mov gword ptr [rbp-0x38], rsi mov dword ptr [rbp-0x30], -1 jmp G_M55783_IG30 ;; size=66 bbWeight=0.50 PerfScore 5.12 G_M55783_IG05: mov r14, gword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.AppDomain:get_CurrentDomain():System.AppDomain call [rax]System.AppDomain:get_CurrentDomain():System.AppDomain mov rsi, rax mov gword ptr [rbp-0x80], r12 mov rdx, r12 mov rdi, gword ptr [r14+0x08] call [r14+0x18]System.ResolveEventHandler:Invoke(System.Object,System.ResolveEventArgs):System.Reflection.Assembly:this mov gword ptr [rbp-0x88], rax mov rcx, 0xD1FFAB1E ; data for System.Runtime.Loader.AssemblyLoadContext:AssemblyResolve mov rdi, gword ptr [rcx] test rdi, rdi je G_M55783_IG10 mov gword ptr [rbp-0x70], rbx cmp rdi, rbx je SHORT G_M55783_IG07 mov rbx, gword ptr [rbp-0x70] mov rsi, rbx mov rcx, 0xD1FFAB1E ; code for System.MulticastDelegate:Equals(System.Object):ubyte:this call [rcx]System.MulticastDelegate:Equals(System.Object):ubyte:this test eax, eax je SHORT G_M55783_IG09 ;; size=95 bbWeight=2 PerfScore 46.50 G_M55783_IG06: mov gword ptr [rbp-0x70], rbx ;; size=4 bbWeight=1 PerfScore 1.00 G_M55783_IG07: call System.Runtime.Loader.AssemblyLoadContext:IsTracingEnabled():ubyte test eax, eax je SHORT G_M55783_IG08 mov rdi, r14 mov rax, 0xD1FFAB1E ; code for System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this cmp dword ptr [rdi], edi call [rax]System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this mov rdi, rax mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x40] call [rax+0x30]System.Reflection.MemberInfo:get_Name():System.String:this mov r14, rax mov rax, gword ptr [rbp-0x88] test rax, rax jne SHORT G_M55783_IG11 xor rcx, rcx xor rdx, rdx jmp G_M55783_IG14 ;; size=63 bbWeight=2 PerfScore 42.00 G_M55783_IG08: mov rax, gword ptr [rbp-0x88] mov rbx, gword ptr [rbp-0x70] jmp G_M55783_IG29 ;; size=16 bbWeight=1 PerfScore 4.00 G_M55783_IG09: mov rax, gword ptr [rbp-0x88] jmp G_M55783_IG29 ;; size=12 bbWeight=1 PerfScore 3.00 G_M55783_IG10: mov rax, gword ptr [rbp-0x88] jmp G_M55783_IG29 ;; size=12 bbWeight=1 PerfScore 3.00 G_M55783_IG11: mov rdi, rax mov rcx, qword ptr [rax] mov rcx, qword ptr [rcx+0x48] mov qword ptr [rbp-0x68], rcx call [rcx+0x18]System.Reflection.Assembly:get_FullName():System.String:this mov gword ptr [rbp-0x90], rax mov rdi, gword ptr [rbp-0x88] mov rax, qword ptr [rbp-0x68] call [rax+0x28]System.Reflection.Assembly:get_IsDynamic():ubyte:this test eax, eax jne SHORT G_M55783_IG13 mov rdi, gword ptr [rbp-0x88] mov rax, qword ptr [rbp-0x68] call [rax+0x30]System.Reflection.Assembly:get_Location():System.String:this test rax, rax je SHORT G_M55783_IG12 add rax, 12 mov rcx, rax mov rax, gword ptr [rbp-0x88] jmp SHORT G_M55783_IG15 ;; size=77 bbWeight=2 PerfScore 50.50 G_M55783_IG12: mov rax, gword ptr [rbp-0x88] mov rdx, gword ptr [rbp-0x90] jmp SHORT G_M55783_IG14 ;; size=16 bbWeight=1 PerfScore 4.00 G_M55783_IG13: mov rax, gword ptr [rbp-0x88] mov rdx, gword ptr [rbp-0x90] ;; size=14 bbWeight=1 PerfScore 2.00 G_M55783_IG14: xor ecx, ecx mov gword ptr [rbp-0x90], rdx ;; size=9 bbWeight=2 PerfScore 2.50 G_M55783_IG15: mov bword ptr [rbp-0x48], rcx mov rdx, gword ptr [rbp-0x90] test rdx, rdx je SHORT G_M55783_IG16 add rdx, 12 jmp SHORT G_M55783_IG17 ;; size=22 bbWeight=2 PerfScore 11.00 G_M55783_IG16: xor edx, edx ;; size=2 bbWeight=2 PerfScore 0.50 G_M55783_IG17: mov bword ptr [rbp-0x50], rdx test r14, r14 je SHORT G_M55783_IG18 add r14, 12 mov rsi, r14 jmp SHORT G_M55783_IG19 ;; size=18 bbWeight=2 PerfScore 9.50 G_M55783_IG18: xor esi, esi ;; size=2 bbWeight=2 PerfScore 0.50 G_M55783_IG19: mov bword ptr [rbp-0x58], rsi test r15, r15 je SHORT G_M55783_IG20 mov gword ptr [rbp-0x78], r15 lea rdi, bword ptr [r15+0x0C] jmp SHORT G_M55783_IG21 ;; size=19 bbWeight=2 PerfScore 11.50 G_M55783_IG20: xor edi, edi mov gword ptr [rbp-0x78], r15 ;; size=6 bbWeight=2 PerfScore 2.50 G_M55783_IG21: mov bword ptr [rbp-0x60], rdi mov r8, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0xD8], r8 + mov qword ptr [rbp-0xD0], r8 lea r8, G_M55783_IG24 - mov qword ptr [rbp-0xC0], r8 - lea r8, bword ptr [rbp-0xE8] + mov qword ptr [rbp-0xB8], r8 + lea r8, bword ptr [rbp-0xE0] mov qword ptr [r13+0x10], r8 mov byte ptr [r13+0x0C], 0 ;; size=51 bbWeight=2 PerfScore 13.50 G_M55783_IG22: mov rax, 0xD1FFAB1E ; code for System.Runtime.Loader.AssemblyLoadContext:g____PInvoke|10_0(ulong,ulong,ulong,ulong):int ;; size=10 bbWeight=2 PerfScore 0.50 G_M55783_IG23: call [rax]System.Runtime.Loader.AssemblyLoadContext:g____PInvoke|10_0(ulong,ulong,ulong,ulong):int ;; size=2 bbWeight=2 PerfScore 6.00 G_M55783_IG24: mov byte ptr [r13+0x0C], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M55783_IG25 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=2 PerfScore 17.00 G_M55783_IG25: - mov rdi, bword ptr [rbp-0xE0] + mov rdi, bword ptr [rbp-0xD8] mov qword ptr [r13+0x10], rdi xor edi, edi mov bword ptr [rbp-0x60], rdi ;; size=17 bbWeight=2 PerfScore 6.50 G_M55783_IG26: mov bword ptr [rbp-0x58], rdi ;; size=4 bbWeight=2 PerfScore 2.00 G_M55783_IG27: mov bword ptr [rbp-0x50], rdi ;; size=4 bbWeight=2 PerfScore 2.00 G_M55783_IG28: mov bword ptr [rbp-0x48], rdi mov rax, gword ptr [rbp-0x88] mov rbx, gword ptr [rbp-0x70] mov r15, gword ptr [rbp-0x78] ;; size=19 bbWeight=2 PerfScore 8.00 G_M55783_IG29: mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.Runtime.Loader.AssemblyLoadContext:GetRuntimeAssembly(System.Reflection.Assembly):System.Reflection.RuntimeAssembly call [rax]System.Runtime.Loader.AssemblyLoadContext:GetRuntimeAssembly(System.Reflection.Assembly):System.Reflection.RuntimeAssembly test rax, rax mov r12, gword ptr [rbp-0x80] - jne G_M55783_IG39 + jne G_M55783_IG38 ;; size=28 bbWeight=2 PerfScore 11.50 G_M55783_IG30: mov r14d, dword ptr [rbp-0x30] inc r14d mov rax, gword ptr [rbp-0x40] mov gword ptr [rbp-0x98], rax lea rcx, bword ptr [rbp-0x40] mov bword ptr [rbp-0xA0], rcx test rax, rax jne SHORT G_M55783_IG32 ;; size=34 bbWeight=4 PerfScore 24.00 G_M55783_IG31: xor rdx, rdx - jmp SHORT G_M55783_IG38 + jmp SHORT G_M55783_IG37 ;; size=4 bbWeight=2 PerfScore 4.50 G_M55783_IG32: mov rsi, gword ptr [rax+0x28] mov rdi, 0xD1FFAB1E ; System.Object[] - call CORINFO_HELP_ISINSTANCEOFARRAY + mov rdx, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFARRAY + call [rdx]CORINFO_HELP_ISINSTANCEOFARRAY test rax, rax jne SHORT G_M55783_IG35 test r14d, r14d je SHORT G_M55783_IG34 - ;; size=29 bbWeight=2 PerfScore 11.50 + ;; size=36 bbWeight=2 PerfScore 16.00 G_M55783_IG33: xor rdx, rdx jmp SHORT G_M55783_IG37 ;; size=4 bbWeight=8 PerfScore 18.00 G_M55783_IG34: mov rdx, gword ptr [rbp-0x98] jmp SHORT G_M55783_IG37 ;; size=9 bbWeight=8 PerfScore 24.00 G_M55783_IG35: mov rdx, gword ptr [rbp-0x98] cmp r14d, dword ptr [rdx+0x30] jae SHORT G_M55783_IG33 ;; size=13 bbWeight=16 PerfScore 80.00 G_M55783_IG36: cmp r14d, dword ptr [rax+0x08] - jae SHORT G_M55783_IG40 + jae SHORT G_M55783_IG39 mov edx, r14d mov rdx, gword ptr [rax+8*rdx+0x10] ;; size=14 bbWeight=2 PerfScore 12.50 G_M55783_IG37: - mov rax, rdx - mov rdx, rax - ;; size=6 bbWeight=2 PerfScore 1.00 -G_M55783_IG38: mov rcx, bword ptr [rbp-0xA0] - lea rdi, bword ptr [rcx+0x08] - mov gword ptr [rbp-0xA8], rdx - mov rsi, rdx - call CORINFO_HELP_CHECKED_ASSIGN_REF - cmp gword ptr [rbp-0xA8], 0 + mov gword ptr [rcx+0x08], rdx + test rdx, rdx je G_M55783_IG03 mov dword ptr [rbp-0x30], r14d jmp G_M55783_IG05 - ;; size=49 bbWeight=4 PerfScore 39.00 -G_M55783_IG39: + ;; size=29 bbWeight=4 PerfScore 25.00 +G_M55783_IG38: add rsp, 200 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=1 PerfScore 4.25 -G_M55783_IG40: +G_M55783_IG39: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 911, prolog size 46, PerfScore 504.83, instruction count 220, allocated bytes for code 911 (MethodHash=d34b2618) for method System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts) +; Total bytes of code 892, prolog size 46, PerfScore 494.33, instruction count 216, allocated bytes for code 892 (MethodHash=d34b2618) for method System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts) ```
-13 (-1.06 % of base) - System.Reflection.MethodBaseInvoker:InvokeWithFewArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this ```diff ; Assembly listing for method System.Reflection.MethodBaseInvoker:InvokeWithFewArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 6 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T04] ( 15, 18 ) ref -> rbx this class-hnd single-def ; V01 arg1 [V01,T23] ( 4, 3 ) ref -> [rbp-0x90] class-hnd single-def ; V02 arg2 [V02,T18] ( 5, 4.50) int -> [rbp-0x2C] EH-live single-def ; V03 arg3 [V03,T20] ( 3, 4 ) ref -> r14 class-hnd single-def ; V04 arg4 [V04,T10] ( 8, 9 ) ref -> r15 class-hnd single-def ; V05 arg5 [V05,T21] ( 3, 4 ) ref -> r13 class-hnd single-def ; V06 loc0 [V06 ] ( 2, 2 ) struct (40) [rbp-0x58] do-not-enreg[XS] must-init addr-exposed ld-addr-op ;* V07 loc1 [V07 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ;* V08 loc2 [V08 ] ( 0, 0 ) struct (16) zero-ref ; V09 loc3 [V09,T37] ( 3, 2 ) ref -> r14 class-hnd ; V10 loc4 [V10,T54] ( 2, 0 ) ref -> [rbp-0x98] must-init class-hnd EH-live single-def ;# V11 OutArgs [V11 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V12 tmp1 [V12 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ; V13 tmp2 [V13,T55] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" ; V14 tmp3 [V14,T51] ( 3, 0 ) ref -> rsi class-hnd single-def "dup spill" ;* V15 tmp4 [V15 ] ( 0, 0 ) ref -> zero-ref single-def ; V16 tmp5 [V16,T53] ( 3, 0 ) int -> rax ;* V17 tmp6 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" ; V18 tmp7 [V18,T52] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" ; V19 tmp8 [V19,T30] ( 2, 4 ) int -> rcx "Inlining Arg" ;* V20 tmp9 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V21 tmp10 [V21,T31] ( 2, 4 ) int -> rax "Inlining Arg" ;* V22 tmp11 [V22 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V23 tmp12 [V23 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ; V24 tmp13 [V24,T19] ( 6, 6 ) byref -> [rbp-0xA0] spill-single-def "Inlining Arg" ; V25 tmp14 [V25,T40] ( 2, 2 ) byref -> [rbp-0xA8] spill-single-def "Inlining Arg" ; V26 tmp15 [V26,T41] ( 2, 2 ) ref -> rdi class-hnd single-def "Inlining Arg" ;* V27 tmp16 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V28 tmp17 [V28,T00] ( 12, 35 ) int -> [rbp-0x5C] "Inline stloc first use temp" ;* V29 tmp18 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ; V30 tmp19 [V30 ] ( 11, 29 ) ref -> [rbp-0x68] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" ; V31 tmp20 [V31,T05] ( 6, 14 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "Inline stloc first use temp" ;* V32 tmp21 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V33 tmp22 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V34 tmp23 [V34 ] ( 0, 0 ) byref -> zero-ref "non-inline candidate call" ;* V35 tmp24 [V35 ] ( 0, 0 ) byref -> zero-ref "non-inline candidate call" ;* V36 tmp25 [V36 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" ;* V37 tmp26 [V37 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" ;* V38 tmp27 [V38,T32] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V39 tmp28 [V39,T11] ( 4, 8 ) ref -> [rbp-0xB8] ld-addr-op class-hnd spill-single-def "Inline ldloca(s) first use temp" ;* V40 tmp29 [V40,T33] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V41 tmp30 [V41 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V42 tmp31 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; V43 tmp32 [V43,T01] ( 11, 31 ) int -> [rbp-0x6C] "Inline stloc first use temp" ;* V44 tmp33 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V45 tmp34 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ; V46 tmp35 [V46,T14] ( 5, 7 ) byref -> [rbp-0xC0] spill-single-def "field V07._reference (fldOffset=0x0)" P-INDEP ; V47 tmp36 [V47,T15] ( 5, 7 ) int -> [rbp-0x70] spill-single-def "field V07._length (fldOffset=0x8)" P-INDEP ; V48 tmp37 [V48,T12] ( 5, 8 ) byref -> [rbp-0xC8] spill-single-def "field V08._reference (fldOffset=0x0)" P-INDEP ; V49 tmp38 [V49,T13] ( 5, 8 ) int -> [rbp-0x74] spill-single-def "field V08._length (fldOffset=0x8)" P-INDEP ;* V50 tmp39 [V50 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP ;* V51 tmp40 [V51 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP ; V52 tmp41 [V52,T42] ( 2, 2 ) byref -> rdx single-def "field V20._reference (fldOffset=0x0)" P-INDEP ; V53 tmp42 [V53,T44] ( 2, 2 ) int -> rcx "field V20._length (fldOffset=0x8)" P-INDEP ; V54 tmp43 [V54,T43] ( 2, 2 ) byref -> r9 single-def "field V22._reference (fldOffset=0x0)" P-INDEP ; V55 tmp44 [V55,T45] ( 2, 2 ) int -> rax "field V22._length (fldOffset=0x8)" P-INDEP ; V56 tmp45 [V56,T38] ( 3, 2 ) byref -> rsi "field V27._reference (fldOffset=0x0)" P-INDEP ; V57 tmp46 [V57,T39] ( 3, 2 ) int -> r10 "field V27._length (fldOffset=0x8)" P-INDEP ; V58 tmp47 [V58,T26] ( 2, 5 ) byref -> [rbp-0xD0] spill-single-def "field V29._reference (fldOffset=0x0)" P-INDEP ; V59 tmp48 [V59,T22] ( 3, 6 ) int -> [rbp-0x78] spill-single-def "field V29._length (fldOffset=0x8)" P-INDEP ;* V60 tmp49 [V60,T46] ( 0, 0 ) byref -> zero-ref single-def "field V32._reference (fldOffset=0x0)" P-INDEP ;* V61 tmp50 [V61,T48] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP ;* V62 tmp51 [V62,T47] ( 0, 0 ) byref -> zero-ref single-def "field V33._reference (fldOffset=0x0)" P-INDEP ;* V63 tmp52 [V63,T49] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP ;* V64 tmp53 [V64 ] ( 0, 0 ) byref -> zero-ref "field V36._reference (fldOffset=0x0)" P-DEP ;* V65 tmp54 [V65 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-DEP ; V66 tmp55 [V66,T29] ( 2, 4 ) byref -> rax "field V37._reference (fldOffset=0x0)" P-INDEP ; V67 tmp56 [V67,T34] ( 2, 4 ) int -> rdx "field V37._length (fldOffset=0x8)" P-INDEP ; V68 tmp57 [V68,T27] ( 2, 5 ) byref -> [rbp-0xD8] spill-single-def "field V44._reference (fldOffset=0x0)" P-INDEP ; V69 tmp58 [V69,T28] ( 2, 5 ) int -> [rbp-0x7C] spill-single-def "field V44._length (fldOffset=0x8)" P-INDEP ; V70 tmp59 [V70,T24] ( 3, 5 ) byref -> r13 single-def "field V45._reference (fldOffset=0x0)" P-INDEP ; V71 tmp60 [V71,T25] ( 3, 5 ) int -> r12 "field V45._length (fldOffset=0x8)" P-INDEP ; V72 tmp61 [V72,T03] ( 3, 24 ) ref -> r8 "arr expr" ; V73 tmp62 [V73,T07] ( 3, 12 ) ref -> rcx "argument with side effect" ; V74 tmp63 [V74,T08] ( 3, 12 ) ref -> rcx "arr expr" ; V75 tmp64 [V75,T09] ( 3, 12 ) ref -> rdi "arr expr" ; V76 tmp65 [V76,T16] ( 2, 8 ) ref -> rdx "argument with side effect" ; V77 PSPSym [V77,T50] ( 1, 1 ) long -> [rbp-0xE0] do-not-enreg[V] "PSPSym" ; V78 cse0 [V78,T36] ( 3, 3 ) int -> rax "CSE - conservative" ; V79 cse1 [V79,T17] ( 5, 7 ) int -> [rbp-0x80] multi-def "CSE - moderate" ; V80 cse2 [V80,T02] ( 9, 26 ) long -> [rbp-0x88] spill-single-def "CSE - aggressive" ; V81 cse3 [V81,T06] ( 5, 14 ) long -> r8 "CSE - aggressive" -; V82 rat0 [V82,T35] ( 3, 3 ) ref -> rax "delegate invoke call" +; V82 rat0 [V82,T35] ( 3, 3 ) ref -> r8 "delegate invoke call" ; ; Lcl frame size = 184 G_M49041_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 184 lea rbp, [rsp+0xE0] xor eax, eax mov qword ptr [rbp-0x98], rax vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x90], ymm8 vmovdqu ymmword ptr [rbp-0x70], ymm8 vmovdqu ymmword ptr [rbp-0x50], ymm8 mov qword ptr [rbp-0xE0], rsp mov gword ptr [rbp-0x90], rsi mov dword ptr [rbp-0x2C], edx mov rbx, rdi mov r14, rcx mov r15, r8 mov r13, r9 ;; size=86 bbWeight=1 PerfScore 18.33 G_M49041_IG02: mov eax, dword ptr [rbx+0x40] mov ecx, eax lea rdx, bword ptr [rbp-0x58] mov bword ptr [rbp-0xC0], rdx mov dword ptr [rbp-0x70], ecx lea r9, bword ptr [rbp-0x38] mov bword ptr [rbp-0xC8], r9 mov dword ptr [rbp-0x74], eax test byte ptr [rbx+0x38], 2 jne SHORT G_M49041_IG06 ;; size=39 bbWeight=1 PerfScore 11.25 G_M49041_IG03: lea r10, bword ptr [rbx+0x38] mov bword ptr [rbp-0xA0], r10 lea r11, bword ptr [rbx+0x10] mov bword ptr [rbp-0xA8], r11 mov rdi, gword ptr [rbx+0x30] cmp byte ptr [rbx+0x44], 0 jne SHORT G_M49041_IG05 test byte ptr [r10], 1 jne SHORT G_M49041_IG04 or dword ptr [r10], 1 jmp SHORT G_M49041_IG06 ;; size=44 bbWeight=0.50 PerfScore 9.00 G_M49041_IG04: mov esi, 1 mov r11, 0xD1FFAB1E ; code for System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_ObjSpanArgs(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_ObjSpanArgs call [r11]System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_ObjSpanArgs(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_ObjSpanArgs mov rdi, bword ptr [rbp-0xA8] mov rsi, rax - call CORINFO_HELP_CHECKED_ASSIGN_REF + call CORINFO_HELP_ASSIGN_REF mov r10, bword ptr [rbp-0xA0] ;; size=40 bbWeight=0.50 PerfScore 3.38 G_M49041_IG05: or dword ptr [r10], 2 ;; size=4 bbWeight=0.50 PerfScore 1.50 G_M49041_IG06: test r15, r15 jne SHORT G_M49041_IG08 ;; size=5 bbWeight=1 PerfScore 1.25 G_M49041_IG07: xor rsi, rsi xor r10d, r10d jmp SHORT G_M49041_IG09 ;; size=7 bbWeight=0.50 PerfScore 1.25 G_M49041_IG08: lea rsi, bword ptr [r15+0x10] mov r11d, dword ptr [r15+0x08] mov r10d, r11d ;; size=11 bbWeight=0.50 PerfScore 1.38 G_M49041_IG09: mov bword ptr [rbp-0xD0], rsi mov dword ptr [rbp-0x78], r10d xor r11d, r11d test r10d, r10d jle G_M49041_IG14 ;; size=23 bbWeight=1 PerfScore 3.50 G_M49041_IG10: mov edi, r11d mov qword ptr [rbp-0x88], rdi mov r8, gword ptr [rsi+8*rdi] mov gword ptr [rbp-0x68], r8 mov r8, gword ptr [rbx+0x28] mov dword ptr [rbp-0x5C], r11d cmp r11d, dword ptr [r8+0x08] jae G_M49041_IG31 mov r8, gword ptr [r8+8*rdi+0x10] mov gword ptr [rbp-0xB0], r8 mov r12, gword ptr [rbp-0x68] mov rcx, 0xD1FFAB1E ; const ptr cmp r12, gword ptr [rcx] jne SHORT G_M49041_IG12 ;; size=67 bbWeight=4 PerfScore 78.00 G_M49041_IG11: mov rcx, gword ptr [rbx+0x30] mov rdi, rcx mov rcx, qword ptr [rcx] mov rcx, qword ptr [rcx+0x50] call [rcx+0x10]System.Reflection.MethodBase:GetParametersAsSpan():System.ReadOnlySpan`1[System.Reflection.ParameterInfo]:this mov r12d, dword ptr [rbp-0x5C] cmp r12d, edx jae G_M49041_IG31 mov rcx, qword ptr [rbp-0x88] mov rdi, gword ptr [rax+8*rcx] mov rsi, gword ptr [rbp-0xB0] mov rax, 0xD1FFAB1E ; code for System.Reflection.MethodBase:HandleTypeMissing(System.Reflection.ParameterInfo,System.RuntimeType):System.Object call [rax]System.Reflection.MethodBase:HandleTypeMissing(System.Reflection.ParameterInfo,System.RuntimeType):System.Object mov gword ptr [rbp-0x68], rax cmp r12d, dword ptr [rbp-0x74] jae G_M49041_IG31 mov rcx, bword ptr [rbp-0xC8] mov rdx, qword ptr [rbp-0x88] mov byte ptr [rcx+rdx], 1 mov dword ptr [rbp-0x5C], r12d ;; size=96 bbWeight=2 PerfScore 53.50 G_M49041_IG12: cmp gword ptr [rbp-0x68], 0 jne SHORT G_M49041_IG15 ;; size=7 bbWeight=4 PerfScore 12.00 G_M49041_IG13: mov rcx, gword ptr [rbx+0x20] mov r11d, dword ptr [rbp-0x5C] cmp r11d, dword ptr [rcx+0x08] jae G_M49041_IG31 mov rdi, qword ptr [rbp-0x88] test byte ptr [rcx+4*rdi+0x10], 2 je G_M49041_IG19 mov r8, gword ptr [rbp-0xB0] jmp G_M49041_IG18 ;; size=48 bbWeight=2 PerfScore 30.00 G_M49041_IG14: + mov rdx, bword ptr [rbp-0xC0] mov r12d, dword ptr [rbp-0x70] jmp G_M49041_IG20 - ;; size=9 bbWeight=0.50 PerfScore 1.50 + ;; size=16 bbWeight=0.50 PerfScore 2.00 G_M49041_IG15: mov rdi, gword ptr [rbp-0x68] call System.Object:GetType():System.Type:this mov r12, gword ptr [rbp-0xB0] cmp rax, r12 je G_M49041_IG19 mov rdi, r12 call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 16 jne SHORT G_M49041_IG17 mov rdi, r12 call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType mov gword ptr [rbp-0xB8], rax mov rdi, gword ptr [rbp-0x68] call System.Object:GetType():System.Type:this mov rcx, gword ptr [rbp-0xB8] cmp rax, rcx mov r8, r12 jne SHORT G_M49041_IG18 mov rdi, rcx mov rax, 0xD1FFAB1E ; code for System.RuntimeType:IsValueTypeImpl():ubyte:this cmp dword ptr [rdi], edi call [rax]System.RuntimeType:IsValueTypeImpl():ubyte:this test eax, eax je SHORT G_M49041_IG16 mov rdi, gword ptr [rbp-0xB8] mov rsi, gword ptr [rbp-0x68] call System.RuntimeType:AllocateValueType(System.RuntimeType,System.Object):System.Object mov gword ptr [rbp-0x68], rax ;; size=118 bbWeight=2 PerfScore 50.50 G_M49041_IG16: mov r12d, dword ptr [rbp-0x5C] mov eax, dword ptr [rbp-0x74] cmp r12d, eax jae G_M49041_IG31 mov r9, bword ptr [rbp-0xC8] mov r10, qword ptr [rbp-0x88] mov byte ptr [r9+r10], 1 mov dword ptr [rbp-0x5C], r12d jmp SHORT G_M49041_IG19 ;; size=41 bbWeight=2 PerfScore 18.50 G_M49041_IG17: mov r8, r12 ;; size=3 bbWeight=1 PerfScore 0.25 G_M49041_IG18: mov r11d, dword ptr [rbp-0x5C] cmp r11d, dword ptr [rbp-0x74] jae G_M49041_IG31 lea rsi, [rbp-0x68] mov rdi, r8 mov rdx, r14 mov rcx, r13 mov r8d, dword ptr [rbp-0x2C] mov r12, 0xD1FFAB1E ; code for System.RuntimeType:CheckValue(byref,System.Reflection.Binder,System.Globalization.CultureInfo,int):ubyte:this cmp dword ptr [rdi], edi call [r12]System.RuntimeType:CheckValue(byref,System.Reflection.Binder,System.Globalization.CultureInfo,int):ubyte:this mov r12, bword ptr [rbp-0xC8] - mov rdi, qword ptr [rbp-0x88] - mov byte ptr [r12+rdi], al + mov rdx, qword ptr [rbp-0x88] + mov byte ptr [r12+rdx], al ;; size=65 bbWeight=2 PerfScore 31.00 G_M49041_IG19: mov r11d, dword ptr [rbp-0x5C] mov r12d, dword ptr [rbp-0x70] cmp r11d, r12d jae G_M49041_IG31 + mov rcx, gword ptr [rbp-0x68] mov rdx, bword ptr [rbp-0xC0] mov rdi, qword ptr [rbp-0x88] - lea rdi, bword ptr [rdx+8*rdi] - mov rsi, gword ptr [rbp-0x68] - call CORINFO_HELP_CHECKED_ASSIGN_REF - mov r11d, dword ptr [rbp-0x5C] + mov gword ptr [rdx+8*rdi], rcx inc r11d - mov edx, dword ptr [rbp-0x78] - cmp r11d, edx + mov r10d, dword ptr [rbp-0x78] + cmp r11d, r10d mov rsi, bword ptr [rbp-0xD0] jl SHORT G_M49041_IG22 - ;; size=66 bbWeight=4 PerfScore 49.00 + ;; size=58 bbWeight=4 PerfScore 43.00 G_M49041_IG20: - xor rdx, rdx - mov gword ptr [rbp-0x68], rdx + xor rcx, rcx + mov gword ptr [rbp-0x68], rcx cmp gword ptr [rbx+0x10], 0 je SHORT G_M49041_IG23 ;; size=13 bbWeight=1 PerfScore 5.25 G_M49041_IG21: - mov rdx, bword ptr [rbp-0xC0] mov ecx, r12d - mov rax, gword ptr [rbx+0x10] + mov r8, gword ptr [rbx+0x10] mov rsi, gword ptr [rbp-0x90] - mov rdi, gword ptr [rax+0x08] - call [rax+0x18]System.Reflection.InvokerEmitUtil+InvokeFunc_ObjSpanArgs:Invoke(System.Object,System.Span`1[System.Object]):System.Object:this + mov rdi, gword ptr [r8+0x08] + call [r8+0x18]System.Reflection.InvokerEmitUtil+InvokeFunc_ObjSpanArgs:Invoke(System.Object,System.Span`1[System.Object]):System.Object:this mov r14, rax jmp SHORT G_M49041_IG24 - ;; size=33 bbWeight=0.50 PerfScore 5.75 + ;; size=27 bbWeight=0.50 PerfScore 5.25 G_M49041_IG22: jmp G_M49041_IG10 ;; size=5 bbWeight=2 PerfScore 4.00 G_M49041_IG23: - mov rdx, bword ptr [rbp-0xC0] mov ecx, r12d mov rdi, rbx mov rsi, gword ptr [rbp-0x90] mov r8d, dword ptr [rbp-0x2C] - mov rax, 0xD1FFAB1E ; code for System.Reflection.MethodBaseInvoker:InvokeDirectByRefWithFewArgs(System.Object,System.Span`1[System.Object],int):System.Object:this - call [rax]System.Reflection.MethodBaseInvoker:InvokeDirectByRefWithFewArgs(System.Object,System.Span`1[System.Object],int):System.Object:this + mov r10, 0xD1FFAB1E ; code for System.Reflection.MethodBaseInvoker:InvokeDirectByRefWithFewArgs(System.Object,System.Span`1[System.Object],int):System.Object:this + call [r10]System.Reflection.MethodBaseInvoker:InvokeDirectByRefWithFewArgs(System.Object,System.Span`1[System.Object],int):System.Object:this mov r14, rax - ;; size=39 bbWeight=0.50 PerfScore 3.50 + ;; size=33 bbWeight=0.50 PerfScore 3.00 G_M49041_IG24: mov r13, bword ptr [rbp-0xC0] mov rax, bword ptr [rbp-0xC8] mov bword ptr [rbp-0xD8], rax mov ecx, dword ptr [rbp-0x74] mov dword ptr [rbp-0x7C], ecx xor edx, edx mov r10d, dword ptr [r15+0x08] mov esi, r10d mov dword ptr [rbp-0x80], esi test esi, esi jle SHORT G_M49041_IG29 ;; size=43 bbWeight=1 PerfScore 9.75 G_M49041_IG25: cmp edx, ecx jae G_M49041_IG31 mov r8d, edx cmp byte ptr [rax+r8], 0 je SHORT G_M49041_IG28 ;; size=18 bbWeight=4 PerfScore 22.00 G_M49041_IG26: mov rdi, gword ptr [rbx+0x20] cmp edx, dword ptr [rdi+0x08] jae SHORT G_M49041_IG31 test byte ptr [rdi+4*r8+0x10], 4 je SHORT G_M49041_IG27 mov dword ptr [rbp-0x6C], edx cmp edx, r12d jae SHORT G_M49041_IG31 mov rdi, gword ptr [r13+8*r8] call System.RuntimeMethodHandle:ReboxFromNullable(System.Object):System.Object mov rdx, rax movsxd rsi, dword ptr [rbp-0x6C] mov rdi, r15 call CORINFO_HELP_ARRADDR_ST mov edx, dword ptr [rbp-0x6C] jmp SHORT G_M49041_IG28 ;; size=55 bbWeight=2 PerfScore 45.50 G_M49041_IG27: mov dword ptr [rbp-0x6C], edx cmp edx, r12d jae SHORT G_M49041_IG31 mov rdx, gword ptr [r13+8*r8] movsxd rsi, dword ptr [rbp-0x6C] mov rdi, r15 call CORINFO_HELP_ARRADDR_ST mov edx, dword ptr [rbp-0x6C] ;; size=28 bbWeight=2 PerfScore 19.00 G_M49041_IG28: inc edx mov esi, dword ptr [rbp-0x80] cmp esi, edx mov dword ptr [rbp-0x80], esi mov rax, bword ptr [rbp-0xD8] mov ecx, dword ptr [rbp-0x7C] jg SHORT G_M49041_IG25 ;; size=22 bbWeight=4 PerfScore 22.00 G_M49041_IG29: mov rax, r14 ;; size=3 bbWeight=1 PerfScore 0.25 G_M49041_IG30: add rsp, 184 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=1 PerfScore 4.25 G_M49041_IG31: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 G_M49041_IG32: push rbp push r15 push r14 push r13 push r12 push rbx push rax mov rbp, qword ptr [rdi] mov qword ptr [rsp], rbp lea rbp, [rbp+0xE0] ;; size=25 bbWeight=0 PerfScore 0.00 G_M49041_IG33: mov rdi, 0xD1FFAB1E ; System.Exception call CORINFO_HELP_ISINSTANCEOFCLASS mov rsi, rax test rsi, rsi jne SHORT G_M49041_IG34 xor eax, eax jmp SHORT G_M49041_IG35 ;; size=27 bbWeight=0 PerfScore 0.00 G_M49041_IG34: mov gword ptr [rbp-0x98], rsi xor eax, eax test dword ptr [rbp-0x2C], 0xD1FFAB1E sete al ;; size=19 bbWeight=0 PerfScore 0.00 G_M49041_IG35: add rsp, 8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=0 PerfScore 0.00 G_M49041_IG36: push rbp push r15 push r14 push r13 push r12 push rbx push rax mov rbp, qword ptr [rdi] mov qword ptr [rsp], rbp lea rbp, [rbp+0xE0] ;; size=25 bbWeight=0 PerfScore 0.00 G_M49041_IG37: mov rdi, 0xD1FFAB1E ; System.Reflection.TargetInvocationException call CORINFO_HELP_NEWSFAST mov rbx, rax mov rdi, rbx mov rsi, gword ptr [rbp-0x98] mov rax, 0xD1FFAB1E ; code for System.Reflection.TargetInvocationException:.ctor(System.Exception):this call [rax]System.Reflection.TargetInvocationException:.ctor(System.Exception):this mov rdi, rbx call CORINFO_HELP_THROW int3 ;; size=49 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1222, prolog size 86, PerfScore 516.33, instruction count 305, allocated bytes for code 1222 (MethodHash=09e3406e) for method System.Reflection.MethodBaseInvoker:InvokeWithFewArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts) +; Total bytes of code 1209, prolog size 86, PerfScore 509.83, instruction count 302, allocated bytes for code 1209 (MethodHash=09e3406e) for method System.Reflection.MethodBaseInvoker:InvokeWithFewArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts) ```
-10 (-1.46 % of base) - System.Reflection.ConstructorInvoker:InvokeWithFewArgs(System.Span`1[System.Object]):System.Object:this ```diff ; Assembly listing for method System.Reflection.ConstructorInvoker:InvokeWithFewArgs(System.Span`1[System.Object]):System.Object:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T04] ( 16, 20 ) ref -> rbx this class-hnd single-def ;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def ; V02 loc0 [V02 ] ( 2, 2 ) struct (40) [rbp-0x50] do-not-enreg[XS] must-init addr-exposed ld-addr-op ;* V03 loc1 [V03 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op ;* V04 loc2 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ; V05 loc3 [V05,T35] ( 2, 1 ) ref -> [rbp-0x80] class-hnd spill-single-def ; V06 loc4 [V06,T00] ( 10, 35 ) int -> [rbp-0x54] ; V07 loc5 [V07 ] ( 5, 36 ) ref -> [rbp-0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd ;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V09 tmp1 [V09,T07] ( 2, 16 ) byref -> [rbp-0x88] spill-single-def "impAppendStmt" ; V10 tmp2 [V10,T25] ( 2, 4 ) int -> r13 "Inlining Arg" ;* V11 tmp3 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V12 tmp4 [V12,T26] ( 2, 4 ) int -> rax "Inlining Arg" ;* V13 tmp5 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V14 tmp6 [V14,T08] ( 3, 14 ) ubyte -> rax "Inline return value spill temp" ; V15 tmp7 [V15,T01] ( 3, 28 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "Inline stloc first use temp" ;* V16 tmp8 [V16 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ; V17 tmp9 [V17,T17] ( 5, 5 ) byref -> [rbp-0x98] spill-single-def "Inlining Arg" ; V18 tmp10 [V18,T28] ( 2, 2 ) byref -> [rbp-0xA0] spill-single-def "Inlining Arg" ; V19 tmp11 [V19,T29] ( 2, 2 ) ref -> rdi class-hnd exact single-def "Inlining Arg" ; V20 tmp12 [V20,T02] ( 9, 26.50) int -> [rbp-0x64] "Inline stloc first use temp" ;* V21 tmp13 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V22 tmp14 [V22 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V23 tmp15 [V23 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V24 tmp16 [V24 ] ( 0, 0 ) byref -> zero-ref "non-inline candidate call" ; V25 tmp17 [V25,T11] ( 3, 5.50) byref -> r15 single-def "field V01._reference (fldOffset=0x0)" P-INDEP ; V26 tmp18 [V26,T12] ( 3, 5.50) int -> r14 single-def "field V01._length (fldOffset=0x8)" P-INDEP ; V27 tmp19 [V27,T13] ( 5, 6.50) byref -> r12 single-def "field V03._reference (fldOffset=0x0)" P-INDEP ; V28 tmp20 [V28,T14] ( 5, 6.50) int -> r13 "field V03._length (fldOffset=0x8)" P-INDEP ; V29 tmp21 [V29,T15] ( 3, 5.50) byref -> [rbp-0xA8] spill-single-def "field V04._reference (fldOffset=0x0)" P-INDEP ; V30 tmp22 [V30,T16] ( 3, 5.50) int -> [rbp-0x68] spill-single-def "field V04._length (fldOffset=0x8)" P-INDEP ; V31 tmp23 [V31,T30] ( 2, 2 ) byref -> r12 single-def "field V11._reference (fldOffset=0x0)" P-INDEP ; V32 tmp24 [V32,T32] ( 2, 2 ) int -> r13 "field V11._length (fldOffset=0x8)" P-INDEP ; V33 tmp25 [V33,T31] ( 2, 2 ) byref -> rcx single-def "field V13._reference (fldOffset=0x0)" P-INDEP ; V34 tmp26 [V34,T33] ( 2, 2 ) int -> rax "field V13._length (fldOffset=0x8)" P-INDEP ; V35 tmp27 [V35,T19] ( 3, 4.50) byref -> r15 single-def "field V21._reference (fldOffset=0x0)" P-INDEP ; V36 tmp28 [V36,T18] ( 3, 5 ) int -> r14 "field V21._length (fldOffset=0x8)" P-INDEP ; V37 tmp29 [V37,T22] ( 2, 4.50) byref -> [rbp-0xB0] spill-single-def "field V22._reference (fldOffset=0x0)" P-INDEP ; V38 tmp30 [V38,T23] ( 2, 4.50) int -> [rbp-0x6C] spill-single-def "field V22._length (fldOffset=0x8)" P-INDEP ; V39 tmp31 [V39,T20] ( 3, 4.50) byref -> r12 single-def "field V23._reference (fldOffset=0x0)" P-INDEP ; V40 tmp32 [V40,T21] ( 3, 4.50) int -> r13 "field V23._length (fldOffset=0x8)" P-INDEP ; V41 tmp33 [V41,T03] ( 3, 24 ) ref -> rdi "arr expr" ; V42 tmp34 [V42,T09] ( 3, 12 ) ref -> rdi "arr expr" ; V43 tmp35 [V43,T10] ( 3, 12 ) ref -> rdi "arr expr" ; V44 cse0 [V44,T24] ( 4, 4 ) int -> rdi "CSE - moderate" ; V45 cse1 [V45,T34] ( 3, 1.50) int -> rsi "CSE - moderate" ; V46 cse2 [V46,T05] ( 6, 22 ) long -> [rbp-0x78] spill-single-def "CSE - aggressive" ; V47 cse3 [V47,T06] ( 7, 18 ) long -> r8 "CSE - aggressive" ; V48 rat0 [V48,T27] ( 3, 3 ) ref -> rax "delegate invoke call" ; TEMP_01 byref -> [rbp-0xB8] ; ; Lcl frame size = 152 G_M42398_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 152 lea rbp, [rsp+0xC0] xor eax, eax mov qword ptr [rbp-0xB8], rax vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0xB0], ymm8 vmovdqu ymmword ptr [rbp-0x90], ymm8 vmovdqu ymmword ptr [rbp-0x70], ymm8 vmovdqu ymmword ptr [rbp-0x50], ymm8 mov qword ptr [rbp-0x30], rax mov rbx, rdi mov r15, rsi mov r14d, edx ;; size=78 bbWeight=1 PerfScore 18.08 G_M42398_IG02: mov edi, dword ptr [rbx+0x44] mov r13d, edi lea r12, bword ptr [rbp-0x50] mov eax, edi lea rcx, bword ptr [rbp-0x30] mov bword ptr [rbp-0xA8], rcx mov dword ptr [rbp-0x68], eax xor edx, edx test edi, edi jle G_M42398_IG06 ;; size=36 bbWeight=1 PerfScore 7.00 G_M42398_IG03: cmp edx, r14d jae G_M42398_IG25 mov esi, edx mov qword ptr [rbp-0x78], rsi mov rdi, gword ptr [r15+8*rsi] mov gword ptr [rbp-0x60], rdi cmp edx, eax jae G_M42398_IG25 lea r8, bword ptr [rcx+rsi] mov bword ptr [rbp-0x88], r8 mov rdi, gword ptr [rbx+0x28] cmp edx, dword ptr [rdi+0x08] jae G_M42398_IG25 mov r9, gword ptr [rdi+8*rsi+0x10] mov gword ptr [rbp-0x90], r9 cmp gword ptr [rbp-0x60], 0 jne SHORT G_M42398_IG07 ;; size=74 bbWeight=4 PerfScore 81.00 G_M42398_IG04: mov rdi, gword ptr [rbx+0x30] mov dword ptr [rbp-0x54], edx cmp edx, dword ptr [rdi+0x08] jae G_M42398_IG25 test byte ptr [rdi+4*rsi+0x10], 2 mov rdi, gword ptr [rbp-0x90] je SHORT G_M42398_IG08 ;; size=30 bbWeight=2 PerfScore 24.00 G_M42398_IG05: lea rsi, [rbp-0x60] mov rax, 0xD1FFAB1E ; code for System.RuntimeType:CheckValue(byref):ubyte:this cmp dword ptr [rdi], edi call [rax]System.RuntimeType:CheckValue(byref):ubyte:this jmp SHORT G_M42398_IG09 ;; size=20 bbWeight=8 PerfScore 70.00 G_M42398_IG06: jmp SHORT G_M42398_IG10 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M42398_IG07: mov dword ptr [rbp-0x54], edx mov rdi, gword ptr [rbp-0x60] call System.Object:GetType():System.Type:this mov rdi, gword ptr [rbp-0x90] cmp rax, rdi jne SHORT G_M42398_IG05 ;; size=24 bbWeight=16 PerfScore 84.00 G_M42398_IG08: xor eax, eax ;; size=2 bbWeight=2 PerfScore 0.50 G_M42398_IG09: - mov rdi, bword ptr [rbp-0x88] - mov byte ptr [rdi], al - mov eax, dword ptr [rbp-0x54] - cmp eax, r13d + mov rdx, bword ptr [rbp-0x88] + mov byte ptr [rdx], al + mov edx, dword ptr [rbp-0x54] + cmp edx, r13d jae G_M42398_IG25 + mov rcx, gword ptr [rbp-0x60] mov rsi, qword ptr [rbp-0x78] - lea rdi, bword ptr [r12+8*rsi] - mov rsi, gword ptr [rbp-0x60] - call CORINFO_HELP_CHECKED_ASSIGN_REF - mov eax, dword ptr [rbp-0x54] - inc eax - cmp eax, dword ptr [rbx+0x44] - mov edx, eax + mov gword ptr [r12+8*rsi], rcx + inc edx + cmp edx, dword ptr [rbx+0x44] jl SHORT G_M42398_IG13 - ;; size=50 bbWeight=4 PerfScore 53.00 + ;; size=40 bbWeight=4 PerfScore 46.00 G_M42398_IG10: cmp gword ptr [rbx+0x10], 0 je SHORT G_M42398_IG14 ;; size=7 bbWeight=1 PerfScore 4.00 G_M42398_IG11: mov rdx, r12 mov ecx, r13d mov rax, gword ptr [rbx+0x10] xor rsi, rsi mov rdi, gword ptr [rax+0x08] call [rax+0x18]System.Reflection.InvokerEmitUtil+InvokeFunc_ObjSpanArgs:Invoke(System.Object,System.Span`1[System.Object]):System.Object:this nop ;; size=20 bbWeight=0.50 PerfScore 4.00 G_M42398_IG12: add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=0.50 PerfScore 2.12 G_M42398_IG13: mov eax, dword ptr [rbp-0x68] mov rcx, bword ptr [rbp-0xA8] jmp G_M42398_IG03 ;; size=15 bbWeight=2 PerfScore 8.00 G_M42398_IG14: test byte ptr [rbx+0x40], 2 jne SHORT G_M42398_IG18 lea rax, bword ptr [rbx+0x40] mov bword ptr [rbp-0x98], rax lea rcx, bword ptr [rbx+0x10] mov bword ptr [rbp-0xA0], rcx mov rdi, gword ptr [rbx+0x38] cmp byte ptr [rbx+0x4C], 0 jne SHORT G_M42398_IG16 mov esi, dword ptr [rax] test sil, 1 jne SHORT G_M42398_IG15 or esi, 1 mov dword ptr [rax], esi jmp SHORT G_M42398_IG17 ;; size=53 bbWeight=0.50 PerfScore 9.75 G_M42398_IG15: xor esi, esi mov rdx, 0xD1FFAB1E ; code for System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_ObjSpanArgs(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_ObjSpanArgs call [rdx]System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_ObjSpanArgs(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_ObjSpanArgs mov rdi, bword ptr [rbp-0xA0] mov rsi, rax - call CORINFO_HELP_CHECKED_ASSIGN_REF + call CORINFO_HELP_ASSIGN_REF mov rax, bword ptr [rbp-0x98] ;; size=36 bbWeight=0.50 PerfScore 3.38 G_M42398_IG16: or dword ptr [rax], 2 ;; size=3 bbWeight=0.50 PerfScore 1.50 G_M42398_IG17: cmp gword ptr [rbx+0x10], 0 jne G_M42398_IG11 ;; size=11 bbWeight=0.50 PerfScore 2.00 G_M42398_IG18: mov rsi, r12 mov edx, r13d mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Reflection.ConstructorInvoker:InvokeDirectByRefWithFewArgs(System.Span`1[System.Object]):System.Object:this call [rax]System.Reflection.ConstructorInvoker:InvokeDirectByRefWithFewArgs(System.Span`1[System.Object]):System.Object:this mov gword ptr [rbp-0x80], rax mov rcx, bword ptr [rbp-0xA8] mov bword ptr [rbp-0xB0], rcx mov edx, dword ptr [rbp-0x68] mov dword ptr [rbp-0x6C], edx xor esi, esi test r14d, r14d jle G_M42398_IG23 ;; size=56 bbWeight=0.50 PerfScore 5.25 G_M42398_IG19: cmp esi, edx jae G_M42398_IG25 mov r8d, esi cmp byte ptr [rcx+r8], 0 je SHORT G_M42398_IG22 ;; size=18 bbWeight=4 PerfScore 22.00 G_M42398_IG20: mov rdi, gword ptr [rbx+0x30] cmp esi, dword ptr [rdi+0x08] jae SHORT G_M42398_IG25 test byte ptr [rdi+4*r8+0x10], 4 je SHORT G_M42398_IG21 lea rdi, bword ptr [r15+8*r8] mov bword ptr [rbp-0xB8], rdi mov dword ptr [rbp-0x64], esi cmp esi, r13d jae SHORT G_M42398_IG25 mov rdi, gword ptr [r12+8*r8] call System.RuntimeMethodHandle:ReboxFromNullable(System.Object):System.Object mov rdi, bword ptr [rbp-0xB8] mov rsi, rax call CORINFO_HELP_CHECKED_ASSIGN_REF mov esi, dword ptr [rbp-0x64] jmp SHORT G_M42398_IG22 ;; size=65 bbWeight=2 PerfScore 44.00 G_M42398_IG21: lea rdi, bword ptr [r15+8*r8] mov dword ptr [rbp-0x64], esi cmp esi, r13d jae SHORT G_M42398_IG25 mov rsi, gword ptr [r12+8*r8] call CORINFO_HELP_CHECKED_ASSIGN_REF mov esi, dword ptr [rbp-0x64] ;; size=24 bbWeight=2 PerfScore 13.50 G_M42398_IG22: inc esi cmp esi, r14d mov rcx, bword ptr [rbp-0xB0] mov edx, dword ptr [rbp-0x6C] jl SHORT G_M42398_IG19 ;; size=17 bbWeight=4 PerfScore 14.00 G_M42398_IG23: mov rax, gword ptr [rbp-0x80] ;; size=4 bbWeight=0.50 PerfScore 0.50 G_M42398_IG24: add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=0.50 PerfScore 2.12 G_M42398_IG25: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 687, prolog size 78, PerfScore 474.71, instruction count 183, allocated bytes for code 687 (MethodHash=abfa5a61) for method System.Reflection.ConstructorInvoker:InvokeWithFewArgs(System.Span`1[System.Object]):System.Object:this (FullOpts) +; Total bytes of code 677, prolog size 78, PerfScore 467.71, instruction count 180, allocated bytes for code 677 (MethodHash=abfa5a61) for method System.Reflection.ConstructorInvoker:InvokeWithFewArgs(System.Span`1[System.Object]):System.Object:this (FullOpts) ```

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

MihuBot commented 9 months ago

@EgorBo