Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

Open
MihuBot opened this issue Feb 5, 2024 · 2 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Feb 5, 2024

Build completed in 2 hours 2 minutes.
dotnet/runtime#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
Copy link
Owner Author

MihuBot commented Feb 5, 2024

Top method improvements

-19 (-2.09 % of base) - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly
 ; 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 <System.ResolveEventHandler>
 ;  V01 arg1         [V01,T29] (  3,  2.50)     ref  ->  r14         class-hnd single-def <System.Reflection.RuntimeAssembly>
 ;  V02 arg2         [V02,T09] (  5,  6.50)     ref  ->  [rbp-0x78]  class-hnd single-def <System.String>
 ;  V03 loc0         [V03,T33] (  2,  2.50)     ref  ->  [rbp-0x80]  class-hnd exact single-def <System.ResolveEventArgs>
 ;  V04 loc1         [V04    ] (  8, 19.50)  struct (24) [rbp-0x40]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Delegate+InvocationListEnumerator`1[System.ResolveEventHandler]>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Delegate+InvocationListEnumerator`1[System.ResolveEventHandler]>
 ;  V06 loc3         [V06,T10] (  4,  8   )     ref  ->  r14         class-hnd exact <System.ResolveEventHandler>
 ;  V07 loc4         [V07,T04] (  7, 14   )     ref  ->  [rbp-0x88]  class-hnd spill-single-def <System.Reflection.Assembly>
 ;  V08 loc5         [V08,T30] (  3,  4.50)     ref  ->  rax         class-hnd exact <System.Reflection.RuntimeAssembly>
 ;# 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" <System.ResolveEventArgs>
 ;* 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" <System.Delegate+InvocationListEnumerator`1[System.ResolveEventHandler]>
 ;  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" <System.ResolveEventHandler>
 ;* 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" <System.MulticastDelegate>
 ;  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" <System.ResolveEventHandler>
 ;* V51 tmp42        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.ResolveEventHandler>
 ;  V52 tmp43        [V52,T02] (  4, 20   )     ref  ->  rdx         class-hnd "Inline return value spill temp" <System.Object>
 ;  V53 tmp44        [V53,T17] (  4,  8   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Object[]>
 ;* 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:<TraceAssemblyResolveHandlerInvoked>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:<TraceAssemblyResolveHandlerInvoked>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
 ; 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 <System.Reflection.MethodBaseInvoker>
 ;  V01 arg1         [V01,T23] (  4,  3   )     ref  ->  [rbp-0x90]  class-hnd single-def <System.Object>
 ;  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 <System.Reflection.Binder>
 ;  V04 arg4         [V04,T10] (  8,  9   )     ref  ->  r15         class-hnd single-def <System.Object[]>
 ;  V05 arg5         [V05,T21] (  3,  4   )     ref  ->  r13         class-hnd single-def <System.Globalization.CultureInfo>
 ;  V06 loc0         [V06    ] (  2,  2   )  struct (40) [rbp-0x58]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Reflection.MethodBase+StackAllocatedArgumentsWithCopyBack>
 ;* V07 loc1         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.Span`1[System.Object]>
 ;* V08 loc2         [V08    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ubyte]>
 ;  V09 loc3         [V09,T37] (  3,  2   )     ref  ->  r14         class-hnd <System.Object>
 ;  V10 loc4         [V10,T54] (  2,  0   )     ref  ->  [rbp-0x98]  must-init class-hnd EH-live single-def <System.Exception>
 ;# 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" <System.ReadOnlySpan`1[System.Object]>
 ;  V13 tmp2         [V13,T55] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;  V14 tmp3         [V14,T51] (  3,  0   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Exception>
 ;* 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" <System.Object>
 ;  V18 tmp7         [V18,T52] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Reflection.TargetInvocationException>
 ;  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" <System.Span`1[System.Object]>
 ;  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" <System.Span`1[ubyte]>
 ;* 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" <System.Reflection.MethodBase>
 ;* V27 tmp16        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
 ;  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" <System.ReadOnlySpan`1[System.Object]>
 ;  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" <System.Object>
 ;  V31 tmp20        [V31,T05] (  6, 14   )     ref  ->  [rbp-0xB0]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.RuntimeType>
 ;* V32 tmp21        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Object]>
 ;* V33 tmp22        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* 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" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
 ;* V37 tmp26        [V37    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
 ;* 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" <System.RuntimeType>
 ;* 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" <System.RuntimeType>
 ;  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" <System.Span`1[ubyte]>
 ;* V45 tmp34        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Object]>
 ;  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
 ; 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 <System.Reflection.ConstructorInvoker>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[System.Object]>
 ;  V02 loc0         [V02    ] (  2,  2   )  struct (40) [rbp-0x50]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Reflection.MethodBase+StackAllocatedArgumentsWithCopyBack>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.Span`1[System.Object]>
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;  V05 loc3         [V05,T35] (  2,  1   )     ref  ->  [rbp-0x80]  class-hnd spill-single-def <System.Object>
 ;  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 <System.Object>
 ;# 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" <System.Span`1[System.Object]>
 ;  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" <System.Span`1[ubyte]>
 ;  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" <System.RuntimeType>
 ;* 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" <System.Reflection.RuntimeConstructorInfo>
 ;  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" <System.Span`1[System.Object]>
 ;* V22 tmp14        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V23 tmp15        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Object]>
 ;* 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
Copy link
Owner Author

MihuBot commented Feb 5, 2024

@EgorBo

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

No branches or pull requests

1 participant