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

[JitDiff X64] [hez2010] JIT: Devirtualization and inlining for GVM #1004

Open
MihuBot opened this issue Feb 15, 2025 · 3 comments
Open

[JitDiff X64] [hez2010] JIT: Devirtualization and inlining for GVM #1004

MihuBot opened this issue Feb 15, 2025 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Feb 15, 2025

Job completed in 16 minutes 57 seconds (remote runner delay: 1 minute 26 seconds).
dotnet/runtime#112353

Diffs

Diffs
Found 108 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 43737188
Total bytes of diff: 43771693
Total bytes of delta: 34505 (0.08 % of base)
Total relative delta: 370.62
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
       16503 : System.Linq.Parallel.dasm (0.73 % of base)
        8968 : System.Collections.Immutable.dasm (0.48 % of base)
        7465 : Microsoft.Extensions.Logging.Abstractions.dasm (10.88 % of base)
        2321 : Microsoft.Extensions.Hosting.dasm (3.38 % of base)
        2087 : System.Data.Common.dasm (0.13 % of base)
         982 : Microsoft.Extensions.Logging.dasm (2.81 % of base)
         889 : Yarp.ReverseProxy.dasm (0.23 % of base)
         571 : Microsoft.Extensions.Caching.Memory.dasm (3.06 % of base)
         561 : MihuBot.dasm (0.05 % of base)
         438 : Microsoft.Extensions.Hosting.WindowsServices.dasm (7.00 % of base)
         431 : Microsoft.Extensions.Hosting.Systemd.dasm (12.41 % of base)
         137 : Microsoft.Extensions.Logging.Console.dasm (0.23 % of base)
          51 : System.ComponentModel.TypeConverter.dasm (0.02 % of base)
          34 : Microsoft.Extensions.Caching.Abstractions.dasm (0.10 % of base)

Top file improvements (bytes):
       -6645 : System.Linq.Queryable.dasm (-1.65 % of base)
        -146 : System.Text.Json.dasm (-0.01 % of base)
        -124 : System.Security.Cryptography.Pkcs.dasm (-0.03 % of base)
         -18 : Microsoft.Extensions.Options.dasm (-0.06 % of base)

18 total files with Code Size differences (4 improved, 14 regressed), 245 unchanged.

Top method regressions (bytes):
         419 (128.92 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.ConsoleLifetime:OnApplicationStarted():this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[System.__Canon,double]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[System.__Canon,int]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[System.__Canon,long]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[System.__Canon,short]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.__Canon]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Numerics.Vector`1[float]]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[ubyte](System.Linq.Parallel.PartitionedStream`2[System.__Canon,ubyte]):this (FullOpts)
         356 (32.16 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:OvercapacityCompaction():this (FullOpts)
         288 (14.88 % of base) : Yarp.ReverseProxy.dasm - Yarp.ReverseProxy.Forwarder.HttpForwarder:FixupUpgradeResponseHeaders(Microsoft.AspNetCore.Http.HttpContext,System.Net.Http.HttpResponseMessage,ubyte):int:this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[double,System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[int,System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[long,System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[short,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[short,System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Nullable`1[int],System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[ubyte,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[ubyte,System.__Canon]):this (FullOpts)
         239 (217.27 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]:<Define>b__1(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Nullable`1[int],System.Exception):this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[double]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],double]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[int]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],int]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[long]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],long]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[short]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],short]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[System.__Canon]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],System.__Canon]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[System.Nullable`1[int]]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[System.Numerics.Vector`1[float]]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],System.Numerics.Vector`1[float]]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[ubyte]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],ubyte]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[double]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,double]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[int]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,int]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[long]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,long]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[short]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,short]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[System.__Canon]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,System.__Canon]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[System.Nullable`1[int]]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[System.Numerics.Vector`1[float]]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,System.Numerics.Vector`1[float]]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[ubyte]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,ubyte]:this (FullOpts)
         229 (4.31 % of base) : MihuBot.dasm - MihuBot.Startup:ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection):this (FullOpts)
         226 (251.11 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[System.__Canon]:<Define>b__1(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Exception):this (FullOpts)
         225 (206.42 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.ConsoleLifetime:OnApplicationStopping():this (FullOpts)
         225 (206.42 % of base) : Microsoft.Extensions.Hosting.WindowsServices.dasm - Microsoft.Extensions.Hosting.WindowsServices.WindowsServiceLifetime:<WaitForStartAsync>b__16_2():this (FullOpts)
         218 (138.85 % of base) : Microsoft.Extensions.Hosting.Systemd.dasm - Microsoft.Extensions.Hosting.Systemd.SystemdLifetime:OnApplicationStopping():this (FullOpts)
         216 (744.83 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:Log(Microsoft.Extensions.Logging.ILogger,int,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         215 (90.72 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:TriggerOvercapacityCompaction():this (FullOpts)
         214 (86.64 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.HostingLoggerExtensions:ApplicationError(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Exception) (FullOpts)
         213 (113.90 % of base) : Microsoft.Extensions.Hosting.Systemd.dasm - Microsoft.Extensions.Hosting.Systemd.SystemdLifetime:OnApplicationStarted():this (FullOpts)
         213 (139.22 % of base) : Microsoft.Extensions.Hosting.WindowsServices.dasm - Microsoft.Extensions.Hosting.WindowsServices.WindowsServiceLifetime:<WaitForStartAsync>b__16_1():this (FullOpts)
         212 (65.43 % of base) : Yarp.ReverseProxy.dasm - Yarp.ReverseProxy.Forwarder.StreamCopyHttpContent:DisableMinRequestBodyDataRateAndMaxRequestBodySize(Microsoft.AspNetCore.Http.HttpContext):this (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogCritical(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogDebug(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogError(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogInformation(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (480.95 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogTrace(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogWarning(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (43.91 % of base) : Yarp.ReverseProxy.dasm - Yarp.ReverseProxy.Forwarder.HttpForwarder:HandleRequestBodyFailure(Microsoft.AspNetCore.Http.HttpContext,int,System.Exception,System.Exception,ubyte):int:this (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogCritical(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogDebug(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogError(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogInformation(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         201 (558.33 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogTrace(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogWarning(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         197 (505.13 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:Log(Microsoft.Extensions.Logging.ILogger,int,System.Exception,System.String,System.Object[]) (FullOpts)
         196 (593.94 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:Log(Microsoft.Extensions.Logging.ILogger,int,System.String,System.Object[]) (FullOpts)
         194 (33.56 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.Logger:BeginScope[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):System.IDisposable:this (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogCritical(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogDebug(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogError(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogInformation(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         193 (551.43 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogTrace(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogWarning(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         187 (90.34 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.HostingLoggerExtensions:Started(Microsoft.Extensions.Logging.ILogger) (FullOpts)
         187 (90.34 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.HostingLoggerExtensions:Starting(Microsoft.Extensions.Logging.ILogger) (FullOpts)
         187 (90.34 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.HostingLoggerExtensions:Stopped(Microsoft.Extensions.Logging.ILogger) (FullOpts)
         187 (90.34 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.HostingLoggerExtensions:Stopping(Microsoft.Extensions.Logging.ILogger) (FullOpts)
         181 (82.27 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.HostingLoggerExtensions:BackgroundServiceFaulted(Microsoft.Extensions.Logging.ILogger,System.Exception) (FullOpts)
         181 (82.27 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.HostingLoggerExtensions:HostedServiceStartupFaulted(Microsoft.Extensions.Logging.ILogger,System.Exception) (FullOpts)
         181 (82.27 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.HostingLoggerExtensions:StoppedWithException(Microsoft.Extensions.Logging.ILogger,System.Exception) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogCritical(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogDebug(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogError(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogInformation(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         180 (514.29 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogTrace(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogWarning(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[double,double]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[double,int]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[double,long]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[double,short]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[double,System.Numerics.Vector`1[float]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[ubyte](System.Linq.Parallel.PartitionedStream`2[double,ubyte]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[int,double]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[int,int]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[int,long]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[int,short]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[int,System.Numerics.Vector`1[float]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[ubyte](System.Linq.Parallel.PartitionedStream`2[int,ubyte]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[long,double]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[long,int]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[long,long]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[long,short]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]]):this (FullOpts)

Top method improvements (bytes):
         -44 (-6.60 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+RSACmsSignature:SignCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.AsymmetricAlgorithm,ubyte,System.Security.Cryptography.RSASignaturePadding,byref):ubyte (FullOpts)
         -40 (-3.98 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+DSACmsSignature:Sign(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.AsymmetricAlgorithm,ubyte,byref,byref,byref):ubyte:this (FullOpts)
         -40 (-3.02 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+ECDsaCmsSignature:Sign(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.AsymmetricAlgorithm,ubyte,byref,byref,byref):ubyte:this (FullOpts)
         -23 (-10.04 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[double]():double:this (FullOpts)
         -23 (-10.13 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[int]():int:this (FullOpts)
         -23 (-10.09 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[long]():long:this (FullOpts)
         -23 (-10.04 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[short]():short:this (FullOpts)
         -23 (-10.09 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[System.Nullable`1[int]]():System.Nullable`1[int]:this (FullOpts)
         -23 (-9.20 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[System.Numerics.Vector`1[float]]():System.Numerics.Vector`1[float]:this (FullOpts)
         -23 (-10.09 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[ubyte]():ubyte:this (FullOpts)
         -18 (-3.11 % of base) : Microsoft.Extensions.Options.dasm - Microsoft.Extensions.DependencyInjection.OptionsBuilderExtensions:ValidateOnStart[System.__Canon](Microsoft.Extensions.Options.OptionsBuilder`1[System.__Canon]):Microsoft.Extensions.Options.OptionsBuilder`1[System.__Canon] (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[double](System.Data.Common.DbDataReader,System.String):double (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[int](System.Data.Common.DbDataReader,System.String):int (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[long](System.Data.Common.DbDataReader,System.String):long (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[short](System.Data.Common.DbDataReader,System.String):short (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[System.Nullable`1[int]](System.Data.Common.DbDataReader,System.String):System.Nullable`1[int] (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[ubyte](System.Data.Common.DbDataReader,System.String):ubyte (FullOpts)
         -16 (-5.26 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[System.__Canon]():System.__Canon:this (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[double,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[double],System.Func`2[double,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[double] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[int,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[int],System.Func`2[int,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[int] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[long,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[long],System.Func`2[long,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[long] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[short,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[short],System.Func`2[short,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[short] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[System.Nullable`1[int]],System.Func`2[System.Nullable`1[int],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[System.Nullable`1[int]] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[System.Numerics.Vector`1[float]] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[ubyte,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[ubyte],System.Func`2[ubyte,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[ubyte] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[double,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[double],System.Func`2[double,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[double] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[int,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[int],System.Func`2[int,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[int] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[long,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[long],System.Func`2[long,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[long] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[short,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[short],System.Func`2[short,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[short] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[System.Nullable`1[int]],System.Func`2[System.Nullable`1[int],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[System.Nullable`1[int]] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[System.Numerics.Vector`1[float]] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[ubyte,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[ubyte],System.Func`2[ubyte,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[ubyte] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`3[double,double,double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`3[int,int,int]]):int (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`3[long,long,long]]):long (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`3[short,short,short]]):short (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`3[System.Nullable`1[int],System.Nullable`1[int],System.Nullable`1[int]]]):System.Nullable`1[int] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[ubyte](System.Linq.IQueryable`1[ubyte],System.Linq.Expressions.Expression`1[System.Func`3[ubyte,ubyte,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Linq.Expressions.Expression`1[System.Func`2[System.Numerics.Vector`1[float],ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[ubyte](System.Linq.IQueryable`1[ubyte],System.Linq.Expressions.Expression`1[System.Func`2[ubyte,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Linq.Expressions.Expression`1[System.Func`2[System.Numerics.Vector`1[float],ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[ubyte](System.Linq.IQueryable`1[ubyte],System.Linq.Expressions.Expression`1[System.Func`2[ubyte,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,float]]):float (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,int]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,long]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Decimal]]):System.Decimal (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Nullable`1[double]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Nullable`1[float]]]):System.Nullable`1[float] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Nullable`1[int]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Nullable`1[long]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,float]]):float (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,int]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,long]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Decimal]]):System.Decimal (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Nullable`1[double]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Nullable`1[float]]]):System.Nullable`1[float] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Nullable`1[int]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Nullable`1[long]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,float]]):float (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,int]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,long]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,System.Decimal]]):System.Decimal (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,System.Nullable`1[double]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,System.Nullable`1[float]]]):System.Nullable`1[float] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,System.Nullable`1[int]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,System.Nullable`1[long]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,float]]):float (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,int]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,long]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,System.Decimal]]):System.Decimal (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,System.Nullable`1[double]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,System.Nullable`1[float]]]):System.Nullable`1[float] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,System.Nullable`1[int]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,System.Nullable`1[long]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],float]]):float (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],int]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],long]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],System.Decimal]]):System.Decimal (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],System.Nullable`1[double]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],System.Nullable`1[float]]]):System.Nullable`1[float] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],System.Nullable`1[int]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],System.Nullable`1[long]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Linq.Expressions.Expression`1[System.Func`2[System.Numerics.Vector`1[float],double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Linq.Expressions.Expression`1[System.Func`2[System.Numerics.Vector`1[float],float]]):float (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Linq.Expressions.Expression`1[System.Func`2[System.Numerics.Vector`1[float],int]]):double (FullOpts)

Top method regressions (percentages):
         216 (744.83 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:Log(Microsoft.Extensions.Logging.ILogger,int,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         196 (593.94 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:Log(Microsoft.Extensions.Logging.ILogger,int,System.String,System.Object[]) (FullOpts)
         201 (558.33 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogTrace(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         193 (551.43 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogTrace(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogCritical(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogDebug(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogError(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogInformation(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         201 (515.38 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogWarning(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[]) (FullOpts)
         180 (514.29 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogTrace(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogCritical(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogDebug(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogError(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogInformation(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         193 (507.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogWarning(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[]) (FullOpts)
         197 (505.13 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:Log(Microsoft.Extensions.Logging.ILogger,int,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (480.95 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogTrace(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogCritical(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogDebug(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogError(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogInformation(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         180 (473.68 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogWarning(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]) (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogCritical(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogDebug(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogError(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogInformation(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         202 (448.89 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerExtensions:LogWarning(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[]) (FullOpts)
         226 (251.11 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[System.__Canon]:<Define>b__1(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Exception):this (FullOpts)
         239 (217.27 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]:<Define>b__1(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Nullable`1[int],System.Exception):this (FullOpts)
         225 (206.42 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.ConsoleLifetime:OnApplicationStopping():this (FullOpts)
         225 (206.42 % of base) : Microsoft.Extensions.Hosting.WindowsServices.dasm - Microsoft.Extensions.Hosting.WindowsServices.WindowsServiceLifetime:<WaitForStartAsync>b__16_2():this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[double]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],double]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[int]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],int]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[long]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],long]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[short]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],short]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[System.__Canon]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],System.__Canon]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[System.Nullable`1[int]]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[System.Numerics.Vector`1[float]]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],System.Numerics.Vector`1[float]]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetAlternateLookup[ubyte]():System.Collections.Frozen.FrozenDictionary`2+AlternateLookup`1[System.__Canon,System.Nullable`1[int],ubyte]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[double]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,double]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[int]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,int]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[long]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,long]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[short]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,short]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[System.__Canon]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,System.__Canon]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[System.Nullable`1[int]]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[System.Numerics.Vector`1[float]]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,System.Numerics.Vector`1[float]]:this (FullOpts)
         235 (188.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenSet`1[System.__Canon]:GetAlternateLookup[ubyte]():System.Collections.Frozen.FrozenSet`1+AlternateLookup`1[System.__Canon,ubyte]:this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[System.__Canon,double]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[System.__Canon,int]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[System.__Canon,long]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[System.__Canon,short]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.__Canon]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Numerics.Vector`1[float]]):this (FullOpts)
         389 (169.13 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[ubyte](System.Linq.Parallel.PartitionedStream`2[System.__Canon,ubyte]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[double,System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[int,System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[long,System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[short,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[short,System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Nullable`1[int],System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.__Canon]):this (FullOpts)
         269 (152.84 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[ubyte,System.Nullable`1[int]]:Receive[System.__Canon](System.Linq.Parallel.PartitionedStream`2[ubyte,System.__Canon]):this (FullOpts)
         213 (139.22 % of base) : Microsoft.Extensions.Hosting.WindowsServices.dasm - Microsoft.Extensions.Hosting.WindowsServices.WindowsServiceLifetime:<WaitForStartAsync>b__16_1():this (FullOpts)
         218 (138.85 % of base) : Microsoft.Extensions.Hosting.Systemd.dasm - Microsoft.Extensions.Hosting.Systemd.SystemdLifetime:OnApplicationStopping():this (FullOpts)
         419 (128.92 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.ConsoleLifetime:OnApplicationStarted():this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[double,double]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[double,int]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[double,long]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[double,short]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[double,System.Numerics.Vector`1[float]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[double,System.Nullable`1[int]]:Receive[ubyte](System.Linq.Parallel.PartitionedStream`2[double,ubyte]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[int,double]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[int,int]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[int,long]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[int,short]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[int,System.Numerics.Vector`1[float]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[int,System.Nullable`1[int]]:Receive[ubyte](System.Linq.Parallel.PartitionedStream`2[int,ubyte]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[long,double]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[long,int]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[long,long]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[long,short]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[long,System.Numerics.Vector`1[float]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[long,System.Nullable`1[int]]:Receive[ubyte](System.Linq.Parallel.PartitionedStream`2[long,ubyte]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[short,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[short,double]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[short,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[short,int]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[short,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[short,long]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[short,System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[short,short]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[short,System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[short,System.Nullable`1[int]]:Receive[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[short,System.Numerics.Vector`1[float]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[short,System.Nullable`1[int]]:Receive[ubyte](System.Linq.Parallel.PartitionedStream`2[short,ubyte]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Nullable`1[int],System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],double]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Nullable`1[int],System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],int]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Nullable`1[int],System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],long]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Nullable`1[int],System.Nullable`1[int]]:Receive[short](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],short]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Nullable`1[int],System.Nullable`1[int]]:Receive[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Nullable`1[int],System.Nullable`1[int]]:Receive[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Numerics.Vector`1[float]]):this (FullOpts)
         175 (128.68 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.Nullable`1[int],System.Nullable`1[int]]:Receive[ubyte](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],ubyte]):this (FullOpts)

Top method improvements (percentages):
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[double](System.Data.Common.DbDataReader,System.String):double (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[int](System.Data.Common.DbDataReader,System.String):int (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[long](System.Data.Common.DbDataReader,System.String):long (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[short](System.Data.Common.DbDataReader,System.String):short (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[System.Nullable`1[int]](System.Data.Common.DbDataReader,System.String):System.Nullable`1[int] (FullOpts)
         -17 (-12.69 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValue[ubyte](System.Data.Common.DbDataReader,System.String):ubyte (FullOpts)
         -23 (-10.13 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[int]():int:this (FullOpts)
         -23 (-10.09 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[long]():long:this (FullOpts)
         -23 (-10.09 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[System.Nullable`1[int]]():System.Nullable`1[int]:this (FullOpts)
         -23 (-10.09 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[ubyte]():ubyte:this (FullOpts)
         -23 (-10.04 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[double]():double:this (FullOpts)
         -23 (-10.04 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[short]():short:this (FullOpts)
         -23 (-9.20 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[System.Numerics.Vector`1[float]]():System.Numerics.Vector`1[float]:this (FullOpts)
         -44 (-6.60 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+RSACmsSignature:SignCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.AsymmetricAlgorithm,ubyte,System.Security.Cryptography.RSASignaturePadding,byref):ubyte (FullOpts)
         -16 (-5.26 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValueOfElement:GetValue[System.__Canon]():System.__Canon:this (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[double,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[double],System.Func`2[double,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[double] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[int,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[int],System.Func`2[int,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[int] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[long,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[long],System.Func`2[long,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[long] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[short,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[short],System.Func`2[short,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[short] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[System.Nullable`1[int]],System.Func`2[System.Nullable`1[int],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[System.Nullable`1[int]] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[System.Numerics.Vector`1[float]] (FullOpts)
         -15 (-5.05 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenBy[ubyte,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[ubyte],System.Func`2[ubyte,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[ubyte] (FullOpts)
          -7 (-5.04 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValueAsync[double](System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[double] (FullOpts)
          -7 (-5.04 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValueAsync[int](System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int] (FullOpts)
          -7 (-5.04 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValueAsync[long](System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[long] (FullOpts)
          -7 (-5.04 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValueAsync[short](System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[short] (FullOpts)
          -7 (-5.04 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValueAsync[System.Nullable`1[int]](System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] (FullOpts)
          -7 (-5.04 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValueAsync[System.Numerics.Vector`1[float]](System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]] (FullOpts)
          -7 (-5.04 % of base) : System.Data.Common.dasm - System.Data.DataReaderExtensions:GetFieldValueAsync[ubyte](System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[double,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[double],System.Func`2[double,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[double] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[int,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[int],System.Func`2[int,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[int] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[long,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[long],System.Func`2[long,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[long] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[short,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[short],System.Func`2[short,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[short] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[System.Nullable`1[int]],System.Func`2[System.Nullable`1[int],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[System.Nullable`1[int]] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[System.Numerics.Vector`1[float]],System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[System.Numerics.Vector`1[float]] (FullOpts)
         -15 (-5.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelEnumerable:ThenByDescending[ubyte,System.Nullable`1[int]](System.Linq.OrderedParallelQuery`1[ubyte],System.Func`2[ubyte,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Linq.OrderedParallelQuery`1[ubyte] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Distinct[double](System.Linq.IQueryable`1[double],System.Collections.Generic.IEqualityComparer`1[double]):System.Linq.IQueryable`1[double] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Distinct[int](System.Linq.IQueryable`1[int],System.Collections.Generic.IEqualityComparer`1[int]):System.Linq.IQueryable`1[int] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Distinct[long](System.Linq.IQueryable`1[long],System.Collections.Generic.IEqualityComparer`1[long]):System.Linq.IQueryable`1[long] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Distinct[short](System.Linq.IQueryable`1[short],System.Collections.Generic.IEqualityComparer`1[short]):System.Linq.IQueryable`1[short] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Distinct[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):System.Linq.IQueryable`1[System.Nullable`1[int]] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Distinct[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):System.Linq.IQueryable`1[System.Numerics.Vector`1[float]] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Distinct[ubyte](System.Linq.IQueryable`1[ubyte],System.Collections.Generic.IEqualityComparer`1[ubyte]):System.Linq.IQueryable`1[ubyte] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Max[double](System.Linq.IQueryable`1[double],System.Collections.Generic.IComparer`1[double]):double (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Max[int](System.Linq.IQueryable`1[int],System.Collections.Generic.IComparer`1[int]):int (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Max[long](System.Linq.IQueryable`1[long],System.Collections.Generic.IComparer`1[long]):long (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Max[short](System.Linq.IQueryable`1[short],System.Collections.Generic.IComparer`1[short]):short (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Max[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Max[ubyte](System.Linq.IQueryable`1[ubyte],System.Collections.Generic.IComparer`1[ubyte]):ubyte (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Min[double](System.Linq.IQueryable`1[double],System.Collections.Generic.IComparer`1[double]):double (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Min[int](System.Linq.IQueryable`1[int],System.Collections.Generic.IComparer`1[int]):int (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Min[long](System.Linq.IQueryable`1[long],System.Collections.Generic.IComparer`1[long]):long (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Min[short](System.Linq.IQueryable`1[short],System.Collections.Generic.IComparer`1[short]):short (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Min[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         -12 (-4.10 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Min[ubyte](System.Linq.IQueryable`1[ubyte],System.Collections.Generic.IComparer`1[ubyte]):ubyte (FullOpts)
         -40 (-3.98 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSignature+DSACmsSignature:Sign(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.AsymmetricAlgorithm,ubyte,byref,byref,byref):ubyte:this (FullOpts)
         -12 (-3.73 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Contains[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float]):ubyte (FullOpts)
         -12 (-3.73 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:DefaultIfEmpty[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float]):System.Linq.IQueryable`1[System.Numerics.Vector`1[float]] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`3[double,double,double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`3[int,int,int]]):int (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`3[long,long,long]]):long (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`3[short,short,short]]):short (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`3[System.Nullable`1[int],System.Nullable`1[int],System.Nullable`1[int]]]):System.Nullable`1[int] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Aggregate[ubyte](System.Linq.IQueryable`1[ubyte],System.Linq.Expressions.Expression`1[System.Func`3[ubyte,ubyte,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Linq.Expressions.Expression`1[System.Func`2[System.Numerics.Vector`1[float],ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:All[ubyte](System.Linq.IQueryable`1[ubyte],System.Linq.Expressions.Expression`1[System.Func`2[ubyte,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[short](System.Linq.IQueryable`1[short],System.Linq.Expressions.Expression`1[System.Func`2[short,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[System.Nullable`1[int]](System.Linq.IQueryable`1[System.Nullable`1[int]],System.Linq.Expressions.Expression`1[System.Func`2[System.Nullable`1[int],ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[System.Numerics.Vector`1[float]](System.Linq.IQueryable`1[System.Numerics.Vector`1[float]],System.Linq.Expressions.Expression`1[System.Func`2[System.Numerics.Vector`1[float],ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Any[ubyte](System.Linq.IQueryable`1[ubyte],System.Linq.Expressions.Expression`1[System.Func`2[ubyte,ubyte]]):ubyte (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,float]]):float (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,int]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,long]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Decimal]]):System.Decimal (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Nullable`1[double]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Nullable`1[float]]]):System.Nullable`1[float] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Nullable`1[int]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[double](System.Linq.IQueryable`1[double],System.Linq.Expressions.Expression`1[System.Func`2[double,System.Nullable`1[long]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,float]]):float (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,int]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,long]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Decimal]]):System.Decimal (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Nullable`1[double]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Nullable`1[float]]]):System.Nullable`1[float] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Nullable`1[int]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[int](System.Linq.IQueryable`1[int],System.Linq.Expressions.Expression`1[System.Func`2[int,System.Nullable`1[long]]]):System.Nullable`1[double] (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,double]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,float]]):float (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,int]]):double (FullOpts)
         -12 (-3.66 % of base) : System.Linq.Queryable.dasm - System.Linq.Queryable:Average[long](System.Linq.IQueryable`1[long],System.Linq.Expressions.Expression`1[System.Func`2[long,long]]):double (FullOpts)

1423 total methods with Code Size differences (959 improved, 464 regressed), 246459 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 15, 2025

Top method regressions

389 (169.13 % of base) - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[System.__Canon,double]):this
 ; Assembly listing for method System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[System.__Canon,double]):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
-; partially interruptible
+; fully interruptible
 ; No PGO data
+; 0 inlinees with PGO data; 10 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  5,  5   )     ref  ->  r15         this class-hnd single-def <System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]>
-;  V01 TypeCtx      [V01,T00] (  7,  5.40)    long  ->  rbx         single-def
-;  V02 arg1         [V02,T05] (  3,  3   )     ref  ->  r14         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[System.__Canon,double]>
-;  V03 OutArgs      [V03    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V04 tmp1         [V04,T02] (  3,  6   )     ref  ->  r13         single-def "LDVIRTFTN this pointer"
+;  V00 this         [V00,T11] (  4,  4   )     ref  ->  r15         this class-hnd single-def <System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]>
+;  V01 TypeCtx      [V01,T10] (  5,  4.20)    long  ->  rsi         single-def
+;  V02 arg1         [V02,T09] (  4,  7   )     ref  ->  rbx         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[System.__Canon,double]>
+;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
+;  V04 tmp1         [V04,T03] (  5, 16   )     ref  ->  r14         class-hnd exact single-def "LDVIRTFTN this pointer" <System.Linq.Parallel.SortQueryOperator`2[System.__Canon,System.Nullable`1[int]]>
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V07 tmp4         [V07,T08] (  2,  4   )    long  ->  rax         "VirtualCall through function pointer"
-;  V08 tmp5         [V08,T09] (  2,  4   )    long  ->  r12         "argument with side effect"
-;  V09 tmp6         [V09,T10] (  2,  4   )    long  ->  rdx         "argument with side effect"
-;  V10 rat0         [V10,T06] (  3,  4   )    long  ->  r12         "runtime lookup"
-;  V11 rat1         [V11,T03] (  3,  5.60)    long  ->  r12         "fgMakeTemp is creating a new local variable"
-;  V12 rat2         [V12,T07] (  3,  4   )    long  ->  rdx         "runtime lookup"
-;  V13 rat3         [V13,T04] (  3,  5.60)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
+;  V07 tmp4         [V07,T26] (  2,  4   )     int  ->  r12         "impAppendStmt"
+;  V08 tmp5         [V08,T24] (  2,  4   )     ref  ->  [rbp-0x50]  class-hnd spill-single-def "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
+;  V09 tmp6         [V09,T06] (  6, 12   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]]>
+;  V10 tmp7         [V10,T08] ( 10,  9.80)    long  ->  r13         "Inlining Arg"
+;* V11 tmp8         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V12 tmp9         [V12,T07] (  5, 11   )     ref  ->  r12         class-hnd exact single-def "Inline stloc first use temp" <System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]]>
+;* V13 tmp10        [V13,T34] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;  V14 tmp11        [V14,T00] (  4, 32   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Parallel.SortQueryOperatorEnumerator`3[System.__Canon,double,System.Nullable`1[int]]>
+;* V15 tmp12        [V15    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V16 tmp13        [V16,T12] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]>
+;* V17 tmp14        [V17    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V18 tmp15        [V18    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V19 tmp16        [V19    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V20 tmp17        [V20,T25] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <System.__Canon[]>
+;  V21 tmp18        [V21,T27] (  2,  4   )   ubyte  ->  [rbp-0x34]  spill-single-def "Inlining Arg"
+;  V22 tmp19        [V22,T04] (  2, 16   )     ref  ->  rsi         class-hnd "Inlining Arg" <System.__Canon>
+;  V23 tmp20        [V23,T05] (  2, 16   )     ref  ->  [rbp-0x68]  class-hnd spill-single-def "Inlining Arg" <System.Func`2[System.__Canon,System.Nullable`1[int]]>
+;  V24 tmp21        [V24,T28] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
+;  V25 tmp22        [V25,T29] (  2,  4   )    long  ->  rdi         "argument with side effect"
+;  V26 tmp23        [V26,T02] (  3, 24   )     ref  ->  rdi         "arr expr"
+;  V27 tmp24        [V27,T30] (  2,  4   )    long  ->  rbx         "argument with side effect"
+;  V28 tmp25        [V28,T31] (  2,  4   )    long  ->  rdx         "argument with side effect"
+;  V29 cse0         [V29,T19] (  2,  4.25)    long  ->  [rbp-0x40]  spill-single-def hoist "CSE #01: moderate"
+;  V30 rat0         [V30,T01] (  7, 25   )    long  ->  [rbp-0x48]  "Widened IV V13"
+;  V31 rat1         [V31,T13] (  3,  5.60)    long  ->  r13         "fgMakeTemp is creating a new local variable"
+;  V32 rat2         [V32,T20] (  3,  4   )    long  ->  rdi         "runtime lookup"
+;  V33 rat3         [V33,T14] (  3,  5.60)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V34 rat4         [V34,T18] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V35 rat5         [V35,T21] (  3,  4   )    long  ->  rdi         "runtime lookup"
+;  V36 rat6         [V36,T15] (  3,  5.60)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
+;  V37 rat7         [V37,T33] (  3,  1   )    long  ->  rcx         "runtime lookup"
+;  V38 rat8         [V38,T32] (  3,  1.40)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
+;  V39 rat9         [V39,T22] (  3,  4   )    long  ->  rbx         "runtime lookup"
+;  V40 rat10        [V40,T16] (  3,  5.60)    long  ->  rbx         "fgMakeTemp is creating a new local variable"
+;  V41 rat11        [V41,T23] (  3,  4   )    long  ->  rdx         "runtime lookup"
+;  V42 rat12        [V42,T17] (  3,  5.60)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 72
 
 G_M16955_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 56
-       lea      rbp, [rsp+0x60]
+       sub      rsp, 72
+       lea      rbp, [rsp+0x70]
        mov      qword ptr [rbp-0x30], rsi
        mov      r15, rdi
-       mov      rbx, rsi
-       mov      r14, rdx
-						;; size=32 bbWeight=1 PerfScore 8.50
+       mov      rbx, rdx
+						;; size=29 bbWeight=1 PerfScore 8.25
 G_M16955_IG02:
-       mov      r13, gword ptr [r15+0x10]
-       mov      rdi, qword ptr [rbx+0x18]
-       mov      r12, qword ptr [rdi+0x10]
-       test     r12, r12
-       je       SHORT G_M16955_IG06
-						;; size=17 bbWeight=1 PerfScore 7.25
+       mov      r14, gword ptr [r15+0x10]
+       mov      rdi, qword ptr [rsi+0x18]
+       mov      r13, qword ptr [rdi+0x18]
+       test     r13, r13
+       je       G_M16955_IG14
+						;; size=21 bbWeight=1 PerfScore 7.25
 G_M16955_IG03:
-       mov      rdi, qword ptr [rbx+0x18]
-       mov      rdx, qword ptr [rdi+0x18]
-       test     rdx, rdx
-       je       G_M16955_IG07
-						;; size=17 bbWeight=1 PerfScore 5.25
+       mov      r15, gword ptr [r15+0x08]
+       cmp      byte  ptr [r14], r14b
+       mov      rdi, gword ptr [rbx+0x08]
+       mov      r12d, dword ptr [rdi+0x08]
+       mov      rax, gword ptr [r14+0x50]
+       mov      gword ptr [rbp-0x50], rax
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rdi, qword ptr [rdi+0x10]
+       test     rdi, rdi
+       je       G_M16955_IG15
+						;; size=40 bbWeight=1 PerfScore 17.25
 G_M16955_IG04:
-       mov      rsi, r12
-       mov      rdi, r13
+       call     CORINFO_HELP_NEWSFAST
+       mov      gword ptr [rbp-0x58], rax
+       movzx    rcx, byte  ptr [r14+0x39]
+       mov      dword ptr [rbp-0x34], ecx
+       mov      rdi, qword ptr [rax]
+       mov      rsi, qword ptr [rdi+0x30]
+       mov      rsi, qword ptr [rsi]
+       mov      rdx, qword ptr [rsi+0x18]
+       test     rdx, rdx
+       je       G_M16955_IG16
+						;; size=40 bbWeight=1 PerfScore 14.25
+G_M16955_IG05:
+       mov      rdi, rdx
+						;; size=3 bbWeight=0.80 PerfScore 0.20
+G_M16955_IG06:
+       mov      esi, r12d
+       call     CORINFO_HELP_NEWARR_1_OBJ
+       mov      r12, gword ptr [rbp-0x58]
+       lea      rdi, bword ptr [r12+0x08]
+       mov      rsi, rax
+       call     CORINFO_HELP_ASSIGN_REF
+       lea      rdi, bword ptr [r12+0x10]
+       mov      rsi, gword ptr [rbp-0x50]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      edi, dword ptr [rbp-0x34]
+       mov      byte  ptr [r12+0x18], dil
+       xor      eax, eax
+       mov      qword ptr [rbp-0x48], rax
+       mov      rdi, gword ptr [r12+0x08]
+       cmp      dword ptr [rdi+0x08], 0
+       jle      G_M16955_IG10
+						;; size=68 bbWeight=1 PerfScore 15.75
+G_M16955_IG07:
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rcx, qword ptr [rdi+0x18]
+       test     rcx, rcx
+       je       G_M16955_IG17
+						;; size=17 bbWeight=0.25 PerfScore 1.31
+G_M16955_IG08:
+       mov      qword ptr [rbp-0x40], rcx
+						;; size=4 bbWeight=0.25 PerfScore 0.25
+G_M16955_IG09:
+       mov      rdi, rcx
+       call     CORINFO_HELP_NEWSFAST
+       mov      gword ptr [rbp-0x60], rax
+       mov      rdi, gword ptr [rbx+0x08]
+       mov      rcx, qword ptr [rbp-0x48]
+       cmp      ecx, dword ptr [rdi+0x08]
+       jae      G_M16955_IG20
+       mov      qword ptr [rbp-0x48], rcx
+       mov      rsi, gword ptr [rdi+8*rcx+0x10]
+       mov      rdx, gword ptr [r14+0x48]
+       mov      gword ptr [rbp-0x68], rdx
+       lea      rdi, bword ptr [rax+0x08]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rax, gword ptr [rbp-0x60]
+       lea      rdi, bword ptr [rax+0x10]
+       mov      rsi, gword ptr [rbp-0x68]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rdi, gword ptr [r12+0x08]
+       mov      rsi, qword ptr [rbp-0x48]
+       mov      rdx, gword ptr [rbp-0x60]
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [rax]CORINFO_HELP_ARRADDR_ST
+       mov      rdi, qword ptr [rbp-0x48]
+       inc      edi
+       mov      rsi, gword ptr [r12+0x08]
+       cmp      dword ptr [rsi+0x08], edi
+       mov      qword ptr [rbp-0x48], rdi
+       mov      rcx, qword ptr [rbp-0x40]
+       jg       SHORT G_M16955_IG09
+						;; size=121 bbWeight=4 PerfScore 147.00
+G_M16955_IG10:
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rbx, qword ptr [rdi+0x20]
+       test     rbx, rbx
+       je       G_M16955_IG18
+						;; size=17 bbWeight=1 PerfScore 5.25
+G_M16955_IG11:
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rdx, qword ptr [rdi+0x28]
+       test     rdx, rdx
+       je       G_M16955_IG19
+						;; size=17 bbWeight=1 PerfScore 5.25
+G_M16955_IG12:
+       mov      rsi, rbx
+       mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
        call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
-       lea      rdx, bword ptr [r15+0x18]
-       lea      rdi, [rsp]
-       mov      rsi, rdx
-       mov      rcx, gword ptr [rsi]
-       mov      gword ptr [rsp], rcx
-       add      rsi, 8
-       add      rdi, 8
-       mov      rcx, gword ptr [rsi]
-       mov      gword ptr [rsp+0x08], rcx
-       add      rsi, 8
-       add      rdi, 8
-       mov      ecx, 4
-       rep movsq 
-       mov      rdx, gword ptr [r15+0x08]
-       mov      rdi, r13
-       mov      rsi, r14
-       xor      ecx, ecx
-       call     rax
-       nop      
-						;; size=83 bbWeight=1 PerfScore 43.25
-G_M16955_IG05:
-       add      rsp, 56
+       mov      rdi, r15
+       mov      rsi, r12
+						;; size=24 bbWeight=1 PerfScore 4.25
+G_M16955_IG13:
+       add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
-       ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
-G_M16955_IG06:
-       mov      rdi, rbx
+       tail.jmp rax
+						;; size=17 bbWeight=1 PerfScore 5.25
+G_M16955_IG14:
+       mov      rdi, rsi
        mov      rsi, 0xD1FFAB1E      ; global ptr
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
        call     [rax]CORINFO_HELP_RUNTIMEHANDLE_METHOD
-       mov      r12, rax
+       mov      r13, rax
        jmp      G_M16955_IG03
 						;; size=33 bbWeight=0.20 PerfScore 1.20
-G_M16955_IG07:
-       mov      rdi, rbx
+G_M16955_IG15:
+       mov      rdi, r13
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       call     [rcx]CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rdi, rax
+       jmp      G_M16955_IG04
+						;; size=33 bbWeight=0.20 PerfScore 1.20
+G_M16955_IG16:
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rdx, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       call     [rdx]CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       mov      rdi, rax
+       jmp      G_M16955_IG06
+						;; size=30 bbWeight=0.20 PerfScore 1.15
+G_M16955_IG17:
+       mov      rdi, r13
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       call     [rcx]CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rcx, rax
+       jmp      G_M16955_IG08
+						;; size=33 bbWeight=0.05 PerfScore 0.30
+G_M16955_IG18:
+       mov      rdi, r13
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       call     [rax]CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rbx, rax
+       jmp      G_M16955_IG11
+						;; size=33 bbWeight=0.20 PerfScore 1.20
+G_M16955_IG19:
+       mov      rdi, r13
        mov      rsi, 0xD1FFAB1E      ; global ptr
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
        call     [rax]CORINFO_HELP_RUNTIMEHANDLE_METHOD
        mov      rdx, rax
-       jmp      G_M16955_IG04
+       jmp      G_M16955_IG12
 						;; size=33 bbWeight=0.20 PerfScore 1.20
+G_M16955_IG20:
+       call     CORINFO_HELP_RNGCHKFAIL
+       int3     
+						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 230, prolog size 23, PerfScore 70.90, instruction count 64, allocated bytes for code 230 (MethodHash=04c7bdc4) for method System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[System.__Canon,double]):this (FullOpts)
+; Total bytes of code 619, prolog size 29, PerfScore 237.76, instruction count 146, allocated bytes for code 619 (MethodHash=04c7bdc4) for method System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[double](System.Linq.Parallel.PartitionedStream`2[System.__Canon,double]):this (FullOpts)
 ; ============================================================
389 (169.13 % of base) - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[System.__Canon,int]):this
 ; Assembly listing for method System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[System.__Canon,int]):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
-; partially interruptible
+; fully interruptible
 ; No PGO data
+; 0 inlinees with PGO data; 10 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  5,  5   )     ref  ->  r15         this class-hnd single-def <System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]>
-;  V01 TypeCtx      [V01,T00] (  7,  5.40)    long  ->  rbx         single-def
-;  V02 arg1         [V02,T05] (  3,  3   )     ref  ->  r14         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[System.__Canon,int]>
-;  V03 OutArgs      [V03    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V04 tmp1         [V04,T02] (  3,  6   )     ref  ->  r13         single-def "LDVIRTFTN this pointer"
+;  V00 this         [V00,T11] (  4,  4   )     ref  ->  r15         this class-hnd single-def <System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]>
+;  V01 TypeCtx      [V01,T10] (  5,  4.20)    long  ->  rsi         single-def
+;  V02 arg1         [V02,T09] (  4,  7   )     ref  ->  rbx         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[System.__Canon,int]>
+;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
+;  V04 tmp1         [V04,T03] (  5, 16   )     ref  ->  r14         class-hnd exact single-def "LDVIRTFTN this pointer" <System.Linq.Parallel.SortQueryOperator`2[System.__Canon,System.Nullable`1[int]]>
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V07 tmp4         [V07,T08] (  2,  4   )    long  ->  rax         "VirtualCall through function pointer"
-;  V08 tmp5         [V08,T09] (  2,  4   )    long  ->  r12         "argument with side effect"
-;  V09 tmp6         [V09,T10] (  2,  4   )    long  ->  rdx         "argument with side effect"
-;  V10 rat0         [V10,T06] (  3,  4   )    long  ->  r12         "runtime lookup"
-;  V11 rat1         [V11,T03] (  3,  5.60)    long  ->  r12         "fgMakeTemp is creating a new local variable"
-;  V12 rat2         [V12,T07] (  3,  4   )    long  ->  rdx         "runtime lookup"
-;  V13 rat3         [V13,T04] (  3,  5.60)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
+;  V07 tmp4         [V07,T26] (  2,  4   )     int  ->  r12         "impAppendStmt"
+;  V08 tmp5         [V08,T24] (  2,  4   )     ref  ->  [rbp-0x50]  class-hnd spill-single-def "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
+;  V09 tmp6         [V09,T06] (  6, 12   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]]>
+;  V10 tmp7         [V10,T08] ( 10,  9.80)    long  ->  r13         "Inlining Arg"
+;* V11 tmp8         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V12 tmp9         [V12,T07] (  5, 11   )     ref  ->  r12         class-hnd exact single-def "Inline stloc first use temp" <System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]]>
+;* V13 tmp10        [V13,T34] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;  V14 tmp11        [V14,T00] (  4, 32   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Parallel.SortQueryOperatorEnumerator`3[System.__Canon,int,System.Nullable`1[int]]>
+;* V15 tmp12        [V15    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V16 tmp13        [V16,T12] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]>
+;* V17 tmp14        [V17    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V18 tmp15        [V18    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V19 tmp16        [V19    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V20 tmp17        [V20,T25] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <System.__Canon[]>
+;  V21 tmp18        [V21,T27] (  2,  4   )   ubyte  ->  [rbp-0x34]  spill-single-def "Inlining Arg"
+;  V22 tmp19        [V22,T04] (  2, 16   )     ref  ->  rsi         class-hnd "Inlining Arg" <System.__Canon>
+;  V23 tmp20        [V23,T05] (  2, 16   )     ref  ->  [rbp-0x68]  class-hnd spill-single-def "Inlining Arg" <System.Func`2[System.__Canon,System.Nullable`1[int]]>
+;  V24 tmp21        [V24,T28] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
+;  V25 tmp22        [V25,T29] (  2,  4   )    long  ->  rdi         "argument with side effect"
+;  V26 tmp23        [V26,T02] (  3, 24   )     ref  ->  rdi         "arr expr"
+;  V27 tmp24        [V27,T30] (  2,  4   )    long  ->  rbx         "argument with side effect"
+;  V28 tmp25        [V28,T31] (  2,  4   )    long  ->  rdx         "argument with side effect"
+;  V29 cse0         [V29,T19] (  2,  4.25)    long  ->  [rbp-0x40]  spill-single-def hoist "CSE #01: moderate"
+;  V30 rat0         [V30,T01] (  7, 25   )    long  ->  [rbp-0x48]  "Widened IV V13"
+;  V31 rat1         [V31,T13] (  3,  5.60)    long  ->  r13         "fgMakeTemp is creating a new local variable"
+;  V32 rat2         [V32,T20] (  3,  4   )    long  ->  rdi         "runtime lookup"
+;  V33 rat3         [V33,T14] (  3,  5.60)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V34 rat4         [V34,T18] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V35 rat5         [V35,T21] (  3,  4   )    long  ->  rdi         "runtime lookup"
+;  V36 rat6         [V36,T15] (  3,  5.60)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
+;  V37 rat7         [V37,T33] (  3,  1   )    long  ->  rcx         "runtime lookup"
+;  V38 rat8         [V38,T32] (  3,  1.40)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
+;  V39 rat9         [V39,T22] (  3,  4   )    long  ->  rbx         "runtime lookup"
+;  V40 rat10        [V40,T16] (  3,  5.60)    long  ->  rbx         "fgMakeTemp is creating a new local variable"
+;  V41 rat11        [V41,T23] (  3,  4   )    long  ->  rdx         "runtime lookup"
+;  V42 rat12        [V42,T17] (  3,  5.60)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 72
 
 G_M17083_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 56
-       lea      rbp, [rsp+0x60]
+       sub      rsp, 72
+       lea      rbp, [rsp+0x70]
        mov      qword ptr [rbp-0x30], rsi
        mov      r15, rdi
-       mov      rbx, rsi
-       mov      r14, rdx
-						;; size=32 bbWeight=1 PerfScore 8.50
+       mov      rbx, rdx
+						;; size=29 bbWeight=1 PerfScore 8.25
 G_M17083_IG02:
-       mov      r13, gword ptr [r15+0x10]
-       mov      rdi, qword ptr [rbx+0x18]
-       mov      r12, qword ptr [rdi+0x10]
-       test     r12, r12
-       je       SHORT G_M17083_IG06
-						;; size=17 bbWeight=1 PerfScore 7.25
+       mov      r14, gword ptr [r15+0x10]
+       mov      rdi, qword ptr [rsi+0x18]
+       mov      r13, qword ptr [rdi+0x18]
+       test     r13, r13
+       je       G_M17083_IG14
+						;; size=21 bbWeight=1 PerfScore 7.25
 G_M17083_IG03:
-       mov      rdi, qword ptr [rbx+0x18]
-       mov      rdx, qword ptr [rdi+0x18]
-       test     rdx, rdx
-       je       G_M17083_IG07
-						;; size=17 bbWeight=1 PerfScore 5.25
+       mov      r15, gword ptr [r15+0x08]
+       cmp      byte  ptr [r14], r14b
+       mov      rdi, gword ptr [rbx+0x08]
+       mov      r12d, dword ptr [rdi+0x08]
+       mov      rax, gword ptr [r14+0x50]
+       mov      gword ptr [rbp-0x50], rax
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rdi, qword ptr [rdi+0x10]
+       test     rdi, rdi
+       je       G_M17083_IG15
+						;; size=40 bbWeight=1 PerfScore 17.25
 G_M17083_IG04:
-       mov      rsi, r12
-       mov      rdi, r13
+       call     CORINFO_HELP_NEWSFAST
+       mov      gword ptr [rbp-0x58], rax
+       movzx    rcx, byte  ptr [r14+0x39]
+       mov      dword ptr [rbp-0x34], ecx
+       mov      rdi, qword ptr [rax]
+       mov      rsi, qword ptr [rdi+0x30]
+       mov      rsi, qword ptr [rsi]
+       mov      rdx, qword ptr [rsi+0x18]
+       test     rdx, rdx
+       je       G_M17083_IG16
+						;; size=40 bbWeight=1 PerfScore 14.25
+G_M17083_IG05:
+       mov      rdi, rdx
+						;; size=3 bbWeight=0.80 PerfScore 0.20
+G_M17083_IG06:
+       mov      esi, r12d
+       call     CORINFO_HELP_NEWARR_1_OBJ
+       mov      r12, gword ptr [rbp-0x58]
+       lea      rdi, bword ptr [r12+0x08]
+       mov      rsi, rax
+       call     CORINFO_HELP_ASSIGN_REF
+       lea      rdi, bword ptr [r12+0x10]
+       mov      rsi, gword ptr [rbp-0x50]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      edi, dword ptr [rbp-0x34]
+       mov      byte  ptr [r12+0x18], dil
+       xor      eax, eax
+       mov      qword ptr [rbp-0x48], rax
+       mov      rdi, gword ptr [r12+0x08]
+       cmp      dword ptr [rdi+0x08], 0
+       jle      G_M17083_IG10
+						;; size=68 bbWeight=1 PerfScore 15.75
+G_M17083_IG07:
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rcx, qword ptr [rdi+0x18]
+       test     rcx, rcx
+       je       G_M17083_IG17
+						;; size=17 bbWeight=0.25 PerfScore 1.31
+G_M17083_IG08:
+       mov      qword ptr [rbp-0x40], rcx
+						;; size=4 bbWeight=0.25 PerfScore 0.25
+G_M17083_IG09:
+       mov      rdi, rcx
+       call     CORINFO_HELP_NEWSFAST
+       mov      gword ptr [rbp-0x60], rax
+       mov      rdi, gword ptr [rbx+0x08]
+       mov      rcx, qword ptr [rbp-0x48]
+       cmp      ecx, dword ptr [rdi+0x08]
+       jae      G_M17083_IG20
+       mov      qword ptr [rbp-0x48], rcx
+       mov      rsi, gword ptr [rdi+8*rcx+0x10]
+       mov      rdx, gword ptr [r14+0x48]
+       mov      gword ptr [rbp-0x68], rdx
+       lea      rdi, bword ptr [rax+0x08]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rax, gword ptr [rbp-0x60]
+       lea      rdi, bword ptr [rax+0x10]
+       mov      rsi, gword ptr [rbp-0x68]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rdi, gword ptr [r12+0x08]
+       mov      rsi, qword ptr [rbp-0x48]
+       mov      rdx, gword ptr [rbp-0x60]
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [rax]CORINFO_HELP_ARRADDR_ST
+       mov      rdi, qword ptr [rbp-0x48]
+       inc      edi
+       mov      rsi, gword ptr [r12+0x08]
+       cmp      dword ptr [rsi+0x08], edi
+       mov      qword ptr [rbp-0x48], rdi
+       mov      rcx, qword ptr [rbp-0x40]
+       jg       SHORT G_M17083_IG09
+						;; size=121 bbWeight=4 PerfScore 147.00
+G_M17083_IG10:
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rbx, qword ptr [rdi+0x20]
+       test     rbx, rbx
+       je       G_M17083_IG18
+						;; size=17 bbWeight=1 PerfScore 5.25
+G_M17083_IG11:
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rdx, qword ptr [rdi+0x28]
+       test     rdx, rdx
+       je       G_M17083_IG19
+						;; size=17 bbWeight=1 PerfScore 5.25
+G_M17083_IG12:
+       mov      rsi, rbx
+       mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
        call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
-       lea      rdx, bword ptr [r15+0x18]
-       lea      rdi, [rsp]
-       mov      rsi, rdx
-       mov      rcx, gword ptr [rsi]
-       mov      gword ptr [rsp], rcx
-       add      rsi, 8
-       add      rdi, 8
-       mov      rcx, gword ptr [rsi]
-       mov      gword ptr [rsp+0x08], rcx
-       add      rsi, 8
-       add      rdi, 8
-       mov      ecx, 4
-       rep movsq 
-       mov      rdx, gword ptr [r15+0x08]
-       mov      rdi, r13
-       mov      rsi, r14
-       xor      ecx, ecx
-       call     rax
-       nop      
-						;; size=83 bbWeight=1 PerfScore 43.25
-G_M17083_IG05:
-       add      rsp, 56
+       mov      rdi, r15
+       mov      rsi, r12
+						;; size=24 bbWeight=1 PerfScore 4.25
+G_M17083_IG13:
+       add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
-       ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
-G_M17083_IG06:
-       mov      rdi, rbx
+       tail.jmp rax
+						;; size=17 bbWeight=1 PerfScore 5.25
+G_M17083_IG14:
+       mov      rdi, rsi
        mov      rsi, 0xD1FFAB1E      ; global ptr
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
        call     [rax]CORINFO_HELP_RUNTIMEHANDLE_METHOD
-       mov      r12, rax
+       mov      r13, rax
        jmp      G_M17083_IG03
 						;; size=33 bbWeight=0.20 PerfScore 1.20
-G_M17083_IG07:
-       mov      rdi, rbx
+G_M17083_IG15:
+       mov      rdi, r13
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       call     [rcx]CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rdi, rax
+       jmp      G_M17083_IG04
+						;; size=33 bbWeight=0.20 PerfScore 1.20
+G_M17083_IG16:
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rdx, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       call     [rdx]CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       mov      rdi, rax
+       jmp      G_M17083_IG06
+						;; size=30 bbWeight=0.20 PerfScore 1.15
+G_M17083_IG17:
+       mov      rdi, r13
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       call     [rcx]CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rcx, rax
+       jmp      G_M17083_IG08
+						;; size=33 bbWeight=0.05 PerfScore 0.30
+G_M17083_IG18:
+       mov      rdi, r13
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       call     [rax]CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rbx, rax
+       jmp      G_M17083_IG11
+						;; size=33 bbWeight=0.20 PerfScore 1.20
+G_M17083_IG19:
+       mov      rdi, r13
        mov      rsi, 0xD1FFAB1E      ; global ptr
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
        call     [rax]CORINFO_HELP_RUNTIMEHANDLE_METHOD
        mov      rdx, rax
-       jmp      G_M17083_IG04
+       jmp      G_M17083_IG12
 						;; size=33 bbWeight=0.20 PerfScore 1.20
+G_M17083_IG20:
+       call     CORINFO_HELP_RNGCHKFAIL
+       int3     
+						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 230, prolog size 23, PerfScore 70.90, instruction count 64, allocated bytes for code 230 (MethodHash=fd02bd44) for method System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[System.__Canon,int]):this (FullOpts)
+; Total bytes of code 619, prolog size 29, PerfScore 237.76, instruction count 146, allocated bytes for code 619 (MethodHash=fd02bd44) for method System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[int](System.Linq.Parallel.PartitionedStream`2[System.__Canon,int]):this (FullOpts)
 ; ============================================================
389 (169.13 % of base) - System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[System.__Canon,long]):this
 ; Assembly listing for method System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[System.__Canon,long]):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
-; partially interruptible
+; fully interruptible
 ; No PGO data
+; 0 inlinees with PGO data; 10 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  5,  5   )     ref  ->  r15         this class-hnd single-def <System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]>
-;  V01 TypeCtx      [V01,T00] (  7,  5.40)    long  ->  rbx         single-def
-;  V02 arg1         [V02,T05] (  3,  3   )     ref  ->  r14         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[System.__Canon,long]>
-;  V03 OutArgs      [V03    ] (  1,  1   )  struct (48) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-;  V04 tmp1         [V04,T02] (  3,  6   )     ref  ->  r13         single-def "LDVIRTFTN this pointer"
+;  V00 this         [V00,T11] (  4,  4   )     ref  ->  r15         this class-hnd single-def <System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]>
+;  V01 TypeCtx      [V01,T10] (  5,  4.20)    long  ->  rsi         single-def
+;  V02 arg1         [V02,T09] (  4,  7   )     ref  ->  rbx         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[System.__Canon,long]>
+;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
+;  V04 tmp1         [V04,T03] (  5, 16   )     ref  ->  r14         class-hnd exact single-def "LDVIRTFTN this pointer" <System.Linq.Parallel.SortQueryOperator`2[System.__Canon,System.Nullable`1[int]]>
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp3         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V07 tmp4         [V07,T08] (  2,  4   )    long  ->  rax         "VirtualCall through function pointer"
-;  V08 tmp5         [V08,T09] (  2,  4   )    long  ->  r12         "argument with side effect"
-;  V09 tmp6         [V09,T10] (  2,  4   )    long  ->  rdx         "argument with side effect"
-;  V10 rat0         [V10,T06] (  3,  4   )    long  ->  r12         "runtime lookup"
-;  V11 rat1         [V11,T03] (  3,  5.60)    long  ->  r12         "fgMakeTemp is creating a new local variable"
-;  V12 rat2         [V12,T07] (  3,  4   )    long  ->  rdx         "runtime lookup"
-;  V13 rat3         [V13,T04] (  3,  5.60)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
+;  V07 tmp4         [V07,T26] (  2,  4   )     int  ->  r12         "impAppendStmt"
+;  V08 tmp5         [V08,T24] (  2,  4   )     ref  ->  [rbp-0x50]  class-hnd spill-single-def "impAppendStmt" <System.Collections.Generic.IComparer`1[System.Nullable`1[int]]>
+;  V09 tmp6         [V09,T06] (  6, 12   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]]>
+;  V10 tmp7         [V10,T08] ( 10,  9.80)    long  ->  r13         "Inlining Arg"
+;* V11 tmp8         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V12 tmp9         [V12,T07] (  5, 11   )     ref  ->  r12         class-hnd exact single-def "Inline stloc first use temp" <System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]]>
+;* V13 tmp10        [V13,T34] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
+;  V14 tmp11        [V14,T00] (  4, 32   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Parallel.SortQueryOperatorEnumerator`3[System.__Canon,long,System.Nullable`1[int]]>
+;* V15 tmp12        [V15    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V16 tmp13        [V16,T12] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]>
+;* V17 tmp14        [V17    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V18 tmp15        [V18    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V19 tmp16        [V19    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V20 tmp17        [V20,T25] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <System.__Canon[]>
+;  V21 tmp18        [V21,T27] (  2,  4   )   ubyte  ->  [rbp-0x34]  spill-single-def "Inlining Arg"
+;  V22 tmp19        [V22,T04] (  2, 16   )     ref  ->  rsi         class-hnd "Inlining Arg" <System.__Canon>
+;  V23 tmp20        [V23,T05] (  2, 16   )     ref  ->  [rbp-0x68]  class-hnd spill-single-def "Inlining Arg" <System.Func`2[System.__Canon,System.Nullable`1[int]]>
+;  V24 tmp21        [V24,T28] (  2,  4   )    long  ->  rax         "Spilling to split statement for tree"
+;  V25 tmp22        [V25,T29] (  2,  4   )    long  ->  rdi         "argument with side effect"
+;  V26 tmp23        [V26,T02] (  3, 24   )     ref  ->  rdi         "arr expr"
+;  V27 tmp24        [V27,T30] (  2,  4   )    long  ->  rbx         "argument with side effect"
+;  V28 tmp25        [V28,T31] (  2,  4   )    long  ->  rdx         "argument with side effect"
+;  V29 cse0         [V29,T19] (  2,  4.25)    long  ->  [rbp-0x40]  spill-single-def hoist "CSE #01: moderate"
+;  V30 rat0         [V30,T01] (  7, 25   )    long  ->  [rbp-0x48]  "Widened IV V13"
+;  V31 rat1         [V31,T13] (  3,  5.60)    long  ->  r13         "fgMakeTemp is creating a new local variable"
+;  V32 rat2         [V32,T20] (  3,  4   )    long  ->  rdi         "runtime lookup"
+;  V33 rat3         [V33,T14] (  3,  5.60)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V34 rat4         [V34,T18] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V35 rat5         [V35,T21] (  3,  4   )    long  ->  rdi         "runtime lookup"
+;  V36 rat6         [V36,T15] (  3,  5.60)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
+;  V37 rat7         [V37,T33] (  3,  1   )    long  ->  rcx         "runtime lookup"
+;  V38 rat8         [V38,T32] (  3,  1.40)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
+;  V39 rat9         [V39,T22] (  3,  4   )    long  ->  rbx         "runtime lookup"
+;  V40 rat10        [V40,T16] (  3,  5.60)    long  ->  rbx         "fgMakeTemp is creating a new local variable"
+;  V41 rat11        [V41,T23] (  3,  4   )    long  ->  rdx         "runtime lookup"
+;  V42 rat12        [V42,T17] (  3,  5.60)    long  ->  rdx         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 72
 
 G_M12731_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 56
-       lea      rbp, [rsp+0x60]
+       sub      rsp, 72
+       lea      rbp, [rsp+0x70]
        mov      qword ptr [rbp-0x30], rsi
        mov      r15, rdi
-       mov      rbx, rsi
-       mov      r14, rdx
-						;; size=32 bbWeight=1 PerfScore 8.50
+       mov      rbx, rdx
+						;; size=29 bbWeight=1 PerfScore 8.25
 G_M12731_IG02:
-       mov      r13, gword ptr [r15+0x10]
-       mov      rdi, qword ptr [rbx+0x18]
-       mov      r12, qword ptr [rdi+0x10]
-       test     r12, r12
-       je       SHORT G_M12731_IG06
-						;; size=17 bbWeight=1 PerfScore 7.25
+       mov      r14, gword ptr [r15+0x10]
+       mov      rdi, qword ptr [rsi+0x18]
+       mov      r13, qword ptr [rdi+0x18]
+       test     r13, r13
+       je       G_M12731_IG14
+						;; size=21 bbWeight=1 PerfScore 7.25
 G_M12731_IG03:
-       mov      rdi, qword ptr [rbx+0x18]
-       mov      rdx, qword ptr [rdi+0x18]
-       test     rdx, rdx
-       je       G_M12731_IG07
-						;; size=17 bbWeight=1 PerfScore 5.25
+       mov      r15, gword ptr [r15+0x08]
+       cmp      byte  ptr [r14], r14b
+       mov      rdi, gword ptr [rbx+0x08]
+       mov      r12d, dword ptr [rdi+0x08]
+       mov      rax, gword ptr [r14+0x50]
+       mov      gword ptr [rbp-0x50], rax
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rdi, qword ptr [rdi+0x10]
+       test     rdi, rdi
+       je       G_M12731_IG15
+						;; size=40 bbWeight=1 PerfScore 17.25
 G_M12731_IG04:
-       mov      rsi, r12
-       mov      rdi, r13
+       call     CORINFO_HELP_NEWSFAST
+       mov      gword ptr [rbp-0x58], rax
+       movzx    rcx, byte  ptr [r14+0x39]
+       mov      dword ptr [rbp-0x34], ecx
+       mov      rdi, qword ptr [rax]
+       mov      rsi, qword ptr [rdi+0x30]
+       mov      rsi, qword ptr [rsi]
+       mov      rdx, qword ptr [rsi+0x18]
+       test     rdx, rdx
+       je       G_M12731_IG16
+						;; size=40 bbWeight=1 PerfScore 14.25
+G_M12731_IG05:
+       mov      rdi, rdx
+						;; size=3 bbWeight=0.80 PerfScore 0.20
+G_M12731_IG06:
+       mov      esi, r12d
+       call     CORINFO_HELP_NEWARR_1_OBJ
+       mov      r12, gword ptr [rbp-0x58]
+       lea      rdi, bword ptr [r12+0x08]
+       mov      rsi, rax
+       call     CORINFO_HELP_ASSIGN_REF
+       lea      rdi, bword ptr [r12+0x10]
+       mov      rsi, gword ptr [rbp-0x50]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      edi, dword ptr [rbp-0x34]
+       mov      byte  ptr [r12+0x18], dil
+       xor      eax, eax
+       mov      qword ptr [rbp-0x48], rax
+       mov      rdi, gword ptr [r12+0x08]
+       cmp      dword ptr [rdi+0x08], 0
+       jle      G_M12731_IG10
+						;; size=68 bbWeight=1 PerfScore 15.75
+G_M12731_IG07:
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rcx, qword ptr [rdi+0x18]
+       test     rcx, rcx
+       je       G_M12731_IG17
+						;; size=17 bbWeight=0.25 PerfScore 1.31
+G_M12731_IG08:
+       mov      qword ptr [rbp-0x40], rcx
+						;; size=4 bbWeight=0.25 PerfScore 0.25
+G_M12731_IG09:
+       mov      rdi, rcx
+       call     CORINFO_HELP_NEWSFAST
+       mov      gword ptr [rbp-0x60], rax
+       mov      rdi, gword ptr [rbx+0x08]
+       mov      rcx, qword ptr [rbp-0x48]
+       cmp      ecx, dword ptr [rdi+0x08]
+       jae      G_M12731_IG20
+       mov      qword ptr [rbp-0x48], rcx
+       mov      rsi, gword ptr [rdi+8*rcx+0x10]
+       mov      rdx, gword ptr [r14+0x48]
+       mov      gword ptr [rbp-0x68], rdx
+       lea      rdi, bword ptr [rax+0x08]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rax, gword ptr [rbp-0x60]
+       lea      rdi, bword ptr [rax+0x10]
+       mov      rsi, gword ptr [rbp-0x68]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rdi, gword ptr [r12+0x08]
+       mov      rsi, qword ptr [rbp-0x48]
+       mov      rdx, gword ptr [rbp-0x60]
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [rax]CORINFO_HELP_ARRADDR_ST
+       mov      rdi, qword ptr [rbp-0x48]
+       inc      edi
+       mov      rsi, gword ptr [r12+0x08]
+       cmp      dword ptr [rsi+0x08], edi
+       mov      qword ptr [rbp-0x48], rdi
+       mov      rcx, qword ptr [rbp-0x40]
+       jg       SHORT G_M12731_IG09
+						;; size=121 bbWeight=4 PerfScore 147.00
+G_M12731_IG10:
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rbx, qword ptr [rdi+0x20]
+       test     rbx, rbx
+       je       G_M12731_IG18
+						;; size=17 bbWeight=1 PerfScore 5.25
+G_M12731_IG11:
+       mov      rdi, qword ptr [r13+0x18]
+       mov      rdx, qword ptr [rdi+0x28]
+       test     rdx, rdx
+       je       G_M12731_IG19
+						;; size=17 bbWeight=1 PerfScore 5.25
+G_M12731_IG12:
+       mov      rsi, rbx
+       mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
        call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
-       lea      rdx, bword ptr [r15+0x18]
-       lea      rdi, [rsp]
-       mov      rsi, rdx
-       mov      rcx, gword ptr [rsi]
-       mov      gword ptr [rsp], rcx
-       add      rsi, 8
-       add      rdi, 8
-       mov      rcx, gword ptr [rsi]
-       mov      gword ptr [rsp+0x08], rcx
-       add      rsi, 8
-       add      rdi, 8
-       mov      ecx, 4
-       rep movsq 
-       mov      rdx, gword ptr [r15+0x08]
-       mov      rdi, r13
-       mov      rsi, r14
-       xor      ecx, ecx
-       call     rax
-       nop      
-						;; size=83 bbWeight=1 PerfScore 43.25
-G_M12731_IG05:
-       add      rsp, 56
+       mov      rdi, r15
+       mov      rsi, r12
+						;; size=24 bbWeight=1 PerfScore 4.25
+G_M12731_IG13:
+       add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
-       ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
-G_M12731_IG06:
-       mov      rdi, rbx
+       tail.jmp rax
+						;; size=17 bbWeight=1 PerfScore 5.25
+G_M12731_IG14:
+       mov      rdi, rsi
        mov      rsi, 0xD1FFAB1E      ; global ptr
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
        call     [rax]CORINFO_HELP_RUNTIMEHANDLE_METHOD
-       mov      r12, rax
+       mov      r13, rax
        jmp      G_M12731_IG03
 						;; size=33 bbWeight=0.20 PerfScore 1.20
-G_M12731_IG07:
-       mov      rdi, rbx
+G_M12731_IG15:
+       mov      rdi, r13
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       call     [rcx]CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rdi, rax
+       jmp      G_M12731_IG04
+						;; size=33 bbWeight=0.20 PerfScore 1.20
+G_M12731_IG16:
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rdx, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       call     [rdx]CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       mov      rdi, rax
+       jmp      G_M12731_IG06
+						;; size=30 bbWeight=0.20 PerfScore 1.15
+G_M12731_IG17:
+       mov      rdi, r13
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       call     [rcx]CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rcx, rax
+       jmp      G_M12731_IG08
+						;; size=33 bbWeight=0.05 PerfScore 0.30
+G_M12731_IG18:
+       mov      rdi, r13
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       call     [rax]CORINFO_HELP_RUNTIMEHANDLE_METHOD
+       mov      rbx, rax
+       jmp      G_M12731_IG11
+						;; size=33 bbWeight=0.20 PerfScore 1.20
+G_M12731_IG19:
+       mov      rdi, r13
        mov      rsi, 0xD1FFAB1E      ; global ptr
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_METHOD
        call     [rax]CORINFO_HELP_RUNTIMEHANDLE_METHOD
        mov      rdx, rax
-       jmp      G_M12731_IG04
+       jmp      G_M12731_IG12
 						;; size=33 bbWeight=0.20 PerfScore 1.20
+G_M12731_IG20:
+       call     CORINFO_HELP_RNGCHKFAIL
+       int3     
+						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 230, prolog size 23, PerfScore 70.90, instruction count 64, allocated bytes for code 230 (MethodHash=9d0dce44) for method System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[System.__Canon,long]):this (FullOpts)
+; Total bytes of code 619, prolog size 29, PerfScore 237.76, instruction count 146, allocated bytes for code 619 (MethodHash=9d0dce44) for method System.Linq.Parallel.SortQueryOperatorResults`2+ChildResultsRecipient[System.__Canon,System.Nullable`1[int]]:Receive[long](System.Linq.Parallel.PartitionedStream`2[System.__Canon,long]):this (FullOpts)
 ; ============================================================
239 (217.27 % of base) - Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]:b__1(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Nullable`1[int],System.Exception):this
 ; Assembly listing for method Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]:<Define>b__1(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Nullable`1[int],System.Exception):this (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; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  4,  3.50)     ref  ->  rbx         this class-hnd single-def <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]>
-;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  r15         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
+;  V00 this         [V00,T00] (  9,  6   )     ref  ->  rbx         this class-hnd single-def <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]>
+;  V01 arg1         [V01,T01] (  5,  4   )     ref  ->  r15         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
 ;  V02 arg2         [V02,T02] (  3,  2.50)     ref  ->  r14         class-hnd single-def <System.__Canon>
-;  V03 arg3         [V03,T04] (  3,  2.50)  struct ( 8) [rbp-0x28]  do-not-enreg[S] single-def <System.Nullable`1[int]>
+;  V03 arg3         [V03,T04] (  3,  2.50)  struct ( 8) r12         single-def <System.Nullable`1[int]>
 ;  V04 arg4         [V04,T03] (  3,  2.50)     ref  ->  r13         class-hnd single-def <System.Exception>
-;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
+;  V05 OutArgs      [V05    ] (  1,  1   )  struct (24) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
+;  V06 tmp1         [V06,T05] (  4,  4   )  struct (24) [rbp-0x48]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.Logging.LoggerMessage+LogValues`2[System.__Canon,System.Nullable`1[int]]>
+;* V07 tmp2         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V08 tmp3         [V08,T13] (  2,  2   )     int  ->  [rbp-0x4C]  spill-single-def "impAppendStmt"
+;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <Microsoft.Extensions.Logging.EventId>
+;  V10 tmp5         [V10,T10] (  3,  2   )    long  ->  r14         "spilling helperCall"
+;  V11 tmp6         [V11,T11] (  3,  2   )    long  ->  r12         "spilling helperCall"
+;* V12 tmp7         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <Microsoft.Extensions.Logging.LogValuesFormatter>
+;  V13 tmp8         [V13,T12] (  2,  2   )     ref  ->  r14         single-def "Spilling to split statement for tree"
+;  V14 tmp9         [V14,T14] (  2,  2   )    long  ->  rax         "Spilling to split statement for tree"
+;  V15 tmp10        [V15,T15] (  2,  1   )     ref  ->  [rbp-0x58]  spill-single-def "field V09.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;  V16 tmp11        [V16,T16] (  2,  1   )     int  ->  [rbp-0x50]  spill-single-def "field V09.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;  V17 rat0         [V17,T08] (  3,  2.20)    long  ->  rdi         "Spilling to split statement for tree"
+;  V18 rat1         [V18,T06] (  3,  2.80)    long  ->  r14         "fgMakeTemp is creating a new local variable"
+;  V19 rat2         [V19,T09] (  3,  2.20)    long  ->  rdi         "Spilling to split statement for tree"
+;  V20 rat3         [V20,T07] (  3,  2.80)    long  ->  r12         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 72
 
 G_M24721_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
+       push     r12
        push     rbx
-       sub      rsp, 16
-       lea      rbp, [rsp+0x30]
-       mov      qword ptr [rbp-0x28], rcx
+       sub      rsp, 72
+       lea      rbp, [rsp+0x70]
+       vxorps   xmm8, xmm8, xmm8
+       vmovdqu  xmmword ptr [rbp-0x48], xmm8
+       xor      eax, eax
+       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rdi
        mov      rbx, rdi
        mov      r15, rsi
        mov      r14, rdx
+       mov      r12, rcx
        mov      r13, r8
-						;; size=33 bbWeight=1 PerfScore 7.75
+						;; size=54 bbWeight=1 PerfScore 12.58
 G_M24721_IG02:
        mov      esi, dword ptr [rbx+0x10]
        mov      rdi, r15
        mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        test     eax, eax
-       jne      SHORT G_M24721_IG04
-						;; size=23 bbWeight=1 PerfScore 6.75
+       je       G_M24721_IG06
+						;; size=27 bbWeight=1 PerfScore 6.75
 G_M24721_IG03:
-       add      rsp, 16
+       mov      eax, dword ptr [rbx+0x10]
+       mov      dword ptr [rbp-0x4C], eax
+       mov      rcx, gword ptr [rbx+0x18]
+       mov      gword ptr [rbp-0x58], rcx
+       mov      edx, dword ptr [rbx+0x20]
+       mov      dword ptr [rbp-0x50], edx
+       mov      rdi, gword ptr [rbx+0x08]
+       mov      gword ptr [rbp-0x48], rdi
+       mov      gword ptr [rbp-0x40], r14
+       mov      qword ptr [rbp-0x38], r12
+       mov      rdi, qword ptr [rbx]
+       mov      rsi, qword ptr [rdi+0x30]
+       mov      rsi, qword ptr [rsi]
+       mov      r14, qword ptr [rsi+0x18]
+       test     r14, r14
+       je       G_M24721_IG08
+						;; size=59 bbWeight=0.50 PerfScore 11.62
+G_M24721_IG04:
+       mov      rdi, qword ptr [rbx]
+       mov      rsi, qword ptr [rdi+0x30]
+       mov      rsi, qword ptr [rsi]
+       mov      r12, qword ptr [rsi+0x20]
+       test     r12, r12
+       je       G_M24721_IG09
+						;; size=23 bbWeight=0.50 PerfScore 4.62
+G_M24721_IG05:
+       mov      rdi, r14
+       mov      rsi, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE
+       call     [rsi]CORINFO_HELP_GET_GCSTATIC_BASE
+       mov      r14, gword ptr [rax]
+       mov      rdi, r15
+       mov      rdx, r12
+       mov      rsi, 0xD1FFAB1E      ; Microsoft.Extensions.Logging.ILogger
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
+       call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
+       lea      rdi, [rsp]
+       lea      rsi, [rbp-0x48]
+       mov      rcx, gword ptr [rsi]
+       mov      gword ptr [rsp], rcx
+       add      rsi, 8
+       add      rdi, 8
+       mov      rcx, gword ptr [rsi]
+       mov      gword ptr [rsp+0x08], rcx
+       add      rsi, 8
+       add      rdi, 8
+       movsq    
+       mov      rdx, gword ptr [rbp-0x58]
+       mov      ecx, dword ptr [rbp-0x50]
+       mov      rdi, r15
+       mov      esi, dword ptr [rbp-0x4C]
+       mov      r8, r13
+       mov      r9, r14
+       call     rax
+						;; size=108 bbWeight=0.50 PerfScore 12.62
+G_M24721_IG06:
+       nop      
+						;; size=1 bbWeight=1 PerfScore 0.25
+G_M24721_IG07:
+       add      rsp, 72
        pop      rbx
+       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0.50 PerfScore 1.88
-G_M24721_IG04:
-       mov      rdi, rbx
-       mov      rsi, r15
-       mov      rdx, r14
-       mov      rcx, qword ptr [rbp-0x28]
-       mov      r8, r13
-       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Nullable`1[int],System.Exception):this
-						;; size=26 bbWeight=0.50 PerfScore 1.12
-G_M24721_IG05:
-       add      rsp, 16
-       pop      rbx
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       tail.jmp [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Nullable`1[int],System.Exception):this
-						;; size=15 bbWeight=0.50 PerfScore 2.38
+						;; size=15 bbWeight=1 PerfScore 4.25
+G_M24721_IG08:
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      r8, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       call     [r8]CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       mov      r14, rax
+       jmp      G_M24721_IG04
+						;; size=31 bbWeight=0.10 PerfScore 0.58
+G_M24721_IG09:
+       mov      rsi, 0xD1FFAB1E      ; global ptr
+       mov      r8, 0xD1FFAB1E      ; code for CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       call     [r8]CORINFO_HELP_RUNTIMEHANDLE_CLASS
+       mov      r12, rax
+       jmp      G_M24721_IG05
+						;; size=31 bbWeight=0.10 PerfScore 0.58
 
-; Total bytes of code 110, prolog size 17, PerfScore 19.88, instruction count 38, allocated bytes for code 110 (MethodHash=e0179f6e) for method Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]:<Define>b__1(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Nullable`1[int],System.Exception):this (FullOpts)
+; Total bytes of code 349, prolog size 39, PerfScore 53.86, instruction count 92, allocated bytes for code 349 (MethodHash=e0179f6e) for method Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.Nullable`1[int]]:<Define>b__1(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Nullable`1[int],System.Exception):this (FullOpts)
 ; ============================================================

Note: some changes were skipped as they were too large to fit into a comment.

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

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 15, 2025

Top method improvements

-23 (-10.04 % of base) - System.Text.Json.Nodes.JsonValueOfElement:GetValue[double]():double:this
 ; Assembly listing for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[double]():double:this (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; 8 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  5,  4.50)     ref  ->  rbx         this class-hnd single-def <System.Text.Json.Nodes.JsonValueOfElement>
+;  V00 this         [V00,T00] (  4,  3.50)     ref  ->  rbx         this class-hnd single-def <System.Text.Json.Nodes.JsonValueOfElement>
 ;  V01 loc0         [V01    ] (  2,  2   )  double  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V03 tmp1         [V03,T04] (  2,  4   )    long  ->  rax         "VirtualCall through function pointer"
-;  V04 tmp2         [V04,T05] (  3,  3   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V05 tmp3         [V05,T11] (  3,  1.50)   ubyte  ->  rdi         "Inline return value spill temp"
-;  V06 tmp4         [V06,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Text.Json.JsonDocument>
-;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp6         [V08,T07] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;  V03 tmp1         [V03,T04] (  3,  3   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V04 tmp2         [V04,T10] (  3,  1.50)   ubyte  ->  rdi         "Inline return value spill temp"
+;  V05 tmp3         [V05,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Text.Json.JsonDocument>
+;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V07 tmp5         [V07,T06] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;* V08 tmp6         [V08    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp7         [V09    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V10 tmp8         [V10    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
-;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;* V13 tmp11        [V13    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V14 tmp12        [V14,T03] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V15 tmp13        [V15,T01] (  5,  5   )     int  ->  rax         "Inlining Arg"
-;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V19 tmp17        [V19,T08] (  2,  2   )     int  ->  rcx         "Inlining Arg"
-;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V21 tmp19        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
+;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
+;  V13 tmp11        [V13,T03] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V14 tmp12        [V14,T01] (  5,  5   )     int  ->  rax         "Inlining Arg"
+;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
+;  V17 tmp15        [V17,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V18 tmp16        [V18,T07] (  2,  2   )     int  ->  rcx         "Inlining Arg"
+;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V21 tmp19        [V21    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
+;* V22 tmp20        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V23 tmp21        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp22        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V25 tmp23        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp27        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;  V30 tmp28        [V30,T10] (  3,  1.50)   byref  ->  rdi         "field V13._reference (fldOffset=0x0)" P-INDEP
-;  V31 tmp29        [V31,T12] (  3,  1.50)     int  ->  rcx         "field V13._length (fldOffset=0x8)" P-INDEP
-;  V32 tmp30        [V32,T14] (  2,  1   )   byref  ->  rdi         single-def "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T15] (  2,  1   )     int  ->  rcx         "field V16._length (fldOffset=0x8)" P-INDEP
-;* V34 tmp32        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;* V36 tmp34        [V36    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V37 tmp35        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V38 tmp36        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
-;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V42 tmp40        [V42    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V43 tmp41        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp42        [V44,T09] (  2,  2   )     int  ->  rdi         "argument with side effect"
-;  V45 cse0         [V45,T13] (  3,  1.50)     int  ->  rcx         "CSE #01: moderate"
+;* V25 tmp23        [V25    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V26 tmp24        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V27 tmp25        [V27    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V28 tmp26        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;  V29 tmp27        [V29,T09] (  3,  1.50)   byref  ->  rdi         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V30 tmp28        [V30,T11] (  3,  1.50)     int  ->  rcx         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V31 tmp29        [V31,T13] (  2,  1   )   byref  ->  rdi         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V32 tmp30        [V32,T14] (  2,  1   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;* V33 tmp31        [V33    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V34 tmp32        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V35 tmp33        [V35    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V36 tmp34        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V37 tmp35        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V38 tmp36        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V39 tmp37        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V40 tmp38        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V41 tmp39        [V41    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V42 tmp40        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp41        [V43,T08] (  2,  2   )     int  ->  rdi         "argument with side effect"
+;  V44 cse0         [V44,T12] (  3,  1.50)     int  ->  rcx         "CSE #01: moderate"
 ;
 ; Lcl frame size = 8
 
 G_M715_IG01:
        push     rbp
        push     rbx
        push     rax
        lea      rbp, [rsp+0x10]
        mov      rbx, rdi
 						;; size=11 bbWeight=1 PerfScore 3.75
 G_M715_IG02:
-       mov      rdi, rbx
-       mov      rsi, 0xD1FFAB1E      ; System.Text.Json.Nodes.JsonValue
-       mov      rdx, 0xD1FFAB1E      ; token handle
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
-       call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
        lea      rsi, [rbp-0x10]
        mov      rdi, rbx
-       call     rax
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Nodes.JsonValueOfElement:TryGetValue[double](byref):ubyte:this
+       cmp      dword ptr [rdi], edi
+       call     [rax]System.Text.Json.Nodes.JsonValueOfElement:TryGetValue[double](byref):ubyte:this
        test     eax, eax
        je       SHORT G_M715_IG04
        vmovsd   xmm0, qword ptr [rbp-0x10]
-						;; size=53 bbWeight=1 PerfScore 12.00
+						;; size=30 bbWeight=1 PerfScore 11.25
 G_M715_IG03:
        add      rsp, 8
        pop      rbx
        pop      rbp
        ret      
 						;; size=7 bbWeight=1 PerfScore 2.25
 G_M715_IG04:
        add      rbx, 24
        mov      rdi, gword ptr [rbx]
        test     rdi, rdi
        je       SHORT G_M715_IG10
        mov      eax, dword ptr [rbx+0x08]
        cmp      dword ptr [rdi+0x2C], 0
        je       SHORT G_M715_IG09
        mov      rdi, gword ptr [rdi+0x30]
        add      eax, 8
        test     rdi, rdi
        je       SHORT G_M715_IG05
        mov      ecx, dword ptr [rdi+0x08]
        cmp      ecx, eax
        jb       SHORT G_M715_IG08
        mov      edx, eax
        lea      rdi, bword ptr [rdi+rdx+0x10]
        sub      ecx, eax
        jmp      SHORT G_M715_IG06
 						;; size=51 bbWeight=0.50 PerfScore 9.88
 G_M715_IG05:
        test     eax, eax
        jne      SHORT G_M715_IG08
        xor      rdi, rdi
        xor      ecx, ecx
 						;; size=8 bbWeight=0.50 PerfScore 0.88
 G_M715_IG06:
        cmp      ecx, 4
        jl       SHORT G_M715_IG07
        mov      edi, dword ptr [rdi]
        shr      edi, 28
        movzx    rdi, dil
        jmp      SHORT G_M715_IG11
 						;; size=16 bbWeight=0.50 PerfScore 3.00
 G_M715_IG07:
        mov      edi, 40
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0.50 PerfScore 1.88
 G_M715_IG08:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M715_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowObjectDisposedException_JsonDocument()
        call     [rax]System.Text.Json.ThrowHelper:ThrowObjectDisposedException_JsonDocument()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M715_IG10:
        xor      edi, edi
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M715_IG11:
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.JsonReaderHelper:ToValueKind(ubyte):ubyte
        call     [rax]System.Text.Json.JsonReaderHelper:ToValueKind(ubyte):ubyte
        mov      edi, eax
        mov      rsi, 0xD1FFAB1E      ; 'System.Double'
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowInvalidOperationException_NodeUnableToConvertElement(ubyte,System.Type)
        call     [rax]System.Text.Json.ThrowHelper:ThrowInvalidOperationException_NodeUnableToConvertElement(ubyte,System.Type)
        int3     
 						;; size=37 bbWeight=0.50 PerfScore 3.62
 
-; Total bytes of code 229, prolog size 8, PerfScore 40.88, instruction count 66, allocated bytes for code 229 (MethodHash=7ea7fd34) for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[double]():double:this (FullOpts)
+; Total bytes of code 206, prolog size 8, PerfScore 40.12, instruction count 63, allocated bytes for code 206 (MethodHash=7ea7fd34) for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[double]():double:this (FullOpts)
 ; ============================================================
-23 (-10.13 % of base) - System.Text.Json.Nodes.JsonValueOfElement:GetValue[int]():int:this
 ; Assembly listing for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[int]():int:this (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; 8 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  5,  4.50)     ref  ->  rbx         this class-hnd single-def <System.Text.Json.Nodes.JsonValueOfElement>
+;  V00 this         [V00,T00] (  4,  3.50)     ref  ->  rbx         this class-hnd single-def <System.Text.Json.Nodes.JsonValueOfElement>
 ;  V01 loc0         [V01    ] (  2,  2   )     int  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V03 tmp1         [V03,T04] (  2,  4   )    long  ->  rax         "VirtualCall through function pointer"
-;  V04 tmp2         [V04,T05] (  3,  3   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V05 tmp3         [V05,T11] (  3,  1.50)   ubyte  ->  rdi         "Inline return value spill temp"
-;  V06 tmp4         [V06,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Text.Json.JsonDocument>
-;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp6         [V08,T07] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;  V03 tmp1         [V03,T04] (  3,  3   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V04 tmp2         [V04,T10] (  3,  1.50)   ubyte  ->  rdi         "Inline return value spill temp"
+;  V05 tmp3         [V05,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Text.Json.JsonDocument>
+;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V07 tmp5         [V07,T06] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;* V08 tmp6         [V08    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp7         [V09    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V10 tmp8         [V10    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
-;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;* V13 tmp11        [V13    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V14 tmp12        [V14,T03] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V15 tmp13        [V15,T01] (  5,  5   )     int  ->  rax         "Inlining Arg"
-;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V19 tmp17        [V19,T08] (  2,  2   )     int  ->  rcx         "Inlining Arg"
-;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V21 tmp19        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
+;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
+;  V13 tmp11        [V13,T03] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V14 tmp12        [V14,T01] (  5,  5   )     int  ->  rax         "Inlining Arg"
+;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
+;  V17 tmp15        [V17,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V18 tmp16        [V18,T07] (  2,  2   )     int  ->  rcx         "Inlining Arg"
+;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V21 tmp19        [V21    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
+;* V22 tmp20        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V23 tmp21        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp22        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V25 tmp23        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp27        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;  V30 tmp28        [V30,T10] (  3,  1.50)   byref  ->  rdi         "field V13._reference (fldOffset=0x0)" P-INDEP
-;  V31 tmp29        [V31,T12] (  3,  1.50)     int  ->  rcx         "field V13._length (fldOffset=0x8)" P-INDEP
-;  V32 tmp30        [V32,T14] (  2,  1   )   byref  ->  rdi         single-def "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T15] (  2,  1   )     int  ->  rcx         "field V16._length (fldOffset=0x8)" P-INDEP
-;* V34 tmp32        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;* V36 tmp34        [V36    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V37 tmp35        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V38 tmp36        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
-;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V42 tmp40        [V42    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V43 tmp41        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp42        [V44,T09] (  2,  2   )     int  ->  rdi         "argument with side effect"
-;  V45 cse0         [V45,T13] (  3,  1.50)     int  ->  rcx         "CSE #01: moderate"
+;* V25 tmp23        [V25    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V26 tmp24        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V27 tmp25        [V27    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V28 tmp26        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;  V29 tmp27        [V29,T09] (  3,  1.50)   byref  ->  rdi         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V30 tmp28        [V30,T11] (  3,  1.50)     int  ->  rcx         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V31 tmp29        [V31,T13] (  2,  1   )   byref  ->  rdi         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V32 tmp30        [V32,T14] (  2,  1   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;* V33 tmp31        [V33    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V34 tmp32        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V35 tmp33        [V35    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V36 tmp34        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V37 tmp35        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V38 tmp36        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V39 tmp37        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V40 tmp38        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V41 tmp39        [V41    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V42 tmp40        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp41        [V43,T08] (  2,  2   )     int  ->  rdi         "argument with side effect"
+;  V44 cse0         [V44,T12] (  3,  1.50)     int  ->  rcx         "CSE #01: moderate"
 ;
 ; Lcl frame size = 8
 
 G_M37867_IG01:
        push     rbp
        push     rbx
        push     rax
        lea      rbp, [rsp+0x10]
        mov      rbx, rdi
 						;; size=11 bbWeight=1 PerfScore 3.75
 G_M37867_IG02:
-       mov      rdi, rbx
-       mov      rsi, 0xD1FFAB1E      ; System.Text.Json.Nodes.JsonValue
-       mov      rdx, 0xD1FFAB1E      ; token handle
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
-       call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
        lea      rsi, [rbp-0x10]
        mov      rdi, rbx
-       call     rax
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Nodes.JsonValueOfElement:TryGetValue[int](byref):ubyte:this
+       cmp      dword ptr [rdi], edi
+       call     [rax]System.Text.Json.Nodes.JsonValueOfElement:TryGetValue[int](byref):ubyte:this
        test     eax, eax
        je       SHORT G_M37867_IG04
        mov      eax, dword ptr [rbp-0x10]
-						;; size=51 bbWeight=1 PerfScore 10.00
+						;; size=28 bbWeight=1 PerfScore 9.25
 G_M37867_IG03:
        add      rsp, 8
        pop      rbx
        pop      rbp
        ret      
 						;; size=7 bbWeight=1 PerfScore 2.25
 G_M37867_IG04:
        add      rbx, 24
        mov      rdi, gword ptr [rbx]
        test     rdi, rdi
        je       SHORT G_M37867_IG10
        mov      eax, dword ptr [rbx+0x08]
        cmp      dword ptr [rdi+0x2C], 0
        je       SHORT G_M37867_IG09
        mov      rdi, gword ptr [rdi+0x30]
        add      eax, 8
        test     rdi, rdi
        je       SHORT G_M37867_IG05
        mov      ecx, dword ptr [rdi+0x08]
        cmp      ecx, eax
        jb       SHORT G_M37867_IG08
        mov      edx, eax
        lea      rdi, bword ptr [rdi+rdx+0x10]
        sub      ecx, eax
        jmp      SHORT G_M37867_IG06
 						;; size=51 bbWeight=0.50 PerfScore 9.88
 G_M37867_IG05:
        test     eax, eax
        jne      SHORT G_M37867_IG08
        xor      rdi, rdi
        xor      ecx, ecx
 						;; size=8 bbWeight=0.50 PerfScore 0.88
 G_M37867_IG06:
        cmp      ecx, 4
        jl       SHORT G_M37867_IG07
        mov      edi, dword ptr [rdi]
        shr      edi, 28
        movzx    rdi, dil
        jmp      SHORT G_M37867_IG11
 						;; size=16 bbWeight=0.50 PerfScore 3.00
 G_M37867_IG07:
        mov      edi, 40
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0.50 PerfScore 1.88
 G_M37867_IG08:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M37867_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowObjectDisposedException_JsonDocument()
        call     [rax]System.Text.Json.ThrowHelper:ThrowObjectDisposedException_JsonDocument()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M37867_IG10:
        xor      edi, edi
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M37867_IG11:
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.JsonReaderHelper:ToValueKind(ubyte):ubyte
        call     [rax]System.Text.Json.JsonReaderHelper:ToValueKind(ubyte):ubyte
        mov      edi, eax
        mov      rsi, 0xD1FFAB1E      ; 'System.Int32'
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowInvalidOperationException_NodeUnableToConvertElement(ubyte,System.Type)
        call     [rax]System.Text.Json.ThrowHelper:ThrowInvalidOperationException_NodeUnableToConvertElement(ubyte,System.Type)
        int3     
 						;; size=37 bbWeight=0.50 PerfScore 3.62
 
-; Total bytes of code 227, prolog size 8, PerfScore 38.88, instruction count 66, allocated bytes for code 227 (MethodHash=48d36c14) for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[int]():int:this (FullOpts)
+; Total bytes of code 204, prolog size 8, PerfScore 38.12, instruction count 63, allocated bytes for code 204 (MethodHash=48d36c14) for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[int]():int:this (FullOpts)
 ; ============================================================
-23 (-10.09 % of base) - System.Text.Json.Nodes.JsonValueOfElement:GetValue[long]():long:this
 ; Assembly listing for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[long]():long:this (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; 8 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  5,  4.50)     ref  ->  rbx         this class-hnd single-def <System.Text.Json.Nodes.JsonValueOfElement>
+;  V00 this         [V00,T00] (  4,  3.50)     ref  ->  rbx         this class-hnd single-def <System.Text.Json.Nodes.JsonValueOfElement>
 ;  V01 loc0         [V01    ] (  2,  2   )    long  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V03 tmp1         [V03,T04] (  2,  4   )    long  ->  rax         "VirtualCall through function pointer"
-;  V04 tmp2         [V04,T05] (  3,  3   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V05 tmp3         [V05,T11] (  3,  1.50)   ubyte  ->  rdi         "Inline return value spill temp"
-;  V06 tmp4         [V06,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Text.Json.JsonDocument>
-;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp6         [V08,T07] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;  V03 tmp1         [V03,T04] (  3,  3   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V04 tmp2         [V04,T10] (  3,  1.50)   ubyte  ->  rdi         "Inline return value spill temp"
+;  V05 tmp3         [V05,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Text.Json.JsonDocument>
+;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V07 tmp5         [V07,T06] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;* V08 tmp6         [V08    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp7         [V09    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V10 tmp8         [V10    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
-;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;* V13 tmp11        [V13    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V14 tmp12        [V14,T03] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V15 tmp13        [V15,T01] (  5,  5   )     int  ->  rax         "Inlining Arg"
-;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V19 tmp17        [V19,T08] (  2,  2   )     int  ->  rcx         "Inlining Arg"
-;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V21 tmp19        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
+;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
+;  V13 tmp11        [V13,T03] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V14 tmp12        [V14,T01] (  5,  5   )     int  ->  rax         "Inlining Arg"
+;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
+;  V17 tmp15        [V17,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V18 tmp16        [V18,T07] (  2,  2   )     int  ->  rcx         "Inlining Arg"
+;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V21 tmp19        [V21    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
+;* V22 tmp20        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V23 tmp21        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp22        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V25 tmp23        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp27        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;  V30 tmp28        [V30,T10] (  3,  1.50)   byref  ->  rdi         "field V13._reference (fldOffset=0x0)" P-INDEP
-;  V31 tmp29        [V31,T12] (  3,  1.50)     int  ->  rcx         "field V13._length (fldOffset=0x8)" P-INDEP
-;  V32 tmp30        [V32,T14] (  2,  1   )   byref  ->  rdi         single-def "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T15] (  2,  1   )     int  ->  rcx         "field V16._length (fldOffset=0x8)" P-INDEP
-;* V34 tmp32        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;* V36 tmp34        [V36    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V37 tmp35        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V38 tmp36        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
-;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V42 tmp40        [V42    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V43 tmp41        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp42        [V44,T09] (  2,  2   )     int  ->  rdi         "argument with side effect"
-;  V45 cse0         [V45,T13] (  3,  1.50)     int  ->  rcx         "CSE #01: moderate"
+;* V25 tmp23        [V25    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V26 tmp24        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V27 tmp25        [V27    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V28 tmp26        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;  V29 tmp27        [V29,T09] (  3,  1.50)   byref  ->  rdi         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V30 tmp28        [V30,T11] (  3,  1.50)     int  ->  rcx         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V31 tmp29        [V31,T13] (  2,  1   )   byref  ->  rdi         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V32 tmp30        [V32,T14] (  2,  1   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;* V33 tmp31        [V33    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V34 tmp32        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V35 tmp33        [V35    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V36 tmp34        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V37 tmp35        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V38 tmp36        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V39 tmp37        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V40 tmp38        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V41 tmp39        [V41    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V42 tmp40        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp41        [V43,T08] (  2,  2   )     int  ->  rdi         "argument with side effect"
+;  V44 cse0         [V44,T12] (  3,  1.50)     int  ->  rcx         "CSE #01: moderate"
 ;
 ; Lcl frame size = 8
 
 G_M48331_IG01:
        push     rbp
        push     rbx
        push     rax
        lea      rbp, [rsp+0x10]
        mov      rbx, rdi
 						;; size=11 bbWeight=1 PerfScore 3.75
 G_M48331_IG02:
-       mov      rdi, rbx
-       mov      rsi, 0xD1FFAB1E      ; System.Text.Json.Nodes.JsonValue
-       mov      rdx, 0xD1FFAB1E      ; token handle
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
-       call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
        lea      rsi, [rbp-0x10]
        mov      rdi, rbx
-       call     rax
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Nodes.JsonValueOfElement:TryGetValue[long](byref):ubyte:this
+       cmp      dword ptr [rdi], edi
+       call     [rax]System.Text.Json.Nodes.JsonValueOfElement:TryGetValue[long](byref):ubyte:this
        test     eax, eax
        je       SHORT G_M48331_IG04
        mov      rax, qword ptr [rbp-0x10]
-						;; size=52 bbWeight=1 PerfScore 10.00
+						;; size=29 bbWeight=1 PerfScore 9.25
 G_M48331_IG03:
        add      rsp, 8
        pop      rbx
        pop      rbp
        ret      
 						;; size=7 bbWeight=1 PerfScore 2.25
 G_M48331_IG04:
        add      rbx, 24
        mov      rdi, gword ptr [rbx]
        test     rdi, rdi
        je       SHORT G_M48331_IG10
        mov      eax, dword ptr [rbx+0x08]
        cmp      dword ptr [rdi+0x2C], 0
        je       SHORT G_M48331_IG09
        mov      rdi, gword ptr [rdi+0x30]
        add      eax, 8
        test     rdi, rdi
        je       SHORT G_M48331_IG05
        mov      ecx, dword ptr [rdi+0x08]
        cmp      ecx, eax
        jb       SHORT G_M48331_IG08
        mov      edx, eax
        lea      rdi, bword ptr [rdi+rdx+0x10]
        sub      ecx, eax
        jmp      SHORT G_M48331_IG06
 						;; size=51 bbWeight=0.50 PerfScore 9.88
 G_M48331_IG05:
        test     eax, eax
        jne      SHORT G_M48331_IG08
        xor      rdi, rdi
        xor      ecx, ecx
 						;; size=8 bbWeight=0.50 PerfScore 0.88
 G_M48331_IG06:
        cmp      ecx, 4
        jl       SHORT G_M48331_IG07
        mov      edi, dword ptr [rdi]
        shr      edi, 28
        movzx    rdi, dil
        jmp      SHORT G_M48331_IG11
 						;; size=16 bbWeight=0.50 PerfScore 3.00
 G_M48331_IG07:
        mov      edi, 40
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0.50 PerfScore 1.88
 G_M48331_IG08:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M48331_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowObjectDisposedException_JsonDocument()
        call     [rax]System.Text.Json.ThrowHelper:ThrowObjectDisposedException_JsonDocument()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M48331_IG10:
        xor      edi, edi
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M48331_IG11:
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.JsonReaderHelper:ToValueKind(ubyte):ubyte
        call     [rax]System.Text.Json.JsonReaderHelper:ToValueKind(ubyte):ubyte
        mov      edi, eax
        mov      rsi, 0xD1FFAB1E      ; 'System.Int64'
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowInvalidOperationException_NodeUnableToConvertElement(ubyte,System.Type)
        call     [rax]System.Text.Json.ThrowHelper:ThrowInvalidOperationException_NodeUnableToConvertElement(ubyte,System.Type)
        int3     
 						;; size=37 bbWeight=0.50 PerfScore 3.62
 
-; Total bytes of code 228, prolog size 8, PerfScore 38.88, instruction count 66, allocated bytes for code 228 (MethodHash=948b4334) for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[long]():long:this (FullOpts)
+; Total bytes of code 205, prolog size 8, PerfScore 38.12, instruction count 63, allocated bytes for code 205 (MethodHash=948b4334) for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[long]():long:this (FullOpts)
 ; ============================================================
-23 (-10.04 % of base) - System.Text.Json.Nodes.JsonValueOfElement:GetValue[short]():short:this
 ; Assembly listing for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[short]():short:this (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; 8 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  5,  4.50)     ref  ->  rbx         this class-hnd single-def <System.Text.Json.Nodes.JsonValueOfElement>
+;  V00 this         [V00,T00] (  4,  3.50)     ref  ->  rbx         this class-hnd single-def <System.Text.Json.Nodes.JsonValueOfElement>
 ;  V01 loc0         [V01    ] (  2,  2   )   short  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V03 tmp1         [V03,T04] (  2,  4   )    long  ->  rax         "VirtualCall through function pointer"
-;  V04 tmp2         [V04,T05] (  3,  3   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V05 tmp3         [V05,T11] (  3,  1.50)   ubyte  ->  rdi         "Inline return value spill temp"
-;  V06 tmp4         [V06,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Text.Json.JsonDocument>
-;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V08 tmp6         [V08,T07] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;  V03 tmp1         [V03,T04] (  3,  3   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V04 tmp2         [V04,T10] (  3,  1.50)   ubyte  ->  rdi         "Inline return value spill temp"
+;  V05 tmp3         [V05,T02] (  4,  4   )     ref  ->  rdi         class-hnd exact single-def "dup spill" <System.Text.Json.JsonDocument>
+;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V07 tmp5         [V07,T06] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;* V08 tmp6         [V08    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp7         [V09    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V10 tmp8         [V10    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
-;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;* V13 tmp11        [V13    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V14 tmp12        [V14,T03] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V15 tmp13        [V15,T01] (  5,  5   )     int  ->  rax         "Inlining Arg"
-;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V17 tmp15        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
-;  V18 tmp16        [V18,T06] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V19 tmp17        [V19,T08] (  2,  2   )     int  ->  rcx         "Inlining Arg"
-;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V21 tmp19        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
+;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
+;  V13 tmp11        [V13,T03] (  4,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V14 tmp12        [V14,T01] (  5,  5   )     int  ->  rax         "Inlining Arg"
+;* V15 tmp13        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
+;  V17 tmp15        [V17,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V18 tmp16        [V18,T07] (  2,  2   )     int  ->  rcx         "Inlining Arg"
+;* V19 tmp17        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V21 tmp19        [V21    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
+;* V22 tmp20        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V23 tmp21        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp22        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V25 tmp23        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp27        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;  V30 tmp28        [V30,T10] (  3,  1.50)   byref  ->  rdi         "field V13._reference (fldOffset=0x0)" P-INDEP
-;  V31 tmp29        [V31,T12] (  3,  1.50)     int  ->  rcx         "field V13._length (fldOffset=0x8)" P-INDEP
-;  V32 tmp30        [V32,T14] (  2,  1   )   byref  ->  rdi         single-def "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V33 tmp31        [V33,T15] (  2,  1   )     int  ->  rcx         "field V16._length (fldOffset=0x8)" P-INDEP
-;* V34 tmp32        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;* V36 tmp34        [V36    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V37 tmp35        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V38 tmp36        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V39 tmp37        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
-;* V40 tmp38        [V40    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V41 tmp39        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V42 tmp40        [V42    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V43 tmp41        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp42        [V44,T09] (  2,  2   )     int  ->  rdi         "argument with side effect"
-;  V45 cse0         [V45,T13] (  3,  1.50)     int  ->  rcx         "CSE #01: moderate"
+;* V25 tmp23        [V25    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V26 tmp24        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V27 tmp25        [V27    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V28 tmp26        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;  V29 tmp27        [V29,T09] (  3,  1.50)   byref  ->  rdi         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V30 tmp28        [V30,T11] (  3,  1.50)     int  ->  rcx         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V31 tmp29        [V31,T13] (  2,  1   )   byref  ->  rdi         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V32 tmp30        [V32,T14] (  2,  1   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;* V33 tmp31        [V33    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V34 tmp32        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V35 tmp33        [V35    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V36 tmp34        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V37 tmp35        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V38 tmp36        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V39 tmp37        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V40 tmp38        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;* V41 tmp39        [V41    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V42 tmp40        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp41        [V43,T08] (  2,  2   )     int  ->  rdi         "argument with side effect"
+;  V44 cse0         [V44,T12] (  3,  1.50)     int  ->  rcx         "CSE #01: moderate"
 ;
 ; Lcl frame size = 8
 
 G_M15051_IG01:
        push     rbp
        push     rbx
        push     rax
        lea      rbp, [rsp+0x10]
        mov      rbx, rdi
 						;; size=11 bbWeight=1 PerfScore 3.75
 G_M15051_IG02:
-       mov      rdi, rbx
-       mov      rsi, 0xD1FFAB1E      ; System.Text.Json.Nodes.JsonValue
-       mov      rdx, 0xD1FFAB1E      ; token handle
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
-       call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
        lea      rsi, [rbp-0x10]
        mov      rdi, rbx
-       call     rax
+       mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Nodes.JsonValueOfElement:TryGetValue[short](byref):ubyte:this
+       cmp      dword ptr [rdi], edi
+       call     [rax]System.Text.Json.Nodes.JsonValueOfElement:TryGetValue[short](byref):ubyte:this
        test     eax, eax
        je       SHORT G_M15051_IG04
        movsx    rax, word  ptr [rbp-0x10]
-						;; size=53 bbWeight=1 PerfScore 12.00
+						;; size=30 bbWeight=1 PerfScore 11.25
 G_M15051_IG03:
        add      rsp, 8
        pop      rbx
        pop      rbp
        ret      
 						;; size=7 bbWeight=1 PerfScore 2.25
 G_M15051_IG04:
        add      rbx, 24
        mov      rdi, gword ptr [rbx]
        test     rdi, rdi
        je       SHORT G_M15051_IG10
        mov      eax, dword ptr [rbx+0x08]
        cmp      dword ptr [rdi+0x2C], 0
        je       SHORT G_M15051_IG09
        mov      rdi, gword ptr [rdi+0x30]
        add      eax, 8
        test     rdi, rdi
        je       SHORT G_M15051_IG05
        mov      ecx, dword ptr [rdi+0x08]
        cmp      ecx, eax
        jb       SHORT G_M15051_IG08
        mov      edx, eax
        lea      rdi, bword ptr [rdi+rdx+0x10]
        sub      ecx, eax
        jmp      SHORT G_M15051_IG06
 						;; size=51 bbWeight=0.50 PerfScore 9.88
 G_M15051_IG05:
        test     eax, eax
        jne      SHORT G_M15051_IG08
        xor      rdi, rdi
        xor      ecx, ecx
 						;; size=8 bbWeight=0.50 PerfScore 0.88
 G_M15051_IG06:
        cmp      ecx, 4
        jl       SHORT G_M15051_IG07
        mov      edi, dword ptr [rdi]
        shr      edi, 28
        movzx    rdi, dil
        jmp      SHORT G_M15051_IG11
 						;; size=16 bbWeight=0.50 PerfScore 3.00
 G_M15051_IG07:
        mov      edi, 40
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0.50 PerfScore 1.88
 G_M15051_IG08:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M15051_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowObjectDisposedException_JsonDocument()
        call     [rax]System.Text.Json.ThrowHelper:ThrowObjectDisposedException_JsonDocument()
        int3     
 						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M15051_IG10:
        xor      edi, edi
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M15051_IG11:
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.JsonReaderHelper:ToValueKind(ubyte):ubyte
        call     [rax]System.Text.Json.JsonReaderHelper:ToValueKind(ubyte):ubyte
        mov      edi, eax
        mov      rsi, 0xD1FFAB1E      ; 'System.Int16'
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowInvalidOperationException_NodeUnableToConvertElement(ubyte,System.Type)
        call     [rax]System.Text.Json.ThrowHelper:ThrowInvalidOperationException_NodeUnableToConvertElement(ubyte,System.Type)
        int3     
 						;; size=37 bbWeight=0.50 PerfScore 3.62
 
-; Total bytes of code 229, prolog size 8, PerfScore 40.88, instruction count 66, allocated bytes for code 229 (MethodHash=4815c534) for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[short]():short:this (FullOpts)
+; Total bytes of code 206, prolog size 8, PerfScore 40.12, instruction count 63, allocated bytes for code 206 (MethodHash=4815c534) for method System.Text.Json.Nodes.JsonValueOfElement:GetValue[short]():short:this (FullOpts)
 ; ============================================================

Note: some changes were skipped as they were too large to fit into a comment.

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

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 15, 2025

@hez2010

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