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] [EgorBo] Never use heap for return buffers #987

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

[JitDiff X64] [EgorBo] Never use heap for return buffers #987

MihuBot opened this issue Feb 6, 2025 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Feb 6, 2025

Job completed in 18 minutes 16 seconds (remote runner delay: 1 minute 19 seconds).
dotnet/runtime#112060

Diffs

Diffs
Found 180 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 43686873
Total bytes of diff: 43683234
Total bytes of delta: -3639 (-0.01 % of base)
Total relative delta: -108.03
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
        1162 : System.Threading.Tasks.Parallel.dasm (0.46 % of base)
         849 : System.Text.Json.dasm (0.06 % of base)
         830 : System.Linq.AsyncEnumerable.dasm (0.06 % of base)
         526 : System.Linq.Parallel.dasm (0.02 % of base)
         472 : System.Net.NetworkInformation.dasm (0.97 % of base)
         468 : System.Linq.dasm (0.04 % of base)
         167 : System.Net.Security.dasm (0.07 % of base)
         137 : ILCompiler.Reflection.ReadyToRun.dasm (0.06 % of base)
         135 : System.Data.Common.dasm (0.01 % of base)
         112 : System.Runtime.InteropServices.dasm (0.47 % of base)
          78 : Microsoft.Extensions.Http.dasm (0.11 % of base)
          69 : System.IO.Compression.dasm (0.07 % of base)
          57 : Microsoft.Extensions.Configuration.FileExtensions.dasm (1.23 % of base)
          45 : Microsoft.Extensions.FileSystemGlobbing.dasm (0.18 % of base)
          30 : System.Threading.Tasks.Dataflow.dasm (0.00 % of base)
          20 : System.Diagnostics.Process.dasm (0.02 % of base)
          16 : System.Numerics.Tensors.dasm (0.00 % of base)
          15 : Microsoft.Extensions.Caching.Abstractions.dasm (0.04 % of base)
          14 : System.Linq.Queryable.dasm (0.00 % of base)
           5 : System.Transactions.Local.dasm (0.00 % of base)
           3 : System.Composition.Hosting.dasm (0.00 % of base)

Top file improvements (bytes):
       -2656 : System.Private.CoreLib.dasm (-0.04 % of base)
       -1337 : System.Collections.dasm (-0.32 % of base)
        -892 : System.Security.Cryptography.dasm (-0.08 % of base)
        -663 : System.Memory.dasm (-0.23 % of base)
        -429 : System.Net.WebSockets.dasm (-0.29 % of base)
        -331 : System.Text.RegularExpressions.dasm (-0.04 % of base)
        -325 : System.Collections.Immutable.dasm (-0.02 % of base)
        -268 : System.Reflection.Metadata.dasm (-0.05 % of base)
        -239 : System.Private.Xml.dasm (-0.01 % of base)
        -188 : System.Diagnostics.DiagnosticSource.dasm (-0.08 % of base)
        -177 : System.Threading.RateLimiting.dasm (-0.11 % of base)
        -177 : System.Threading.Channels.dasm (-0.08 % of base)
        -113 : System.Net.Http.dasm (-0.01 % of base)
        -102 : Microsoft.Extensions.DependencyInjection.dasm (-0.15 % of base)
        -100 : System.Security.Cryptography.Pkcs.dasm (-0.03 % of base)
         -98 : System.IO.Pipelines.dasm (-0.12 % of base)
         -83 : Microsoft.Extensions.DependencyModel.dasm (-0.11 % of base)
         -81 : System.Reflection.MetadataLoadContext.dasm (-0.04 % of base)
         -75 : Microsoft.Extensions.Primitives.dasm (-0.28 % of base)
         -75 : System.ComponentModel.Composition.dasm (-0.02 % of base)
         -61 : System.Reflection.Context.dasm (-0.10 % of base)
         -54 : System.Reflection.Emit.dasm (-0.04 % of base)
         -53 : System.Net.Sockets.dasm (-0.02 % of base)
         -47 : Markdig.dasm (-0.01 % of base)
         -37 : System.Runtime.Numerics.dasm (-0.03 % of base)
         -28 : System.Drawing.Primitives.dasm (-0.08 % of base)
         -26 : System.IO.IsolatedStorage.dasm (-0.11 % of base)
         -19 : System.Formats.Tar.dasm (-0.01 % of base)
         -18 : System.Security.Cryptography.Cose.dasm (-0.03 % of base)
         -17 : System.Formats.Nrbf.dasm (-0.03 % of base)
         -16 : Microsoft.Extensions.Logging.dasm (-0.05 % of base)
         -13 : System.Net.Ping.dasm (-0.02 % of base)
         -10 : System.Net.Http.Json.dasm (-0.00 % of base)
         -10 : System.Formats.Asn1.dasm (-0.01 % of base)
          -9 : System.DirectoryServices.Protocols.dasm (-0.01 % of base)
          -8 : System.Console.dasm (-0.01 % of base)
          -8 : Yarp.ReverseProxy.dasm (-0.00 % of base)
          -4 : System.ComponentModel.TypeConverter.dasm (-0.00 % of base)
          -1 : System.IO.FileSystem.Watcher.dasm (-0.00 % of base)
          -1 : System.Linq.Expressions.dasm (-0.00 % of base)

61 total files with Code Size differences (40 improved, 21 regressed), 202 unchanged.

Top method regressions (bytes):
         165 (11.01 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.__Canon,long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
         162 (10.96 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[int,long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
         162 (10.96 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[short,long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
         162 (10.96 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[ubyte,long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
         157 (10.47 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[double,long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
         153 (10.21 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[long,long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
         153 (10.21 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.Nullable`1[int],long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
         137 (2.35 % of base) : System.Data.Common.dasm - System.Data.Common.SqlConvert:ChangeType2(System.Object,int,System.Type,System.IFormatProvider):System.Object (FullOpts)
         137 (1.53 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Numerics.Vector`1[float]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts)
         126 (12.64 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.KeyAnalyzer:TryUseSubstring(System.ReadOnlySpan`1[System.String],ubyte,ubyte,int,int,byref):ubyte (FullOpts)
         126 (32.31 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxIPGlobalStatistics:.ctor(ubyte):this (FullOpts)
         126 (12.45 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:CompleteHandshake(System.Net.Security.SslAuthenticationOptions):this (FullOpts)
         122 (0.64 % of base) : System.Data.Common.dasm - System.Data.BinaryNode:EvalBinaryOp(int,System.Data.ExpressionNode,System.Data.ExpressionNode,System.Data.DataRow,int,int[]):System.Object:this (FullOpts)
         120 (21.28 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref,byref):ubyte:this (FullOpts)
         103 (2.84 % of base) : System.Linq.AsyncEnumerable.dasm - System.Linq.AsyncEnumerable+<<MaxAsync>g__Impl|126_0>d`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts)
         103 (2.84 % of base) : System.Linq.AsyncEnumerable.dasm - System.Linq.AsyncEnumerable+<<MinAsync>g__Impl|11_0>d`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts)
         101 (2.37 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunMethod:.ctor(ILCompiler.Reflection.ReadyToRun.ReadyToRunReader,ILCompiler.Reflection.ReadyToRun.IAssemblyMetadata,System.Reflection.Metadata.EntityHandle,int,System.String,System.String,System.String[],System.Nullable`1[int]):this (FullOpts)
          98 (2.73 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.PgoInfoKey:.ctor(ILCompiler.Reflection.ReadyToRun.IAssemblyMetadata,System.String,System.Reflection.Metadata.EntityHandle,System.String[]):this (FullOpts)
          96 (5.68 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonCollectionConverter`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts)
          94 (261.11 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxIcmpV4Statistics:.ctor():this (FullOpts)
          84 (233.33 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxIcmpV6Statistics:.ctor():this (FullOpts)
          80 (1.30 % of base) : System.Linq.AsyncEnumerable.dasm - System.Linq.AsyncEnumerable+<<MaxByAsync>g__Impl|10_0>d`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():this (FullOpts)
          78 (60.94 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions:Configure(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,Microsoft.Extensions.Configuration.IConfiguration):Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder (FullOpts)
          78 (1.75 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1[System.Numerics.Vector`1[float]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts)
          77 (106.94 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanFormat:.cctor() (FullOpts)
          76 (1.24 % of base) : System.Linq.AsyncEnumerable.dasm - System.Linq.AsyncEnumerable+<<MinByAsync>g__Impl|132_0>d`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():this (FullOpts)
          74 (4.53 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.Numerics.Vector`1[float],long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
          71 (10.26 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignedCms:Decode(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
          66 (5.82 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:.ctor(System.Collections.Generic.Dictionary`2[System.__Canon,System.Nullable`1[int]],ubyte):this (FullOpts)
          62 (42.76 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxIPInterfaceStatistics:.ctor(System.String):this (FullOpts)
          61 (53.98 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxTcpStatistics:.ctor(ubyte):this (FullOpts)
          57 (5.92 % of base) : Microsoft.Extensions.Configuration.FileExtensions.dasm - Microsoft.Extensions.Configuration.FileConfigurationProvider:Load(ubyte):this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[double,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[int,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[long,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[short,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[ubyte,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          52 (100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.ExceptionServices.ExceptionDispatchInfo:.ctor(System.Exception):this (FullOpts)
          51 (92.73 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String,System.Net.Http.Headers.HeaderStringValues>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Net.Http.Headers.HeaderStringValues]]:this (FullOpts)
          51 (92.73 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          50 (69.44 % of base) : System.Data.Common.dasm - System.Data.Common.SqlStringStorage:ConvertValue(System.Object):System.Object:this (FullOpts)
          49 (2.60 % of base) : System.Data.Common.dasm - System.Data.DataColumn:set_DataType(System.Type):this (FullOpts)
          49 (6.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ElementAtQueryOperator`1[System.Numerics.Vector`1[float]]:Aggregate(byref,ubyte):ubyte:this (FullOpts)
          49 (12.93 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:TryCreateOleVariantForInterfaceWrapper(System.Object,byref):ubyte (FullOpts)
          48 (21.72 % of base) : System.Net.Http.dasm - System.Net.Http.CreditWaiter:Dispose():this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[double]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[int]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[long]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[short]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[System.__Canon]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[System.Nullable`1[int]]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[System.Numerics.Vector`1[float]]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[ubyte]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          47 (10.90 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.Int32FrozenDictionary`1[int]:.ctor(System.Collections.Generic.Dictionary`2[int,int]):this (FullOpts)
          47 (10.80 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.Int32FrozenDictionary`1[short]:.ctor(System.Collections.Generic.Dictionary`2[int,short]):this (FullOpts)
          47 (10.85 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.Int32FrozenDictionary`1[ubyte]:.ctor(System.Collections.Generic.Dictionary`2[int,ubyte]):this (FullOpts)
          47 (23.62 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.SqlDecimal:.cctor() (FullOpts)
          47 (15.99 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509CertificateLoader+CertKeyMatcher:ExtractPublicKey(byref,System.Security.Cryptography.AsymmetricAlgorithm,int) (FullOpts)
          45 (14.66 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContextRagged:PopDirectory():this (FullOpts)
          45 (29.80 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxUdpStatistics:.ctor(ubyte):this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[double,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[int,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[long,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[short,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[ubyte,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (57.14 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetPrivateElement(int,byref):ubyte:this (FullOpts)
          44 (12.79 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:CreateFatalHandshakeAlertToken(int,System.Security.Cryptography.X509Certificates.X509Chain,byref):this (FullOpts)
          43 (16.73 % of base) : System.Net.Http.dasm - System.Net.Http.CreditWaiter+<>c:<RegisterCancellation>b__7_0(System.Object,System.Threading.CancellationToken):this (FullOpts)
          43 (26.54 % of base) : System.Net.Security.dasm - System.Net.Security.NegotiateStream:.cctor() (FullOpts)
          43 (15.19 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:.cctor() (FullOpts)
          43 (44.79 % of base) : System.Private.CoreLib.dasm - System.Runtime.ExceptionServices.ExceptionDispatchInfo:Capture(System.Exception):System.Runtime.ExceptionServices.ExceptionDispatchInfo (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[double,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[double,System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[int,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[int,System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[long,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[long,System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[short,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[short,System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[ubyte,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]:this (FullOpts)
          42 (10.94 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobBuilder:GetDebuggerDisplay():System.String:this (FullOpts)
          42 (9.79 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:Serialize(System.Reflection.Metadata.BlobBuilder):System.Reflection.Metadata.BlobContentId:this (FullOpts)
          41 (9.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOpeningEnumerator`1[double]:OpenQuery():this (FullOpts)
          41 (9.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOpeningEnumerator`1[int]:OpenQuery():this (FullOpts)
          41 (9.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOpeningEnumerator`1[long]:OpenQuery():this (FullOpts)
          41 (9.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOpeningEnumerator`1[short]:OpenQuery():this (FullOpts)
          41 (9.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOpeningEnumerator`1[System.__Canon]:OpenQuery():this (FullOpts)
          41 (9.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOpeningEnumerator`1[System.Nullable`1[int]]:OpenQuery():this (FullOpts)
          41 (9.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOpeningEnumerator`1[System.Numerics.Vector`1[float]]:OpenQuery():this (FullOpts)
          41 (9.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOpeningEnumerator`1[ubyte]:OpenQuery():this (FullOpts)
          40 (8.51 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.Int32FrozenDictionary`1[System.Numerics.Vector`1[float]]:.ctor(System.Collections.Generic.Dictionary`2[int,System.Numerics.Vector`1[float]]):this (FullOpts)
          40 (6.41 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[int,System.Nullable`1[int]]:.ctor(System.Collections.Generic.Dictionary`2[int,System.Nullable`1[int]],ubyte):this (FullOpts)
          40 (6.53 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.OrdinalStringFrozenDictionary`1[int]:.ctor(System.String[],int[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int,int,int):this (FullOpts)
          40 (6.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.OrdinalStringFrozenDictionary`1[long]:.ctor(System.String[],long[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int,int,int):this (FullOpts)
          40 (6.48 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.OrdinalStringFrozenDictionary`1[short]:.ctor(System.String[],short[],System.Collections.Generic.IEqualityComparer`1[System.String],int,int,int,int):this (FullOpts)
          40 (72.73 % of base) : System.Text.Json.dasm - System.Text.Json.JsonElement+ObjectEnumerator:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
          39 (13.27 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]]]:this (FullOpts)
          39 (22.29 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)

Top method improvements (bytes):
        -426 (-11.91 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<CloseAsyncPrivate>d__69:MoveNext():this (FullOpts)
        -156 (-15.45 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPoolManager:GetConnectionKey(System.Net.Http.HttpRequestMessage,System.Uri,ubyte):System.Net.Http.HttpConnectionPoolManager+HttpConnectionKey:this (FullOpts)
        -118 (-2.62 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:FindLiteralFollowingLeadingLoop(System.Text.RegularExpressions.RegexNode):System.Nullable`1[System.ValueTuple`2[System.Text.RegularExpressions.RegexNode,System.ValueTuple`4[ushort,System.String,int,ushort[]]]] (FullOpts) (2 methods)
        -110 (-8.23 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509CertificateReader+<>c:<GetPolicyData>b__63_0(Microsoft.Win32.SafeHandles.SafeX509Handle):System.Security.Cryptography.X509Certificates.PolicyData:this (FullOpts)
         -53 (-29.94 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:SplitBuffer(System.ReadOnlyMemory`1[ubyte],int):System.ValueTuple`2[System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte]] (FullOpts)
         -51 (-53.68 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]:this (FullOpts)
         -49 (-4.50 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargetLibrary(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+TargetLibrary:this (FullOpts)
         -47 (-1.80 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.InfoHdrDecoder:DecodeHeader(ubyte[],byref,int):ILCompiler.Reflection.ReadyToRun.x86.InfoHdrSmall (FullOpts)
         -47 (-18.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[double]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]:this (FullOpts)
         -47 (-18.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[int]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[int]:this (FullOpts)
         -47 (-18.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[long]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[long]:this (FullOpts)
         -47 (-18.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[short]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]:this (FullOpts)
         -47 (-17.28 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]:this (FullOpts)
         -47 (-18.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.Nullable`1[int]]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Nullable`1[int]]:this (FullOpts)
         -47 (-18.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.Numerics.Vector`1[float]]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Numerics.Vector`1[float]]:this (FullOpts)
         -47 (-18.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[ubyte]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[ubyte]:this (FullOpts)
         -46 (-6.11 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder:BuildTypeNoCache(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite):Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder+GeneratedMethod:this (FullOpts)
         -46 (-60.53 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[double]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[double]:this (FullOpts)
         -46 (-61.33 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[int]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[int]:this (FullOpts)
         -46 (-60.53 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[long]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[long]:this (FullOpts)
         -46 (-58.97 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[short]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[short]:this (FullOpts)
         -46 (-60.53 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[System.Nullable`1[int]]:this (FullOpts)
         -46 (-54.76 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts)
         -46 (-60.53 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[ubyte]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[ubyte]:this (FullOpts)
         -45 (-5.56 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1+UnboundedChannelReader[System.Numerics.Vector`1[float]]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         -43 (-16.23 % of base) : System.Private.CoreLib.dasm - System.Exception:CaptureDispatchState():System.Exception+DispatchState:this (FullOpts)
         -42 (-44.21 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[System.__Canon]:SliceImpl(byref,byref):System.Buffers.ReadOnlySequence`1[System.__Canon]:this (FullOpts)
         -41 (-43.16 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[double]:SliceImpl(byref,byref):System.Buffers.ReadOnlySequence`1[double]:this (FullOpts)
         -41 (-43.16 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[int]:SliceImpl(byref,byref):System.Buffers.ReadOnlySequence`1[int]:this (FullOpts)
         -41 (-43.16 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[long]:SliceImpl(byref,byref):System.Buffers.ReadOnlySequence`1[long]:this (FullOpts)
         -41 (-43.16 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[short]:SliceImpl(byref,byref):System.Buffers.ReadOnlySequence`1[short]:this (FullOpts)
         -41 (-43.16 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[System.Nullable`1[int]]:SliceImpl(byref,byref):System.Buffers.ReadOnlySequence`1[System.Nullable`1[int]]:this (FullOpts)
         -41 (-43.16 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[System.Numerics.Vector`1[float]]:SliceImpl(byref,byref):System.Buffers.ReadOnlySequence`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         -41 (-43.16 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[ubyte]:SliceImpl(byref,byref):System.Buffers.ReadOnlySequence`1[ubyte]:this (FullOpts)
         -41 (-9.86 % of base) : System.Data.Common.dasm - System.Data.Common.SqlConvert:ConvertToSqlString(System.Object):System.Data.SqlTypes.SqlString (FullOpts)
         -41 (-13.06 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaCustomAttributeHelpers:ToApiForm(System.Reflection.Metadata.CustomAttributeNamedArgument`1[System.Reflection.TypeLoading.RoType],System.Type):System.Reflection.CustomAttributeNamedArgument (FullOpts)
         -41 (-53.95 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[double]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[double]:this (FullOpts)
         -41 (-53.95 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.Numerics.Vector`1[float]]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         -40 (-33.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[double]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]:this (FullOpts)
         -40 (-33.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[int]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[int]:this (FullOpts)
         -40 (-33.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[long]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[long]:this (FullOpts)
         -40 (-33.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[short]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]:this (FullOpts)
         -40 (-33.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Nullable`1[int]]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Nullable`1[int]]:this (FullOpts)
         -40 (-33.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Numerics.Vector`1[float]]:this (FullOpts)
         -40 (-33.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[ubyte]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[ubyte]:this (FullOpts)
         -40 (-2.98 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:ReadAtLeastAsync(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (FullOpts)
         -39 (-33.62 % of base) : Microsoft.Extensions.Primitives.dasm - Microsoft.Extensions.Primitives.StringSegment:Split(ushort[]):Microsoft.Extensions.Primitives.StringTokenizer:this (FullOpts)
         -39 (-48.75 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[System.__Canon]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:this (FullOpts)
         -38 (-35.85 % of base) : Markdig.dasm - Markdig.Syntax.Inlines.ContainerInline:GetEnumerator():Markdig.Syntax.Inlines.ContainerInline+Enumerator:this (FullOpts)
         -38 (-28.36 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.CustomAttributeHelpers:CloneForApiReturn(System.Reflection.CustomAttributeNamedArgument):System.Reflection.CustomAttributeNamedArgument (FullOpts)
         -38 (-3.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CapiHelper:ToRSAParameters(ubyte[],ubyte):System.Security.Cryptography.RSAParameters (FullOpts)
         -37 (-2.19 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.Pal.AnyOS.ManagedPkcsPal:MakeKtri(ubyte[],System.Security.Cryptography.Pkcs.CmsRecipient,byref):System.Security.Cryptography.Pkcs.Asn1.KeyTransRecipientInfoAsn:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[double]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[double]:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[int]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[int]:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[long]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[long]:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[short]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[short]:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[System.__Canon]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[System.__Canon]:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[System.Nullable`1[int]]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[System.Nullable`1[int]]:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[System.Numerics.Vector`1[float]]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[ubyte]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[ubyte]:this (FullOpts)
         -37 (-34.26 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:DivRem(System.Numerics.BigInteger,System.Numerics.BigInteger):System.ValueTuple`2[System.Numerics.BigInteger,System.Numerics.BigInteger] (FullOpts)
         -37 (-4.30 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptographicOperations:HmacDataAsync(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlyMemory`1[ubyte],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-4.27 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptographicOperations:HmacDataAsync(System.Security.Cryptography.HashAlgorithmName,ubyte[],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-3.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACMD5:HashDataAsync(System.ReadOnlyMemory`1[ubyte],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-3.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACSHA1:HashDataAsync(System.ReadOnlyMemory`1[ubyte],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-3.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACSHA256:HashDataAsync(System.ReadOnlyMemory`1[ubyte],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-3.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACSHA3_256:HashDataAsync(System.ReadOnlyMemory`1[ubyte],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-3.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACSHA3_384:HashDataAsync(System.ReadOnlyMemory`1[ubyte],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-3.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACSHA3_512:HashDataAsync(System.ReadOnlyMemory`1[ubyte],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-3.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACSHA384:HashDataAsync(System.ReadOnlyMemory`1[ubyte],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-3.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACSHA512:HashDataAsync(System.ReadOnlyMemory`1[ubyte],System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.MD5:HashDataAsync(System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SHA1:HashDataAsync(System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SHA256:HashDataAsync(System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SHA3_256:HashDataAsync(System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SHA3_384:HashDataAsync(System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SHA3_512:HashDataAsync(System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SHA384:HashDataAsync(System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -37 (-4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SHA512:HashDataAsync(System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte[]] (FullOpts)
         -36 (-11.54 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.SqlString:op_Addition(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlString (FullOpts)
         -36 (-57.14 % of base) : System.Formats.Nrbf.dasm - System.Formats.Nrbf.NextInfo:With(uint,ubyte):System.Formats.Nrbf.NextInfo:this (FullOpts)
         -36 (-19.46 % of base) : System.Private.CoreLib.dasm - System.Runtime.Serialization.SerializationInfoEnumerator:get_Current():System.Runtime.Serialization.SerializationEntry:this (FullOpts)
         -35 (-2.39 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetInterfaceMap(System.Type):System.Reflection.InterfaceMapping:this (FullOpts)
         -35 (-54.69 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.StorageDescriptor:ToStorageType(System.Type):System.Xml.Xsl.IlGen.StorageDescriptor:this (FullOpts)
         -34 (-3.59 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadOneLibrary(byref):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.LengthBucketsFrozenDictionary`1[System.__Canon]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.__Canon]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.OrdinalStringFrozenDictionary`1[System.__Canon]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.__Canon]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.SmallFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.SmallValueTypeComparableFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.SmallValueTypeDefaultComparerFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         -34 (-3.56 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeBuilderImpl:GetInterfaceMap(System.Type):System.Reflection.InterfaceMapping:this (FullOpts)
         -33 (-50.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.__Canon]:this (FullOpts)
         -33 (-47.14 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.Nullable`1[int]]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.Nullable`1[int]]:this (FullOpts)
         -32 (-13.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.EmptyFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         -32 (-16.00 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.SqlString:op_Explicit(System.Data.SqlTypes.SqlSingle):System.Data.SqlTypes.SqlString (FullOpts)
         -32 (-15.69 % of base) : System.Net.Http.dasm - System.Net.Http.HttpClient:PrepareCancellationTokenSource(System.Threading.CancellationToken):System.ValueTuple`3[System.Threading.CancellationTokenSource,ubyte,System.Threading.CancellationTokenSource]:this (FullOpts)
         -32 (-7.94 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.CustomReflectionContext+ReflectionContextProjector:ProjectInterfaceMapping(System.Reflection.InterfaceMapping):System.Reflection.InterfaceMapping:this (FullOpts)
         -32 (-32.32 % of base) : System.Text.Json.dasm - System.Text.Json.Schema.JsonSchemaExporter+GenerationState:CreateContext(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Text.Json.Serialization.Metadata.JsonTypeInfo):System.Text.Json.Schema.JsonSchemaExporterContext:this (FullOpts)
         -31 (-4.82 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenHashTable:Create(System.Span`1[int],ubyte):System.Collections.Frozen.FrozenHashTable (FullOpts)

Top method regressions (percentages):
          94 (261.11 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxIcmpV4Statistics:.ctor():this (FullOpts)
          84 (233.33 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxIcmpV6Statistics:.ctor():this (FullOpts)
          77 (106.94 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanFormat:.cctor() (FullOpts)
          52 (100.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.ExceptionServices.ExceptionDispatchInfo:.ctor(System.Exception):this (FullOpts)
          51 (92.73 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String,System.Net.Http.Headers.HeaderStringValues>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Net.Http.Headers.HeaderStringValues]]:this (FullOpts)
          51 (92.73 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeadersNonValidated:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          40 (72.73 % of base) : System.Text.Json.dasm - System.Text.Json.JsonElement+ObjectEnumerator:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
          50 (69.44 % of base) : System.Data.Common.dasm - System.Data.Common.SqlStringStorage:ConvertValue(System.Object):System.Object:this (FullOpts)
          19 (67.86 % of base) : Markdig.dasm - Markdig.Helpers.OrderedList`1[System.Numerics.Vector`1[float]]:TryFind[System.Numerics.Vector`1[float]](byref):ubyte:this (FullOpts)
          28 (66.67 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts)
          19 (63.33 % of base) : System.Private.CoreLib.dasm - System.Lazy`1[System.Numerics.Vector`1[float]]:ViaConstructor():this (FullOpts)
          78 (60.94 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions:Configure(Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder,Microsoft.Extensions.Configuration.IConfiguration):Microsoft.Extensions.DependencyInjection.ISocketsHttpHandlerBuilder (FullOpts)
          44 (57.14 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetPrivateElement(int,byref):ubyte:this (FullOpts)
          27 (56.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableQueue`1[System.Numerics.Vector`1[float]]:Dequeue(byref):System.Collections.Immutable.ImmutableQueue`1[System.Numerics.Vector`1[float]]:this (FullOpts)
          27 (56.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack`1[System.Numerics.Vector`1[float]]:Pop(byref):System.Collections.Immutable.ImmutableStack`1[System.Numerics.Vector`1[float]]:this (FullOpts)
          61 (53.98 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxTcpStatistics:.ctor(ubyte):this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[double,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[int,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[long,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[short,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          44 (52.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[ubyte,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          26 (47.27 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket+Enumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
          26 (47.27 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
          26 (47.27 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.SortedInt32KeyNode`1+Enumerator[System.Numerics.Vector`1[float]]:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
          43 (44.79 % of base) : System.Private.CoreLib.dasm - System.Runtime.ExceptionServices.ExceptionDispatchInfo:Capture(System.Exception):System.Runtime.ExceptionServices.ExceptionDispatchInfo (FullOpts)
          62 (42.76 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxIPInterfaceStatistics:.ctor(System.String):this (FullOpts)
          22 (39.29 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1+<>c__DisplayClass9_0[System.Numerics.Vector`1[float]]:<SetGetter>b__0(System.Object):System.Object:this (FullOpts)
          22 (37.93 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.MergeEnumerator`1[System.Numerics.Vector`1[float]]:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
          29 (37.66 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Numerics.Vector`1[float]]:GetValueAsObject(System.Object):System.Object:this (FullOpts)
          22 (36.67 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.Numerics.Vector`1[float]]:DeserializeAsObject(System.IO.Stream):System.Object:this (FullOpts)
          27 (36.49 % of base) : System.Linq.dasm - System.Linq.Enumerable+RangeSelectIterator`1[System.Numerics.Vector`1[float]]:Fill(System.Span`1[System.Numerics.Vector`1[float]],int,System.Func`2[int,System.Numerics.Vector`1[float]]) (FullOpts)
          30 (36.14 % of base) : System.Linq.dasm - System.Linq.Enumerable+RangeSelectIterator`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts)
          17 (33.33 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo`1+<>c__DisplayClass34_1[System.Numerics.Vector`1[float]]:<SetCreateObject>b__1():System.Object:this (FullOpts)
          27 (32.93 % of base) : System.Linq.dasm - System.Linq.Enumerable+IListSkipTakeIterator`1[System.Numerics.Vector`1[float]]:Fill(System.Collections.Generic.IList`1[System.Numerics.Vector`1[float]],System.Span`1[System.Numerics.Vector`1[float]],int) (FullOpts)
         126 (32.31 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxIPGlobalStatistics:.ctor(ubyte):this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[double,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[int,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[long,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[short,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          55 (32.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[ubyte,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts)
          17 (30.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket+Enumerator[System.Numerics.Vector`1[float]]:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
          22 (30.56 % of base) : System.Data.Common.dasm - System.Data.Common.SqlDecimalStorage:ConvertValue(System.Object):System.Object:this (FullOpts)
          22 (30.56 % of base) : System.Data.Common.dasm - System.Data.Common.SqlGuidStorage:ConvertValue(System.Object):System.Object:this (FullOpts)
          27 (30.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableQueue:Dequeue[System.Numerics.Vector`1[float]](System.Collections.Immutable.IImmutableQueue`1[System.Numerics.Vector`1[float]],byref):System.Collections.Immutable.IImmutableQueue`1[System.Numerics.Vector`1[float]] (FullOpts)
          27 (30.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack:Pop[System.Numerics.Vector`1[float]](System.Collections.Immutable.IImmutableStack`1[System.Numerics.Vector`1[float]],byref):System.Collections.Immutable.IImmutableStack`1[System.Numerics.Vector`1[float]] (FullOpts)
          45 (29.80 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.LinuxUdpStatistics:.ctor(ubyte):this (FullOpts)
          31 (28.44 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SynchronousChannelMergeEnumerator`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts)
          43 (26.54 % of base) : System.Net.Security.dasm - System.Net.Security.NegotiateStream:.cctor() (FullOpts)
          36 (25.53 % of base) : System.ComponentModel.TypeConverter.dasm - System.Drawing.ColorConverter:ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object):System.Object:this (FullOpts)
          47 (23.62 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.SqlDecimal:.cctor() (FullOpts)
          22 (23.16 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IListEnumerator`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts)
          25 (22.94 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:InnerInvoke():this (FullOpts)
          22 (22.92 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.FuncCallInstruction`1[System.Numerics.Vector`1[float]]:Run(System.Linq.Expressions.Interpreter.InterpretedFrame):int:this (FullOpts)
          27 (22.31 % of base) : System.Linq.dasm - System.Linq.Enumerable+RangeSelectIterator`1[System.Numerics.Vector`1[float]]:ToArray():System.Numerics.Vector`1[float][]:this (FullOpts)
          39 (22.29 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts)
          19 (21.84 % of base) : System.Linq.dasm - System.Linq.Enumerable+AppendPrependIterator`1[System.Numerics.Vector`1[float]]:LoadFromEnumerator():ubyte:this (FullOpts)
          48 (21.72 % of base) : System.Net.Http.dasm - System.Net.Http.CreditWaiter:Dispose():this (FullOpts)
          36 (21.30 % of base) : System.IO.Compression.dasm - System.IO.Compression.Deflater:SetInput(System.ReadOnlyMemory`1[ubyte]):this (FullOpts)
         120 (21.28 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref,byref):ubyte:this (FullOpts)
          30 (21.28 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Numerics.Vector`1[float]]:InnerInvoke():this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[double]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[int]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[long]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[short]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[System.__Canon]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[System.Nullable`1[int]]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[System.Numerics.Vector`1[float]]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          48 (21.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[ubyte]:TrySetCanceled(System.Threading.CancellationToken):ubyte:this (FullOpts)
          20 (20.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionerQueryOperator`1+PartitionerEnumerator[System.Numerics.Vector`1[float]]:MoveNext(byref,byref):ubyte:this (FullOpts)
          36 (19.89 % of base) : System.IO.Compression.dasm - System.IO.Compression.Inflater:SetInput(System.ReadOnlyMemory`1[ubyte]):this (FullOpts)
          17 (18.68 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:ReadAsObject(byref,System.Type,System.Text.Json.JsonSerializerOptions):System.Object:this (FullOpts)
          17 (18.68 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:ReadAsPropertyNameAsObject(byref,System.Type,System.Text.Json.JsonSerializerOptions):System.Object:this (FullOpts)
          17 (18.68 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:ReadAsPropertyNameCoreAsObject(byref,System.Type,System.Text.Json.JsonSerializerOptions):System.Object:this (FullOpts)
          17 (18.68 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:ReadNumberWithCustomHandlingAsObject(byref,int,System.Text.Json.JsonSerializerOptions):System.Object:this (FullOpts)
          22 (17.89 % of base) : System.Linq.dasm - System.Linq.Enumerable+IListSkipTakeIterator`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts)
          29 (17.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionedDataSource`1+ListIndexRangeEnumerator[System.Numerics.Vector`1[float]]:MoveNext(byref,byref):ubyte:this (FullOpts)
          13 (17.57 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.CastingConverter`1[System.Numerics.Vector`1[float]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts)
          30 (17.05 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.Numerics.Vector`1[float]]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
          39 (16.81 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.Int32FrozenSet:.ctor(System.Collections.Generic.HashSet`1[int]):this (FullOpts)
          43 (16.73 % of base) : System.Net.Http.dasm - System.Net.Http.CreditWaiter+<>c:<RegisterCancellation>b__7_0(System.Object,System.Threading.CancellationToken):this (FullOpts)
          34 (16.43 % of base) : System.Linq.dasm - System.Linq.Enumerable+IListSkipTakeIterator`1[System.Numerics.Vector`1[float]]:ToArray():System.Numerics.Vector`1[float][]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[double,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[double,System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[int,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[int,System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[long,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[long,System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[short,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[short,System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]]:this (FullOpts)
          42 (16.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.FrozenDictionary`2[ubyte,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]:this (FullOpts)
          47 (15.99 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509CertificateLoader+CertKeyMatcher:ExtractPublicKey(byref,System.Security.Cryptography.AsymmetricAlgorithm,int) (FullOpts)
          17 (15.74 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ExportServices+<>c__DisplayClass11_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<CreateSemiStronglyTypedLazy>b__0():System.Object:this (FullOpts)
          17 (15.74 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ExportServices+<>c__DisplayClass11_0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<CreateSemiStronglyTypedLazy>b__1():System.Object:this (FullOpts)
          20 (15.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionedDataSource`1+ListContiguousIndexRangeEnumerator[System.Numerics.Vector`1[float]]:MoveNext(byref,byref):ubyte:this (FullOpts)
          27 (15.25 % of base) : System.Linq.dasm - System.Linq.Enumerable+RangeSelectIterator`1[System.Numerics.Vector`1[float]]:ToList():System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:this (FullOpts)
          43 (15.19 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:.cctor() (FullOpts)
           4 (14.81 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcInfo:get_Header():ILCompiler.Reflection.ReadyToRun.x86.InfoHdrSmall:this (FullOpts)
          45 (14.66 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContextRagged:PopDirectory():this (FullOpts)

Top method improvements (percentages):
         -28 (-65.12 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskAsyncEnumerableExtensions:WithCancellation[System.__Canon](System.Collections.Generic.IAsyncEnumerable`1[System.__Canon],System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.__Canon] (FullOpts)
         -25 (-62.50 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskAsyncEnumerableExtensions:WithCancellation[double](System.Collections.Generic.IAsyncEnumerable`1[double],System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[double] (FullOpts)
         -25 (-62.50 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskAsyncEnumerableExtensions:WithCancellation[int](System.Collections.Generic.IAsyncEnumerable`1[int],System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[int] (FullOpts)
         -25 (-62.50 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskAsyncEnumerableExtensions:WithCancellation[long](System.Collections.Generic.IAsyncEnumerable`1[long],System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[long] (FullOpts)
         -25 (-62.50 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskAsyncEnumerableExtensions:WithCancellation[short](System.Collections.Generic.IAsyncEnumerable`1[short],System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[short] (FullOpts)
         -25 (-62.50 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskAsyncEnumerableExtensions:WithCancellation[System.Nullable`1[int]](System.Collections.Generic.IAsyncEnumerable`1[System.Nullable`1[int]],System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Nullable`1[int]] (FullOpts)
         -25 (-62.50 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskAsyncEnumerableExtensions:WithCancellation[System.Numerics.Vector`1[float]](System.Collections.Generic.IAsyncEnumerable`1[System.Numerics.Vector`1[float]],System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Numerics.Vector`1[float]] (FullOpts)
         -25 (-62.50 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskAsyncEnumerableExtensions:WithCancellation[ubyte](System.Collections.Generic.IAsyncEnumerable`1[ubyte],System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[ubyte] (FullOpts)
         -28 (-62.22 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.TypeDescriptor+TypeDescriptionNode:GetDefaultTypeDescriptor(System.Type):System.ComponentModel.TypeDescriptor+DefaultTypeDescriptor:this (FullOpts)
         -46 (-61.33 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[int]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[int]:this (FullOpts)
         -46 (-60.53 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[double]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[double]:this (FullOpts)
         -46 (-60.53 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[long]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[long]:this (FullOpts)
         -46 (-60.53 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[System.Nullable`1[int]]:this (FullOpts)
         -46 (-60.53 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[ubyte]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[ubyte]:this (FullOpts)
         -31 (-59.62 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[double]:WithCancellation(System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[double]:this (FullOpts)
         -31 (-59.62 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[int]:WithCancellation(System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[int]:this (FullOpts)
         -31 (-59.62 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[long]:WithCancellation(System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[long]:this (FullOpts)
         -31 (-59.62 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[short]:WithCancellation(System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[short]:this (FullOpts)
         -31 (-59.62 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.__Canon]:WithCancellation(System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.__Canon]:this (FullOpts)
         -31 (-59.62 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Nullable`1[int]]:WithCancellation(System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Nullable`1[int]]:this (FullOpts)
         -31 (-59.62 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Numerics.Vector`1[float]]:WithCancellation(System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         -31 (-59.62 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[ubyte]:WithCancellation(System.Threading.CancellationToken):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[ubyte]:this (FullOpts)
         -46 (-58.97 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[short]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[short]:this (FullOpts)
         -36 (-57.14 % of base) : System.Formats.Nrbf.dasm - System.Formats.Nrbf.NextInfo:With(uint,ubyte):System.Formats.Nrbf.NextInfo:this (FullOpts)
         -29 (-56.86 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[System.Nullable`1[int]]:this (FullOpts)
         -29 (-56.86 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:this (FullOpts)
         -31 (-56.36 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.StorageDescriptor:Global(System.Reflection.MethodInfo,System.Type,ubyte):System.Xml.Xsl.IlGen.StorageDescriptor (FullOpts)
         -31 (-56.36 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.StorageDescriptor:Local(System.Reflection.Emit.LocalBuilder,System.Type,ubyte):System.Xml.Xsl.IlGen.StorageDescriptor (FullOpts)
         -46 (-54.76 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts)
         -29 (-54.72 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[int]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[int]:this (FullOpts)
         -29 (-54.72 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[int]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[int]:this (FullOpts)
         -35 (-54.69 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.StorageDescriptor:ToStorageType(System.Type):System.Xml.Xsl.IlGen.StorageDescriptor:this (FullOpts)
         -41 (-53.95 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[double]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[double]:this (FullOpts)
         -41 (-53.95 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.Numerics.Vector`1[float]]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         -28 (-53.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[double]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[double]:this (FullOpts)
         -28 (-53.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[int]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[int]:this (FullOpts)
         -28 (-53.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[long]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[long]:this (FullOpts)
         -28 (-53.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[short]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[short]:this (FullOpts)
         -28 (-53.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.__Canon]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.__Canon]:this (FullOpts)
         -28 (-53.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Nullable`1[int]]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Nullable`1[int]]:this (FullOpts)
         -28 (-53.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Numerics.Vector`1[float]]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         -28 (-53.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[ubyte]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[ubyte]:this (FullOpts)
         -29 (-53.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[double]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[double]:this (FullOpts)
         -29 (-53.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[long]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[long]:this (FullOpts)
         -29 (-53.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[ubyte]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[ubyte]:this (FullOpts)
         -29 (-53.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[double]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[double]:this (FullOpts)
         -29 (-53.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[long]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[long]:this (FullOpts)
         -29 (-53.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[ubyte]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[ubyte]:this (FullOpts)
         -51 (-53.68 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]:this (FullOpts)
         -29 (-52.73 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.Queue`1+Enumerator[System.Nullable`1[int]]:this (FullOpts)
         -29 (-52.73 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.Stack`1+Enumerator[System.Nullable`1[int]]:this (FullOpts)
         -28 (-51.85 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[double]:get_ValueTaskOfT():System.Threading.Tasks.ValueTask`1[double]:this (FullOpts)
         -28 (-51.85 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[long]:get_ValueTaskOfT():System.Threading.Tasks.ValueTask`1[long]:this (FullOpts)
         -28 (-51.85 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.AsyncOperation`1[System.Nullable`1[int]]:get_ValueTaskOfT():System.Threading.Tasks.ValueTask`1[System.Nullable`1[int]]:this (FullOpts)
         -29 (-51.79 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[short]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[short]:this (FullOpts)
         -29 (-51.79 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[short]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[short]:this (FullOpts)
         -29 (-51.79 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[ubyte]:GetEnumerator():System.Collections.Generic.Queue`1+Enumerator[ubyte]:this (FullOpts)
         -29 (-51.79 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[ubyte]:GetEnumerator():System.Collections.Generic.Stack`1+Enumerator[ubyte]:this (FullOpts)
         -29 (-50.88 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[int]:GetEnumerator():System.Collections.Generic.Queue`1+Enumerator[int]:this (FullOpts)
         -29 (-50.88 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[int]:GetEnumerator():System.Collections.Generic.Stack`1+Enumerator[int]:this (FullOpts)
         -29 (-50.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[double]:GetEnumerator():System.Collections.Generic.Queue`1+Enumerator[double]:this (FullOpts)
         -29 (-50.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[long]:GetEnumerator():System.Collections.Generic.Queue`1+Enumerator[long]:this (FullOpts)
         -29 (-50.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[short]:GetEnumerator():System.Collections.Generic.Queue`1+Enumerator[short]:this (FullOpts)
         -29 (-50.00 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[double]:GetEnumerator():System.Collections.Generic.Stack`1+Enumerator[double]:this (FullOpts)
         -29 (-50.00 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[long]:GetEnumerator():System.Collections.Generic.Stack`1+Enumerator[long]:this (FullOpts)
         -29 (-50.00 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[short]:GetEnumerator():System.Collections.Generic.Stack`1+Enumerator[short]:this (FullOpts)
         -19 (-50.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskAsyncEnumerableExtensions:ConfigureAwait[System.__Canon](System.Collections.Generic.IAsyncEnumerable`1[System.__Canon],ubyte):System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1[System.__Canon] (FullOpts)
         -33 (-50.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:ConfigureAwait(ubyte):System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.__Canon]:this (FullOpts)
         -29 (-49.15 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.HashSet`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Generic.HashSet`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts)
         -29 (-49.15 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts)
         -29 (-49.15 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.ReservedBlob`1[double]:CreateWriter():System.Reflection.Metadata.BlobWriter:this (FullOpts)
         -29 (-49.15 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.ReservedBlob`1[int]:CreateWriter():System.Reflection.Metadata.BlobWriter:this (FullOpts)
         -29 (-49.15 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.ReservedBlob`1[long]:CreateWriter():System.Reflection.Metadata.BlobWriter:this (FullOpts)
         -29 (-49.15 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.ReservedBlob`1[short]:CreateWriter():System.Reflection.Metadata.BlobWriter:this (FullOpts)
         -29 (-49.15 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.ReservedBlob`1[System.Numerics.Vector`1[float]]:CreateWriter():System.Reflection.Metadata.BlobWriter:this (FullOpts)
         -29 (-49.15 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.ReservedBlob`1[ubyte]:CreateWriter():System.Reflection.Metadata.BlobWriter:this (FullOpts)
         -39 (-48.75 % of base) : System.Collections.dasm - System.Collections.Generic.LinkedList`1[System.__Canon]:GetEnumerator():System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:this (FullOpts)
         -15 (-48.39 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[double]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts)
         -15 (-48.39 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[int]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts)
         -15 (-48.39 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[long]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts)
         -15 (-48.39 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[short]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts)
         -15 (-48.39 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.__Canon]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts)
         -15 (-48.39 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Nullable`1[int]]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts)
         -15 (-48.39 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Numerics.Vector`1[float]]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts)
         -15 (-48.39 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[ubyte]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts)
         -15 (-48.39 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityLink:get_Context():System.Diagnostics.ActivityContext:this (FullOpts)
         -29 (-48.33 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter+CallSiteFormatterContext:IncrementOffset():Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter+CallSiteFormatterContext:this (FullOpts)
         -29 (-48.33 % of base) : System.Collections.dasm - System.Collections.Generic.OrderedDictionary`2[double,System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.OrderedDictionary`2+Enumerator[double,System.Nullable`1[int]]:this (FullOpts)
         -29 (-48.33 % of base) : System.Collections.dasm - System.Collections.Generic.OrderedDictionary`2[long,System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.OrderedDictionary`2+Enumerator[long,System.Nullable`1[int]]:this (FullOpts)
         -29 (-48.33 % of base) : System.Collections.dasm - System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.OrderedDictionary`2+Enumerator[System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.LengthBucketsFrozenDictionary`1[System.__Canon]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.__Canon]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.OrdinalStringFrozenDictionary`1[System.__Canon]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.__Canon]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.SmallFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.SmallValueTypeComparableFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         -34 (-47.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.SmallValueTypeDefaultComparerFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:GetEnumeratorCore():System.Collections.Frozen.FrozenDictionary`2+Enumerator[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
         -29 (-47.54 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Generic.Queue`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts)
         -29 (-47.54 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Generic.Stack`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[double]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[double]:this (FullOpts)
         -37 (-47.44 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequence`1[int]:SliceImpl(byref):System.Buffers.ReadOnlySequence`1[int]:this (FullOpts)

1199 total methods with Code Size differences (828 improved, 371 regressed), 246469 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 6, 2025

Top method regressions

165 (11.01 % of base) - System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.__Canon,long]:b__1(byref,long,byref):this
 ; Assembly listing for method System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.__Canon,long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 30 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] ( 29,776   )     ref  ->  [rbp-0x68]  this class-hnd EH-live single-def <System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.__Canon,long]>
+;  V00 this         [V00,T01] ( 29,776   )     ref  ->  [rbp-0x90]  this class-hnd EH-live single-def <System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.__Canon,long]>
 ;  V01 arg1         [V01,T18] (  6, 13   )   byref  ->  rbx         single-def
 ;  V02 arg2         [V02,T26] (  3,  3   )    long  ->  r14         single-def
 ;  V03 arg3         [V03,T21] (  4,  4   )   byref  ->  r15         single-def
 ;  V04 loc0         [V04,T12] (  7, 58   )    long  ->  r13         ld-addr-op
 ;  V05 loc1         [V05,T03] (  5,329   )    long  ->  r12         ld-addr-op
-;  V06 loc2         [V06,T06] (  6,131   )     ref  ->  [rbp-0x70]  do-not-enreg[M] ld-addr-op class-hnd EH-live <System.__Canon>
+;  V06 loc2         [V06,T06] (  6,131   )     ref  ->  [rbp-0x98]  do-not-enreg[M] ld-addr-op class-hnd EH-live <System.__Canon>
 ;  V07 loc3         [V07,T39] (  4,  3   )   ubyte  ->  [rbp-0x2C]  do-not-enreg[Z] EH-live
 ;  V08 loc4         [V08    ] (  6,  4   )  struct ( 8) [rbp-0x38]  do-not-enreg[SB] ld-addr-op <System.Nullable`1[int]>
-;  V09 loc5         [V09,T04] (  7,163   )     ref  ->  [rbp-0x78]  class-hnd <System.Threading.Tasks.ParallelLoopState`1[long]>
+;  V09 loc5         [V09,T04] (  7,163   )     ref  ->  [rbp-0xA0]  class-hnd <System.Threading.Tasks.ParallelLoopState`1[long]>
 ;  V10 loc6         [V10,T13] (  2, 33   )    long  ->  r14        
 ;  V11 loc7         [V11,T11] (  5, 84   )    long  ->  r13        
 ;  V12 loc8         [V12,T05] (  7,132   )    long  ->  r13        
 ;  V13 loc9         [V13,T00] (  7,800   )    long  ->  r13        
 ;# V14 OutArgs      [V14    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V15 tmp1         [V15,T19] (  4,  8   )     ref  ->  [rbp-0x80]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.Tasks.ParallelLoopState`1[long]>
-;  V16 tmp2         [V16,T20] (  4,  8   )     ref  ->  [rbp-0x88]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.Tasks.ParallelLoopState`1[long]>
+;  V15 tmp1         [V15,T19] (  4,  8   )     ref  ->  [rbp-0xA8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.Tasks.ParallelLoopState`1[long]>
+;  V16 tmp2         [V16,T20] (  4,  8   )     ref  ->  [rbp-0xB0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.Tasks.ParallelLoopState`1[long]>
 ;  V17 tmp3         [V17,T28] (  4,  4   )     ref  ->  rbx         class-hnd exact "impAppendStmt" <System.Threading.Tasks.ParallelEtwProvider>
 ;  V18 tmp4         [V18,T32] (  4,  4   )     int  ->  r15         "impAppendStmt"
-;  V19 tmp5         [V19,T44] (  2,  0   )     ref  ->  rbx         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
-;  V20 tmp6         [V20,T33] (  2,  4   )     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def "impAppendStmt" <System.Threading.Tasks.ParallelEtwProvider>
+;  V19 tmp5         [V19,T45] (  2,  0   )     ref  ->  rbx         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+;  V20 tmp6         [V20,T33] (  2,  4   )     ref  ->  [rbp-0xB8]  class-hnd exact spill-single-def "impAppendStmt" <System.Threading.Tasks.ParallelEtwProvider>
 ;  V21 tmp7         [V21,T35] (  2,  4   )     int  ->  [rbp-0x3C]  spill-single-def "impAppendStmt"
-;  V22 tmp8         [V22    ] (  2,  2   )    long  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V23 tmp9         [V23    ] (  2,  2   )    long  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V24 tmp10        [V24,T36] (  2,  4   )     int  ->  rax         "impAppendStmt"
-;  V25 tmp11        [V25,T37] (  2,  4   )    long  ->  r13         "Inlining Arg"
-;* V26 tmp12        [V26    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
-;  V27 tmp13        [V27,T38] (  2,  4   )    long  ->  r12         "Inlining Arg"
-;* V28 tmp14        [V28    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
-;* V29 tmp15        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelEtwProvider>
-;  V30 tmp16        [V30,T34] (  2,  4   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Threading.Tasks.TaskScheduler>
-;  V31 tmp17        [V31,T25] (  5,  5   )     ref  ->  rdi        
-;  V32 tmp18        [V32,T22] (  3,  6   )     ref  ->  [rbp-0x98]  class-hnd exact spill-single-def "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
-;  V33 tmp19        [V33,T23] (  3,  6   )     ref  ->  [rbp-0xA0]  class-hnd exact spill-single-def "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
-;* V34 tmp20        [V34    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V35 tmp21        [V35    ] (  0,  0   )    long  ->  zero-ref    "dup spill"
-;* V36 tmp22        [V36    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V37 tmp23        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
-;* V38 tmp24        [V38,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V39 tmp25        [V39,T07] (  2,128   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
-;  V40 tmp26        [V40,T10] (  3, 96   )     int  ->  rsi         "Inline stloc first use temp"
-;* V41 tmp27        [V41    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V42 tmp28        [V42    ] (  0,  0   )    long  ->  zero-ref    "dup spill"
-;* V43 tmp29        [V43    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V44 tmp30        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
-;* V45 tmp31        [V45    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V46 tmp32        [V46    ] (  0,  0   )    long  ->  zero-ref    "dup spill"
-;* V47 tmp33        [V47    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V48 tmp34        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
-;  V49 tmp35        [V49    ] (  2, 16   )    long  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V50 tmp36        [V50    ] (  2, 16   )    long  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V51 tmp37        [V51,T14] (  2, 32   )     int  ->  rax         "impAppendStmt"
-;  V52 tmp38        [V52,T15] (  2, 32   )    long  ->  r13         "Inlining Arg"
-;* V53 tmp39        [V53    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
-;  V54 tmp40        [V54,T16] (  2, 32   )    long  ->  r12         "Inlining Arg"
-;* V55 tmp41        [V55    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
-;* V56 tmp42        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
-;* V57 tmp43        [V57    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelEtwProvider>
-;  V58 tmp44        [V58,T29] (  4,  4   )     ref  ->  rdi         class-hnd "dup spill" <System.Threading.Tasks.TaskScheduler>
-;  V59 tmp45        [V59,T24] ( 10,  5   )     ref  ->  rdi        
-;  V60 tmp46        [V60,T42] (  3,  2   )   ubyte  ->  [rbp-0x38]  do-not-enreg[] "field V08.hasValue (fldOffset=0x0)" P-DEP
-;  V61 tmp47        [V61,T27] (  6,  4   )     int  ->  [rbp-0x34]  do-not-enreg[] "field V08.value (fldOffset=0x4)" P-DEP
-;  V62 cse0         [V62,T40] (  3,  3   )     ref  ->  rax         "CSE #05: moderate"
-;  V63 cse1         [V63,T41] (  3,  3   )     ref  ->  rbx         "CSE #10: moderate"
-;  V64 cse2         [V64,T30] (  4,  4   )     ref  ->  rcx         "CSE #08: moderate"
-;  V65 cse3         [V65,T31] (  4,  4   )     ref  ->  rax         "CSE #12: moderate"
-;  V66 rat0         [V66    ] (  1,  1   )    long  ->  [rbp-0xB0]  do-not-enreg[V] "PSPSym"
-;  V67 rat1         [V67,T08] (  3, 96   )     ref  ->  rax         "delegate invoke call"
-;  V68 rat2         [V68,T09] (  3, 96   )     ref  ->  rcx         "delegate invoke call"
-;  V69 rat3         [V69,T02] (  3,384   )     ref  ->   r8         "delegate invoke call"
-;  V70 rat4         [V70,T43] (  3,  0   )     ref  ->  rax         "delegate invoke call"
+;  V22 tmp8         [V22,T43] (  2,  2   )  struct (40) [rbp-0x68]  do-not-enreg[HS] must-init hidden-struct-arg "stack copy for value returned via return buffer" <System.Threading.Tasks.RangeWorker>
+;  V23 tmp9         [V23    ] (  2,  2   )    long  ->  [rbp-0x70]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V24 tmp10        [V24    ] (  2,  2   )    long  ->  [rbp-0x78]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V25 tmp11        [V25,T36] (  2,  4   )     int  ->  rax         "impAppendStmt"
+;  V26 tmp12        [V26,T37] (  2,  4   )    long  ->  r13         "Inlining Arg"
+;* V27 tmp13        [V27    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
+;  V28 tmp14        [V28,T38] (  2,  4   )    long  ->  r12         "Inlining Arg"
+;* V29 tmp15        [V29    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
+;* V30 tmp16        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelEtwProvider>
+;  V31 tmp17        [V31,T34] (  2,  4   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Threading.Tasks.TaskScheduler>
+;  V32 tmp18        [V32,T25] (  5,  5   )     ref  ->  rdi        
+;  V33 tmp19        [V33,T22] (  3,  6   )     ref  ->  [rbp-0xC0]  class-hnd exact spill-single-def "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
+;  V34 tmp20        [V34,T23] (  3,  6   )     ref  ->  [rbp-0xC8]  class-hnd exact spill-single-def "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
+;* V35 tmp21        [V35    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V36 tmp22        [V36    ] (  0,  0   )    long  ->  zero-ref    "dup spill"
+;* V37 tmp23        [V37    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V38 tmp24        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
+;* V39 tmp25        [V39,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V40 tmp26        [V40,T07] (  2,128   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
+;  V41 tmp27        [V41,T10] (  3, 96   )     int  ->  rsi         "Inline stloc first use temp"
+;* V42 tmp28        [V42    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V43 tmp29        [V43    ] (  0,  0   )    long  ->  zero-ref    "dup spill"
+;* V44 tmp30        [V44    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V45 tmp31        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
+;* V46 tmp32        [V46    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V47 tmp33        [V47    ] (  0,  0   )    long  ->  zero-ref    "dup spill"
+;* V48 tmp34        [V48    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;* V49 tmp35        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
+;  V50 tmp36        [V50    ] (  2, 16   )    long  ->  [rbp-0x80]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V51 tmp37        [V51    ] (  2, 16   )    long  ->  [rbp-0x88]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V52 tmp38        [V52,T14] (  2, 32   )     int  ->  rax         "impAppendStmt"
+;  V53 tmp39        [V53,T15] (  2, 32   )    long  ->  r13         "Inlining Arg"
+;* V54 tmp40        [V54    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
+;  V55 tmp41        [V55,T16] (  2, 32   )    long  ->  r12         "Inlining Arg"
+;* V56 tmp42        [V56    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
+;* V57 tmp43        [V57    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelLoopStateFlags`1[long]>
+;* V58 tmp44        [V58    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.ParallelEtwProvider>
+;  V59 tmp45        [V59,T29] (  4,  4   )     ref  ->  rdi         class-hnd "dup spill" <System.Threading.Tasks.TaskScheduler>
+;  V60 tmp46        [V60,T24] ( 10,  5   )     ref  ->  rdi        
+;  V61 tmp47        [V61,T42] (  3,  2   )   ubyte  ->  [rbp-0x38]  do-not-enreg[] "field V08.hasValue (fldOffset=0x0)" P-DEP
+;  V62 tmp48        [V62,T27] (  6,  4   )     int  ->  [rbp-0x34]  do-not-enreg[] "field V08.value (fldOffset=0x4)" P-DEP
+;  V63 cse0         [V63,T40] (  3,  3   )     ref  ->  rax         "CSE #05: moderate"
+;  V64 cse1         [V64,T41] (  3,  3   )     ref  ->  rbx         "CSE #10: moderate"
+;  V65 cse2         [V65,T30] (  4,  4   )     ref  ->  rcx         "CSE #08: moderate"
+;  V66 cse3         [V66,T31] (  4,  4   )     ref  ->  rax         "CSE #12: moderate"
+;  V67 rat0         [V67    ] (  1,  1   )    long  ->  [rbp-0xD0]  do-not-enreg[V] "PSPSym"
+;  V68 rat1         [V68,T08] (  3, 96   )     ref  ->  rax         "delegate invoke call"
+;  V69 rat2         [V69,T09] (  3, 96   )     ref  ->  rcx         "delegate invoke call"
+;  V70 rat3         [V70,T02] (  3,384   )     ref  ->   r9         "delegate invoke call"
+;  V71 rat4         [V71,T44] (  3,  0   )     ref  ->  rax         "delegate invoke call"
 ;
-; Lcl frame size = 136
+; Lcl frame size = 168
 
 G_M61654_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 136
-       lea      rbp, [rsp+0xB0]
-       mov      qword ptr [rbp-0xB0], rsp
-       mov      gword ptr [rbp-0x68], rdi
+       sub      rsp, 168
+       lea      rbp, [rsp+0xD0]
+       xor      eax, eax
+       mov      qword ptr [rbp-0x68], rax
+       vxorps   xmm8, xmm8, xmm8
+       vmovdqu  ymmword ptr [rbp-0x60], ymm8
+       mov      qword ptr [rbp-0xD0], rsp
+       mov      gword ptr [rbp-0x90], rdi
+       mov      r8, rdi
        mov      rbx, rsi
        mov      r14, rdx
        mov      r15, rcx
-						;; size=45 bbWeight=1 PerfScore 9.50
+						;; size=67 bbWeight=1 PerfScore 13.33
 G_M61654_IG02:
        cmp      gword ptr [rbx], 0
        jne      SHORT G_M61654_IG03
-       mov      rdi, gword ptr [rdi+0x20]
-       mov      rsi, rbx
+       mov      rdi, gword ptr [r8+0x20]
+       lea      rsi, [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.RangeManager:RegisterNewWorker():System.Threading.Tasks.RangeWorker:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.RangeManager:RegisterNewWorker():System.Threading.Tasks.RangeWorker:this
-						;; size=27 bbWeight=1 PerfScore 12.50
+       mov      rdi, rbx
+       lea      rsi, bword ptr [rbp-0x68]
+       call     CORINFO_HELP_ASSIGN_BYREF
+       mov      ecx, 4
+       rep movsq 
+						;; size=48 bbWeight=1 PerfScore 39.75
 G_M61654_IG03:
        mov      byte  ptr [r15], 0
-       lea      rdx, [rbp-0x50]
-       lea      rsi, [rbp-0x48]
+       lea      rdx, [rbp-0x78]
+       lea      rsi, [rbp-0x70]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.RangeWorker:FindNewWork(byref,byref):ubyte:this
        call     [rax]System.Threading.Tasks.RangeWorker:FindNewWork(byref,byref):ubyte:this
-       mov      r13, qword ptr [rbp-0x48]
-       mov      r12, qword ptr [rbp-0x50]
+       mov      r13, qword ptr [rbp-0x70]
+       mov      r12, qword ptr [rbp-0x78]
        test     eax, eax
        je       G_M61654_IG26
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rdi, gword ptr [rdi+0x18]
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rdi, gword ptr [r8+0x18]
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.ParallelLoopStateFlags`1[long]:ShouldExitLoop(long):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.ParallelLoopStateFlags`1[long]:ShouldExitLoop(long):ubyte:this
        test     eax, eax
        jne      G_M61654_IG26
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M61654_IG28
-						;; size=95 bbWeight=1 PerfScore 23.75
+						;; size=98 bbWeight=1 PerfScore 23.75
 G_M61654_IG04:
        mov      rax, 0xD1FFAB1E      ; data for System.Threading.Tasks.ParallelEtwProvider:Log
        mov      rax, gword ptr [rax]
        cmp      byte  ptr [rax+0x9D], 0
        je       SHORT G_M61654_IG05
-       mov      gword ptr [rbp-0x90], rax
+       mov      gword ptr [rbp-0xB8], rax
        mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_InternalCurrent():System.Threading.Tasks.TaskScheduler
        call     [rcx]System.Threading.Tasks.TaskScheduler:get_InternalCurrent():System.Threading.Tasks.TaskScheduler
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; const ptr
        test     rdi, rdi
        cmove    rdi, gword ptr [rax]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
        mov      dword ptr [rbp-0x3C], eax
        mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_CurrentId():System.Nullable`1[int]
        call     [rcx]System.Threading.Tasks.Task:get_CurrentId():System.Nullable`1[int]
        mov      qword ptr [rbp-0x38], rax
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      ecx, dword ptr [rdi+0x50]
-       mov      rdi, gword ptr [rbp-0x90]
+       mov      r8, gword ptr [rbp-0x90]
+       mov      ecx, dword ptr [r8+0x50]
+       mov      rdi, gword ptr [rbp-0xB8]
        mov      esi, dword ptr [rbp-0x3C]
        mov      edx, dword ptr [rbp-0x34]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.ParallelEtwProvider:ParallelFork(int,int,int):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.ParallelEtwProvider:ParallelFork(int,int,int):this
-						;; size=128 bbWeight=1 PerfScore 38.00
+						;; size=132 bbWeight=1 PerfScore 38.00
 G_M61654_IG05:
        xor      rdi, rdi
-       mov      gword ptr [rbp-0x70], rdi
-						;; size=6 bbWeight=1 PerfScore 1.25
+       mov      gword ptr [rbp-0x98], rdi
+						;; size=9 bbWeight=1 PerfScore 1.25
 G_M61654_IG06:
        mov      dword ptr [rbp-0x2C], edi
 						;; size=3 bbWeight=1 PerfScore 1.00
 G_M61654_IG07:
        xor      rax, rax
-       mov      rdi, gword ptr [rbp-0x68]
-       cmp      gword ptr [rdi+0x28], 0
-       jne      SHORT G_M61654_IG08
-       cmp      gword ptr [rdi+0x30], 0
-       mov      gword ptr [rbp-0x78], rax
+       mov      r8, gword ptr [rbp-0x90]
+       cmp      gword ptr [r8+0x28], 0
+       jne      G_M61654_IG08
+       cmp      gword ptr [r8+0x30], 0
+       mov      gword ptr [rbp-0xA0], rax
        je       G_M61654_IG09
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.ParallelLoopState`1[long]
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x80], rax
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rcx, gword ptr [rdi+0x18]
-       mov      gword ptr [rbp-0xA0], rcx
+       mov      gword ptr [rbp-0xA8], rax
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rcx, gword ptr [r8+0x18]
+       mov      gword ptr [rbp-0xC8], rcx
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, rcx
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x80]
+       mov      rax, gword ptr [rbp-0xA8]
        lea      rdi, bword ptr [rax+0x10]
-       mov      rsi, gword ptr [rbp-0xA0]
+       mov      rsi, gword ptr [rbp-0xC8]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x80]
-       mov      gword ptr [rbp-0x78], rax
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rcx, gword ptr [rdi+0x38]
+       mov      rax, gword ptr [rbp-0xA8]
+       mov      gword ptr [rbp-0xA0], rax
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rcx, gword ptr [r8+0x38]
        test     rcx, rcx
        je       SHORT G_M61654_IG09
        mov      rdi, gword ptr [rcx+0x08]
        call     [rcx+0x18]System.Func`1[System.__Canon]:Invoke():System.__Canon:this
-       mov      gword ptr [rbp-0x70], rax
+       mov      gword ptr [rbp-0x98], rax
        mov      dword ptr [rbp-0x2C], 1
        jmp      SHORT G_M61654_IG09
-						;; size=135 bbWeight=1 PerfScore 37.00
+						;; size=166 bbWeight=1 PerfScore 37.00
 G_M61654_IG08:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.ParallelLoopState`1[long]
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x88], rax
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rcx, gword ptr [rdi+0x18]
-       mov      gword ptr [rbp-0x98], rcx
+       mov      gword ptr [rbp-0xB0], rax
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rcx, gword ptr [r8+0x18]
+       mov      gword ptr [rbp-0xC0], rcx
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, rcx
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x88]
+       mov      rax, gword ptr [rbp-0xB0]
        lea      rdi, bword ptr [rax+0x10]
-       mov      rsi, gword ptr [rbp-0x98]
+       mov      rsi, gword ptr [rbp-0xC0]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x88]
-       mov      gword ptr [rbp-0x78], rax
-						;; size=83 bbWeight=1 PerfScore 13.50
+       mov      rax, gword ptr [rbp-0xB0]
+       mov      gword ptr [rbp-0xA0], rax
+						;; size=89 bbWeight=1 PerfScore 13.50
 G_M61654_IG09:
        call     System.Environment:get_TickCount64():long
        add      r14, rax
        jmp      G_M61654_IG14
 						;; size=13 bbWeight=1 PerfScore 3.25
 G_M61654_IG10:
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rax, gword ptr [rbp-0x78]
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rax, gword ptr [rbp-0xA0]
        mov      qword ptr [rax+0x18], r13
-       mov      r8, gword ptr [rdi+0x30]
+       mov      r9, gword ptr [r8+0x30]
        mov      rsi, r13
-       mov      gword ptr [rbp-0x78], rax
+       mov      gword ptr [rbp-0xA0], rax
        mov      rdx, rax
-       mov      rcx, gword ptr [rbp-0x70]
-       mov      rdi, gword ptr [r8+0x08]
-       call     [r8+0x18]System.Func`4[long,System.__Canon,System.__Canon,System.__Canon]:Invoke(long,System.__Canon,System.__Canon):System.__Canon:this
-       mov      gword ptr [rbp-0x70], rax
+       mov      rcx, gword ptr [rbp-0x98]
+       mov      rdi, gword ptr [r9+0x08]
+       call     [r9+0x18]System.Func`4[long,System.__Canon,System.__Canon,System.__Canon]:Invoke(long,System.__Canon,System.__Canon):System.__Canon:this
+       mov      gword ptr [rbp-0x98], rax
        inc      r13
-       mov      rdi, gword ptr [rbp-0x68]
-						;; size=49 bbWeight=64 PerfScore 944.00
+       mov      r8, gword ptr [rbp-0x90]
+						;; size=67 bbWeight=64 PerfScore 944.00
 G_M61654_IG11:
        cmp      r13, r12
        jge      SHORT G_M61654_IG12
-       mov      rsi, gword ptr [rdi+0x18]
-       cmp      dword ptr [rsi+0x08], 0
+       mov      rdi, gword ptr [r8+0x18]
+       cmp      dword ptr [rdi+0x08], 0
        je       SHORT G_M61654_IG10
-       mov      rdi, gword ptr [rdi+0x18]
+       mov      rdi, gword ptr [r8+0x18]
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.ParallelLoopStateFlags`1[long]:ShouldExitLoop(long):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.ParallelLoopStateFlags`1[long]:ShouldExitLoop(long):ubyte:this
        test     eax, eax
        je       SHORT G_M61654_IG10
 						;; size=40 bbWeight=256 PerfScore 4352.00
 G_M61654_IG12:
        call     System.Environment:get_TickCount64():long
        mov      rdx, r14
        sub      rdx, rax
        test     rdx, rdx
-       jle      SHORT G_M61654_IG17
-						;; size=16 bbWeight=32 PerfScore 88.00
+       jle      G_M61654_IG17
+						;; size=20 bbWeight=32 PerfScore 88.00
 G_M61654_IG13:
-       lea      rdx, [rbp-0x60]
-       lea      rsi, [rbp-0x58]
+       lea      rdx, [rbp-0x88]
+       lea      rsi, [rbp-0x80]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.RangeWorker:FindNewWork(byref,byref):ubyte:this
        call     [rax]System.Threading.Tasks.RangeWorker:FindNewWork(byref,byref):ubyte:this
-       mov      r13, qword ptr [rbp-0x58]
-       mov      r12, qword ptr [rbp-0x60]
+       mov      r13, qword ptr [rbp-0x80]
+       mov      r12, qword ptr [rbp-0x88]
        test     eax, eax
        je       G_M61654_IG23
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rsi, gword ptr [rdi+0x18]
-       cmp      dword ptr [rsi+0x08], 0
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rdi, gword ptr [r8+0x18]
+       cmp      dword ptr [rdi+0x08], 0
        je       SHORT G_M61654_IG14
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rdi, gword ptr [rdi+0x18]
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rdi, gword ptr [r8+0x18]
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.ParallelLoopStateFlags`1[long]:ShouldExitLoop(long):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.ParallelLoopStateFlags`1[long]:ShouldExitLoop(long):ubyte:this
        test     eax, eax
        jne      G_M61654_IG23
-						;; size=86 bbWeight=8 PerfScore 204.00
+						;; size=98 bbWeight=8 PerfScore 204.00
 G_M61654_IG14:
-       mov      rdi, gword ptr [rbp-0x68]
-       cmp      gword ptr [rdi+0x40], 0
+       mov      r8, gword ptr [rbp-0x90]
+       cmp      gword ptr [r8+0x40], 0
        jne      SHORT G_M61654_IG20
-						;; size=11 bbWeight=8 PerfScore 40.00
+						;; size=14 bbWeight=8 PerfScore 40.00
 G_M61654_IG15:
-       cmp      gword ptr [rdi+0x28], 0
+       cmp      gword ptr [r8+0x28], 0
        jne      SHORT G_M61654_IG18
 						;; size=7 bbWeight=4 PerfScore 16.00
 G_M61654_IG16:
        jmp      G_M61654_IG11
 						;; size=5 bbWeight=32 PerfScore 64.00
 G_M61654_IG17:
        mov      byte  ptr [r15], 1
        jmp      G_M61654_IG23
 						;; size=9 bbWeight=1 PerfScore 3.00
 G_M61654_IG18:
        cmp      r13, r12
        jge      G_M61654_IG12
-       mov      rsi, gword ptr [rdi+0x18]
-       cmp      dword ptr [rsi+0x08], 0
+       mov      rdi, gword ptr [r8+0x18]
+       cmp      dword ptr [rdi+0x08], 0
        je       SHORT G_M61654_IG19
-       mov      rdi, gword ptr [rdi+0x18]
+       mov      rdi, gword ptr [r8+0x18]
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.ParallelLoopStateFlags`1[long]:ShouldExitLoop(long):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.ParallelLoopStateFlags`1[long]:ShouldExitLoop(long):ubyte:this
        test     eax, eax
        jne      G_M61654_IG12
 						;; size=48 bbWeight=32 PerfScore 544.00
 G_M61654_IG19:
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rax, gword ptr [rbp-0x78]
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rax, gword ptr [rbp-0xA0]
        mov      qword ptr [rax+0x18], r13
-       mov      rcx, gword ptr [rdi+0x28]
+       mov      rcx, gword ptr [r8+0x28]
        mov      rsi, r13
-       mov      gword ptr [rbp-0x78], rax
+       mov      gword ptr [rbp-0xA0], rax
        mov      rdx, rax
        mov      rdi, gword ptr [rcx+0x08]
        call     [rcx+0x18]System.Action`2[long,System.__Canon]:Invoke(long,System.__Canon):this
        inc      r13
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      r8, gword ptr [rbp-0x90]
        jmp      SHORT G_M61654_IG18
-						;; size=42 bbWeight=16 PerfScore 236.00
+						;; size=54 bbWeight=16 PerfScore 236.00
 G_M61654_IG20:
        cmp      r13, r12
        jge      G_M61654_IG12
-       mov      rsi, gword ptr [rdi+0x18]
+       mov      rsi, gword ptr [r8+0x18]
        cmp      dword ptr [rsi+0x08], 0
        je       SHORT G_M61654_IG21
-       mov      rsi, gword ptr [rdi+0x18]
+       mov      rsi, gword ptr [r8+0x18]
        mov      esi, dword ptr [rsi+0x08]
        test     esi, esi
        je       SHORT G_M61654_IG21
        test     sil, 9
        jne      G_M61654_IG12
 						;; size=40 bbWeight=32 PerfScore 440.00
 G_M61654_IG21:
-       mov      rax, gword ptr [rdi+0x40]
+       mov      rax, gword ptr [r8+0x40]
        mov      rsi, r13
        mov      rdi, gword ptr [rax+0x08]
        call     [rax+0x18]System.Action`1[long]:Invoke(long):this
        inc      r13
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      r8, gword ptr [rbp-0x90]
        jmp      SHORT G_M61654_IG20
-						;; size=23 bbWeight=16 PerfScore 168.00
+						;; size=26 bbWeight=16 PerfScore 168.00
 G_M61654_IG22:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
 G_M61654_IG23:
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rax, gword ptr [rdi+0x48]
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rax, gword ptr [r8+0x48]
        test     rax, rax
        setne    sil
        movzx    rsi, sil
        test     esi, dword ptr [rbp-0x2C]
        je       SHORT G_M61654_IG24
-       mov      rsi, gword ptr [rbp-0x70]
+       mov      rsi, gword ptr [rbp-0x98]
        mov      rdi, gword ptr [rax+0x08]
        call     [rax+0x18]System.Action`1[System.__Canon]:Invoke(System.__Canon):this
-						;; size=35 bbWeight=1 PerfScore 13.50
+						;; size=41 bbWeight=1 PerfScore 13.50
 G_M61654_IG24:
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M61654_IG29
 						;; size=19 bbWeight=1 PerfScore 4.25
 G_M61654_IG25:
        mov      rax, 0xD1FFAB1E      ; static handle
        mov      rbx, gword ptr [rax]
        cmp      byte  ptr [rbx+0x9D], 0
        je       SHORT G_M61654_IG26
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_InternalCurrent():System.Threading.Tasks.TaskScheduler
        call     [rax]System.Threading.Tasks.TaskScheduler:get_InternalCurrent():System.Threading.Tasks.TaskScheduler
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; const ptr
        test     rdi, rdi
        cmove    rdi, gword ptr [rax]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
        mov      r15d, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_CurrentId():System.Nullable`1[int]
        call     [rax]System.Threading.Tasks.Task:get_CurrentId():System.Nullable`1[int]
        mov      qword ptr [rbp-0x38], rax
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      ecx, dword ptr [rdi+0x50]
+       mov      r8, gword ptr [rbp-0x90]
+       mov      ecx, dword ptr [r8+0x50]
        mov      rdi, rbx
        mov      esi, r15d
        mov      edx, dword ptr [rbp-0x34]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.ParallelEtwProvider:ParallelJoin(int,int,int):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.ParallelEtwProvider:ParallelJoin(int,int,int):this
-						;; size=117 bbWeight=1 PerfScore 34.75
+						;; size=121 bbWeight=1 PerfScore 34.75
 G_M61654_IG26:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M61654_IG27:
-       add      rsp, 136
+       add      rsp, 168
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 G_M61654_IG28:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.ParallelEtwProvider
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE
        call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M61654_IG04
 						;; size=27 bbWeight=0 PerfScore 0.00
 G_M61654_IG29:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.ParallelEtwProvider
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE
        call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M61654_IG25
 						;; size=27 bbWeight=0 PerfScore 0.00
 G_M61654_IG30:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0xB0]
+       lea      rbp, [rbp+0xD0]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M61654_IG31:
        mov      rbx, rsi
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rdi, gword ptr [rdi+0x18]
+       mov      r8, gword ptr [rbp-0x90]
+       mov      rdi, gword ptr [r8+0x18]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.ParallelLoopStateFlags:SetExceptional():this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.ParallelLoopStateFlags:SetExceptional():this
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.ExceptionServices.ExceptionDispatchInfo:Throw(System.Exception)
        call     [rax]System.Runtime.ExceptionServices.ExceptionDispatchInfo:Throw(System.Exception)
        lea      rax, G_M61654_IG22
-						;; size=47 bbWeight=0 PerfScore 0.00
+						;; size=50 bbWeight=0 PerfScore 0.00
 G_M61654_IG32:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 G_M61654_IG33:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0xB0]
+       lea      rbp, [rbp+0xD0]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M61654_IG34:
-       mov      rdi, gword ptr [rbp-0x68]
-       cmp      gword ptr [rdi+0x48], 0
+       mov      r8, gword ptr [rbp-0x90]
+       cmp      gword ptr [r8+0x48], 0
        setne    sil
        movzx    rsi, sil
        test     esi, dword ptr [rbp-0x2C]
        je       SHORT G_M61654_IG35
-       mov      rax, gword ptr [rdi+0x48]
-       mov      rsi, gword ptr [rbp-0x70]
+       mov      rax, gword ptr [r8+0x48]
+       mov      rsi, gword ptr [rbp-0x98]
        mov      rdi, gword ptr [rax+0x08]
        call     [rax+0x18]System.Action`1[System.__Canon]:Invoke(System.__Canon):this
-						;; size=37 bbWeight=0 PerfScore 0.00
+						;; size=43 bbWeight=0 PerfScore 0.00
 G_M61654_IG35:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.ParallelEtwProvider
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE
        call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE
        mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.ParallelEtwProvider:Log
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi+0x9D], 0
        je       G_M61654_IG36
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.ParallelEtwProvider
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE
        call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE
        mov      rax, 0xD1FFAB1E      ; data for System.Threading.Tasks.ParallelEtwProvider:Log
        mov      rbx, gword ptr [rax]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_InternalCurrent():System.Threading.Tasks.TaskScheduler
        call     [rax]System.Threading.Tasks.TaskScheduler:get_InternalCurrent():System.Threading.Tasks.TaskScheduler
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; const ptr
        test     rdi, rdi
        cmove    rdi, gword ptr [rax]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
        mov      r15d, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_CurrentId():System.Nullable`1[int]
        call     [rax]System.Threading.Tasks.Task:get_CurrentId():System.Nullable`1[int]
        mov      qword ptr [rbp-0x38], rax
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      ecx, dword ptr [rdi+0x50]
+       mov      r8, gword ptr [rbp-0x90]
+       mov      ecx, dword ptr [r8+0x50]
        mov      rdi, rbx
        mov      esi, r15d
        mov      edx, dword ptr [rbp-0x34]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.ParallelEtwProvider:ParallelJoin(int,int,int):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.ParallelEtwProvider:ParallelJoin(int,int,int):this
-						;; size=178 bbWeight=0 PerfScore 0.00
+						;; size=182 bbWeight=0 PerfScore 0.00
 G_M61654_IG36:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
 G_M61654_IG37:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1499, prolog size 45, PerfScore 7295.75, instruction count 366, allocated bytes for code 1499 (MethodHash=76770f29) for method System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.__Canon,long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
+; Total bytes of code 1664, prolog size 67, PerfScore 7326.83, instruction count 376, allocated bytes for code 1664 (MethodHash=76770f29) for method System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[System.__Canon,long]:<ForWorker>b__1(byref,long,byref):this (FullOpts)
 ; ============================================================
126 (32.31 % of base) - System.Net.NetworkInformation.LinuxIPGlobalStatistics:.ctor(ubyte):this
 ; Assembly listing for method System.Net.NetworkInformation.LinuxIPGlobalStatistics:.ctor(ubyte):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; 15 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 13,  8   )     ref  ->  rbx         this class-hnd single-def <System.Net.NetworkInformation.LinuxIPGlobalStatistics>
+;  V00 this         [V00,T00] ( 11,  7   )     ref  ->  rbx         this class-hnd single-def <System.Net.NetworkInformation.LinuxIPGlobalStatistics>
 ;  V01 arg1         [V01,T01] (  3,  3   )   ubyte  ->  rsi         single-def
 ;  V02 loc0         [V02,T12] (  2,  1   )     ref  ->  rdi         class-hnd exact single-def <System.String>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;* V04 tmp1         [V04    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;  V04 tmp1         [V04,T17] (  2,  1   )  struct (144) [rbp-0x98]  do-not-enreg[HS] hidden-struct-arg "stack copy for value returned via return buffer" <System.Net.NetworkInformation.IPGlobalStatisticsTable>
 ;* V05 tmp2         [V05    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
-;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
-;* V07 tmp4         [V07    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V08 tmp5         [V08,T02] (  4,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V10 tmp7         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp8         [V11,T04] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V12 tmp9         [V12,T06] (  2,  2   )     int  ->  rsi         "Inlining Arg"
-;* V13 tmp10        [V13    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V14 tmp11        [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V15 tmp12        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V16 tmp13        [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
-;* V17 tmp14        [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V18 tmp15        [V18,T03] (  4,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;* V19 tmp16        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V20 tmp17        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V21 tmp18        [V21,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V22 tmp19        [V22,T07] (  2,  2   )     int  ->  rsi         "Inlining Arg"
-;* V23 tmp20        [V23    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V24 tmp21        [V24    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V25 tmp22        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V26 tmp23        [V26,T08] (  3,  1.50)   byref  ->  rdi         "field V06._reference (fldOffset=0x0)" P-INDEP
-;  V27 tmp24        [V27,T10] (  3,  1.50)     int  ->  rsi         "field V06._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp25        [V28    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp26        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
-;  V30 tmp27        [V30,T13] (  2,  1   )   byref  ->  rdi         single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V31 tmp28        [V31,T17] (  2,  1   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
-;* V32 tmp29        [V32    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V33 tmp30        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;* V34 tmp31        [V34    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V35 tmp32        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp33        [V36,T14] (  2,  1   )   byref  ->  rdx         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;* V37 tmp34        [V37,T19] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp35        [V38,T09] (  3,  1.50)   byref  ->  rdi         "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V39 tmp36        [V39,T11] (  3,  1.50)     int  ->  rsi         "field V16._length (fldOffset=0x8)" P-INDEP
-;* V40 tmp37        [V40    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V41 tmp38        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V42 tmp39        [V42,T15] (  2,  1   )   byref  ->  rdi         single-def "field V19._reference (fldOffset=0x0)" P-INDEP
-;  V43 tmp40        [V43,T18] (  2,  1   )     int  ->  rsi         "field V19._length (fldOffset=0x8)" P-INDEP
-;* V44 tmp41        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V45 tmp42        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;* V46 tmp43        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
-;* V47 tmp44        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp45        [V48,T16] (  2,  1   )   byref  ->  rdx         single-def "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V49 tmp46        [V49,T20] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;* V06 tmp3         [V06    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
+;  V07 tmp4         [V07,T18] (  2,  1   )  struct (144) [rbp-0x128]  do-not-enreg[HS] hidden-struct-arg "stack copy for value returned via return buffer" <System.Net.NetworkInformation.IPGlobalStatisticsTable>
+;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
+;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;  V10 tmp7         [V10,T02] (  4,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;  V13 tmp10        [V13,T04] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V14 tmp11        [V14,T06] (  2,  2   )     int  ->  rsi         "Inlining Arg"
+;* V15 tmp12        [V15    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V16 tmp13        [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V17 tmp14        [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V18 tmp15        [V18    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
+;* V19 tmp16        [V19    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;  V20 tmp17        [V20,T03] (  4,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;* V21 tmp18        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V22 tmp19        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;  V23 tmp20        [V23,T05] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V24 tmp21        [V24,T07] (  2,  2   )     int  ->  rsi         "Inlining Arg"
+;* V25 tmp22        [V25    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V26 tmp23        [V26    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V27 tmp24        [V27    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V28 tmp25        [V28,T08] (  3,  1.50)   byref  ->  rdi         "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V29 tmp26        [V29,T10] (  3,  1.50)     int  ->  rsi         "field V08._length (fldOffset=0x8)" P-INDEP
+;* V30 tmp27        [V30    ] (  0,  0   )   byref  ->  zero-ref    "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V31 tmp28        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;  V32 tmp29        [V32,T13] (  2,  1   )   byref  ->  rdi         single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;  V33 tmp30        [V33,T19] (  2,  1   )     int  ->  rsi         "field V11._length (fldOffset=0x8)" P-INDEP
+;* V34 tmp31        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V35 tmp32        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V36 tmp33        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V37 tmp34        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;  V38 tmp35        [V38,T14] (  2,  1   )   byref  ->  rdx         single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V39 tmp36        [V39,T21] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;  V40 tmp37        [V40,T09] (  3,  1.50)   byref  ->  rdi         "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V41 tmp38        [V41,T11] (  3,  1.50)     int  ->  rsi         "field V18._length (fldOffset=0x8)" P-INDEP
+;* V42 tmp39        [V42    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V43 tmp40        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;  V44 tmp41        [V44,T15] (  2,  1   )   byref  ->  rdi         single-def "field V21._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp42        [V45,T20] (  2,  1   )     int  ->  rsi         "field V21._length (fldOffset=0x8)" P-INDEP
+;* V46 tmp43        [V46    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V47 tmp44        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
+;* V48 tmp45        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V49 tmp46        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
+;  V50 tmp47        [V50,T16] (  2,  1   )   byref  ->  rdx         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V51 tmp48        [V51,T22] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
 ;
-; Lcl frame size = 8
+; Lcl frame size = 296
 
 G_M4273_IG01:
        push     rbp
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x10]
+       sub      rsp, 296
+       lea      rbp, [rsp+0x130]
        mov      rbx, rdi
-						;; size=11 bbWeight=1 PerfScore 3.75
+						;; size=20 bbWeight=1 PerfScore 3.00
 G_M4273_IG02:
        test     sil, sil
        jne      G_M4273_IG06
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M4273_IG03:
-       cmp      byte  ptr [rbx], bl
-       lea      rdi, bword ptr [rbx+0x18]
+       lea      rdi, [rbp-0x98]
        mov      rsi, 0xD1FFAB1E      ; '/proc/net/snmp6'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.StringParsingHelpers:ParseIPv6GlobalStatisticsFromSnmp6File(System.String):System.Net.NetworkInformation.IPGlobalStatisticsTable
        call     [rax]System.Net.NetworkInformation.StringParsingHelpers:ParseIPv6GlobalStatisticsFromSnmp6File(System.String):System.Net.NetworkInformation.IPGlobalStatisticsTable
+       vmovdqu32 zmm0, zmmword ptr [rbp-0x98]
+       vmovdqu32 zmmword ptr [rbx+0x18], zmm0
+       vmovdqu32 zmm0, zmmword ptr [rbp-0x58]
+       vmovdqu32 zmmword ptr [rbx+0x58], zmm0
+       vmovdqu  xmm0, xmmword ptr [rbp-0x18]
+       vmovdqu  xmmword ptr [rbx+0x98], xmm0
        mov      rdi, 0xD1FFAB1E      ; '/proc/net/ipv6_route'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.StringParsingHelpers:ReadAllText(System.String):System.String
        call     [rax]System.Net.NetworkInformation.StringParsingHelpers:ReadAllText(System.String):System.String
        test     rax, rax
        je       SHORT G_M4273_IG04
        lea      rdi, bword ptr [rax+0x0C]
        mov      esi, dword ptr [rax+0x08]
        jmp      SHORT G_M4273_IG05
-						;; size=64 bbWeight=0.50 PerfScore 8.12
+						;; size=118 bbWeight=0.50 PerfScore 14.12
 G_M4273_IG04:
        xor      rdi, rdi
        xor      esi, esi
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M4273_IG05:
        mov      rdx, 0xD1FFAB1E
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.MemoryExtensions:Count[ushort](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
        call     [rax]System.MemoryExtensions:Count[ushort](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
        dec      eax
        mov      dword ptr [rbx+0x08], eax
        mov      rdi, 0xD1FFAB1E      ; '/proc/sys/net/ipv6/conf'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.StringParsingHelpers:ParseNumIPInterfaces(System.String):int
        call     [rax]System.Net.NetworkInformation.StringParsingHelpers:ParseNumIPInterfaces(System.String):int
        mov      dword ptr [rbx+0x0C], eax
        mov      rdi, 0xD1FFAB1E      ; '/proc/sys/net/ipv6/conf'
        mov      rsi, 0xD1FFAB1E      ; 'default'
        mov      rdx, 0xD1FFAB1E      ; 'forwarding'
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Path:CombineInternal(System.String,System.String,System.String):System.String
        call     [rax]System.IO.Path:CombineInternal(System.String,System.String,System.String):System.String
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.StringParsingHelpers:ParseRawIntFile(System.String):int
        call     [rax]System.Net.NetworkInformation.StringParsingHelpers:ParseRawIntFile(System.String):int
        cmp      eax, 1
        sete     dil
        mov      byte  ptr [rbx+0x18], dil
        mov      rdi, 0xD1FFAB1E      ; '/proc/net/snmp'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.StringParsingHelpers:ParseDefaultTtlFromFile(System.String):int
        call     [rax]System.Net.NetworkInformation.StringParsingHelpers:ParseDefaultTtlFromFile(System.String):int
        mov      dword ptr [rbx+0x1C], eax
        jmp      G_M4273_IG09
 						;; size=155 bbWeight=0.50 PerfScore 12.88
 G_M4273_IG06:
-       cmp      byte  ptr [rbx], bl
-       lea      rdi, bword ptr [rbx+0x18]
+       lea      rdi, [rbp-0x128]
        mov      rsi, 0xD1FFAB1E      ; '/proc/net/snmp'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.StringParsingHelpers:ParseIPv4GlobalStatisticsFromSnmpFile(System.String):System.Net.NetworkInformation.IPGlobalStatisticsTable
        call     [rax]System.Net.NetworkInformation.StringParsingHelpers:ParseIPv4GlobalStatisticsFromSnmpFile(System.String):System.Net.NetworkInformation.IPGlobalStatisticsTable
+       vmovdqu32 zmm0, zmmword ptr [rbp-0x128]
+       vmovdqu32 zmmword ptr [rbx+0x18], zmm0
+       vmovdqu32 zmm0, zmmword ptr [rbp-0xE8]
+       vmovdqu32 zmmword ptr [rbx+0x58], zmm0
+       vmovdqu  xmm0, xmmword ptr [rbp-0xA8]
+       vmovdqu  xmmword ptr [rbx+0x98], xmm0
        mov      rdi, 0xD1FFAB1E      ; '/proc/net/route'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.StringParsingHelpers:ReadAllText(System.String):System.String
        call     [rax]System.Net.NetworkInformation.StringParsingHelpers:ReadAllText(System.String):System.String
        test     rax, rax
        je       SHORT G_M4273_IG07
        lea      rdi, bword ptr [rax+0x0C]
        mov      esi, dword ptr [rax+0x08]
        jmp      SHORT G_M4273_IG08
-						;; size=64 bbWeight=0.50 PerfScore 8.12
+						;; size=121 bbWeight=0.50 PerfScore 14.12
 G_M4273_IG07:
        xor      rdi, rdi
        xor      esi, esi
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M4273_IG08:
        mov      rdx, 0xD1FFAB1E
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.MemoryExtensions:Count[ushort](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
        call     [rax]System.MemoryExtensions:Count[ushort](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
        dec      eax
        mov      dword ptr [rbx+0x08], eax
        mov      rdi, 0xD1FFAB1E      ; '/proc/sys/net/ipv4/conf'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.StringParsingHelpers:ParseNumIPInterfaces(System.String):int
        call     [rax]System.Net.NetworkInformation.StringParsingHelpers:ParseNumIPInterfaces(System.String):int
        mov      dword ptr [rbx+0x0C], eax
 						;; size=57 bbWeight=0.50 PerfScore 4.75
 G_M4273_IG09:
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.LinuxIPGlobalStatistics:GetNumIPAddresses():int
        call     [rax]System.Net.NetworkInformation.LinuxIPGlobalStatistics:GetNumIPAddresses():int
        mov      dword ptr [rbx+0x10], eax
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M4273_IG10:
-       add      rsp, 8
+       vzeroupper 
+       add      rsp, 296
        pop      rbx
        pop      rbp
        ret      
-						;; size=7 bbWeight=1 PerfScore 2.25
+						;; size=13 bbWeight=1 PerfScore 3.25
 
-; Total bytes of code 390, prolog size 8, PerfScore 45.88, instruction count 80, allocated bytes for code 390 (MethodHash=69d9ef4e) for method System.Net.NetworkInformation.LinuxIPGlobalStatistics:.ctor(ubyte):this (FullOpts)
+; Total bytes of code 516, prolog size 17, PerfScore 58.12, instruction count 91, allocated bytes for code 516 (MethodHash=69d9ef4e) for method System.Net.NetworkInformation.LinuxIPGlobalStatistics:.ctor(ubyte):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/f508ed0e71cc21a956d0cd30c17a2d8f

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 6, 2025

Top method improvements

-53 (-29.94 % of base) - System.Net.Http.Http2Connection:SplitBuffer(System.ReadOnlyMemory`1[ubyte],int):System.ValueTuple`2[System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte]]
 ; Assembly listing for method System.Net.Http.Http2Connection:SplitBuffer(System.ReadOnlyMemory`1[ubyte],int):System.ValueTuple`2[System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte]] (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; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 RetBuf       [V00,T00] ( 15,  9   )   byref  ->  rbx         single-def
-;  V01 arg0         [V01,T02] (  5,  5   )  struct (16) [rbp-0x38]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.ReadOnlyMemory`1[ubyte]>
-;  V02 arg1         [V02,T01] (  7,  5   )     int  ->  r15         single-def
+;  V00 RetBuf       [V00,T00] ( 15,  9   )    long  ->  rdi         single-def
+;  V01 arg0         [V01,T02] (  5,  5   )  struct (16) [rbp-0x28]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def <System.ReadOnlyMemory`1[ubyte]>
+;  V02 arg1         [V02,T01] (  7,  5   )     int  ->  rcx         single-def
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlyMemory`1[ubyte]>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte]]>
 ;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;* V07 tmp4         [V07    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlyMemory`1[ubyte]>
 ;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Memory`1[ubyte]>
 ;* V09 tmp6         [V09    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte]]>
 ;* V10 tmp7         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
 ;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Memory`1[ubyte]>
 ;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V13 tmp10        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Object>
 ;* V14 tmp11        [V14    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp12        [V15    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp13        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V17 tmp14        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Object>
 ;* V18 tmp15        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp16        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
 ;* V20 tmp17        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Object>
-;  V21 tmp18        [V21,T06] (  2,  2   )     int  ->  [rbp-0x3C]  spill-single-def "Inlining Arg"
-;  V22 tmp19        [V22,T07] (  2,  2   )     int  ->  r14         "Inlining Arg"
+;  V21 tmp18        [V21,T06] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;  V22 tmp19        [V22,T07] (  2,  2   )     int  ->  rbx         "Inlining Arg"
 ;* V23 tmp20        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V04._object (fldOffset=0x0)" P-INDEP
 ;* V24 tmp21        [V24    ] (  0,  0   )     int  ->  zero-ref    "field V04._index (fldOffset=0x8)" P-INDEP
 ;* V25 tmp22        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V04._length (fldOffset=0xc)" P-INDEP
 ;* V26 tmp23        [V26    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._object (fldOffset=0x0)" P-INDEP
 ;* V27 tmp24        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V06._index (fldOffset=0x8)" P-INDEP
 ;* V28 tmp25        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0xc)" P-INDEP
 ;* V29 tmp26        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._object (fldOffset=0x0)" P-INDEP
 ;* V30 tmp27        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x8)" P-INDEP
 ;* V31 tmp28        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0xc)" P-INDEP
 ;* V32 tmp29        [V32    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V08._object (fldOffset=0x0)" P-INDEP
 ;* V33 tmp30        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V08._index (fldOffset=0x8)" P-INDEP
 ;* V34 tmp31        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0xc)" P-INDEP
 ;* V35 tmp32        [V35    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._object (fldOffset=0x0)" P-INDEP
 ;* V36 tmp33        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V10._index (fldOffset=0x8)" P-INDEP
 ;* V37 tmp34        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0xc)" P-INDEP
 ;* V38 tmp35        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._object (fldOffset=0x0)" P-INDEP
 ;* V39 tmp36        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x8)" P-INDEP
 ;* V40 tmp37        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0xc)" P-INDEP
 ;* V41 tmp38        [V41    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._object (fldOffset=0x0)" P-INDEP
 ;* V42 tmp39        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x8)" P-INDEP
 ;* V43 tmp40        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0xc)" P-INDEP
 ;* V44 tmp41        [V44    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._object (fldOffset=0x0)" P-INDEP
 ;* V45 tmp42        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V16._index (fldOffset=0x8)" P-INDEP
 ;* V46 tmp43        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0xc)" P-INDEP
 ;* V47 tmp44        [V47    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V19._object (fldOffset=0x0)" P-INDEP
 ;* V48 tmp45        [V48    ] (  0,  0   )     int  ->  zero-ref    "field V19._index (fldOffset=0x8)" P-INDEP
 ;* V49 tmp46        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0xc)" P-INDEP
-;  V50 tmp47        [V50,T04] (  4,  2.50)     ref  ->  r13         single-def "V01.[000..008)"
-;  V51 tmp48        [V51,T05] (  4,  2.50)     int  ->  r12         "V01.[008..012)"
-;  V52 tmp49        [V52,T03] (  5,  3.50)     int  ->  r14         "V01.[012..016)"
+;  V50 tmp47        [V50,T04] (  4,  2.50)     ref  ->  r15         single-def "V01.[000..008)"
+;  V51 tmp48        [V51,T05] (  4,  2.50)     int  ->  r14         "V01.[008..012)"
+;  V52 tmp49        [V52,T03] (  5,  3.50)     int  ->  rbx         "V01.[012..016)"
 ;* V53 tmp50        [V53    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[000..008)"
 ;* V54 tmp51        [V54    ] (  0,  0   )     int  ->  zero-ref    "V05.[008..012)"
 ;* V55 tmp52        [V55    ] (  0,  0   )     int  ->  zero-ref    "V05.[012..016)"
 ;* V56 tmp53        [V56    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[016..024)"
 ;* V57 tmp54        [V57    ] (  0,  0   )     int  ->  zero-ref    "V05.[024..028)"
 ;* V58 tmp55        [V58    ] (  0,  0   )     int  ->  zero-ref    "V05.[028..032)"
 ;* V59 tmp56        [V59    ] (  0,  0   )     ref  ->  zero-ref    single-def "V09.[000..008)"
 ;* V60 tmp57        [V60    ] (  0,  0   )     int  ->  zero-ref    "V09.[008..012)"
 ;* V61 tmp58        [V61    ] (  0,  0   )     int  ->  zero-ref    "V09.[012..016)"
 ;* V62 tmp59        [V62    ] (  0,  0   )     ref  ->  zero-ref    single-def "V09.[016..024)"
 ;* V63 tmp60        [V63    ] (  0,  0   )     int  ->  zero-ref    "V09.[024..028)"
 ;* V64 tmp61        [V64    ] (  0,  0   )     int  ->  zero-ref    "V09.[028..032)"
 ;
 ; Lcl frame size = 24
 
 G_M43810_IG01:
        push     rbp
        push     r15
        push     r14
-       push     r13
-       push     r12
        push     rbx
        sub      rsp, 24
-       lea      rbp, [rsp+0x40]
-       mov      gword ptr [rbp-0x38], rsi
-       mov      qword ptr [rbp-0x30], rdx
-       mov      rbx, rdi
-       mov      r15d, ecx
-						;; size=33 bbWeight=1 PerfScore 9.25
+       lea      rbp, [rsp+0x30]
+       mov      gword ptr [rbp-0x28], rsi
+       mov      qword ptr [rbp-0x20], rdx
+						;; size=23 bbWeight=1 PerfScore 6.75
 G_M43810_IG02:
-       mov      r14d, dword ptr [rbp-0x2C]
-       mov      r13, gword ptr [rbp-0x38]
-       mov      r12d, dword ptr [rbp-0x30]
-       cmp      r14d, r15d
+       mov      ebx, dword ptr [rbp-0x1C]
+       mov      r15, gword ptr [rbp-0x28]
+       mov      r14d, dword ptr [rbp-0x20]
+       cmp      ebx, ecx
        jle      SHORT G_M43810_IG05
-						;; size=17 bbWeight=1 PerfScore 4.25
+						;; size=15 bbWeight=1 PerfScore 4.25
 G_M43810_IG03:
-       cmp      r15d, r14d
+       cmp      ecx, ebx
        ja       SHORT G_M43810_IG04
-       lea      eax, [r12+r15]
-       mov      dword ptr [rbp-0x3C], eax
-       sub      r14d, r15d
-       mov      rdi, rbx
-       mov      rsi, r13
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      dword ptr [rbx+0x08], r12d
-       mov      dword ptr [rbx+0x0C], r15d
-       lea      rdi, bword ptr [rbx+0x10]
-       mov      rsi, r13
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      r13d, dword ptr [rbp-0x3C]
-       mov      dword ptr [rbx+0x18], r13d
-       mov      dword ptr [rbx+0x1C], r14d
+       lea      eax, [r14+rcx]
+       sub      ebx, ecx
+       mov      gword ptr [rdi], r15
+       mov      dword ptr [rdi+0x08], r14d
+       mov      dword ptr [rdi+0x0C], ecx
+       mov      gword ptr [rdi+0x10], r15
+       mov      dword ptr [rdi+0x18], eax
+       mov      dword ptr [rdi+0x1C], ebx
        jmp      SHORT G_M43810_IG08
-						;; size=60 bbWeight=0.50 PerfScore 6.62
+						;; size=32 bbWeight=0.50 PerfScore 5.00
 G_M43810_IG04:
        mov      edi, 33
        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_M43810_IG05:
-       mov      rdi, rbx
-       mov      rsi, r13
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      dword ptr [rbx+0x08], r12d
-       mov      dword ptr [rbx+0x0C], r14d
+       mov      gword ptr [rdi], r15
+       mov      dword ptr [rdi+0x08], r14d
+       mov      dword ptr [rdi+0x0C], ebx
        xor      rax, rax
-       mov      gword ptr [rbx+0x10], rax
-						;; size=25 bbWeight=0.50 PerfScore 2.38
+       mov      gword ptr [rdi+0x10], rax
+						;; size=16 bbWeight=0.50 PerfScore 2.12
 G_M43810_IG06:
-       mov      dword ptr [rbx+0x18], eax
+       mov      dword ptr [rdi+0x18], eax
 						;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M43810_IG07:
-       mov      dword ptr [rbx+0x1C], eax
+       mov      dword ptr [rdi+0x1C], eax
 						;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M43810_IG08:
-       mov      rax, rbx
+       mov      rax, rdi
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M43810_IG09:
        add      rsp, 24
        pop      rbx
-       pop      r12
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
+						;; size=11 bbWeight=1 PerfScore 3.25
 
-; Total bytes of code 177, prolog size 19, PerfScore 29.88, instruction count 56, allocated bytes for code 177 (MethodHash=99b654dd) for method System.Net.Http.Http2Connection:SplitBuffer(System.ReadOnlyMemory`1[ubyte],int):System.ValueTuple`2[System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte]] (FullOpts)
+; Total bytes of code 124, prolog size 15, PerfScore 24.50, instruction count 42, allocated bytes for code 124 (MethodHash=99b654dd) for method System.Net.Http.Http2Connection:SplitBuffer(System.ReadOnlyMemory`1[ubyte],int):System.ValueTuple`2[System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte]] (FullOpts)
 ; ============================================================
-51 (-53.68 % of base) - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]:this
 ; Assembly listing for method System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rsp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7,  7   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]>
-;  V01 RetBuf       [V01,T01] (  7,  7   )   byref  ->  r15         single-def
+;  V00 this         [V00,T00] (  7,  7   )     ref  ->  rdi         this class-hnd single-def <System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]>
+;  V01 RetBuf       [V01,T01] (  7,  7   )    long  ->  rsi         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (32) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]>
 ;* V04 tmp2         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V05 tmp3         [V05    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp4         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V07 tmp5         [V07,T02] (  2,  2   )     ref  ->  rsi         single-def "field V03._root (fldOffset=0x0)" P-INDEP
-;  V08 tmp6         [V08,T03] (  2,  2   )     ref  ->  r14         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
-;  V09 tmp7         [V09,T04] (  2,  2   )     ref  ->  r12         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
-;  V10 tmp8         [V10,T05] (  2,  2   )     int  ->  r13         "field V03._count (fldOffset=0x18)" P-INDEP
+;  V07 tmp5         [V07,T02] (  2,  2   )     ref  ->  rax         single-def "field V03._root (fldOffset=0x0)" P-INDEP
+;  V08 tmp6         [V08,T03] (  2,  2   )     ref  ->  rcx         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
+;  V09 tmp7         [V09,T04] (  2,  2   )     ref  ->   r8         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
+;  V10 tmp8         [V10,T05] (  2,  2   )     int  ->  rdx         "field V03._count (fldOffset=0x18)" P-INDEP
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M56214_IG01:
-       push     r15
-       push     r14
-       push     r13
-       push     r12
-       push     rbx
-       sub      rsp, 16
-       mov      qword ptr [rsp+0x08], rdi
-       mov      rbx, rdi
-       mov      r15, rsi
-						;; size=24 bbWeight=1 PerfScore 6.75
+       push     rax
+       mov      qword ptr [rsp], rdi
+						;; size=5 bbWeight=1 PerfScore 2.00
 G_M56214_IG02:
-       cmp      dword ptr [rbx], ebx
-       mov      rsi, gword ptr [rbx+0x10]
-       mov      r14, gword ptr [rbx+0x08]
-       mov      r13d, dword ptr [rbx+0x20]
-       mov      r12, gword ptr [rbx+0x18]
-       mov      rdi, r15
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [r15+0x08]
-       mov      rsi, r14
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [r15+0x10]
-       mov      rsi, r12
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      dword ptr [r15+0x18], r13d
-       mov      rax, r15
-						;; size=57 bbWeight=1 PerfScore 17.00
+       cmp      dword ptr [rdi], edi
+       mov      rax, gword ptr [rdi+0x10]
+       mov      rcx, gword ptr [rdi+0x08]
+       mov      edx, dword ptr [rdi+0x20]
+       mov      r8, gword ptr [rdi+0x18]
+       mov      gword ptr [rsi], rax
+       mov      gword ptr [rsi+0x08], rcx
+       mov      gword ptr [rsi+0x10], r8
+       mov      dword ptr [rsi+0x18], edx
+       mov      rax, rsi
+						;; size=34 bbWeight=1 PerfScore 15.25
 G_M56214_IG03:
-       add      rsp, 16
-       pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
+       add      rsp, 8
        ret      
-						;; size=14 bbWeight=1 PerfScore 3.75
+						;; size=5 bbWeight=1 PerfScore 1.25
 
-; Total bytes of code 95, prolog size 18, PerfScore 27.50, instruction count 31, allocated bytes for code 95 (MethodHash=54d12469) for method System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]:this (FullOpts)
+; Total bytes of code 44, prolog size 5, PerfScore 18.50, instruction count 14, allocated bytes for code 44 (MethodHash=54d12469) for method System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]:this (FullOpts)
 ; ============================================================
-47 (-18.50 % of base) - System.Collections.Immutable.ImmutableHashSet`1+Builder[double]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]:this
 ; Assembly listing for method System.Collections.Immutable.ImmutableHashSet`1+Builder[double]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[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; 2 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  6,  6   )     ref  ->  rdi         this class-hnd single-def <System.Collections.Immutable.ImmutableHashSet`1+Builder[double]>
-;  V01 RetBuf       [V01,T00] (  7,  7   )   byref  ->  rbx         single-def
+;  V01 RetBuf       [V01,T00] (  7,  7   )    long  ->  rsi         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (32) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]>
-;  V04 tmp2         [V04,T02] (  3,  6   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]]>
-;  V05 tmp3         [V05,T03] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[double]>
-;  V06 tmp4         [V06,T05] (  3,  6   )     int  ->  r13         "Inlining Arg"
-;  V07 tmp5         [V07,T04] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]]>
+;  V04 tmp2         [V04,T02] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]]>
+;  V05 tmp3         [V05,T03] (  3,  6   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[double]>
+;  V06 tmp4         [V06,T05] (  3,  6   )     int  ->  rdi         "Inlining Arg"
+;  V07 tmp5         [V07,T04] (  3,  6   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]]>
 ;* V08 tmp6         [V08    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V09 tmp7         [V09,T06] (  2,  2   )     ref  ->  rsi         single-def "field V03._root (fldOffset=0x0)" P-INDEP
-;  V10 tmp8         [V10,T07] (  2,  2   )     ref  ->  r15         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
-;  V11 tmp9         [V11,T08] (  2,  2   )     ref  ->  r14         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
-;  V12 tmp10        [V12,T10] (  2,  2   )     int  ->  r13         "field V03._count (fldOffset=0x18)" P-INDEP
+;  V09 tmp7         [V09,T06] (  2,  2   )     ref  ->  rax         single-def "field V03._root (fldOffset=0x0)" P-INDEP
+;  V10 tmp8         [V10,T07] (  2,  2   )     ref  ->  rcx         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
+;  V11 tmp9         [V11,T08] (  2,  2   )     ref  ->  rdx         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
+;  V12 tmp10        [V12,T10] (  2,  2   )     int  ->  rdi         "field V03._count (fldOffset=0x18)" P-INDEP
 ;  V13 tmp11        [V13,T09] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;
 ; Lcl frame size = 0
 
 G_M2428_IG01:
        push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     rbx
-       lea      rbp, [rsp+0x20]
-       mov      rbx, rsi
-						;; size=16 bbWeight=1 PerfScore 5.75
+       mov      rbp, rsp
+						;; size=4 bbWeight=1 PerfScore 1.25
 G_M2428_IG02:
-       mov      rsi, gword ptr [rdi+0x08]
-       mov      r15, gword ptr [rdi+0x10]
-       mov      r14, gword ptr [rdi+0x18]
-       mov      r13d, dword ptr [rdi+0x28]
-       test     rsi, rsi
+       mov      rax, gword ptr [rdi+0x08]
+       mov      rcx, gword ptr [rdi+0x10]
+       mov      rdx, gword ptr [rdi+0x18]
+       mov      edi, dword ptr [rdi+0x28]
+       test     rax, rax
        je       G_M2428_IG07
-       test     r15, r15
-       je       G_M2428_IG06
-       test     r13d, r13d
+       test     rcx, rcx
+       je       SHORT G_M2428_IG06
+       test     edi, edi
        jl       SHORT G_M2428_IG05
-       test     r14, r14
+       test     rdx, rdx
        je       SHORT G_M2428_IG04
-       mov      rdi, rbx
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [rbx+0x08]
-       mov      rsi, r15
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [rbx+0x10]
-       mov      rsi, r14
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      dword ptr [rbx+0x18], r13d
-       mov      rax, rbx
-						;; size=83 bbWeight=1 PerfScore 19.00
+       mov      gword ptr [rsi], rax
+       mov      gword ptr [rsi+0x08], rcx
+       mov      gword ptr [rsi+0x10], rdx
+       mov      dword ptr [rsi+0x18], edi
+       mov      rax, rsi
+						;; size=55 bbWeight=1 PerfScore 17.25
 G_M2428_IG03:
-       pop      rbx
-       pop      r13
-       pop      r14
-       pop      r15
        pop      rbp
        ret      
-						;; size=9 bbWeight=1 PerfScore 3.50
+						;; size=2 bbWeight=1 PerfScore 1.50
 G_M2428_IG04:
        mov      edi, 0x541
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M2428_IG05:
        mov      edi, 0x505
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        call     [rax]System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        int3     
 						;; size=38 bbWeight=0.50 PerfScore 2.75
 G_M2428_IG06:
        mov      edi, 0x4B5
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M2428_IG07:
        mov      edi, 0x4AB
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 
-; Total bytes of code 254, prolog size 13, PerfScore 38.88, instruction count 64, allocated bytes for code 254 (MethodHash=7b4df683) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[double]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]:this (FullOpts)
+; Total bytes of code 207, prolog size 4, PerfScore 30.62, instruction count 50, allocated bytes for code 207 (MethodHash=7b4df683) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[double]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]:this (FullOpts)
 ; ============================================================
-47 (-18.50 % of base) - System.Collections.Immutable.ImmutableHashSet`1+Builder[int]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[int]:this
 ; Assembly listing for method System.Collections.Immutable.ImmutableHashSet`1+Builder[int]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[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; 2 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  6,  6   )     ref  ->  rdi         this class-hnd single-def <System.Collections.Immutable.ImmutableHashSet`1+Builder[int]>
-;  V01 RetBuf       [V01,T00] (  7,  7   )   byref  ->  rbx         single-def
+;  V01 RetBuf       [V01,T00] (  7,  7   )    long  ->  rsi         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (32) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableHashSet`1+MutationInput[int]>
-;  V04 tmp2         [V04,T02] (  3,  6   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]]>
-;  V05 tmp3         [V05,T03] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[int]>
-;  V06 tmp4         [V06,T05] (  3,  6   )     int  ->  r13         "Inlining Arg"
-;  V07 tmp5         [V07,T04] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]]>
+;  V04 tmp2         [V04,T02] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]]>
+;  V05 tmp3         [V05,T03] (  3,  6   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[int]>
+;  V06 tmp4         [V06,T05] (  3,  6   )     int  ->  rdi         "Inlining Arg"
+;  V07 tmp5         [V07,T04] (  3,  6   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]]>
 ;* V08 tmp6         [V08    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V09 tmp7         [V09,T06] (  2,  2   )     ref  ->  rsi         single-def "field V03._root (fldOffset=0x0)" P-INDEP
-;  V10 tmp8         [V10,T07] (  2,  2   )     ref  ->  r15         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
-;  V11 tmp9         [V11,T08] (  2,  2   )     ref  ->  r14         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
-;  V12 tmp10        [V12,T10] (  2,  2   )     int  ->  r13         "field V03._count (fldOffset=0x18)" P-INDEP
+;  V09 tmp7         [V09,T06] (  2,  2   )     ref  ->  rax         single-def "field V03._root (fldOffset=0x0)" P-INDEP
+;  V10 tmp8         [V10,T07] (  2,  2   )     ref  ->  rcx         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
+;  V11 tmp9         [V11,T08] (  2,  2   )     ref  ->  rdx         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
+;  V12 tmp10        [V12,T10] (  2,  2   )     int  ->  rdi         "field V03._count (fldOffset=0x18)" P-INDEP
 ;  V13 tmp11        [V13,T09] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;
 ; Lcl frame size = 0
 
 G_M55612_IG01:
        push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     rbx
-       lea      rbp, [rsp+0x20]
-       mov      rbx, rsi
-						;; size=16 bbWeight=1 PerfScore 5.75
+       mov      rbp, rsp
+						;; size=4 bbWeight=1 PerfScore 1.25
 G_M55612_IG02:
-       mov      rsi, gword ptr [rdi+0x08]
-       mov      r15, gword ptr [rdi+0x10]
-       mov      r14, gword ptr [rdi+0x18]
-       mov      r13d, dword ptr [rdi+0x28]
-       test     rsi, rsi
+       mov      rax, gword ptr [rdi+0x08]
+       mov      rcx, gword ptr [rdi+0x10]
+       mov      rdx, gword ptr [rdi+0x18]
+       mov      edi, dword ptr [rdi+0x28]
+       test     rax, rax
        je       G_M55612_IG07
-       test     r15, r15
-       je       G_M55612_IG06
-       test     r13d, r13d
+       test     rcx, rcx
+       je       SHORT G_M55612_IG06
+       test     edi, edi
        jl       SHORT G_M55612_IG05
-       test     r14, r14
+       test     rdx, rdx
        je       SHORT G_M55612_IG04
-       mov      rdi, rbx
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [rbx+0x08]
-       mov      rsi, r15
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [rbx+0x10]
-       mov      rsi, r14
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      dword ptr [rbx+0x18], r13d
-       mov      rax, rbx
-						;; size=83 bbWeight=1 PerfScore 19.00
+       mov      gword ptr [rsi], rax
+       mov      gword ptr [rsi+0x08], rcx
+       mov      gword ptr [rsi+0x10], rdx
+       mov      dword ptr [rsi+0x18], edi
+       mov      rax, rsi
+						;; size=55 bbWeight=1 PerfScore 17.25
 G_M55612_IG03:
-       pop      rbx
-       pop      r13
-       pop      r14
-       pop      r15
        pop      rbp
        ret      
-						;; size=9 bbWeight=1 PerfScore 3.50
+						;; size=2 bbWeight=1 PerfScore 1.50
 G_M55612_IG04:
        mov      edi, 0x541
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M55612_IG05:
        mov      edi, 0x505
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        call     [rax]System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        int3     
 						;; size=38 bbWeight=0.50 PerfScore 2.75
 G_M55612_IG06:
        mov      edi, 0x4B5
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M55612_IG07:
        mov      edi, 0x4AB
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 
-; Total bytes of code 254, prolog size 13, PerfScore 38.88, instruction count 64, allocated bytes for code 254 (MethodHash=85be26c3) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[int]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[int]:this (FullOpts)
+; Total bytes of code 207, prolog size 4, PerfScore 30.62, instruction count 50, allocated bytes for code 207 (MethodHash=85be26c3) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[int]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[int]:this (FullOpts)
 ; ============================================================
-47 (-18.50 % of base) - System.Collections.Immutable.ImmutableHashSet`1+Builder[long]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[long]:this
 ; Assembly listing for method System.Collections.Immutable.ImmutableHashSet`1+Builder[long]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[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; 2 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  6,  6   )     ref  ->  rdi         this class-hnd single-def <System.Collections.Immutable.ImmutableHashSet`1+Builder[long]>
-;  V01 RetBuf       [V01,T00] (  7,  7   )   byref  ->  rbx         single-def
+;  V01 RetBuf       [V01,T00] (  7,  7   )    long  ->  rsi         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (32) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableHashSet`1+MutationInput[long]>
-;  V04 tmp2         [V04,T02] (  3,  6   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]]>
-;  V05 tmp3         [V05,T03] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[long]>
-;  V06 tmp4         [V06,T05] (  3,  6   )     int  ->  r13         "Inlining Arg"
-;  V07 tmp5         [V07,T04] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]]>
+;  V04 tmp2         [V04,T02] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]]>
+;  V05 tmp3         [V05,T03] (  3,  6   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[long]>
+;  V06 tmp4         [V06,T05] (  3,  6   )     int  ->  rdi         "Inlining Arg"
+;  V07 tmp5         [V07,T04] (  3,  6   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]]>
 ;* V08 tmp6         [V08    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V09 tmp7         [V09,T06] (  2,  2   )     ref  ->  rsi         single-def "field V03._root (fldOffset=0x0)" P-INDEP
-;  V10 tmp8         [V10,T07] (  2,  2   )     ref  ->  r15         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
-;  V11 tmp9         [V11,T08] (  2,  2   )     ref  ->  r14         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
-;  V12 tmp10        [V12,T10] (  2,  2   )     int  ->  r13         "field V03._count (fldOffset=0x18)" P-INDEP
+;  V09 tmp7         [V09,T06] (  2,  2   )     ref  ->  rax         single-def "field V03._root (fldOffset=0x0)" P-INDEP
+;  V10 tmp8         [V10,T07] (  2,  2   )     ref  ->  rcx         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
+;  V11 tmp9         [V11,T08] (  2,  2   )     ref  ->  rdx         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
+;  V12 tmp10        [V12,T10] (  2,  2   )     int  ->  rdi         "field V03._count (fldOffset=0x18)" P-INDEP
 ;  V13 tmp11        [V13,T09] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;
 ; Lcl frame size = 0
 
 G_M21788_IG01:
        push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     rbx
-       lea      rbp, [rsp+0x20]
-       mov      rbx, rsi
-						;; size=16 bbWeight=1 PerfScore 5.75
+       mov      rbp, rsp
+						;; size=4 bbWeight=1 PerfScore 1.25
 G_M21788_IG02:
-       mov      rsi, gword ptr [rdi+0x08]
-       mov      r15, gword ptr [rdi+0x10]
-       mov      r14, gword ptr [rdi+0x18]
-       mov      r13d, dword ptr [rdi+0x28]
-       test     rsi, rsi
+       mov      rax, gword ptr [rdi+0x08]
+       mov      rcx, gword ptr [rdi+0x10]
+       mov      rdx, gword ptr [rdi+0x18]
+       mov      edi, dword ptr [rdi+0x28]
+       test     rax, rax
        je       G_M21788_IG07
-       test     r15, r15
-       je       G_M21788_IG06
-       test     r13d, r13d
+       test     rcx, rcx
+       je       SHORT G_M21788_IG06
+       test     edi, edi
        jl       SHORT G_M21788_IG05
-       test     r14, r14
+       test     rdx, rdx
        je       SHORT G_M21788_IG04
-       mov      rdi, rbx
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [rbx+0x08]
-       mov      rsi, r15
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [rbx+0x10]
-       mov      rsi, r14
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      dword ptr [rbx+0x18], r13d
-       mov      rax, rbx
-						;; size=83 bbWeight=1 PerfScore 19.00
+       mov      gword ptr [rsi], rax
+       mov      gword ptr [rsi+0x08], rcx
+       mov      gword ptr [rsi+0x10], rdx
+       mov      dword ptr [rsi+0x18], edi
+       mov      rax, rsi
+						;; size=55 bbWeight=1 PerfScore 17.25
 G_M21788_IG03:
-       pop      rbx
-       pop      r13
-       pop      r14
-       pop      r15
        pop      rbp
        ret      
-						;; size=9 bbWeight=1 PerfScore 3.50
+						;; size=2 bbWeight=1 PerfScore 1.50
 G_M21788_IG04:
        mov      edi, 0x541
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M21788_IG05:
        mov      edi, 0x505
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        call     [rax]System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        int3     
 						;; size=38 bbWeight=0.50 PerfScore 2.75
 G_M21788_IG06:
        mov      edi, 0x4B5
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M21788_IG07:
        mov      edi, 0x4AB
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 
-; Total bytes of code 254, prolog size 13, PerfScore 38.88, instruction count 64, allocated bytes for code 254 (MethodHash=cc77aae3) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[long]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[long]:this (FullOpts)
+; Total bytes of code 207, prolog size 4, PerfScore 30.62, instruction count 50, allocated bytes for code 207 (MethodHash=cc77aae3) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[long]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[long]:this (FullOpts)
 ; ============================================================
-47 (-18.50 % of base) - System.Collections.Immutable.ImmutableHashSet`1+Builder[short]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]:this
 ; Assembly listing for method System.Collections.Immutable.ImmutableHashSet`1+Builder[short]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[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; 2 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  6,  6   )     ref  ->  rdi         this class-hnd single-def <System.Collections.Immutable.ImmutableHashSet`1+Builder[short]>
-;  V01 RetBuf       [V01,T00] (  7,  7   )   byref  ->  rbx         single-def
+;  V01 RetBuf       [V01,T00] (  7,  7   )    long  ->  rsi         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (32) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]>
-;  V04 tmp2         [V04,T02] (  3,  6   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]]>
-;  V05 tmp3         [V05,T03] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[short]>
-;  V06 tmp4         [V06,T05] (  3,  6   )     int  ->  r13         "Inlining Arg"
-;  V07 tmp5         [V07,T04] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]]>
+;  V04 tmp2         [V04,T02] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]]>
+;  V05 tmp3         [V05,T03] (  3,  6   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[short]>
+;  V06 tmp4         [V06,T05] (  3,  6   )     int  ->  rdi         "Inlining Arg"
+;  V07 tmp5         [V07,T04] (  3,  6   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]]>
 ;* V08 tmp6         [V08    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V09 tmp7         [V09,T06] (  2,  2   )     ref  ->  rsi         single-def "field V03._root (fldOffset=0x0)" P-INDEP
-;  V10 tmp8         [V10,T07] (  2,  2   )     ref  ->  r15         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
-;  V11 tmp9         [V11,T08] (  2,  2   )     ref  ->  r14         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
-;  V12 tmp10        [V12,T10] (  2,  2   )     int  ->  r13         "field V03._count (fldOffset=0x18)" P-INDEP
+;  V09 tmp7         [V09,T06] (  2,  2   )     ref  ->  rax         single-def "field V03._root (fldOffset=0x0)" P-INDEP
+;  V10 tmp8         [V10,T07] (  2,  2   )     ref  ->  rcx         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
+;  V11 tmp9         [V11,T08] (  2,  2   )     ref  ->  rdx         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
+;  V12 tmp10        [V12,T10] (  2,  2   )     int  ->  rdi         "field V03._count (fldOffset=0x18)" P-INDEP
 ;  V13 tmp11        [V13,T09] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;
 ; Lcl frame size = 0
 
 G_M65532_IG01:
        push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     rbx
-       lea      rbp, [rsp+0x20]
-       mov      rbx, rsi
-						;; size=16 bbWeight=1 PerfScore 5.75
+       mov      rbp, rsp
+						;; size=4 bbWeight=1 PerfScore 1.25
 G_M65532_IG02:
-       mov      rsi, gword ptr [rdi+0x08]
-       mov      r15, gword ptr [rdi+0x10]
-       mov      r14, gword ptr [rdi+0x18]
-       mov      r13d, dword ptr [rdi+0x28]
-       test     rsi, rsi
+       mov      rax, gword ptr [rdi+0x08]
+       mov      rcx, gword ptr [rdi+0x10]
+       mov      rdx, gword ptr [rdi+0x18]
+       mov      edi, dword ptr [rdi+0x28]
+       test     rax, rax
        je       G_M65532_IG07
-       test     r15, r15
-       je       G_M65532_IG06
-       test     r13d, r13d
+       test     rcx, rcx
+       je       SHORT G_M65532_IG06
+       test     edi, edi
        jl       SHORT G_M65532_IG05
-       test     r14, r14
+       test     rdx, rdx
        je       SHORT G_M65532_IG04
-       mov      rdi, rbx
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [rbx+0x08]
-       mov      rsi, r15
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [rbx+0x10]
-       mov      rsi, r14
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      dword ptr [rbx+0x18], r13d
-       mov      rax, rbx
-						;; size=83 bbWeight=1 PerfScore 19.00
+       mov      gword ptr [rsi], rax
+       mov      gword ptr [rsi+0x08], rcx
+       mov      gword ptr [rsi+0x10], rdx
+       mov      dword ptr [rsi+0x18], edi
+       mov      rax, rsi
+						;; size=55 bbWeight=1 PerfScore 17.25
 G_M65532_IG03:
-       pop      rbx
-       pop      r13
-       pop      r14
-       pop      r15
        pop      rbp
        ret      
-						;; size=9 bbWeight=1 PerfScore 3.50
+						;; size=2 bbWeight=1 PerfScore 1.50
 G_M65532_IG04:
        mov      edi, 0x541
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M65532_IG05:
        mov      edi, 0x505
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        call     [rax]System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        int3     
 						;; size=38 bbWeight=0.50 PerfScore 2.75
 G_M65532_IG06:
        mov      edi, 0x4B5
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M65532_IG07:
        mov      edi, 0x4AB
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 
-; Total bytes of code 254, prolog size 13, PerfScore 38.88, instruction count 64, allocated bytes for code 254 (MethodHash=43bf0003) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[short]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]:this (FullOpts)
+; Total bytes of code 207, prolog size 4, PerfScore 30.62, instruction count 50, allocated bytes for code 207 (MethodHash=43bf0003) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[short]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]:this (FullOpts)
 ; ============================================================
-47 (-17.28 % of base) - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]:this
 ; Assembly listing for method System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]: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; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  7,  7   )     ref  ->  rbx         this class-hnd single-def <System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]>
-;  V01 RetBuf       [V01,T01] (  7,  7   )   byref  ->  r15         single-def
+;  V01 RetBuf       [V01,T01] (  7,  7   )    long  ->  rsi         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (32) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]>
 ;* V04 tmp2         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V05 tmp3         [V05,T02] (  3,  6   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]>
+;  V05 tmp3         [V05,T02] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]>
 ;* V06 tmp4         [V06    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V07 tmp5         [V07    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V08 tmp6         [V08,T03] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.__Canon]>
+;  V08 tmp6         [V08,T03] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.__Canon]>
 ;* V09 tmp7         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V10 tmp8         [V10,T05] (  3,  6   )     int  ->  r12         "Inlining Arg"
-;  V11 tmp9         [V11,T04] (  3,  6   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]>
+;  V10 tmp8         [V10,T05] (  3,  6   )     int  ->  rdx         "Inlining Arg"
+;  V11 tmp9         [V11,T04] (  3,  6   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]]>
 ;* V12 tmp10        [V12    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V13 tmp11        [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp12        [V14,T06] (  2,  2   )     ref  ->  rsi         single-def "field V03._root (fldOffset=0x0)" P-INDEP
-;  V15 tmp13        [V15,T07] (  2,  2   )     ref  ->  r14         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
-;  V16 tmp14        [V16,T08] (  2,  2   )     ref  ->  r13         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
-;  V17 tmp15        [V17,T10] (  2,  2   )     int  ->  r12         "field V03._count (fldOffset=0x18)" P-INDEP
+;  V14 tmp12        [V14,T06] (  2,  2   )     ref  ->  rax         single-def "field V03._root (fldOffset=0x0)" P-INDEP
+;  V15 tmp13        [V15,T07] (  2,  2   )     ref  ->  rdi         single-def "field V03._equalityComparer (fldOffset=0x8)" P-INDEP
+;  V16 tmp14        [V16,T08] (  2,  2   )     ref  ->  rcx         single-def "field V03._hashBucketEqualityComparer (fldOffset=0x10)" P-INDEP
+;  V17 tmp15        [V17,T10] (  2,  2   )     int  ->  rdx         "field V03._count (fldOffset=0x18)" P-INDEP
 ;  V18 tmp16        [V18,T09] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;
 ; Lcl frame size = 8
 
 G_M58268_IG01:
        push     rbp
-       push     r15
-       push     r14
-       push     r13
-       push     r12
        push     rbx
        push     rax
-       lea      rbp, [rsp+0x30]
-       mov      qword ptr [rbp-0x30], rdi
+       lea      rbp, [rsp+0x10]
+       mov      qword ptr [rbp-0x10], rdi
        mov      rbx, rdi
-       mov      r15, rsi
-						;; size=26 bbWeight=1 PerfScore 9.00
+						;; size=15 bbWeight=1 PerfScore 4.75
 G_M58268_IG02:
        cmp      dword ptr [rbx], ebx
-       mov      rsi, gword ptr [rbx+0x08]
-       mov      r14, gword ptr [rbx+0x10]
-       mov      r13, gword ptr [rbx+0x18]
-       mov      r12d, dword ptr [rbx+0x28]
-       test     rsi, rsi
+       mov      rax, gword ptr [rbx+0x08]
+       mov      rdi, gword ptr [rbx+0x10]
+       mov      rcx, gword ptr [rbx+0x18]
+       mov      edx, dword ptr [rbx+0x28]
+       test     rax, rax
        je       G_M58268_IG07
-       test     r14, r14
-       je       G_M58268_IG06
-       test     r12d, r12d
+       test     rdi, rdi
+       je       SHORT G_M58268_IG06
+       test     edx, edx
        jl       SHORT G_M58268_IG05
-       test     r13, r13
+       test     rcx, rcx
        je       SHORT G_M58268_IG04
-       mov      rdi, r15
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [r15+0x08]
-       mov      rsi, r14
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       lea      rdi, bword ptr [r15+0x10]
-       mov      rsi, r13
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      dword ptr [r15+0x18], r12d
-       mov      rax, r15
-						;; size=85 bbWeight=1 PerfScore 22.00
+       mov      gword ptr [rsi], rax
+       mov      gword ptr [rsi+0x08], rdi
+       mov      gword ptr [rsi+0x10], rcx
+       mov      dword ptr [rsi+0x18], edx
+       mov      rax, rsi
+						;; size=57 bbWeight=1 PerfScore 20.25
 G_M58268_IG03:
        add      rsp, 8
        pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
        pop      rbp
        ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
+						;; size=7 bbWeight=1 PerfScore 2.25
 G_M58268_IG04:
        mov      edi, 0x541
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M58268_IG05:
        mov      edi, 0x505
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        call     [rax]System.Collections.Immutable.Requires:FailRange(System.String,System.String)
        int3     
 						;; size=38 bbWeight=0.50 PerfScore 2.75
 G_M58268_IG06:
        mov      edi, 0x4B5
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 G_M58268_IG07:
        mov      edi, 0x4AB
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        call     [rax]System.Collections.Immutable.Requires:FailArgumentNullException(System.String)
        int3     
 						;; size=36 bbWeight=0.50 PerfScore 2.62
 
-; Total bytes of code 272, prolog size 20, PerfScore 45.88, instruction count 71, allocated bytes for code 272 (MethodHash=70ea1c63) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]:this (FullOpts)
+; Total bytes of code 225, prolog size 12, PerfScore 37.88, instruction count 57, allocated bytes for code 225 (MethodHash=70ea1c63) for method System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:get_Origin():System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.__Canon]: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/bf223300c92239c020ced4745d2d7046

@MihuBot
Copy link
Owner Author

MihuBot commented Feb 6, 2025

@EgorBo

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

No branches or pull requests

1 participant