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] Optimize redundant sign extensions in assertprop #881

Open
MihuBot opened this issue Jan 11, 2025 · 3 comments
Open

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jan 11, 2025

Job completed in 18 minutes 26 seconds.
dotnet/runtime#111305

Diffs

Diffs
Found 362 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 40205636
Total bytes of diff: 40203067
Total bytes of delta: -2569 (-0.01 % of base)
Total relative delta: -7.39
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
          87 : Microsoft.VisualBasic.Core.dasm (0.02 % of base)

Top file improvements (bytes):
        -547 : System.Linq.Parallel.dasm (-0.02 % of base)
        -263 : System.Private.CoreLib.dasm (-0.00 % of base)
        -256 : System.Private.Xml.dasm (-0.01 % of base)
        -223 : System.Linq.Expressions.dasm (-0.02 % of base)
        -138 : System.Collections.dasm (-0.03 % of base)
        -133 : System.Text.RegularExpressions.dasm (-0.02 % of base)
        -120 : System.Data.Common.dasm (-0.01 % of base)
         -67 : System.Text.Json.dasm (-0.01 % of base)
         -54 : System.Collections.Immutable.dasm (-0.00 % of base)
         -48 : System.Collections.Concurrent.dasm (-0.01 % of base)
         -41 : System.Private.DataContractSerialization.dasm (-0.00 % of base)
         -41 : System.Numerics.Tensors.dasm (-0.00 % of base)
         -38 : System.Composition.Convention.dasm (-0.03 % of base)
         -36 : System.ComponentModel.Composition.Registration.dasm (-0.03 % of base)
         -33 : System.Security.Cryptography.dasm (-0.00 % of base)
         -31 : System.Memory.dasm (-0.01 % of base)
         -29 : Microsoft.CSharp.dasm (-0.01 % of base)
         -29 : System.ComponentModel.Composition.dasm (-0.01 % of base)
         -25 : System.Threading.Tasks.Dataflow.dasm (-0.00 % of base)
         -22 : System.ComponentModel.TypeConverter.dasm (-0.01 % of base)
         -22 : System.Private.Uri.dasm (-0.02 % of base)
         -21 : System.Configuration.ConfigurationManager.dasm (-0.01 % of base)
         -21 : ILCompiler.Reflection.ReadyToRun.dasm (-0.01 % of base)
         -20 : System.Net.Http.dasm (-0.00 % of base)
         -18 : System.Reflection.Emit.dasm (-0.01 % of base)
         -18 : System.Threading.RateLimiting.dasm (-0.01 % of base)
         -17 : System.Private.Xml.Linq.dasm (-0.01 % of base)
         -17 : System.Net.Mail.dasm (-0.01 % of base)
         -16 : System.Threading.Tasks.Parallel.dasm (-0.01 % of base)
         -15 : System.Runtime.Numerics.dasm (-0.01 % of base)
         -15 : System.Net.Quic.dasm (-0.01 % of base)
         -15 : System.Diagnostics.Process.dasm (-0.02 % of base)
         -14 : System.Reflection.Metadata.dasm (-0.00 % of base)
         -14 : System.Net.Primitives.dasm (-0.01 % of base)
         -14 : System.Net.Security.dasm (-0.01 % of base)
         -13 : System.Data.Odbc.dasm (-0.01 % of base)
         -13 : System.Net.NetworkInformation.dasm (-0.03 % of base)
         -12 : System.Reflection.MetadataLoadContext.dasm (-0.01 % of base)
         -10 : System.DirectoryServices.Protocols.dasm (-0.01 % of base)
         -10 : System.Security.Claims.dasm (-0.07 % of base)
         -10 : System.Linq.dasm (-0.00 % of base)
         -10 : System.Security.Permissions.dasm (-0.08 % of base)
         -10 : System.Reflection.Context.dasm (-0.02 % of base)
          -9 : System.Text.Encoding.CodePages.dasm (-0.01 % of base)
          -8 : System.IO.Ports.dasm (-0.02 % of base)
          -7 : System.Resources.Extensions.dasm (-0.01 % of base)
          -7 : System.Security.Cryptography.Pkcs.dasm (-0.00 % of base)
          -7 : System.Security.Cryptography.Cose.dasm (-0.01 % of base)
          -6 : System.Composition.TypedParts.dasm (-0.01 % of base)
          -6 : System.Net.WebProxy.dasm (-0.11 % of base)
          -6 : Microsoft.Extensions.DependencyModel.dasm (-0.01 % of base)
          -6 : Microsoft.Extensions.Hosting.dasm (-0.01 % of base)
          -6 : System.IO.Packaging.dasm (-0.01 % of base)
          -5 : System.Net.Sockets.dasm (-0.00 % of base)
          -5 : System.Net.WebSockets.dasm (-0.00 % of base)
          -5 : Microsoft.Extensions.DependencyInjection.dasm (-0.01 % of base)
          -4 : Microsoft.Extensions.Configuration.dasm (-0.02 % of base)
          -4 : System.Linq.Queryable.dasm (-0.00 % of base)
          -4 : System.Formats.Nrbf.dasm (-0.01 % of base)
          -4 : System.Threading.Channels.dasm (-0.00 % of base)
          -4 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.02 % of base)
          -3 : System.Composition.Hosting.dasm (-0.00 % of base)
          -2 : System.Formats.Tar.dasm (-0.00 % of base)
          -2 : System.Formats.Asn1.dasm (-0.00 % of base)
          -2 : System.Text.Encodings.Web.dasm (-0.01 % of base)
          -2 : System.Formats.Cbor.dasm (-0.00 % of base)
          -2 : Microsoft.Extensions.Logging.EventSource.dasm (-0.01 % of base)
          -2 : System.Runtime.Serialization.Formatters.dasm (-0.01 % of base)
          -2 : System.Net.NameResolution.dasm (-0.00 % of base)
          -2 : Microsoft.Extensions.Options.dasm (-0.01 % of base)
          -1 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (-0.00 % of base)
          -1 : Microsoft.Extensions.Logging.dasm (-0.00 % of base)
          -1 : System.Reflection.DispatchProxy.dasm (-0.01 % of base)
          -1 : Microsoft.Extensions.Configuration.Json.dasm (-0.02 % of base)
          -1 : System.Security.Cryptography.Xml.dasm (-0.00 % of base)
          -1 : System.Net.Requests.dasm (-0.00 % of base)
          -1 : Microsoft.Extensions.Configuration.Binder.dasm (-0.00 % of base)
          -1 : Microsoft.Extensions.Diagnostics.dasm (-0.01 % of base)
          -1 : Microsoft.Extensions.FileProviders.Physical.dasm (-0.01 % of base)
          -1 : System.Resources.Writer.dasm (-0.01 % of base)
          -1 : System.Diagnostics.DiagnosticSource.dasm (-0.00 % of base)
          -1 : System.IO.Compression.dasm (-0.00 % of base)
          -1 : System.Web.HttpUtility.dasm (-0.01 % of base)
          -1 : Microsoft.Extensions.Http.dasm (-0.00 % of base)
          -1 : System.IO.Compression.Brotli.dasm (-0.00 % of base)

86 total files with Code Size differences (85 improved, 1 regressed), 173 unchanged.

Top method regressions (bytes):
         117 (4.37 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
          62 (1.56 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeWithManyArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
          34 (1.73 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeWithFewArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
          32 (1.32 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeConstructorWithoutAlloc(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
          27 (9.82 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:CopyBack(System.Object[],System.Span`1[System.Object],System.Span`1[ubyte]):this (FullOpts)
          12 (0.64 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPipePayloadDecoder:DecodePayload(byref,System.ReadOnlySpan`1[ubyte]):System.Object[] (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.__Canon],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,System.__Canon],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,System.__Canon],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,System.__Canon],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,double],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,int],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,long],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,short],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,ubyte],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.__Canon],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.__Canon],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,System.__Canon],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,double],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,int],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,long],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,short],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,ubyte],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,double],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,int],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,long],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,short],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,ubyte],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,double],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,int],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,long],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,short],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,ubyte],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,double],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,int],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,long],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,short],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,ubyte],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],double],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],int],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],long],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],short],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],ubyte],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],double],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],int],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],long],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],short],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],ubyte],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,double],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,int],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,long],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,short],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,ubyte],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           5 (0.65 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeModule:ResolveSignature(int):ubyte[]:this (FullOpts)
           4 (5.26 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericArraySortHelper`1[double]:InsertionSort(System.Span`1[double]) (FullOpts)
           4 (5.33 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericArraySortHelper`1[short]:InsertionSort(System.Span`1[short]) (FullOpts)
           4 (1.53 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:FilterPollList(System.Collections.IList,ulong,int,short,byref) (FullOpts)
           2 (7.41 % of base) : System.Private.CoreLib.dasm - System.Convert:ToUInt64(byte):ulong (FullOpts)
           2 (7.41 % of base) : System.Private.CoreLib.dasm - System.Convert:ToUInt64(short):ulong (FullOpts)
           2 (7.41 % of base) : System.Private.CoreLib.dasm - System.Int16:System.IConvertible.ToUInt64(System.IFormatProvider):ulong:this (FullOpts)
           2 (7.41 % of base) : System.Private.CoreLib.dasm - System.SByte:System.IConvertible.ToUInt64(System.IFormatProvider):ulong:this (FullOpts)

Top method improvements (bytes):
         -34 (-0.41 % of base) : System.Data.Common.dasm - System.Data.DataTable:SerializeTableSchema(System.Runtime.Serialization.SerializationInfo,ubyte):this (FullOpts)
         -20 (-0.84 % of base) : System.Private.CoreLib.dasm - System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts) (2 methods)
         -18 (-0.68 % of base) : System.Data.Common.dasm - System.Data.DataSet:SerializeDataSetProperties(System.Runtime.Serialization.SerializationInfo):this (FullOpts)
         -16 (-0.87 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+TransitionTime:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -16 (-0.61 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -16 (-0.74 % of base) : System.Private.Xml.dasm - System.Xml.XmlException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -16 (-0.85 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XslLoadException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -16 (-0.61 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -15 (-0.54 % of base) : System.Private.CoreLib.dasm - System.Exception:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-1.11 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[double]:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-1.11 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[int]:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-1.11 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[long]:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-1.11 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[short]:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-1.11 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[System.Nullable`1[int]]:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-1.11 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[System.Numerics.Vector`1[float]]:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-1.11 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[ubyte]:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-0.45 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationErrorsException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-1.18 % of base) : System.Private.CoreLib.dasm - System.Decimal:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -12 (-0.66 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInvoker:InvokeWithManyArgs(System.Span`1[System.Object]):System.Object:this (FullOpts)
         -12 (-0.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodInvoker:InvokeWithManyArgs(System.Object,System.Span`1[System.Object]):System.Object:this (FullOpts)
         -10 (-0.19 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitLift(int,System.Type,System.Linq.Expressions.MethodCallExpression,System.Linq.Expressions.ParameterExpression[],System.Linq.Expressions.Expression[]):this (FullOpts)
         -10 (-1.88 % of base) : System.Security.Permissions.dasm - System.Security.HostProtectionException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -10 (-1.06 % of base) : System.Private.CoreLib.dasm - System.TypeLoadException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -10 (-2.02 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlConverter:TryParseInt64(ubyte[],int,int,byref):ubyte (FullOpts)
         -10 (-1.24 % of base) : System.Private.Xml.dasm - System.Xml.XmlEncodedRawTextWriter:RawTextAsync(System.String,System.String,System.String,System.String):System.Threading.Tasks.Task:this (FullOpts)
         -10 (-1.24 % of base) : System.Private.Xml.dasm - System.Xml.XmlUtf8RawTextWriter:RawTextAsync(System.String,System.String,System.String,System.String):System.Threading.Tasks.Task:this (FullOpts)
          -9 (-0.20 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:InvokeMember(System.String,int,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]):System.Object:this (FullOpts)
          -9 (-0.75 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathCompileException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -8 (-0.65 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[System.__Canon]:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -8 (-0.28 % of base) : System.Data.Common.dasm - System.Data.DataSet:SerializeDataSet(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,int):this (FullOpts)
          -8 (-0.42 % of base) : System.Data.Common.dasm - System.Data.DataTable:SerializeDataTable(System.Runtime.Serialization.SerializationInfo,ubyte,int):this (FullOpts)
          -8 (-0.67 % of base) : System.Private.Uri.dasm - System.Uri:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -7 (-0.49 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Contracts.ContractException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -7 (-0.21 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileLiftedLogicalBinaryExpression(System.Linq.Expressions.BinaryExpression,ubyte):this (FullOpts)
          -7 (-2.39 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -7 (-0.38 % of base) : System.Text.Json.dasm - System.Text.Json.JsonHelpers:TraverseGraphWithTopologicalSort[System.__Canon](System.__Canon,System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.__Canon[] (FullOpts)
          -7 (-0.49 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -6 (-0.86 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:RearrangeNamedArguments(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.MethPropWithInst,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos):Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray (FullOpts)
          -6 (-0.61 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.WarningException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -6 (-0.81 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -6 (-0.93 % of base) : System.Private.CoreLib.dasm - System.DateTime:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -6 (-0.94 % of base) : System.Private.CoreLib.dasm - System.DateTimeOffset:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -6 (-0.83 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:IsSelfOrDescendantOf(System.Diagnostics.Process):ubyte:this (FullOpts)
          -6 (-0.38 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.Custom.CustomType:GetPropertyImpl(System.String,int,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo:this (FullOpts)
          -6 (-0.38 % of base) : System.Private.CoreLib.dasm - System.Security.SecurityException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -6 (-0.24 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler:<EmitTryFindNextPossibleStartingPosition>g__EmitLiteralAfterAtomicLoop|317_5(byref):this (FullOpts)
          -6 (-0.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler+<>c__DisplayClass318_0:<EmitTryMatchAtCurrentPosition>g__EmitBackreference|5(System.Text.RegularExpressions.RegexNode):this (FullOpts)
          -6 (-0.42 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:<ReduceAlternation>g__ExtractCommonPrefixOneNotoneSet|42_1(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:this (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:this (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:this (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:this (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:this (FullOpts)
          -6 (-0.35 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double] (FullOpts)
          -6 (-0.53 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:this (FullOpts)
          -6 (-0.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
          -6 (-0.53 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:this (FullOpts)
          -6 (-0.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
          -6 (-0.53 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:this (FullOpts)
          -6 (-0.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
          -6 (-0.53 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:this (FullOpts)
          -6 (-0.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
          -6 (-0.53 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:this (FullOpts)
          -5 (-0.39 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:GetLiveSlotsAtSafepoints(ubyte[],byref):System.Collections.Generic.List`1[System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcSlot]]:this (FullOpts)
          -5 (-0.67 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.LateBinding:FastCall(System.Object,System.Reflection.MethodBase,System.Reflection.ParameterInfo[],System.Object[],System.Type,System.Reflection.IReflect):System.Object (FullOpts)
          -5 (-0.23 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.XPathParser:ParseMethod(MS.Internal.Xml.XPath.AstNode):MS.Internal.Xml.XPath.Function:this (FullOpts)
          -5 (-0.25 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileConvertUnaryExpression(System.Linq.Expressions.Expression):this (FullOpts)
          -5 (-1.40 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler+QuoteVisitor:VisitLambda[System.__Canon](System.Linq.Expressions.Expression`1[System.__Canon]):System.Linq.Expressions.Expression:this (FullOpts)
          -5 (-0.61 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](ulong,int,byref,ubyte):long (FullOpts)
          -5 (-0.61 % of base) : System.Net.Quic.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](ulong,int,byref,ubyte):long (FullOpts)
          -5 (-0.61 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](ulong,int,byref,ubyte):long (FullOpts)
          -5 (-0.61 % of base) : System.Net.Security.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](ulong,int,byref,ubyte):long (FullOpts)
          -5 (-0.68 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpFailedRecipientsException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -5 (-1.23 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEHeaders:CalculateMetadataLocation(long,byref,byref):this (FullOpts)
          -5 (-0.51 % of base) : System.Private.CoreLib.dasm - System.UnitySerializationHolder:GetUnitySerializationInfo(System.Runtime.Serialization.SerializationInfo,int) (FullOpts)
          -5 (-0.29 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XNodeBuilder:WriteEntityRef(System.String):this (FullOpts)
          -5 (-0.07 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
          -4 (-0.11 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:CreateLibrary(Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+TargetLibrary,ubyte,System.Collections.Generic.Dictionary`2[System.String,Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+LibraryStub]):Microsoft.Extensions.DependencyModel.Library:this (FullOpts)
          -4 (-0.17 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:ResolveConversion(System.Type,System.Type,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],ubyte,byref):System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method] (FullOpts)
          -4 (-0.42 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:BuildAttributes(System.Type,byref):this (FullOpts)
          -4 (-0.55 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.LicenseException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -4 (-0.46 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:GetExtendedProperties(System.Object):System.ComponentModel.PropertyDescriptorCollection:this (FullOpts)
          -4 (-0.24 % of base) : System.Data.Common.dasm - System.Data.ConstraintCollection:FinishInitConstraints():this (FullOpts)
          -4 (-0.78 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -4 (-1.75 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialStream:RemoveCompletedTasks(System.Collections.Generic.Queue`1[System.IO.Ports.SerialStream+SerialStreamIORequest],System.Object) (FullOpts)
          -4 (-1.97 % of base) : System.Net.NetworkInformation.dasm - System.IO.StringParser:ParseNextInt64():long:this (FullOpts)
          -4 (-1.97 % of base) : System.Diagnostics.Process.dasm - System.IO.StringParser:ParseNextInt64():long:this (FullOpts)
          -4 (-2.55 % of base) : System.Diagnostics.Process.dasm - System.IO.StringParser:ParseNextUInt64():ulong:this (FullOpts)
          -4 (-0.53 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.CompilerScope:AllocateLocals(System.Linq.Expressions.Compiler.LambdaCompiler):this (FullOpts)
          -4 (-0.91 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.CompilerScope:EmitClosureAccess(System.Linq.Expressions.Compiler.LambdaCompiler,System.Linq.Expressions.Compiler.HoistedLocals):this (FullOpts)
          -4 (-0.11 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.StackSpiller:RewriteListInitExpression(System.Linq.Expressions.Expression,int):System.Linq.Expressions.Compiler.StackSpiller+Result:this (FullOpts)
          -4 (-0.28 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileArithmetic(int,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):this (FullOpts)
          -4 (-0.50 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](ulong,int,byref,ubyte):long (FullOpts)
          -4 (-0.50 % of base) : System.Net.Quic.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](ulong,int,byref,ubyte):long (FullOpts)
          -4 (-0.50 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](ulong,int,byref,ubyte):long (FullOpts)
          -4 (-0.50 % of base) : System.Net.Security.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](ulong,int,byref,ubyte):long (FullOpts)
          -4 (-0.50 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](ulong,int,byref,ubyte):long (FullOpts)
          -4 (-0.50 % of base) : System.Net.Quic.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](ulong,int,byref,ubyte):long (FullOpts)
          -4 (-0.50 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](ulong,int,byref,ubyte):long (FullOpts)
          -4 (-0.50 % of base) : System.Net.Security.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](ulong,int,byref,ubyte):long (FullOpts)

Top method regressions (percentages):
          27 (9.82 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:CopyBack(System.Object[],System.Span`1[System.Object],System.Span`1[ubyte]):this (FullOpts)
           2 (7.41 % of base) : System.Private.CoreLib.dasm - System.Convert:ToUInt64(byte):ulong (FullOpts)
           2 (7.41 % of base) : System.Private.CoreLib.dasm - System.Convert:ToUInt64(short):ulong (FullOpts)
           2 (7.41 % of base) : System.Private.CoreLib.dasm - System.Int16:System.IConvertible.ToUInt64(System.IFormatProvider):ulong:this (FullOpts)
           2 (7.41 % of base) : System.Private.CoreLib.dasm - System.SByte:System.IConvertible.ToUInt64(System.IFormatProvider):ulong:this (FullOpts)
           4 (5.33 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericArraySortHelper`1[short]:InsertionSort(System.Span`1[short]) (FullOpts)
           4 (5.26 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericArraySortHelper`1[double]:InsertionSort(System.Span`1[double]) (FullOpts)
         117 (4.37 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,double],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,int],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,long],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,short],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          12 (1.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,ubyte],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon]):this (FullOpts)
          34 (1.73 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeWithFewArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,double],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,int],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,long],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,short],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,ubyte],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,double],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,int],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,long],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,short],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,ubyte],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,double],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,int],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,long],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,short],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,ubyte],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,double],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,int],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,long],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,short],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,ubyte],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],double],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],int],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],long],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],short],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],ubyte],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],double],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],int],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],long],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],short],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],ubyte],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,double],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,int],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,long],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,short],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
           7 (1.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,ubyte],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.__Canon],System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[int,System.__Canon],System.Linq.Parallel.PartitionedStream`2[int,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[int]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[long,System.__Canon],System.Linq.Parallel.PartitionedStream`2[long,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[long]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[short,System.__Canon],System.Linq.Parallel.PartitionedStream`2[short,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[short]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.__Canon],System.Linq.Parallel.PartitionedStream`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Nullable`1[int]]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.__Canon],System.Linq.Parallel.PartitionedStream`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.Numerics.Vector`1[float]]):this (FullOpts)
          12 (1.69 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapHelper2[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[ubyte,System.__Canon],System.Linq.Parallel.PartitionedStream`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[ubyte]):this (FullOpts)
          62 (1.56 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeWithManyArgs(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
           4 (1.53 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:FilterPollList(System.Collections.IList,ulong,int,short,byref) (FullOpts)
          32 (1.32 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBaseInvoker:InvokeConstructorWithoutAlloc(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts)
           5 (0.65 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeModule:ResolveSignature(int):ubyte[]:this (FullOpts)
          12 (0.64 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPipePayloadDecoder:DecodePayload(byref,System.ReadOnlySpan`1[ubyte]):System.Object[] (FullOpts)

Top method improvements (percentages):
          -3 (-12.00 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorSpanHelpers:FillRange(System.Span`1[long]) (FullOpts)
          -1 (-8.33 % of base) : System.Private.CoreLib.dasm - System.UInt64:CreateSaturating[int](int):ulong (FullOpts)
          -1 (-8.33 % of base) : System.Private.CoreLib.dasm - System.UIntPtr:CreateSaturating[int](int):ulong (FullOpts)
          -2 (-7.41 % of base) : System.Private.CoreLib.dasm - System.Int32:System.IConvertible.ToUInt64(System.IFormatProvider):ulong:this (FullOpts)
          -1 (-5.26 % of base) : System.Private.CoreLib.dasm - System.UInt64:CreateSaturating[short](short):ulong (FullOpts)
          -1 (-5.26 % of base) : System.Private.CoreLib.dasm - System.UIntPtr:CreateSaturating[short](short):ulong (FullOpts)
          -3 (-4.00 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.AltSvcHeaderParser:TryReadQuotedInt32Value(System.ReadOnlySpan`1[ushort],byref):ubyte (FullOpts)
          -3 (-3.95 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives:HammingBitDistance[int](System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int]):long (FullOpts)
          -1 (-3.85 % of base) : System.Private.CoreLib.dasm - System.Convert:ToUInt64(int):ulong (FullOpts)
          -3 (-3.85 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.TensorPrimitives:HammingBitDistance[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):long (FullOpts)
          -1 (-3.85 % of base) : System.Private.CoreLib.dasm - System.UInt128:CreateSaturating[int](int):System.UInt128 (FullOpts)
          -3 (-3.80 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericArraySortHelper`1[int]:InsertionSort(System.Span`1[int]) (FullOpts)
          -3 (-3.80 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericArraySortHelper`1[ubyte]:InsertionSort(System.Span`1[ubyte]) (FullOpts)
          -3 (-3.75 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericArraySortHelper`1[long]:InsertionSort(System.Span`1[long]) (FullOpts)
          -3 (-3.49 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.StringHeap:TrimEnd(System.Reflection.Internal.MemoryBlock):System.Reflection.Internal.MemoryBlock (FullOpts)
          -3 (-3.45 % of base) : System.Threading.RateLimiting.dasm - System.Collections.Generic.Deque`1[System.__Canon]:DequeueTail():System.__Canon:this (FullOpts)
          -3 (-3.45 % of base) : System.Threading.Channels.dasm - System.Collections.Generic.Deque`1[System.__Canon]:DequeueTail():System.__Canon:this (FullOpts)
          -2 (-2.82 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.__Canon]:Pop():System.__Canon:this (FullOpts)
          -3 (-2.75 % of base) : System.Private.CoreLib.dasm - System.Array:GetFlattenedIndex(System.ReadOnlySpan`1[int]):long:this (FullOpts)
          -4 (-2.55 % of base) : System.Diagnostics.Process.dasm - System.IO.StringParser:ParseNextUInt64():ulong:this (FullOpts)
          -1 (-2.50 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GetElement[int](System.Numerics.Vector`1[int],int):int (FullOpts)
          -1 (-2.50 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:GetElement[int](System.Runtime.Intrinsics.Vector128`1[int],int):int (FullOpts)
          -1 (-2.50 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GetElement[int](System.Runtime.Intrinsics.Vector256`1[int],int):int (FullOpts)
          -1 (-2.50 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:GetElement[int](System.Runtime.Intrinsics.Vector512`1[int],int):int (FullOpts)
          -1 (-2.50 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:GetElement[int](System.Runtime.Intrinsics.Vector64`1[int],int):int (FullOpts)
          -1 (-2.44 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GetElement[long](System.Numerics.Vector`1[long],int):long (FullOpts)
          -1 (-2.44 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GetElement[ubyte](System.Numerics.Vector`1[ubyte],int):ubyte (FullOpts)
          -1 (-2.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:GetElement[long](System.Runtime.Intrinsics.Vector128`1[long],int):long (FullOpts)
          -1 (-2.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:GetElement[ubyte](System.Runtime.Intrinsics.Vector128`1[ubyte],int):ubyte (FullOpts)
          -1 (-2.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GetElement[long](System.Runtime.Intrinsics.Vector256`1[long],int):long (FullOpts)
          -1 (-2.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GetElement[ubyte](System.Runtime.Intrinsics.Vector256`1[ubyte],int):ubyte (FullOpts)
          -1 (-2.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:GetElement[long](System.Runtime.Intrinsics.Vector512`1[long],int):long (FullOpts)
          -1 (-2.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:GetElement[ubyte](System.Runtime.Intrinsics.Vector512`1[ubyte],int):ubyte (FullOpts)
          -1 (-2.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:GetElement[ubyte](System.Runtime.Intrinsics.Vector64`1[ubyte],int):ubyte (FullOpts)
          -7 (-2.39 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -1 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GetElement[double](System.Numerics.Vector`1[double],int):double (FullOpts)
          -1 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector:GetElement[short](System.Numerics.Vector`1[short],int):short (FullOpts)
          -1 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:GetElement[double](System.Runtime.Intrinsics.Vector128`1[double],int):double (FullOpts)
          -1 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:GetElement[short](System.Runtime.Intrinsics.Vector128`1[short],int):short (FullOpts)
          -1 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GetElement[double](System.Runtime.Intrinsics.Vector256`1[double],int):double (FullOpts)
          -1 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:GetElement[short](System.Runtime.Intrinsics.Vector256`1[short],int):short (FullOpts)
          -1 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:GetElement[double](System.Runtime.Intrinsics.Vector512`1[double],int):double (FullOpts)
          -1 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:GetElement[short](System.Runtime.Intrinsics.Vector512`1[short],int):short (FullOpts)
          -1 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:GetElement[short](System.Runtime.Intrinsics.Vector64`1[short],int):short (FullOpts)
          -1 (-2.33 % of base) : System.Private.CoreLib.dasm - System.SZArrayHelper:set_Item[System.__Canon](int,System.__Canon):this (FullOpts)
          -1 (-2.33 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[int,System.Nullable`1[int]]:<ForEachWorker>b__2(int,System.Threading.Tasks.ParallelLoopState):this (FullOpts)
          -1 (-2.27 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[long,System.Nullable`1[int]]:<ForEachWorker>b__2(int,System.Threading.Tasks.ParallelLoopState):this (FullOpts)
          -1 (-2.27 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[System.__Canon,System.Nullable`1[int]]:<ForEachWorker>b__2(int,System.Threading.Tasks.ParallelLoopState):this (FullOpts)
          -1 (-2.27 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[System.Nullable`1[int],System.Nullable`1[int]]:<ForEachWorker>b__2(int,System.Threading.Tasks.ParallelLoopState):this (FullOpts)
          -1 (-2.22 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[short,System.Nullable`1[int]]:<ForEachWorker>b__2(int,System.Threading.Tasks.ParallelLoopState):this (FullOpts)
          -1 (-2.22 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[ubyte,System.Nullable`1[int]]:<ForEachWorker>b__2(int,System.Threading.Tasks.ParallelLoopState):this (FullOpts)
          -1 (-2.17 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:get_Item(int):int:this (FullOpts)
          -1 (-2.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[ubyte]:get_Item(int):ubyte:this (FullOpts)
          -2 (-2.11 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.Queue`1[System.__Canon]:Dequeue():System.__Canon:this (FullOpts)
          -1 (-2.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.GetElement(System.Runtime.Intrinsics.Vector64`1[int],int):int (FullOpts)
          -1 (-2.08 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:get_Item(int):short:this (FullOpts)
          -1 (-2.04 % of base) : System.Linq.Expressions.dasm - System.Collections.Generic.ArrayBuilder`1[double]:.ctor(int):this (FullOpts)
          -1 (-2.04 % of base) : System.Linq.Expressions.dasm - System.Collections.Generic.ArrayBuilder`1[int]:.ctor(int):this (FullOpts)
          -1 (-2.04 % of base) : System.Linq.Expressions.dasm - System.Collections.Generic.ArrayBuilder`1[long]:.ctor(int):this (FullOpts)
          -1 (-2.04 % of base) : System.Linq.Expressions.dasm - System.Collections.Generic.ArrayBuilder`1[short]:.ctor(int):this (FullOpts)
          -1 (-2.04 % of base) : System.Linq.Expressions.dasm - System.Collections.Generic.ArrayBuilder`1[System.Nullable`1[int]]:.ctor(int):this (FullOpts)
          -1 (-2.04 % of base) : System.Linq.Expressions.dasm - System.Collections.Generic.ArrayBuilder`1[System.Numerics.Vector`1[float]]:.ctor(int):this (FullOpts)
          -1 (-2.04 % of base) : System.Linq.Expressions.dasm - System.Collections.Generic.ArrayBuilder`1[ubyte]:.ctor(int):this (FullOpts)
          -1 (-2.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.GetElement(System.Runtime.Intrinsics.Vector64`1[ubyte],int):ubyte (FullOpts)
          -1 (-2.04 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[double,System.Nullable`1[int]]:<ForEachWorker>b__2(int,System.Threading.Tasks.ParallelLoopState):this (FullOpts)
         -10 (-2.02 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlConverter:TryParseInt64(ubyte[],int,int,byref):ubyte (FullOpts)
          -1 (-2.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.GetElement(System.Runtime.Intrinsics.Vector64`1[short],int):short (FullOpts)
          -2 (-1.98 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.FixedMaxHeap`1[System.__Canon]:Swap(int,int):this (FullOpts)
          -4 (-1.97 % of base) : System.Net.NetworkInformation.dasm - System.IO.StringParser:ParseNextInt64():long:this (FullOpts)
          -4 (-1.97 % of base) : System.Diagnostics.Process.dasm - System.IO.StringParser:ParseNextInt64():long:this (FullOpts)
          -1 (-1.89 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[int,System.Nullable`1[int]]:<ForEachWorker>b__4(int,System.Threading.Tasks.ParallelLoopState,System.Nullable`1[int]):System.Nullable`1[int]:this (FullOpts)
          -1 (-1.89 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[long,System.Nullable`1[int]]:<ForEachWorker>b__4(int,System.Threading.Tasks.ParallelLoopState,System.Nullable`1[int]):System.Nullable`1[int]:this (FullOpts)
          -1 (-1.89 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[System.__Canon,System.Nullable`1[int]]:<ForEachWorker>b__4(int,System.Threading.Tasks.ParallelLoopState,System.Nullable`1[int]):System.Nullable`1[int]:this (FullOpts)
          -1 (-1.89 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[System.Nullable`1[int],System.Nullable`1[int]]:<ForEachWorker>b__4(int,System.Threading.Tasks.ParallelLoopState,System.Nullable`1[int]):System.Nullable`1[int]:this (FullOpts)
         -10 (-1.88 % of base) : System.Security.Permissions.dasm - System.Security.HostProtectionException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
          -1 (-1.85 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[short,System.Nullable`1[int]]:<ForEachWorker>b__4(int,System.Threading.Tasks.ParallelLoopState,System.Nullable`1[int]):System.Nullable`1[int]:this (FullOpts)
          -1 (-1.85 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[ubyte,System.Nullable`1[int]]:<ForEachWorker>b__4(int,System.Threading.Tasks.ParallelLoopState,System.Nullable`1[int]):System.Nullable`1[int]:this (FullOpts)
          -4 (-1.83 % of base) : System.Private.CoreLib.dasm - System.Random+XoshiroImpl:NextBytes(System.Span`1[ubyte]):this (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:this (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:this (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:this (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:this (FullOpts)
          -6 (-1.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:this (FullOpts)
          -1 (-1.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Matrix4x4:get_Item(int,int):float:this (FullOpts)
          -1 (-1.79 % of base) : System.Private.CoreLib.dasm - System.Numerics.Matrix4x4+Impl:get_Item(int,int):float:this (FullOpts)
          -1 (-1.75 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[double,System.Nullable`1[int]]:<ForEachWorker>b__4(int,System.Threading.Tasks.ParallelLoopState,System.Nullable`1[int]):System.Nullable`1[int]:this (FullOpts)
          -4 (-1.75 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialStream:RemoveCompletedTasks(System.Collections.Generic.Queue`1[System.IO.Ports.SerialStream+SerialStreamIORequest],System.Object) (FullOpts)
          -2 (-1.74 % of base) : System.Collections.dasm - System.Collections.Generic.Stack`1[System.__Canon]:TryPop(byref):ubyte:this (FullOpts)
          -1 (-1.72 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:WithElement[int](System.Runtime.Intrinsics.Vector64`1[int],int,int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts)
          -1 (-1.72 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:WithElement[ubyte](System.Runtime.Intrinsics.Vector64`1[ubyte],int,ubyte):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts)
          -1 (-1.72 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.WithElement(System.Runtime.Intrinsics.Vector64`1[int],int,int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts)
          -1 (-1.72 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[ubyte]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.WithElement(System.Runtime.Intrinsics.Vector64`1[ubyte],int,ubyte):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts)
          -1 (-1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:WithElement[short](System.Runtime.Intrinsics.Vector64`1[short],int,short):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts)
          -1 (-1.69 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.WithElement(System.Runtime.Intrinsics.Vector64`1[short],int,short):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts)
          -2 (-1.67 % of base) : System.Private.CoreLib.dasm - System.Array:Reverse[double](double[],int,int) (FullOpts)
          -2 (-1.67 % of base) : System.Private.CoreLib.dasm - System.Array:Reverse[int](int[],int,int) (FullOpts)
          -2 (-1.67 % of base) : System.Private.CoreLib.dasm - System.Array:Reverse[long](long[],int,int) (FullOpts)
          -2 (-1.67 % of base) : System.Private.CoreLib.dasm - System.Array:Reverse[short](short[],int,int) (FullOpts)
          -2 (-1.67 % of base) : System.Private.CoreLib.dasm - System.Array:Reverse[System.Nullable`1[int]](System.Nullable`1[int][],int,int) (FullOpts)
          -2 (-1.67 % of base) : System.Private.CoreLib.dasm - System.Array:Reverse[ubyte](ubyte[],int,int) (FullOpts)

2129 total methods with Code Size differences (2052 improved, 77 regressed), 230931 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 11, 2025

Top method regressions

117 (4.37 % of base) - Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this
 ; Assembly listing for method Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]: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; 28 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,   0   )     ref  ->  zero-ref    this class-hnd single-def <Microsoft.VisualBasic.CompilerServices.VBBinder>
 ;  V01 arg1         [V01,T61] (  3,   2   )     ref  ->  r14         class-hnd single-def <System.Type>
 ;  V02 arg2         [V02,T60] (  3,   3   )     ref  ->  rdx         class-hnd single-def <System.Reflection.IReflect>
 ;  V03 arg3         [V03,T59] (  4,   3   )     ref  ->  r15         class-hnd single-def <System.String>
 ;  V04 arg4         [V04,T45] (  5,   9   )     int  ->  rbx         single-def
 ;  V05 loc0         [V05,T63] (  3,   2   )     ref  ->  rax         class-hnd <System.Reflection.MethodBase[]>
 ;  V06 loc1         [V06,T03] ( 42, 483   )     ref  ->  r12         class-hnd single-def <System.Reflection.MemberInfo[]>
 ;  V07 loc2         [V07,T58] (  6,   5   )     ref  ->  r15         class-hnd exact single-def <System.Reflection.MethodBase[]>
 ;  V08 loc3         [V08,T15] ( 23,  96   )     ref  ->  [rbp-0x98]  class-hnd spill-single-def <System.Reflection.MemberInfo>
 ;* V09 loc4         [V09,T64] (  0,   0   )     int  ->  zero-ref   
 ;  V10 loc5         [V10,T09] ( 13, 340   )     ref  ->  [rbp-0xA0]  class-hnd <System.Reflection.MethodInfo>
 ;  V11 loc6         [V11,T26] (  4,  40   )     ref  ->  [rbp-0xA8]  class-hnd spill-single-def <System.Reflection.PropertyInfo>
 ;  V12 loc7         [V12,T08] ( 20, 344   )     ref  ->  [rbp-0xB0]  class-hnd <System.Type>
 ;  V13 loc8         [V13,T11] ( 22, 320.50)     int  ->  r13         must-init
 ;  V14 loc9         [V14,T47] (  9,   8.50)     int  ->  r14        
 ;  V15 loc10        [V15,T38] (  3,  17   )     int  ->  [rbp-0x2C]  spill-single-def
 ;  V16 loc11        [V16,T19] ( 14,  82.08)     int  ->  [rbp-0x30] 
 ;  V17 loc12        [V17,T35] (  5,  21   )     int  ->  [rbp-0x34]  spill-single-def
 ;  V18 loc13        [V18,T20] ( 14,  82.08)     int  ->  [rbp-0x38] 
 ;  V19 loc14        [V19,T36] (  5,  21   )     int  ->  [rbp-0x3C]  spill-single-def
 ;  V20 loc15        [V20,T04] (  5, 396   )     int  ->  [rbp-0x40] 
 ;  V21 loc16        [V21,T00] ( 13,1186.56)     int  ->  [rbp-0x44] 
 ;  V22 loc17        [V22,T10] (  5, 336   )     int  ->  [rbp-0x48]  spill-single-def
 ;  V23 loc18        [V23,T18] ( 14,  84.08)     int  ->  [rbp-0x4C] 
 ;  V24 loc19        [V24,T31] (  5,  25   )     int  ->  [rbp-0x50]  spill-single-def
 ;  V25 loc20        [V25,T57] (  5,   5.25)     int  ->  r13         single-def
 ;  V26 loc21        [V26,T39] ( 10,  16.54)     int  ->  [rbp-0x54] 
 ;# V27 OutArgs      [V27    ] (  1,   1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V28 tmp1         [V28,T70] (  2,   0   )     ref  ->  r12         class-hnd exact "impAppendStmt" <System.String>
 ;  V29 tmp2         [V29,T69] (  3,   0   )     ref  ->  r13         class-hnd exact "NewObj constructor temp" <System.ArgumentException>
 ;* V30 tmp3         [V30    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <System.Reflection.MethodBase[]>
 ;  V31 tmp4         [V31,T48] (  4,   8   )     ref  ->  rax         class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.MethodBase>
 ;  V32 tmp5         [V32,T55] (  3,   6   )     int  ->  rcx         "Inline return value spill temp"
 ;* V33 tmp6         [V33    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V34 tmp7         [V34,T52] (  3,   6   )   byref  ->  rcx         "Inline stloc first use temp"
 ;* V35 tmp8         [V35    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.IndexOutOfRangeException>
 ;  V36 tmp9         [V36,T43] (  3,  12   )     int  ->  rdi         "impAppendStmt"
 ;  V37 tmp10        [V37,T50] (  2,   8   )   byref  ->  rdi         "Inlining Arg"
 ;  V38 tmp11        [V38,T56] (  3,   6   )     int  ->  rcx         "Inline return value spill temp"
 ;* V39 tmp12        [V39    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V40 tmp13        [V40,T53] (  3,   6   )   byref  ->  rcx         "Inline stloc first use temp"
 ;* V41 tmp14        [V41    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.IndexOutOfRangeException>
 ;  V42 tmp15        [V42,T44] (  3,  12   )     int  ->  rdi         "impAppendStmt"
 ;  V43 tmp16        [V43,T51] (  2,   8   )   byref  ->  rdi         "Inlining Arg"
 ;  V44 tmp17        [V44,T17] (  3,  96   )     int  ->  rcx         "Inline return value spill temp"
 ;* V45 tmp18        [V45    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V46 tmp19        [V46,T16] (  3,  96   )   byref  ->  rcx         "Inline stloc first use temp"
 ;* V47 tmp20        [V47    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.IndexOutOfRangeException>
 ;  V48 tmp21        [V48,T12] (  3, 192   )     int  ->  rdi         "impAppendStmt"
 ;  V49 tmp22        [V49,T14] (  2, 128   )   byref  ->  rdi         "Inlining Arg"
 ;  V50 tmp23        [V50,T49] (  3,   8   )     int  ->  rcx         "Inline return value spill temp"
 ;* V51 tmp24        [V51    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V52 tmp25        [V52,T54] (  3,   6   )   byref  ->  rcx         "Inline stloc first use temp"
 ;* V53 tmp26        [V53    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.IndexOutOfRangeException>
 ;  V54 tmp27        [V54,T37] (  3,  20   )     int  ->  rdi         "impAppendStmt"
 ;  V55 tmp28        [V55,T40] (  2,  16   )   byref  ->  rdi         "Inlining Arg"
 ;* V56 tmp29        [V56    ] (  0,   0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V57 tmp30        [V57,T22] (  6,  48   )     ref  ->  rdi         "argument with side effect"
 ;  V58 tmp31        [V58,T28] (  4,  32   )     ref  ->  rax         "argument with side effect"
 ;  V59 tmp32        [V59,T71] (  2,   0   )     ref  ->  rdx         "argument with side effect"
 ;  V60 tmp33        [V60,T72] (  2,   0   )     ref  ->  rsi         "argument with side effect"
 ;* V61 tmp34        [V61    ] (  0,   0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V62 tmp35        [V62,T01] (  6, 768   )     ref  ->  rdi         "argument with side effect"
 ;  V63 tmp36        [V63,T02] (  4, 512   )     ref  ->  rax         "argument with side effect"
 ;  V64 tmp37        [V64,T42] (  3,  12   )     ref  ->  rax         "argument with side effect"
 ;* V65 tmp38        [V65    ] (  0,   0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V66 tmp39        [V66,T23] (  6,  48   )     ref  ->  rdi         "argument with side effect"
 ;  V67 tmp40        [V67,T29] (  4,  32   )     ref  ->  rax         "argument with side effect"
 ;* V68 tmp41        [V68    ] (  0,   0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V69 tmp42        [V69,T24] (  6,  48   )     ref  ->  rdi         "argument with side effect"
 ;  V70 tmp43        [V70,T30] (  4,  32   )     ref  ->  rax         "argument with side effect"
 ;  V71 cse0         [V71,T62] (  3,   3.84)     ref  ->  rdi         "CSE #29: conservative"
 ;  V72 cse1         [V72,T65] (  3,   0.24)     ref  ->  rdi         "CSE #08: conservative"
 ;  V73 cse2         [V73,T66] (  3,   0.24)     ref  ->  rdi         "CSE #19: conservative"
 ;  V74 cse3         [V74,T67] (  3,   0.24)     ref  ->  rdi         "CSE #37: conservative"
 ;  V75 cse4         [V75,T68] (  3,   0.10)     ref  ->  rsi         "CSE #47: conservative"
 ;  V76 cse5         [V76,T05] (  3, 380.16)     ref  ->  rdi         "CSE #26: aggressive"
 ;  V77 cse6         [V77,T13] (  5, 160   )    long  ->  [rbp-0x60]  spill-single-def "CSE #24: moderate"
 ;  V78 cse7         [V78,T21] (  9,  54   )    long  ->  [rbp-0x68]  spill-single-def "CSE #02: moderate"
 ;  V79 cse8         [V79,T25] (  5,  48   )    long  ->  [rbp-0x70]  spill-single-def hoist "CSE #22: moderate"
 ;  V80 cse9         [V80,T41] (  6,  12   )    long  ->  [rbp-0x78]  spill-single-def "CSE #12: conservative"
 ;  V81 cse10        [V81,T32] (  3,  23.76)     ref  ->  rdi         "CSE #05: moderate"
 ;  V82 cse11        [V82,T33] (  3,  23.76)     ref  ->  rdi         "CSE #16: moderate"
 ;  V83 cse12        [V83,T34] (  3,  23.76)     ref  ->  rdi         "CSE #34: moderate"
 ;  V84 cse13        [V84,T46] (  3,   9.90)     ref  ->  rsi         "CSE #44: conservative"
 ;  V85 cse14        [V85,T27] ( 16,  34.31)     int  ->  [rbp-0x7C]  multi-def "CSE #03: moderate"
 ;  V86 cse15        [V86,T06] (  3, 380.16)    long  ->  [rbp-0x88]  spill-single-def "CSE #25: aggressive"
 ;  V87 rat0         [V87,T07] ( 16, 368.50)    long  ->  [rbp-0x90]  "Widened IV V09"
 ;
 ; Lcl frame size = 136
 
 G_M42178_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 136
        lea      rbp, [rsp+0xB0]
        mov      r14, rsi
        mov      r15, rcx
        mov      ebx, r8d
        xor      r13d, r13d
 						;; size=37 bbWeight=1 PerfScore 7.75
 G_M42178_IG02:
        mov      rdi, rdx
        mov      edx, ebx
        mov      rsi, r15
        mov      r11, 0xD1FFAB1E      ; code for System.Reflection.IReflect:GetMember(System.String,int):System.Reflection.MemberInfo[]:this
        call     [r11]System.Reflection.IReflect:GetMember(System.String,int):System.Reflection.MemberInfo[]:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.VisualBasic.CompilerServices.LateBinding:GetNonGenericMembers(System.Reflection.MemberInfo[]):System.Reflection.MemberInfo[]
        call     [rax]Microsoft.VisualBasic.CompilerServices.LateBinding:GetNonGenericMembers(System.Reflection.MemberInfo[]):System.Reflection.MemberInfo[]
        mov      r12, rax
        test     r12, r12
-       je       G_M42178_IG105
+       je       G_M42178_IG114
 						;; size=48 bbWeight=1 PerfScore 9.00
 G_M42178_IG03:
        mov      rdi, r12
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Array:GetUpperBound(int):int:this
        call     [rax]System.Array:GetUpperBound(int):int:this
        mov      dword ptr [rbp-0x2C], eax
        xor      ecx, ecx
        test     eax, eax
-       jl       G_M42178_IG71
+       jl       G_M42178_IG80
 						;; size=30 bbWeight=0.50 PerfScore 3.12
 G_M42178_IG04:
        mov      edx, dword ptr [r12+0x08]
        mov      dword ptr [rbp-0x7C], edx
        cmp      ecx, edx
-       jae      G_M42178_IG108
+       jae      G_M42178_IG117
        mov      qword ptr [rbp-0x90], rcx
        mov      rsi, gword ptr [r12+8*rcx+0x10]
        mov      gword ptr [rbp-0x98], rsi
        test     rsi, rsi
-       je       G_M42178_IG70
+       je       G_M42178_IG79
 						;; size=44 bbWeight=4 PerfScore 38.00
 G_M42178_IG05:
        mov      rdi, rsi
        mov      r8, qword ptr [rsi]
        mov      r8, qword ptr [r8+0x40]
        mov      qword ptr [rbp-0x68], r8
        call     [r8+0x28]System.Reflection.MemberInfo:get_MemberType():int:this
        cmp      eax, 4
-       je       G_M42178_IG84
+       je       G_M42178_IG93
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x68]
        call     [rax+0x28]System.Reflection.MemberInfo:get_MemberType():int:this
        cmp      eax, 8
-       je       G_M42178_IG57
+       je       G_M42178_IG66
 						;; size=50 bbWeight=2 PerfScore 31.50
 G_M42178_IG06:
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x68]
        call     [rax+0x28]System.Reflection.MemberInfo:get_MemberType():int:this
        cmp      eax, 16
        je       G_M42178_IG26
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x68]
        call     [rax+0x28]System.Reflection.MemberInfo:get_MemberType():int:this
        cmp      eax, 128
-       jne      G_M42178_IG70
+       jne      G_M42178_IG79
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x68]
        call     [rax+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      gword ptr [rbp-0xB0], rax
        mov      rdi, qword ptr [r12]
        mov      edi, dword ptr [rdi+0x04]
        add      edi, -24
        shr      edi, 3
        je       SHORT G_M42178_IG08
 						;; size=84 bbWeight=4 PerfScore 97.00
 G_M42178_IG07:
        lea      rcx, bword ptr [r12+0x10]
        mov      edx, dword ptr [rcx]
        movsxd   rdi, edi
        mov      edi, dword ptr [rcx+4*rdi]
        lea      ecx, [rdx+rdi-0x01]
        jmp      SHORT G_M42178_IG09
 						;; size=19 bbWeight=2 PerfScore 15.50
 G_M42178_IG08:
        mov      ecx, dword ptr [r12+0x08]
        test     ecx, ecx
-       jl       G_M42178_IG109
+       jl       G_M42178_IG118
        dec      ecx
 						;; size=15 bbWeight=2 PerfScore 7.00
 G_M42178_IG09:
        mov      dword ptr [rbp-0x50], ecx
        xor      edx, edx
        test     ecx, ecx
        jl       G_M42178_IG18
 						;; size=13 bbWeight=4 PerfScore 10.00
 G_M42178_IG10:
        cmp      dword ptr [rbp-0x7C], ecx
        jle      G_M42178_IG23
 						;; size=9 bbWeight=1 PerfScore 3.00
 G_M42178_IG11:
        cmp      dword ptr [rbp-0x90], edx
        je       SHORT G_M42178_IG17
 						;; size=8 bbWeight=15.84 PerfScore 47.52
 G_M42178_IG12:
        mov      dword ptr [rbp-0x4C], edx
        mov      edi, edx
        mov      rdi, gword ptr [r12+8*rdi+0x10]
        test     rdi, rdi
        jne      SHORT G_M42178_IG14
 						;; size=15 bbWeight=7.92 PerfScore 35.64
 G_M42178_IG13:
        mov      edx, dword ptr [rbp-0x4C]
        jmp      SHORT G_M42178_IG17
 						;; size=5 bbWeight=3.96 PerfScore 11.88
 G_M42178_IG14:
        mov      r9, qword ptr [rdi]
        mov      r9, qword ptr [r9+0x40]
        call     [r9+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xB0]
        mov      gword ptr [rbp-0xB0], rdi
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x18]System.Type:IsSubclassOf(System.Type):ubyte:this
        test     eax, eax
        jne      SHORT G_M42178_IG16
 						;; size=45 bbWeight=7.92 PerfScore 138.60
 G_M42178_IG15:
        mov      edx, dword ptr [rbp-0x4C]
        jmp      SHORT G_M42178_IG17
 						;; size=5 bbWeight=3.96 PerfScore 11.88
 G_M42178_IG16:
        mov      edi, dword ptr [rbp-0x4C]
        mov      eax, edi
        xor      rcx, rcx
        mov      gword ptr [r12+8*rax+0x10], rcx
        add      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      edx, edi
 						;; size=24 bbWeight=7.92 PerfScore 31.68
 G_M42178_IG17:
        add      edx, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        cmp      edx, dword ptr [rbp-0x50]
        jle      SHORT G_M42178_IG11
 						;; size=14 bbWeight=15.84 PerfScore 67.32
 G_M42178_IG18:
        mov      esi, dword ptr [rbp-0x7C]
        sub      esi, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        cmp      esi, r13d
-       je       G_M42178_IG107
+       je       G_M42178_IG116
        xor      rsi, rsi
        mov      r8, qword ptr [rbp-0x90]
        mov      gword ptr [r12+8*r8+0x10], rsi
        add      r13d, 1
-       jo       G_M42178_IG109
-       jmp      G_M42178_IG70
+       jo       G_M42178_IG118
+       jmp      G_M42178_IG79
 						;; size=50 bbWeight=4 PerfScore 36.00
 G_M42178_IG19:
        mov      r9, qword ptr [rdi]
        mov      r9, qword ptr [r9+0x40]
        call     [r9+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xB0]
        mov      gword ptr [rbp-0xB0], rdi
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x18]System.Type:IsSubclassOf(System.Type):ubyte:this
        test     eax, eax
        jne      SHORT G_M42178_IG21
 						;; size=45 bbWeight=0.08 PerfScore 1.40
 G_M42178_IG20:
        mov      edx, dword ptr [rbp-0x4C]
        jmp      SHORT G_M42178_IG22
 						;; size=5 bbWeight=0.04 PerfScore 0.12
 G_M42178_IG21:
        mov      esi, dword ptr [rbp-0x4C]
        mov      edi, esi
        xor      rax, rax
        mov      gword ptr [r12+8*rdi+0x10], rax
        add      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      edx, esi
 						;; size=24 bbWeight=0.08 PerfScore 0.32
 G_M42178_IG22:
        add      edx, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      ecx, dword ptr [rbp-0x50]
        cmp      edx, ecx
        jg       G_M42178_IG18
 						;; size=20 bbWeight=0.16 PerfScore 0.56
 G_M42178_IG23:
        cmp      dword ptr [rbp-0x90], edx
        je       SHORT G_M42178_IG22
 						;; size=8 bbWeight=0.16 PerfScore 0.48
 G_M42178_IG24:
        cmp      edx, dword ptr [rbp-0x7C]
-       jae      G_M42178_IG108
+       jae      G_M42178_IG117
        mov      dword ptr [rbp-0x4C], edx
        mov      edi, edx
        mov      rdi, gword ptr [r12+8*rdi+0x10]
        test     rdi, rdi
        jne      SHORT G_M42178_IG19
 						;; size=24 bbWeight=0.08 PerfScore 0.60
 G_M42178_IG25:
        mov      edx, dword ptr [rbp-0x4C]
        jmp      SHORT G_M42178_IG22
 						;; size=5 bbWeight=0.04 PerfScore 0.12
 G_M42178_IG26:
        mov      rsi, gword ptr [rbp-0x98]
        mov      rdi, 0xD1FFAB1E      ; System.Reflection.PropertyInfo
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        mov      gword ptr [rbp-0xA8], rax
        mov      dword ptr [rbp-0x40], 1
        mov      rdx, gword ptr [rbp-0x98]
        mov      rdi, qword ptr [rdx]
        mov      r8, qword ptr [rdi+0x58]
        mov      qword ptr [rbp-0x70], r8
 						;; size=61 bbWeight=4 PerfScore 50.00
 G_M42178_IG27:
        mov      rdi, rdx
        xor      esi, esi
        call     [r8+0x08]System.Reflection.PropertyInfo:GetGetMethod(ubyte):System.Reflection.MethodInfo:this
 						;; size=9 bbWeight=32 PerfScore 112.00
 G_M42178_IG28:
        test     rax, rax
-       je       G_M42178_IG41
-						;; size=9 bbWeight=128 PerfScore 160.00
+       jne      SHORT G_M42178_IG30
+						;; size=5 bbWeight=128 PerfScore 160.00
 G_M42178_IG29:
+       mov      r8, qword ptr [rbp-0x90]
+       jmp      G_M42178_IG49
+						;; size=12 bbWeight=64 PerfScore 192.00
+G_M42178_IG30:
        mov      rdi, rax
        mov      gword ptr [rbp-0xA0], rax
        mov      rcx, qword ptr [rax]
        mov      rcx, qword ptr [rcx+0x50]
        mov      qword ptr [rbp-0x60], rcx
        call     [rcx+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     al, 128
-       jne      G_M42178_IG41
+       je       SHORT G_M42178_IG32
+						;; size=28 bbWeight=32 PerfScore 336.00
+G_M42178_IG31:
+       mov      r8, qword ptr [rbp-0x90]
+       jmp      G_M42178_IG49
+						;; size=12 bbWeight=16 PerfScore 48.00
+G_M42178_IG32:
        mov      rdi, gword ptr [rbp-0xA0]
        mov      rax, qword ptr [rbp-0x60]
        call     [rax+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     al, 64
-       je       SHORT G_M42178_IG30
+       je       SHORT G_M42178_IG36
        mov      rdi, gword ptr [rbp-0xA0]
        mov      rax, qword ptr [rbp-0x60]
        call     [rax+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     al, 64
-       je       G_M42178_IG41
+       jne      SHORT G_M42178_IG34
+						;; size=36 bbWeight=32 PerfScore 400.00
+G_M42178_IG33:
+       mov      r8, qword ptr [rbp-0x90]
+       jmp      G_M42178_IG49
+						;; size=12 bbWeight=16 PerfScore 48.00
+G_M42178_IG34:
        mov      rdi, gword ptr [rbp-0xA0]
        mov      rax, qword ptr [rbp-0x60]
        call     [rax+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     eax, 256
-       je       G_M42178_IG41
-						;; size=97 bbWeight=32 PerfScore 936.00
-G_M42178_IG30:
+       jne      SHORT G_M42178_IG36
+						;; size=21 bbWeight=32 PerfScore 200.00
+G_M42178_IG35:
+       mov      r8, qword ptr [rbp-0x90]
+       jmp      G_M42178_IG49
+						;; size=12 bbWeight=16 PerfScore 48.00
+G_M42178_IG36:
        mov      rdi, gword ptr [rbp-0xA8]
        mov      rax, qword ptr [rbp-0x68]
        call     [rax+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      gword ptr [rbp-0xB0], rax
        mov      rdi, qword ptr [r12]
        mov      edi, dword ptr [rdi+0x04]
        add      edi, -24
        shr      edi, 3
-       je       SHORT G_M42178_IG31
+       je       SHORT G_M42178_IG37
        lea      rcx, bword ptr [r12+0x10]
        mov      edx, dword ptr [rcx]
        movsxd   rdi, edi
        mov      edi, dword ptr [rcx+4*rdi]
        lea      ecx, [rdx+rdi-0x01]
-       jmp      SHORT G_M42178_IG32
+       jmp      SHORT G_M42178_IG38
 						;; size=55 bbWeight=32 PerfScore 624.00
-G_M42178_IG31:
+G_M42178_IG37:
        mov      ecx, dword ptr [r12+0x08]
        test     ecx, ecx
-       jl       G_M42178_IG109
+       jl       G_M42178_IG118
        dec      ecx
 						;; size=15 bbWeight=32 PerfScore 112.00
-G_M42178_IG32:
+G_M42178_IG38:
        mov      dword ptr [rbp-0x48], ecx
        xor      edx, edx
        test     ecx, ecx
-       jl       G_M42178_IG41
-						;; size=13 bbWeight=32 PerfScore 80.00
-G_M42178_IG33:
+       jge      SHORT G_M42178_IG40
+						;; size=9 bbWeight=32 PerfScore 80.00
+G_M42178_IG39:
+       mov      r8, qword ptr [rbp-0x90]
+       jmp      G_M42178_IG49
+						;; size=12 bbWeight=16 PerfScore 48.00
+G_M42178_IG40:
        cmp      dword ptr [rbp-0x7C], ecx
-       jle      G_M42178_IG48
+       jle      G_M42178_IG57
 						;; size=9 bbWeight=16 PerfScore 48.00
-G_M42178_IG34:
+G_M42178_IG41:
        cmp      dword ptr [rbp-0x90], edx
-       je       SHORT G_M42178_IG40
+       je       SHORT G_M42178_IG47
 						;; size=8 bbWeight=253.44 PerfScore 760.32
-G_M42178_IG35:
+G_M42178_IG42:
        mov      dword ptr [rbp-0x44], edx
        mov      r9d, edx
        mov      qword ptr [rbp-0x88], r9
        mov      rdi, gword ptr [r12+8*r9+0x10]
        test     rdi, rdi
-       jne      SHORT G_M42178_IG37
+       jne      SHORT G_M42178_IG44
 						;; size=23 bbWeight=126.72 PerfScore 696.96
-G_M42178_IG36:
+G_M42178_IG43:
        mov      edx, dword ptr [rbp-0x44]
-       jmp      SHORT G_M42178_IG40
+       jmp      SHORT G_M42178_IG47
 						;; size=5 bbWeight=63.36 PerfScore 190.08
-G_M42178_IG37:
+G_M42178_IG44:
        mov      r10, qword ptr [rdi]
        mov      r10, qword ptr [r10+0x40]
        call     [r10+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xB0]
        mov      gword ptr [rbp-0xB0], rdi
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x18]System.Type:IsSubclassOf(System.Type):ubyte:this
        test     eax, eax
-       jne      SHORT G_M42178_IG39
+       jne      SHORT G_M42178_IG46
 						;; size=45 bbWeight=126.72 PerfScore 2217.60
-G_M42178_IG38:
+G_M42178_IG45:
        mov      edx, dword ptr [rbp-0x44]
-       jmp      SHORT G_M42178_IG40
+       jmp      SHORT G_M42178_IG47
 						;; size=5 bbWeight=63.36 PerfScore 190.08
-G_M42178_IG39:
+G_M42178_IG46:
        xor      rdi, rdi
        mov      r9, qword ptr [rbp-0x88]
        mov      gword ptr [r12+8*r9+0x10], rdi
        add      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      edx, dword ptr [rbp-0x44]
 						;; size=27 bbWeight=126.72 PerfScore 570.24
-G_M42178_IG40:
+G_M42178_IG47:
        add      edx, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        cmp      edx, dword ptr [rbp-0x48]
-       jle      SHORT G_M42178_IG34
+       jle      SHORT G_M42178_IG41
 						;; size=14 bbWeight=253.44 PerfScore 1077.12
-G_M42178_IG41:
+G_M42178_IG48:
+       mov      r8, qword ptr [rbp-0x90]
+						;; size=7 bbWeight=126.72 PerfScore 126.72
+G_M42178_IG49:
        mov      ecx, dword ptr [rbp-0x40]
        add      ecx, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        cmp      ecx, 2
-       jle      G_M42178_IG51
+       jle      G_M42178_IG60
 						;; size=21 bbWeight=128 PerfScore 448.00
-G_M42178_IG42:
+G_M42178_IG50:
        test     ebx, 0x1000
-       je       G_M42178_IG52
+       je       G_M42178_IG61
 						;; size=12 bbWeight=4 PerfScore 5.00
-G_M42178_IG43:
+G_M42178_IG51:
+       mov      qword ptr [rbp-0x90], r8
        mov      rdi, gword ptr [rbp-0xA8]
        xor      esi, esi
        mov      rcx, qword ptr [rbp-0x70]
        call     [rcx+0x08]System.Reflection.PropertyInfo:GetGetMethod(ubyte):System.Reflection.MethodInfo:this
-       jmp      G_M42178_IG56
-						;; size=21 bbWeight=2 PerfScore 14.50
-G_M42178_IG44:
+       jmp      G_M42178_IG65
+						;; size=28 bbWeight=2 PerfScore 16.50
+G_M42178_IG52:
+       mov      qword ptr [rbp-0x90], r8
        mov      r9, qword ptr [rdi]
        mov      r9, qword ptr [r9+0x40]
        call     [r9+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xB0]
        mov      gword ptr [rbp-0xB0], rdi
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x18]System.Type:IsSubclassOf(System.Type):ubyte:this
        test     eax, eax
-       jne      SHORT G_M42178_IG46
-						;; size=45 bbWeight=1.28 PerfScore 22.40
-G_M42178_IG45:
+       jne      SHORT G_M42178_IG54
+						;; size=52 bbWeight=1.28 PerfScore 23.68
+G_M42178_IG53:
        mov      edx, dword ptr [rbp-0x44]
-       jmp      SHORT G_M42178_IG47
-						;; size=5 bbWeight=0.64 PerfScore 1.92
-G_M42178_IG46:
+       mov      r8, qword ptr [rbp-0x90]
+       jmp      SHORT G_M42178_IG55
+						;; size=12 bbWeight=0.64 PerfScore 2.56
+G_M42178_IG54:
        mov      edi, dword ptr [rbp-0x44]
        mov      esi, edi
        xor      rax, rax
        mov      gword ptr [r12+8*rsi+0x10], rax
        add      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      edx, edi
-						;; size=24 bbWeight=1.28 PerfScore 5.12
-G_M42178_IG47:
+       mov      r8, qword ptr [rbp-0x90]
+						;; size=31 bbWeight=1.28 PerfScore 6.40
+G_M42178_IG55:
        add      edx, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      ecx, dword ptr [rbp-0x48]
        cmp      edx, ecx
-       jg       G_M42178_IG41
+       jg       G_M42178_IG49
 						;; size=20 bbWeight=2.56 PerfScore 8.96
-G_M42178_IG48:
+G_M42178_IG56:
+       mov      qword ptr [rbp-0x90], r8
+						;; size=7 bbWeight=1.28 PerfScore 1.28
+G_M42178_IG57:
        cmp      dword ptr [rbp-0x90], edx
-       je       SHORT G_M42178_IG47
-						;; size=8 bbWeight=2.56 PerfScore 7.68
-G_M42178_IG49:
+       mov      r8, qword ptr [rbp-0x90]
+       je       SHORT G_M42178_IG55
+						;; size=15 bbWeight=2.56 PerfScore 10.24
+G_M42178_IG58:
        cmp      edx, dword ptr [rbp-0x7C]
-       jae      G_M42178_IG108
+       jae      G_M42178_IG117
        mov      dword ptr [rbp-0x44], edx
        mov      edi, edx
        mov      rdi, gword ptr [r12+8*rdi+0x10]
        test     rdi, rdi
-       jne      SHORT G_M42178_IG44
-						;; size=24 bbWeight=1.28 PerfScore 9.60
-G_M42178_IG50:
+       jne      G_M42178_IG52
+						;; size=28 bbWeight=1.28 PerfScore 9.60
+G_M42178_IG59:
        mov      edx, dword ptr [rbp-0x44]
-       jmp      SHORT G_M42178_IG47
+       jmp      SHORT G_M42178_IG55
 						;; size=5 bbWeight=0.64 PerfScore 1.92
-G_M42178_IG51:
+G_M42178_IG60:
        mov      dword ptr [rbp-0x40], ecx
        cmp      ecx, 1
+       mov      qword ptr [rbp-0x90], r8
        mov      rdx, gword ptr [rbp-0x98]
        mov      r8, qword ptr [rbp-0x70]
        je       G_M42178_IG27
        mov      rdi, rdx
        xor      esi, esi
        call     [r8+0x18]System.Reflection.PropertyInfo:GetSetMethod(ubyte):System.Reflection.MethodInfo:this
        jmp      G_M42178_IG28
-						;; size=37 bbWeight=8 PerfScore 78.00
-G_M42178_IG52:
+						;; size=44 bbWeight=8 PerfScore 86.00
+G_M42178_IG61:
        test     ebx, 0x2000
-       jne      SHORT G_M42178_IG55
+       jne      SHORT G_M42178_IG64
        xor      rax, rax
 						;; size=10 bbWeight=2 PerfScore 3.00
-G_M42178_IG53:
+G_M42178_IG62:
        add      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
 						;; size=10 bbWeight=2 PerfScore 2.50
-G_M42178_IG54:
-       movsxd   rsi, dword ptr [rbp-0x90]
+G_M42178_IG63:
+       mov      qword ptr [rbp-0x90], r8
+       mov      rsi, r8
        mov      rdi, r12
        mov      rdx, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-       jmp      G_M42178_IG70
-						;; size=30 bbWeight=4 PerfScore 35.00
-G_M42178_IG55:
+       jmp      G_M42178_IG79
+						;; size=33 bbWeight=4 PerfScore 28.00
+G_M42178_IG64:
+       mov      qword ptr [rbp-0x90], r8
        mov      rdi, gword ptr [rbp-0xA8]
        xor      esi, esi
        mov      rcx, qword ptr [rbp-0x70]
        call     [rcx+0x18]System.Reflection.PropertyInfo:GetSetMethod(ubyte):System.Reflection.MethodInfo:this
-						;; size=16 bbWeight=2 PerfScore 10.50
-G_M42178_IG56:
+						;; size=23 bbWeight=2 PerfScore 12.50
+G_M42178_IG65:
        test     rax, rax
-       jne      SHORT G_M42178_IG54
-       jmp      SHORT G_M42178_IG53
-						;; size=7 bbWeight=2 PerfScore 6.50
-G_M42178_IG57:
+       mov      r8, qword ptr [rbp-0x90]
+       jne      SHORT G_M42178_IG63
+       jmp      SHORT G_M42178_IG62
+						;; size=14 bbWeight=2 PerfScore 8.50
+G_M42178_IG66:
        mov      rsi, gword ptr [rbp-0x98]
        mov      rdi, 0xD1FFAB1E      ; System.Reflection.MethodInfo
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        mov      qword ptr [rbp-0x78], rax
        call     [rax+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     al, 128
-       jne      G_M42178_IG70
+       jne      G_M42178_IG79
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x78]
        call     [rax+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     al, 64
-       je       SHORT G_M42178_IG59
+       je       SHORT G_M42178_IG68
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x78]
        call     [rax+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     al, 64
-       je       SHORT G_M42178_IG58
+       je       SHORT G_M42178_IG67
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x78]
        call     [rax+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     eax, 256
-       jne      SHORT G_M42178_IG59
+       jne      SHORT G_M42178_IG68
 						;; size=115 bbWeight=2 PerfScore 67.00
-G_M42178_IG58:
+G_M42178_IG67:
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x78]
        call     [rax+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     al, 64
-       je       G_M42178_IG70
+       je       G_M42178_IG79
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x68]
        call     [rax]System.Reflection.MethodInfo:GetBaseDefinition():System.Reflection.MethodInfo:this
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x20]System.Reflection.MethodBase:get_Attributes():int:this
        test     eax, 256
-       je       G_M42178_IG70
+       je       G_M42178_IG79
 						;; size=62 bbWeight=2 PerfScore 45.50
-G_M42178_IG59:
+G_M42178_IG68:
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x68]
        call     [rax+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      gword ptr [rbp-0xB0], rax
        mov      rdi, qword ptr [r12]
        mov      edi, dword ptr [rdi+0x04]
        add      edi, -24
        shr      edi, 3
-       je       SHORT G_M42178_IG60
+       je       SHORT G_M42178_IG69
        lea      rcx, bword ptr [r12+0x10]
        mov      edx, dword ptr [rcx]
        movsxd   rdi, edi
        mov      edi, dword ptr [rcx+4*rdi]
        lea      ecx, [rdx+rdi-0x01]
-       jmp      SHORT G_M42178_IG61
+       jmp      SHORT G_M42178_IG70
 						;; size=55 bbWeight=2 PerfScore 39.00
-G_M42178_IG60:
+G_M42178_IG69:
        mov      ecx, dword ptr [r12+0x08]
        test     ecx, ecx
-       jl       G_M42178_IG109
+       jl       G_M42178_IG118
        dec      ecx
 						;; size=15 bbWeight=2 PerfScore 7.00
-G_M42178_IG61:
+G_M42178_IG70:
        mov      dword ptr [rbp-0x3C], ecx
        xor      edx, edx
        test     ecx, ecx
-       jl       G_M42178_IG70
+       jl       G_M42178_IG79
 						;; size=13 bbWeight=2 PerfScore 5.00
-G_M42178_IG62:
+G_M42178_IG71:
        mov      esi, dword ptr [rbp-0x7C]
        cmp      esi, ecx
-       jle      G_M42178_IG81
+       jle      G_M42178_IG90
 						;; size=11 bbWeight=1 PerfScore 2.25
-G_M42178_IG63:
+G_M42178_IG72:
        cmp      dword ptr [rbp-0x90], edx
-       je       SHORT G_M42178_IG69
+       je       SHORT G_M42178_IG78
 						;; size=8 bbWeight=15.84 PerfScore 47.52
-G_M42178_IG64:
+G_M42178_IG73:
        mov      dword ptr [rbp-0x38], edx
        mov      edi, edx
        mov      rdi, gword ptr [r12+8*rdi+0x10]
        test     rdi, rdi
-       jne      SHORT G_M42178_IG66
+       jne      SHORT G_M42178_IG75
 						;; size=15 bbWeight=7.92 PerfScore 35.64
-G_M42178_IG65:
+G_M42178_IG74:
        mov      edx, dword ptr [rbp-0x38]
-       jmp      SHORT G_M42178_IG69
+       jmp      SHORT G_M42178_IG78
 						;; size=5 bbWeight=3.96 PerfScore 11.88
-G_M42178_IG66:
+G_M42178_IG75:
        mov      rsi, qword ptr [rdi]
        mov      rsi, qword ptr [rsi+0x40]
        call     [rsi+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xB0]
        mov      gword ptr [rbp-0xB0], rdi
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x18]System.Type:IsSubclassOf(System.Type):ubyte:this
        test     eax, eax
-       jne      SHORT G_M42178_IG68
+       jne      SHORT G_M42178_IG77
 						;; size=44 bbWeight=7.92 PerfScore 138.60
-G_M42178_IG67:
+G_M42178_IG76:
        mov      edx, dword ptr [rbp-0x38]
-       jmp      SHORT G_M42178_IG69
+       jmp      SHORT G_M42178_IG78
 						;; size=5 bbWeight=3.96 PerfScore 11.88
-G_M42178_IG68:
+G_M42178_IG77:
        mov      edi, dword ptr [rbp-0x38]
        mov      eax, edi
        xor      rcx, rcx
        mov      gword ptr [r12+8*rax+0x10], rcx
        add      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      edx, edi
 						;; size=24 bbWeight=7.92 PerfScore 31.68
-G_M42178_IG69:
+G_M42178_IG78:
        add      edx, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        cmp      edx, dword ptr [rbp-0x3C]
-       jle      SHORT G_M42178_IG63
+       jle      SHORT G_M42178_IG72
 						;; size=14 bbWeight=15.84 PerfScore 67.32
-G_M42178_IG70:
+G_M42178_IG79:
        mov      r8, qword ptr [rbp-0x90]
        add      r8d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      eax, dword ptr [rbp-0x2C]
        cmp      r8d, eax
        mov      rcx, r8
        jle      G_M42178_IG04
 						;; size=32 bbWeight=16 PerfScore 76.00
-G_M42178_IG71:
+G_M42178_IG80:
        mov      esi, dword ptr [r12+0x08]
        mov      ebx, esi
        mov      esi, ebx
        sub      esi, r13d
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        sub      esi, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        add      esi, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        movsxd   rsi, esi
        mov      rdi, 0xD1FFAB1E      ; System.Reflection.MethodBase[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r15, rax
        xor      r14d, r14d
        mov      r13d, ebx
        sub      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        xor      eax, eax
        test     r13d, r13d
-       jl       SHORT G_M42178_IG76
+       jl       SHORT G_M42178_IG85
 						;; size=80 bbWeight=0.50 PerfScore 5.62
-G_M42178_IG72:
+G_M42178_IG81:
        cmp      ebx, r13d
-       jle      G_M42178_IG102
+       jle      G_M42178_IG111
 						;; size=9 bbWeight=0.25 PerfScore 0.31
-G_M42178_IG73:
+G_M42178_IG82:
        mov      dword ptr [rbp-0x54], eax
        mov      esi, eax
        mov      rsi, gword ptr [r12+8*rsi+0x10]
        test     rsi, rsi
-       je       SHORT G_M42178_IG75
+       je       SHORT G_M42178_IG84
 						;; size=15 bbWeight=3.96 PerfScore 17.82
-G_M42178_IG74:
+G_M42178_IG83:
        mov      rdi, 0xD1FFAB1E      ; System.Reflection.MethodBase
        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rcx]CORINFO_HELP_CHKCASTCLASS
        cmp      r14d, dword ptr [r15+0x08]
-       jae      G_M42178_IG108
+       jae      G_M42178_IG117
        mov      edi, r14d
        lea      rdi, bword ptr [r15+8*rdi+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        add      r14d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
 						;; size=58 bbWeight=1.98 PerfScore 22.28
-G_M42178_IG75:
+G_M42178_IG84:
        mov      eax, dword ptr [rbp-0x54]
        add      eax, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        cmp      eax, r13d
-       jle      SHORT G_M42178_IG73
+       jle      SHORT G_M42178_IG82
 						;; size=17 bbWeight=3.96 PerfScore 13.86
-G_M42178_IG76:
+G_M42178_IG85:
        mov      rax, r15
-       jmp      G_M42178_IG106
+       jmp      G_M42178_IG115
 						;; size=8 bbWeight=0.50 PerfScore 1.12
-G_M42178_IG77:
+G_M42178_IG86:
        mov      r9, qword ptr [rdi]
        mov      r9, qword ptr [r9+0x40]
        call     [r9+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xB0]
        mov      gword ptr [rbp-0xB0], rdi
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x18]System.Type:IsSubclassOf(System.Type):ubyte:this
        test     eax, eax
-       jne      SHORT G_M42178_IG79
+       jne      SHORT G_M42178_IG88
 						;; size=45 bbWeight=0.08 PerfScore 1.40
-G_M42178_IG78:
+G_M42178_IG87:
        mov      edx, dword ptr [rbp-0x38]
        mov      esi, dword ptr [rbp-0x7C]
-       jmp      SHORT G_M42178_IG80
+       jmp      SHORT G_M42178_IG89
 						;; size=8 bbWeight=0.04 PerfScore 0.16
-G_M42178_IG79:
+G_M42178_IG88:
        mov      edi, dword ptr [rbp-0x38]
        mov      eax, edi
        xor      rcx, rcx
        mov      gword ptr [r12+8*rax+0x10], rcx
        add      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      edx, edi
        mov      esi, dword ptr [rbp-0x7C]
 						;; size=27 bbWeight=0.08 PerfScore 0.40
-G_M42178_IG80:
+G_M42178_IG89:
        add      edx, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      ecx, dword ptr [rbp-0x3C]
        cmp      edx, ecx
-       jg       G_M42178_IG70
+       jg       G_M42178_IG79
 						;; size=20 bbWeight=0.16 PerfScore 0.56
-G_M42178_IG81:
+G_M42178_IG90:
        cmp      dword ptr [rbp-0x90], edx
-       je       SHORT G_M42178_IG80
+       je       SHORT G_M42178_IG89
 						;; size=8 bbWeight=0.16 PerfScore 0.48
-G_M42178_IG82:
+G_M42178_IG91:
        mov      dword ptr [rbp-0x7C], esi
        cmp      edx, esi
-       jae      G_M42178_IG108
+       jae      G_M42178_IG117
        mov      dword ptr [rbp-0x38], edx
        mov      edi, edx
        mov      rdi, gword ptr [r12+8*rdi+0x10]
        test     rdi, rdi
-       jne      G_M42178_IG77
+       jne      G_M42178_IG86
 						;; size=30 bbWeight=0.08 PerfScore 0.54
-G_M42178_IG83:
+G_M42178_IG92:
        mov      edx, dword ptr [rbp-0x38]
        mov      esi, dword ptr [rbp-0x7C]
-       jmp      SHORT G_M42178_IG80
+       jmp      SHORT G_M42178_IG89
 						;; size=8 bbWeight=0.04 PerfScore 0.16
-G_M42178_IG84:
+G_M42178_IG93:
        mov      rdi, gword ptr [rbp-0x98]
        mov      rax, qword ptr [rbp-0x68]
        call     [rax+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      gword ptr [rbp-0xB0], rax
        mov      rdi, qword ptr [r12]
        mov      edi, dword ptr [rdi+0x04]
        add      edi, -24
        shr      edi, 3
-       je       SHORT G_M42178_IG85
+       je       SHORT G_M42178_IG94
        lea      rcx, bword ptr [r12+0x10]
        mov      edx, dword ptr [rcx]
        movsxd   rdi, edi
        mov      edi, dword ptr [rcx+4*rdi]
        lea      ecx, [rdx+rdi-0x01]
-       jmp      SHORT G_M42178_IG86
+       jmp      SHORT G_M42178_IG95
 						;; size=55 bbWeight=2 PerfScore 39.00
-G_M42178_IG85:
+G_M42178_IG94:
        mov      ecx, dword ptr [r12+0x08]
        test     ecx, ecx
-       jl       G_M42178_IG109
+       jl       G_M42178_IG118
        dec      ecx
 						;; size=15 bbWeight=2 PerfScore 7.00
-G_M42178_IG86:
+G_M42178_IG95:
        mov      dword ptr [rbp-0x34], ecx
        xor      edx, edx
        test     ecx, ecx
-       jl       G_M42178_IG70
+       jl       G_M42178_IG79
 						;; size=13 bbWeight=2 PerfScore 5.00
-G_M42178_IG87:
+G_M42178_IG96:
        mov      esi, dword ptr [rbp-0x7C]
        cmp      esi, ecx
-       jle      G_M42178_IG99
-       jmp      SHORT G_M42178_IG92
+       jle      G_M42178_IG108
+       jmp      SHORT G_M42178_IG101
 						;; size=13 bbWeight=1 PerfScore 4.25
-G_M42178_IG88:
+G_M42178_IG97:
        mov      rsi, qword ptr [rdi]
        mov      rsi, qword ptr [rsi+0x40]
        call     [rsi+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xB0]
        mov      gword ptr [rbp-0xB0], rdi
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x18]System.Type:IsSubclassOf(System.Type):ubyte:this
        test     eax, eax
-       jne      SHORT G_M42178_IG90
+       jne      SHORT G_M42178_IG99
 						;; size=44 bbWeight=7.92 PerfScore 138.60
-G_M42178_IG89:
+G_M42178_IG98:
        mov      edx, dword ptr [rbp-0x30]
-       jmp      SHORT G_M42178_IG91
+       jmp      SHORT G_M42178_IG100
 						;; size=5 bbWeight=3.96 PerfScore 11.88
-G_M42178_IG90:
+G_M42178_IG99:
        mov      edi, dword ptr [rbp-0x30]
        mov      eax, edi
        xor      rcx, rcx
        mov      gword ptr [r12+8*rax+0x10], rcx
        add      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      edx, edi
 						;; size=24 bbWeight=7.92 PerfScore 31.68
-G_M42178_IG91:
+G_M42178_IG100:
        add      edx, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        cmp      edx, dword ptr [rbp-0x34]
-       jg       G_M42178_IG70
+       jg       G_M42178_IG79
 						;; size=18 bbWeight=15.84 PerfScore 67.32
-G_M42178_IG92:
+G_M42178_IG101:
        cmp      dword ptr [rbp-0x90], edx
-       je       SHORT G_M42178_IG91
+       je       SHORT G_M42178_IG100
 						;; size=8 bbWeight=15.84 PerfScore 47.52
-G_M42178_IG93:
+G_M42178_IG102:
        mov      dword ptr [rbp-0x30], edx
        mov      edi, edx
        mov      rdi, gword ptr [r12+8*rdi+0x10]
        test     rdi, rdi
-       jne      SHORT G_M42178_IG88
+       jne      SHORT G_M42178_IG97
 						;; size=15 bbWeight=7.92 PerfScore 35.64
-G_M42178_IG94:
+G_M42178_IG103:
        mov      edx, dword ptr [rbp-0x30]
-       jmp      SHORT G_M42178_IG91
+       jmp      SHORT G_M42178_IG100
 						;; size=5 bbWeight=3.96 PerfScore 11.88
-G_M42178_IG95:
+G_M42178_IG104:
        mov      r9, qword ptr [rdi]
        mov      r9, qword ptr [r9+0x40]
        call     [r9+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0xB0]
        mov      gword ptr [rbp-0xB0], rdi
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0xB0]
        call     [rax+0x18]System.Type:IsSubclassOf(System.Type):ubyte:this
        test     eax, eax
-       jne      SHORT G_M42178_IG97
+       jne      SHORT G_M42178_IG106
 						;; size=45 bbWeight=0.08 PerfScore 1.40
-G_M42178_IG96:
+G_M42178_IG105:
        mov      edx, dword ptr [rbp-0x30]
        mov      esi, dword ptr [rbp-0x7C]
-       jmp      SHORT G_M42178_IG98
+       jmp      SHORT G_M42178_IG107
 						;; size=8 bbWeight=0.04 PerfScore 0.16
-G_M42178_IG97:
+G_M42178_IG106:
        mov      edx, dword ptr [rbp-0x30]
        mov      eax, edx
        xor      rcx, rcx
        mov      gword ptr [r12+8*rax+0x10], rcx
        add      r13d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      esi, dword ptr [rbp-0x7C]
 						;; size=25 bbWeight=0.08 PerfScore 0.38
-G_M42178_IG98:
+G_M42178_IG107:
        add      edx, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        mov      ecx, dword ptr [rbp-0x34]
        cmp      edx, ecx
-       jg       G_M42178_IG70
+       jg       G_M42178_IG79
 						;; size=20 bbWeight=0.16 PerfScore 0.56
-G_M42178_IG99:
+G_M42178_IG108:
        cmp      dword ptr [rbp-0x90], edx
-       je       SHORT G_M42178_IG98
+       je       SHORT G_M42178_IG107
 						;; size=8 bbWeight=0.16 PerfScore 0.48
-G_M42178_IG100:
+G_M42178_IG109:
        mov      dword ptr [rbp-0x7C], esi
        cmp      edx, esi
-       jae      G_M42178_IG108
+       jae      G_M42178_IG117
        mov      dword ptr [rbp-0x30], edx
        mov      edi, edx
        mov      rdi, gword ptr [r12+8*rdi+0x10]
        test     rdi, rdi
-       jne      G_M42178_IG95
+       jne      G_M42178_IG104
 						;; size=30 bbWeight=0.08 PerfScore 0.54
-G_M42178_IG101:
+G_M42178_IG110:
        mov      edx, dword ptr [rbp-0x30]
        mov      esi, dword ptr [rbp-0x7C]
-       jmp      SHORT G_M42178_IG98
+       jmp      SHORT G_M42178_IG107
 						;; size=8 bbWeight=0.04 PerfScore 0.16
-G_M42178_IG102:
+G_M42178_IG111:
        cmp      eax, ebx
-       jae      G_M42178_IG108
+       jae      G_M42178_IG117
        mov      dword ptr [rbp-0x54], eax
        mov      esi, eax
        mov      rsi, gword ptr [r12+8*rsi+0x10]
        test     rsi, rsi
-       je       SHORT G_M42178_IG104
+       je       SHORT G_M42178_IG113
 						;; size=23 bbWeight=0.04 PerfScore 0.23
-G_M42178_IG103:
+G_M42178_IG112:
        mov      rdi, 0xD1FFAB1E      ; System.Reflection.MethodBase
        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rcx]CORINFO_HELP_CHKCASTCLASS
        cmp      r14d, dword ptr [r15+0x08]
-       jae      G_M42178_IG108
+       jae      G_M42178_IG117
        mov      edi, r14d
        lea      rdi, bword ptr [r15+8*rdi+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        add      r14d, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
 						;; size=58 bbWeight=0.02 PerfScore 0.23
-G_M42178_IG104:
+G_M42178_IG113:
        mov      eax, dword ptr [rbp-0x54]
        add      eax, 1
-       jo       G_M42178_IG109
+       jo       G_M42178_IG118
        cmp      eax, r13d
-       jle      SHORT G_M42178_IG102
-       jmp      G_M42178_IG76
+       jle      SHORT G_M42178_IG111
+       jmp      G_M42178_IG85
 						;; size=22 bbWeight=0.04 PerfScore 0.22
-G_M42178_IG105:
+G_M42178_IG114:
        xor      rax, rax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M42178_IG106:
+G_M42178_IG115:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
-G_M42178_IG107:
+G_M42178_IG116:
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Argument_IllegalNestedType2():System.String
        call     [rax]System.SR:get_Argument_IllegalNestedType2():System.String
        mov      r12, rax
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      rdi, r14
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.VisualBasic.CompilerServices.Utils:VBFriendlyNameOfType(System.Type,ubyte):System.String
        call     [rax]Microsoft.VisualBasic.CompilerServices.Utils:VBFriendlyNameOfType(System.Type,ubyte):System.String
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.SR:Format(System.String,System.Object,System.Object):System.String
        call     [rax]System.SR:Format(System.String,System.Object,System.Object):System.String
        mov      rsi, rax
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String):this
        mov      rdi, r13
        call     CORINFO_HELP_THROW
        int3     
 						;; size=98 bbWeight=0 PerfScore 0.00
-G_M42178_IG108:
+G_M42178_IG117:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M42178_IG109:
+G_M42178_IG118:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2679, prolog size 37, PerfScore 10150.48, instruction count 688, allocated bytes for code 2679 (MethodHash=afac5b3d) for method Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
+; Total bytes of code 2796, prolog size 37, PerfScore 10675.24, instruction count 709, allocated bytes for code 2796 (MethodHash=afac5b3d) for method Microsoft.VisualBasic.CompilerServices.VBBinder:GetMethodsByName(System.Type,System.Reflection.IReflect,System.String,int):System.Reflection.MethodBase[]:this (FullOpts)
 ; ============================================================
27 (9.82 % of base) - System.Reflection.MethodBaseInvoker:CopyBack(System.Object[],System.Span`1[System.Object],System.Span`1[ubyte]):this
 ; Assembly listing for method System.Reflection.MethodBaseInvoker:CopyBack(System.Object[],System.Span`1[System.Object],System.Span`1[ubyte]):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; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T10] (  3,  4   )     ref  ->  [rbp-0x38]  this class-hnd single-def <System.Reflection.MethodBaseInvoker>
+;  V00 this         [V00,T10] (  3,  4   )     ref  ->  [rbp-0x40]  this class-hnd single-def <System.Reflection.MethodBaseInvoker>
 ;  V01 arg1         [V01,T04] (  5,  7   )     ref  ->  rbx         class-hnd single-def <System.Object[]>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[System.Object]>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
-;  V04 loc0         [V04,T00] ( 11, 31   )     int  ->  [rbp-0x2C] 
+;* V04 loc0         [V04,T13] (  0,  0   )     int  ->  zero-ref   
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T05] (  4,  8   )     ref  ->  registers   class-hnd "Inline return value spill temp" <System.Object>
 ;  V07 tmp2         [V07,T01] (  5, 20   )     ref  ->  rsi         class-hnd "Inlining Arg" <System.Object>
 ;  V08 tmp3         [V08,T11] (  3,  6   )    long  ->  rdi         "Inline stloc first use temp"
 ;  V09 tmp4         [V09,T06] (  3,  5   )   byref  ->  r15         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V10 tmp5         [V10,T07] (  3,  5   )     int  ->  r14         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;  V11 tmp6         [V11,T08] (  2,  5   )   byref  ->  r13         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V12 tmp7         [V12,T09] (  2,  5   )     int  ->  r12         single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;  V13 tmp8         [V13,T03] (  3, 12   )     ref  ->  rdx         "arr expr"
-;  V14 cse0         [V14,T12] (  3,  6   )     int  ->  [rbp-0x30]  spill-single-def "CSE #05: aggressive"
+;  V14 cse0         [V14,T12] (  3,  6   )     int  ->  [rbp-0x2C]  spill-single-def "CSE #05: aggressive"
 ;  V15 cse1         [V15,T02] (  5, 14   )    long  ->   r9         "CSE #01: aggressive"
+;  V16 rat0         [V16,T00] ( 11, 31   )    long  ->  [rbp-0x38]  "Widened IV V04"
 ;
 ; Lcl frame size = 24
 
 G_M15840_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        lea      rbp, [rsp+0x40]
        mov      rax, rdi
        mov      rbx, rsi
        mov      r15, rdx
        mov      r14d, ecx
        mov      r13, r8
        mov      r12d, r9d
 						;; size=37 bbWeight=1 PerfScore 8.25
 G_M15840_IG02:
        xor      ecx, ecx
        mov      r8d, dword ptr [rbx+0x08]
-       mov      dword ptr [rbp-0x30], r8d
+       mov      dword ptr [rbp-0x2C], r8d
        test     r8d, r8d
        jle      G_M15840_IG10
 						;; size=19 bbWeight=1 PerfScore 4.50
 G_M15840_IG03:
        cmp      ecx, r12d
        jae      G_M15840_IG11
-       mov      r9d, ecx
+       mov      r9, rcx
        cmp      byte  ptr [r9+r13], 0
        je       G_M15840_IG09
 						;; size=23 bbWeight=4 PerfScore 22.00
 G_M15840_IG04:
-       mov      gword ptr [rbp-0x38], rax
+       mov      gword ptr [rbp-0x40], rax
        mov      rdx, gword ptr [rax+0x20]
        cmp      ecx, dword ptr [rdx+0x08]
        jae      G_M15840_IG11
        test     byte  ptr [rdx+4*r9+0x10], 4
        jne      SHORT G_M15840_IG05
        cmp      ecx, r14d
        jae      G_M15840_IG11
        mov      rdx, gword ptr [r15+8*r9]
-       mov      dword ptr [rbp-0x2C], ecx
-       movsxd   rsi, ecx
+       mov      qword ptr [rbp-0x38], rcx
+       mov      rsi, rcx
        mov      rdi, rbx
        mov      r9, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [r9]CORINFO_HELP_ARRADDR_ST
-       mov      rax, gword ptr [rbp-0x38]
-       mov      ecx, dword ptr [rbp-0x2C]
+       mov      rax, gword ptr [rbp-0x40]
+       mov      rcx, qword ptr [rbp-0x38]
        jmp      SHORT G_M15840_IG09
-						;; size=69 bbWeight=2 PerfScore 46.00
+						;; size=71 bbWeight=2 PerfScore 46.00
 G_M15840_IG05:
-       mov      dword ptr [rbp-0x2C], ecx
+       mov      qword ptr [rbp-0x38], rcx
        cmp      ecx, r14d
-       jae      SHORT G_M15840_IG11
+       jae      G_M15840_IG11
        mov      rsi, gword ptr [r15+8*r9]
        test     rsi, rsi
        je       SHORT G_M15840_IG07
+       mov      rcx, qword ptr [rbp-0x38]
        mov      rdi, qword ptr [rsi]
        mov      edx, dword ptr [rdi]
        and      edx, 0xD1FFAB1E
        cmp      edx, 0xD1FFAB1E
        jne      SHORT G_M15840_IG06
+       mov      qword ptr [rbp-0x38], rcx
        mov      rdx, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.CastHelpers:ReboxFromNullable(ulong,System.Object):System.Object
        call     [rdx]System.Runtime.CompilerServices.CastHelpers:ReboxFromNullable(ulong,System.Object):System.Object
        mov      r9, rax
+       mov      rcx, qword ptr [rbp-0x38]
        jmp      SHORT G_M15840_IG08
-						;; size=53 bbWeight=2 PerfScore 33.00
+						;; size=70 bbWeight=2 PerfScore 39.00
 G_M15840_IG06:
        mov      r9, rsi
        jmp      SHORT G_M15840_IG08
 						;; size=5 bbWeight=2 PerfScore 4.50
 G_M15840_IG07:
+       mov      rcx, qword ptr [rbp-0x38]
        xor      r9, r9
-						;; size=3 bbWeight=2 PerfScore 0.50
+						;; size=7 bbWeight=2 PerfScore 2.50
 G_M15840_IG08:
-       movsxd   rsi, dword ptr [rbp-0x2C]
+       mov      qword ptr [rbp-0x38], rcx
+       mov      rsi, rcx
        mov      rdi, rbx
        mov      rdx, r9
        mov      r9, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [r9]CORINFO_HELP_ARRADDR_ST
-       mov      rax, gword ptr [rbp-0x38]
-       mov      ecx, dword ptr [rbp-0x2C]
-						;; size=30 bbWeight=2 PerfScore 17.50
+       mov      rax, gword ptr [rbp-0x40]
+       mov      rcx, qword ptr [rbp-0x38]
+						;; size=34 bbWeight=2 PerfScore 14.00
 G_M15840_IG09:
        inc      ecx
-       mov      r8d, dword ptr [rbp-0x30]
+       mov      r8d, dword ptr [rbp-0x2C]
        cmp      r8d, ecx
        jg       G_M15840_IG03
 						;; size=15 bbWeight=4 PerfScore 10.00
 G_M15840_IG10:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M15840_IG11:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 275, prolog size 37, PerfScore 150.50, instruction count 80, allocated bytes for code 275 (MethodHash=ac5ac21f) for method System.Reflection.MethodBaseInvoker:CopyBack(System.Object[],System.Span`1[System.Object],System.Span`1[ubyte]):this (FullOpts)
+; Total bytes of code 302, prolog size 37, PerfScore 155.00, instruction count 85, allocated bytes for code 302 (MethodHash=ac5ac21f) for method System.Reflection.MethodBaseInvoker:CopyBack(System.Object[],System.Span`1[System.Object],System.Span`1[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/4f6e2a928017dc81ec1fd1ffb39ff021

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 11, 2025

Top method improvements

-20 (-0.84 % of base) - System.SpanHelpers:IndexOf(byref,int,byref,int):int
 ; Assembly listing for method System.SpanHelpers:IndexOf(byref,int,byref,int):int (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; 16 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T02] ( 15, 83   )   byref  ->  r15         single-def
 ;  V01 arg1         [V01,T29] (  5,  3.50)     int  ->  rdx         single-def
 ;  V02 arg2         [V02,T08] ( 14, 59   )   byref  ->  r14         single-def
 ;  V03 arg3         [V03,T01] ( 10, 99.50)     int  ->  rbx         single-def
 ;  V04 loc0         [V04,T22] ( 10,  8.50)     int  ->  r13        
 ;  V05 loc1         [V05,T00] ( 35,230.50)    long  ->  r12        
 ;  V06 loc2         [V06,T16] (  8, 18   )  ushort  ->  [rbp-0x2C]  spill-single-def
 ;  V07 loc3         [V07,T17] ( 11, 16   )     int  ->  [rbp-0x30]  spill-single-def
 ;  V08 loc4         [V08,T31] (  2,  4.50)   byref  ->  r14         single-def
 ;  V09 loc5         [V09,T15] (  9, 29   )     int  ->  rbx        
 ;  V10 loc6         [V10,T18] (  4, 16   )     int  ->  rax        
 ;  V11 loc7         [V11,T26] (  4,  7   )  ushort  ->  rdi        
 ;  V12 loc8         [V12,T19] (  6, 14.50)    long  ->  r13        
 ;  V13 loc9         [V13,T36] (  2,  4.50)  simd64  ->  [rbp-0x70]  spill-single-def <System.Runtime.Intrinsics.Vector512`1[ushort]>
 ;  V14 loc10        [V14,T37] (  2,  4.50)  simd64  ->  [rbp-0xB0]  spill-single-def <System.Runtime.Intrinsics.Vector512`1[ushort]>
 ;  V15 loc11        [V15,T09] (  3, 32.50)    long  ->  [rbp-0xB8]  spill-single-def
 ;* V16 loc12        [V16    ] (  0,  0   )  simd64  ->  zero-ref    <System.Runtime.Intrinsics.Vector512`1[ushort]>
 ;  V17 loc13        [V17,T33] (  4, 14   )  simd64  ->  mm2         <System.Runtime.Intrinsics.Vector512`1[ubyte]>
 ;  V18 loc14        [V18,T03] (  5, 66   )    long  ->  [rbp-0xC0] 
 ;* V19 loc15        [V19    ] (  0,  0   )     int  ->  zero-ref   
 ;  V20 loc16        [V20,T10] (  3, 32.50)    long  ->  [rbp-0xC8]  spill-single-def
 ;  V21 loc17        [V21,T27] (  4,  7   )  ushort  ->  rdi        
 ;  V22 loc18        [V22,T20] (  6, 14.50)    long  ->  r13        
 ;  V23 loc19        [V23,T38] (  2,  4.50)  simd32  ->  [rbp-0xF0]  spill-single-def <System.Runtime.Intrinsics.Vector256`1[ushort]>
 ;  V24 loc20        [V24,T39] (  2,  4.50)  simd32  ->  [rbp-0x110]  spill-single-def <System.Runtime.Intrinsics.Vector256`1[ushort]>
 ;  V25 loc21        [V25,T11] (  3, 32.50)    long  ->  [rbp-0x118]  spill-single-def
 ;* V26 loc22        [V26    ] (  0,  0   )  simd32  ->  zero-ref    <System.Runtime.Intrinsics.Vector256`1[ushort]>
 ;  V27 loc23        [V27,T34] (  4, 14   )  simd32  ->  mm2         <System.Runtime.Intrinsics.Vector256`1[ubyte]>
 ;  V28 loc24        [V28,T04] (  5, 66   )     int  ->  [rbp-0x11C] 
 ;  V29 loc25        [V29,T12] (  3, 32.50)    long  ->  [rbp-0x128]  spill-single-def
 ;  V30 loc26        [V30,T28] (  4,  7   )  ushort  ->  rdi        
 ;  V31 loc27        [V31,T21] (  6, 14.50)    long  ->  r13        
 ;  V32 loc28        [V32,T40] (  2,  4.50)  simd16  ->  [rbp-0x140]  spill-single-def <System.Runtime.Intrinsics.Vector128`1[ushort]>
 ;  V33 loc29        [V33,T41] (  2,  4.50)  simd16  ->  [rbp-0x150]  spill-single-def <System.Runtime.Intrinsics.Vector128`1[ushort]>
 ;  V34 loc30        [V34,T13] (  3, 32.50)    long  ->  [rbp-0x158]  spill-single-def
 ;* V35 loc31        [V35    ] (  0,  0   )  simd16  ->  zero-ref    <System.Runtime.Intrinsics.Vector128`1[ushort]>
 ;  V36 loc32        [V36,T35] (  4, 14   )  simd16  ->  mm2         <System.Runtime.Intrinsics.Vector128`1[ubyte]>
 ;  V37 loc33        [V37,T05] (  5, 66   )     int  ->  [rbp-0x15C] 
 ;  V38 loc34        [V38,T14] (  3, 32.50)    long  ->  [rbp-0x168]  spill-single-def
 ;# V39 OutArgs      [V39    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V40 tmp1         [V40    ] (  0,  0   )  simd16  ->  zero-ref    "spilled call-like call argument"
 ;* V41 tmp2         [V41    ] (  0,  0   )  simd16  ->  zero-ref    "spilled call-like call argument"
 ;  V42 tmp3         [V42,T23] (  2,  8   )    long  ->  r13         "dup spill"
 ;* V43 tmp4         [V43    ] (  0,  0   )  simd32  ->  zero-ref    "spilled call-like call argument"
 ;* V44 tmp5         [V44    ] (  0,  0   )  simd32  ->  zero-ref    "spilled call-like call argument"
 ;  V45 tmp6         [V45,T24] (  2,  8   )    long  ->  r13         "dup spill"
 ;* V46 tmp7         [V46    ] (  0,  0   )  simd64  ->  zero-ref    "spilled call-like call argument"
 ;* V47 tmp8         [V47    ] (  0,  0   )  simd64  ->  zero-ref    "spilled call-like call argument"
 ;  V48 tmp9         [V48,T25] (  2,  8   )    long  ->  r13         "dup spill"
 ;* V49 tmp10        [V49    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V50 tmp11        [V50    ] (  0,  0   )   short  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp12        [V51    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V52 tmp13        [V52,T32] (  4,  4   )   short  ->  rsi         "Inlining Arg"
 ;* V53 tmp14        [V53    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V54 tmp15        [V54    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V55 tmp16        [V55    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V56 tmp17        [V56    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V57 tmp18        [V57,T06] (  2, 64   )     int  ->  rdi         "Inlining Arg"
 ;* V58 tmp19        [V58    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V59 tmp20        [V59,T07] (  2, 64   )     int  ->  rdi         "Inlining Arg"
 ;  V60 tmp21        [V60,T30] (  5,  5   )     int  ->  rax         "Single return block return value"
 ;
 ; Lcl frame size = 328
 
 G_M3489_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 328
        lea      rbp, [rsp+0x170]
        mov      r15, rdi
        mov      r14, rdx
        mov      edx, esi
        mov      ebx, ecx
 						;; size=35 bbWeight=1 PerfScore 7.75
 G_M3489_IG02:
        test     ebx, ebx
        je       G_M3489_IG46
 						;; size=8 bbWeight=1 PerfScore 1.25
 G_M3489_IG03:
        lea      r13d, [rbx-0x01]
        test     r13d, r13d
        je       G_M3489_IG42
        xor      r12d, r12d
        movzx    rax, word  ptr [r14]
        mov      dword ptr [rbp-0x2C], eax
        mov      ecx, edx
        sub      ecx, r13d
        mov      dword ptr [rbp-0x30], ecx
        cmp      ecx, 8
        jl       G_M3489_IG36
        lea      edi, [rcx-0x20]
        test     edi, edi
        jge      G_M3489_IG25
        lea      edi, [rcx-0x10]
        test     edi, edi
        jge      G_M3489_IG14
        movsxd   rdi, r13d
        movzx    rdi, word  ptr [r14+2*rdi]
        movsxd   r13, r13d
        jmp      SHORT G_M3489_IG05
 						;; size=75 bbWeight=0.50 PerfScore 7.88
 G_M3489_IG04:
        dec      r13
        movzx    rdi, word  ptr [r14+2*r13]
 						;; size=8 bbWeight=2 PerfScore 4.50
 G_M3489_IG05:
        cmp      edi, eax
        jne      SHORT G_M3489_IG06
        cmp      r13, 1
        jg       SHORT G_M3489_IG04
 						;; size=10 bbWeight=4 PerfScore 10.00
 G_M3489_IG06:
        vpbroadcastw xmm0, eax
        vmovaps  xmmword ptr [rbp-0x140], xmm0
        vpbroadcastw xmm1, edi
        vmovaps  xmmword ptr [rbp-0x150], xmm1
-       movsxd   rax, ecx
+       mov      eax, ecx
        add      rax, -8
        mov      qword ptr [rbp-0x158], rax
-       jmp      G_M3489_IG10
-						;; size=47 bbWeight=0.50 PerfScore 3.75
+       jmp      SHORT G_M3489_IG10
+						;; size=43 bbWeight=0.50 PerfScore 3.75
 G_M3489_IG07:
        lea      rdi, [r12+r9]
        lea      rdi, bword ptr [r15+2*rdi]
        mov      edx, ebx
        add      rdx, rdx
        mov      rsi, r14
        mov      r10, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [r10]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        mov      r9, qword ptr [rbp-0x168]
        jne      G_M3489_IG13
        blsr     edi, dword ptr [rbp-0x15C]
        blsr     r8d, edi
        mov      edi, r8d
        test     edi, edi
        mov      r8d, edi
        jne      SHORT G_M3489_IG12
 						;; size=68 bbWeight=16 PerfScore 184.00
 G_M3489_IG08:
        add      r12, 8
        mov      eax, dword ptr [rbp-0x30]
-       movsxd   rdi, eax
+       mov      edi, eax
        cmp      r12, rdi
        je       G_M3489_IG38
-						;; size=19 bbWeight=4 PerfScore 11.00
+						;; size=18 bbWeight=4 PerfScore 11.00
 G_M3489_IG09:
        mov      rdi, qword ptr [rbp-0x158]
        cmp      r12, rdi
        vmovaps  xmm0, xmmword ptr [rbp-0x140]
        vmovaps  xmm1, xmmword ptr [rbp-0x150]
        jle      SHORT G_M3489_IG10
        mov      rax, qword ptr [rbp-0x158]
        mov      r12, rax
 						;; size=38 bbWeight=16 PerfScore 152.00
 G_M3489_IG10:
        vpcmpeqw xmm2, xmm0, xmmword ptr [r15+2*r12]
        lea      rdi, [r12+r13]
        vpcmpeqw xmm3, xmm1, xmmword ptr [r15+2*rdi]
        vpand    xmm2, xmm3, xmm2
        vptest   xmm2, xmm2
        je       SHORT G_M3489_IG08
 						;; size=27 bbWeight=4 PerfScore 43.33
 G_M3489_IG11:
        vpmovmskb r8d, xmm2
 						;; size=4 bbWeight=2 PerfScore 4.00
 G_M3489_IG12:
        mov      dword ptr [rbp-0x15C], r8d
        xor      edi, edi
        tzcnt    edi, r8d
        shr      edi, 1
        mov      r9d, edi
        mov      qword ptr [rbp-0x168], r9
        cmp      ebx, 2
        jne      G_M3489_IG07
 						;; size=35 bbWeight=16 PerfScore 100.00
 G_M3489_IG13:
        lea      eax, [r12+r9]
        jmp      G_M3489_IG41
 						;; size=9 bbWeight=0.50 PerfScore 1.25
 G_M3489_IG14:
        movsxd   rdi, r13d
        movzx    rdi, word  ptr [r14+2*rdi]
        movsxd   r13, r13d
        jmp      SHORT G_M3489_IG16
 						;; size=13 bbWeight=0.50 PerfScore 2.25
 G_M3489_IG15:
        dec      r13
        movzx    rdi, word  ptr [r14+2*r13]
 						;; size=8 bbWeight=2 PerfScore 4.50
 G_M3489_IG16:
        cmp      edi, eax
        jne      SHORT G_M3489_IG17
        cmp      r13, 1
        jg       SHORT G_M3489_IG15
 						;; size=10 bbWeight=4 PerfScore 10.00
 G_M3489_IG17:
        vpbroadcastw ymm0, eax
        vmovups  ymmword ptr [rbp-0xF0], ymm0
        vpbroadcastw ymm1, edi
        vmovups  ymmword ptr [rbp-0x110], ymm1
-       movsxd   rax, ecx
+       mov      eax, ecx
        add      rax, -16
        mov      qword ptr [rbp-0x118], rax
-       jmp      G_M3489_IG21
-						;; size=47 bbWeight=0.50 PerfScore 4.75
+       jmp      SHORT G_M3489_IG21
+						;; size=43 bbWeight=0.50 PerfScore 4.75
 G_M3489_IG18:
        lea      rdi, [r12+r9]
        lea      rdi, bword ptr [r15+2*rdi]
        mov      edx, ebx
        add      rdx, rdx
        mov      rsi, r14
        mov      r10, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [r10]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        mov      r9, qword ptr [rbp-0x128]
        jne      G_M3489_IG24
        blsr     edi, dword ptr [rbp-0x11C]
        blsr     r8d, edi
        mov      edi, r8d
        test     edi, edi
        mov      r8d, edi
        jne      SHORT G_M3489_IG23
 						;; size=68 bbWeight=16 PerfScore 184.00
 G_M3489_IG19:
        add      r12, 16
        mov      eax, dword ptr [rbp-0x30]
-       movsxd   rdi, eax
+       mov      edi, eax
        cmp      r12, rdi
        je       G_M3489_IG38
-						;; size=19 bbWeight=4 PerfScore 11.00
+						;; size=18 bbWeight=4 PerfScore 11.00
 G_M3489_IG20:
        mov      rdi, qword ptr [rbp-0x118]
        cmp      r12, rdi
        vmovups  ymm0, ymmword ptr [rbp-0xF0]
        vmovups  ymm1, ymmword ptr [rbp-0x110]
        jle      SHORT G_M3489_IG21
        mov      rax, qword ptr [rbp-0x118]
        mov      r12, rax
 						;; size=38 bbWeight=16 PerfScore 184.00
 G_M3489_IG21:
        vpcmpeqw ymm2, ymm0, ymmword ptr [r15+2*r12]
        lea      rdi, [r12+r13]
        vpcmpeqw ymm3, ymm1, ymmword ptr [r15+2*rdi]
        vpand    ymm2, ymm3, ymm2
        vptest   ymm2, ymm2
        je       SHORT G_M3489_IG19
 						;; size=27 bbWeight=4 PerfScore 51.33
 G_M3489_IG22:
        vpmovmskb r8d, ymm2
 						;; size=4 bbWeight=2 PerfScore 6.00
 G_M3489_IG23:
        mov      dword ptr [rbp-0x11C], r8d
        xor      edi, edi
        tzcnt    edi, r8d
        shr      edi, 1
        mov      r9d, edi
        mov      qword ptr [rbp-0x128], r9
        cmp      ebx, 2
        jne      G_M3489_IG18
 						;; size=35 bbWeight=16 PerfScore 100.00
 G_M3489_IG24:
        lea      eax, [r12+r9]
        jmp      G_M3489_IG41
 						;; size=9 bbWeight=0.50 PerfScore 1.25
 G_M3489_IG25:
        movsxd   rdi, r13d
        movzx    rdi, word  ptr [r14+2*rdi]
        mov      r13d, r13d
        jmp      SHORT G_M3489_IG27
 						;; size=13 bbWeight=0.50 PerfScore 2.25
 G_M3489_IG26:
        dec      r13
        movzx    rdi, word  ptr [r14+2*r13]
 						;; size=8 bbWeight=2 PerfScore 4.50
 G_M3489_IG27:
        cmp      edi, eax
        jne      SHORT G_M3489_IG28
        cmp      r13, 1
        jg       SHORT G_M3489_IG26
 						;; size=10 bbWeight=4 PerfScore 10.00
 G_M3489_IG28:
        vpbroadcastw zmm0, eax
        vmovups  zmmword ptr [rbp-0x70], zmm0
        vpbroadcastw zmm1, edi
        vmovups  zmmword ptr [rbp-0xB0], zmm1
-       movsxd   rax, ecx
+       mov      eax, ecx
        add      rax, -32
        mov      qword ptr [rbp-0xB8], rax
        jmp      G_M3489_IG32
-						;; size=51 bbWeight=0.50 PerfScore 4.75
+						;; size=50 bbWeight=0.50 PerfScore 4.75
 G_M3489_IG29:
        lea      rdi, [r12+r9]
        lea      rdi, bword ptr [r15+2*rdi]
        mov      edx, ebx
        add      rdx, rdx
        mov      rsi, r14
        mov      r10, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [r10]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        mov      r9, qword ptr [rbp-0xC8]
        jne      G_M3489_IG35
        blsr     rdi, qword ptr [rbp-0xC0]
        blsr     r8, rdi
        mov      rdi, r8
        test     rdi, rdi
        mov      r8, rdi
        jne      G_M3489_IG34
 						;; size=73 bbWeight=16 PerfScore 184.00
 G_M3489_IG30:
        add      r12, 32
        mov      eax, dword ptr [rbp-0x30]
-       movsxd   rdi, eax
+       mov      edi, eax
        cmp      r12, rdi
        je       G_M3489_IG38
-						;; size=19 bbWeight=4 PerfScore 11.00
+						;; size=18 bbWeight=4 PerfScore 11.00
 G_M3489_IG31:
        mov      rdi, qword ptr [rbp-0xB8]
        cmp      r12, rdi
        vmovups  zmm0, zmmword ptr [rbp-0x70]
        vmovups  zmm1, zmmword ptr [rbp-0xB0]
        jle      SHORT G_M3489_IG32
        mov      rax, qword ptr [rbp-0xB8]
        mov      r12, rax
 						;; size=42 bbWeight=16 PerfScore 152.00
 G_M3489_IG32:
        vpcmpeqw k1, zmm0, zmmword ptr [r15+2*r12]
        vpmovm2w zmm2, k1
        lea      rdi, [r12+r13]
        vpcmpeqw k1, zmm1, zmmword ptr [r15+2*rdi]
        vpmovm2w zmm3, k1
        vpandd   zmm2, zmm3, zmm2
        vptestmb k1, zmm2, zmm2
        kortestq k1, k1
        je       SHORT G_M3489_IG30
 						;; size=49 bbWeight=4 PerfScore 63.33
 G_M3489_IG33:
        vpmovb2m k1, zmm2
        kmovq    r8, k1
 						;; size=11 bbWeight=2 PerfScore 8.00
 G_M3489_IG34:
        mov      qword ptr [rbp-0xC0], r8
        xor      edi, edi
        tzcnt    rdi, r8
        shr      edi, 1
        mov      r9d, edi
        mov      qword ptr [rbp-0xC8], r9
        cmp      ebx, 2
        jne      G_M3489_IG29
 						;; size=35 bbWeight=16 PerfScore 100.00
 G_M3489_IG35:
        lea      eax, [r12+r9]
        jmp      SHORT G_M3489_IG41
 						;; size=6 bbWeight=0.50 PerfScore 1.25
 G_M3489_IG36:
        add      r14, 2
        mov      ebx, ecx
        test     ebx, ebx
        jle      SHORT G_M3489_IG38
 						;; size=10 bbWeight=0.50 PerfScore 0.88
 G_M3489_IG37:
        lea      rdi, bword ptr [r15+2*r12]
        movsx    rsi, ax
        mov      edx, ebx
        mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
        call     [rcx]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
        test     eax, eax
        jl       SHORT G_M3489_IG38
        sub      ebx, eax
-       movsxd   rdi, eax
+       mov      edi, eax
        add      r12, rdi
        test     ebx, ebx
        jle      SHORT G_M3489_IG38
        lea      rdi, bword ptr [r15+2*r12+0x02]
        mov      edx, r13d
        add      rdx, rdx
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        jne      SHORT G_M3489_IG40
        dec      ebx
        inc      r12
        test     ebx, ebx
        mov      eax, dword ptr [rbp-0x2C]
        jg       SHORT G_M3489_IG37
-						;; size=80 bbWeight=4 PerfScore 66.00
+						;; size=79 bbWeight=4 PerfScore 66.00
 G_M3489_IG38:
        mov      eax, -1
 						;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M3489_IG39:
        vzeroupper 
        add      rsp, 328
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=21 bbWeight=0.50 PerfScore 2.62
 G_M3489_IG40:
        mov      eax, r12d
 						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M3489_IG41:
        vzeroupper 
        add      rsp, 328
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=21 bbWeight=0.50 PerfScore 2.62
 G_M3489_IG42:
        movsx    rsi, word  ptr [r14]
        movzx    rdi, si
        dec      edi
        cmp      edi, 254
        jb       SHORT G_M3489_IG44
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
 						;; size=30 bbWeight=0.50 PerfScore 3.12
 G_M3489_IG43:
        vzeroupper 
        add      rsp, 328
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M3489_IG44:
        movsx    rsi, si
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
 						;; size=17 bbWeight=0.50 PerfScore 0.38
 G_M3489_IG45:
        vzeroupper 
        add      rsp, 328
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
 						;; size=23 bbWeight=0.50 PerfScore 3.12
 G_M3489_IG46:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M3489_IG47:
        vzeroupper 
        add      rsp, 328
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=21 bbWeight=0.50 PerfScore 2.62
 
-; Total bytes of code 1234, prolog size 35, PerfScore 1715.75, instruction count 311, allocated bytes for code 1240 (MethodHash=624ef25e) for method System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts)
+; Total bytes of code 1221, prolog size 35, PerfScore 1715.75, instruction count 311, allocated bytes for code 1227 (MethodHash=624ef25e) for method System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts)
 ; ============================================================
-16 (-0.87 % of base) - System.TimeZoneInfo+TransitionTime:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this
 ; Assembly listing for method System.TimeZoneInfo+TransitionTime:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):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; 19 single block inlinees; 8 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  8,  7.50)   byref  ->  r15         this single-def
 ;  V01 arg1         [V01,T00] ( 76, 67.50)     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.SerializationInfo>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Runtime.Serialization.StreamingContext>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T36] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "Single-def Box Helper" <System.DayOfWeek>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.DateTime>
 ;  V06 tmp3         [V06,T05] (  3,  6   )     ref  ->  r13         class-hnd exact single-def "Single-def Box Helper" <System.DateTime>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.DateTime>
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.DateTime>
 ;  V09 tmp6         [V09,T50] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;  V10 tmp7         [V10,T06] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
 ;  V11 tmp8         [V11,T27] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;  V12 tmp9         [V12,T28] (  2,  4   )   ubyte  ->  r13         "Inlining Arg"
 ;  V13 tmp10        [V13,T07] (  3,  6   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Byte>
 ;* V14 tmp11        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Byte>
 ;* V15 tmp12        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Byte>
 ;  V16 tmp13        [V16,T51] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;  V17 tmp14        [V17,T08] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
 ;  V18 tmp15        [V18,T29] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;  V19 tmp16        [V19,T30] (  2,  4   )   ubyte  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
 ;  V20 tmp17        [V20,T09] (  3,  6   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Byte>
 ;* V21 tmp18        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Byte>
 ;* V22 tmp19        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Byte>
 ;  V23 tmp20        [V23,T52] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;  V24 tmp21        [V24,T10] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
 ;  V25 tmp22        [V25,T31] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;  V26 tmp23        [V26,T32] (  2,  4   )   ubyte  ->  [rbp-0x30]  spill-single-def "Inlining Arg"
 ;  V27 tmp24        [V27,T24] (  3,  5   )     ref  ->  [rbp-0x48]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Byte>
 ;* V28 tmp25        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Byte>
 ;* V29 tmp26        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Byte>
 ;  V30 tmp27        [V30,T53] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;  V31 tmp28        [V31,T11] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
 ;  V32 tmp29        [V32,T33] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;  V33 tmp30        [V33,T25] (  3,  4   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.DayOfWeek>
 ;* V34 tmp31        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;* V35 tmp32        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
 ;* V36 tmp33        [V36    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V37 tmp34        [V37,T26] (  3,  4   )     ref  ->  [rbp-0x50]  class-hnd exact spill-single-def "Inlining Arg" <System.RuntimeType>
 ;  V38 tmp35        [V38,T54] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;  V39 tmp36        [V39,T37] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
 ;  V40 tmp37        [V40,T47] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;  V41 tmp38        [V41,T34] (  2,  4   )   ubyte  ->  r15         "Inlining Arg"
 ;  V42 tmp39        [V42,T12] (  3,  6   )     ref  ->  r13         class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
 ;* V43 tmp40        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
 ;* V44 tmp41        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
 ;  V45 tmp42        [V45,T55] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;  V46 tmp43        [V46,T13] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
 ;  V47 tmp44        [V47,T35] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;  V48 tmp45        [V48,T45] (  1,  1   )     ref  ->  rdx         single-def "field V02._additionalContext (fldOffset=0x0)" P-INDEP
 ;  V49 tmp46        [V49,T46] (  1,  1   )     int  ->  rcx         single-def "field V02._state (fldOffset=0x8)" P-INDEP
 ;  V50 tmp47        [V50,T48] (  2,  2   )    long  ->  r14         "field V05._dateData (fldOffset=0x0)" P-INDEP
 ;  V51 tmp48        [V51,T14] (  3,  6   )     ref  ->  rdx         single-def "arr expr"
 ;  V52 tmp49        [V52,T19] (  3,  6   )     int  ->  rdi         "index expr"
 ;  V53 tmp50        [V53,T15] (  3,  6   )     ref  ->  rdx         single-def "arr expr"
 ;  V54 tmp51        [V54,T20] (  3,  6   )     int  ->  rdi         "index expr"
 ;  V55 tmp52        [V55,T16] (  3,  6   )     ref  ->  rdx         single-def "arr expr"
 ;  V56 tmp53        [V56,T21] (  3,  6   )     int  ->  rdi         "index expr"
 ;  V57 tmp54        [V57,T38] (  3,  3   )     ref  ->  rdx         single-def "arr expr"
 ;  V58 tmp55        [V58,T39] (  3,  3   )     int  ->  rdi         "index expr"
 ;  V59 tmp56        [V59,T17] (  3,  6   )     ref  ->  rsi         single-def "arr expr"
 ;  V60 tmp57        [V60,T22] (  3,  6   )     int  ->  rdx         "index expr"
 ;  V61 tmp58        [V61,T56] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;* V62 tmp59        [V62    ] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;* V63 tmp60        [V63    ] (  0,  0   )     int  ->  zero-ref    "index expr"
 ;* V64 tmp61        [V64    ] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;* V65 tmp62        [V65    ] (  0,  0   )    long  ->  zero-ref    "index expr"
 ;  V66 tmp63        [V66,T18] (  3,  6   )     ref  ->  rdx         single-def "arr expr"
 ;  V67 tmp64        [V67,T23] (  3,  6   )     int  ->  rdi         "index expr"
 ;  V68 tmp65        [V68,T57] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;* V69 tmp66        [V69    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V70 tmp67        [V70,T58] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V71 tmp68        [V71,T59] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V72 tmp69        [V72,T60] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V73 tmp70        [V73,T61] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V74 cse0         [V74,T40] (  3,  3   )     int  ->  rsi         "CSE #02: conservative"
 ;  V75 cse1         [V75,T41] (  3,  3   )     int  ->  rsi         "CSE #08: conservative"
 ;  V76 cse2         [V76,T42] (  3,  3   )     int  ->  rsi         "CSE #12: conservative"
 ;  V77 cse3         [V77,T49] (  3,  1.50)     int  ->  rsi         "CSE #14: conservative"
 ;  V78 cse4         [V78,T43] (  3,  3   )     int  ->  rsi         "CSE #20: conservative"
 ;  V79 cse5         [V79,T44] (  3,  3   )     int  ->  rdi         "CSE #18: conservative"
 ;  V80 cse6         [V80,T02] (  7,  6.50)     ref  ->  r14         "CSE #04: aggressive"
 ;  V81 cse7         [V81,T03] (  7,  6.50)     ref  ->  r12         "CSE #05: aggressive"
 ;  V82 cse8         [V82,T04] (  7,  6.50)     ref  ->  r13         "CSE #09: aggressive"
 ;
 ; Lcl frame size = 40
 
 G_M13785_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 40
        lea      rbp, [rsp+0x50]
        mov      r15, rdi
        mov      rbx, rsi
 						;; size=25 bbWeight=1 PerfScore 7.25
 G_M13785_IG02:
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; 'info'
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      r14, qword ptr [r15]
        cmp      byte  ptr [rbx], bl
        mov      rdi, 0xD1FFAB1E      ; System.DateTime
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      qword ptr [r13+0x08], r14
        mov      rdi, 0xD1FFAB1E      ; 'TimeOfDay'
        mov      r14, 0xD1FFAB1E      ; 'name'
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, 0xD1FFAB1E      ; 'System.DateTime'
        mov      r12, 0xD1FFAB1E      ; 'type'
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, gword ptr [rbx+0x20]
        mov      edx, dword ptr [rbx+0x48]
        cmp      byte  ptr [rdi], dil
        mov      rsi, 0xD1FFAB1E      ; 'TimeOfDay'
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        test     eax, eax
        je       G_M13785_IG24
        mov      edi, dword ptr [rbx+0x48]
        mov      rax, gword ptr [rbx+0x08]
        cmp      edi, dword ptr [rax+0x08]
        jl       SHORT G_M13785_IG04
 						;; size=176 bbWeight=1 PerfScore 39.25
 G_M13785_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
        call     [rax]System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M13785_IG04:
        mov      rdx, gword ptr [rbx+0x08]
        mov      esi, dword ptr [rbx+0x48]
        mov      edi, esi
        cmp      edi, dword ptr [rdx+0x08]
        jae      G_M13785_IG25
        mov      rax, 0xD1FFAB1E      ; 'TimeOfDay'
        mov      gword ptr [rdx+8*rdi+0x10], rax
        mov      rdx, r13
-       movsxd   rsi, esi
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        movsxd   rsi, dword ptr [rbx+0x48]
        mov      rdi, gword ptr [rbx+0x18]
        mov      rdx, 0xD1FFAB1E      ; 'System.DateTime'
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        inc      dword ptr [rbx+0x48]
        movzx    r13, byte  ptr [r15+0x08]
        mov      rdi, 0xD1FFAB1E      ; System.Byte
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x38], rax
        mov      byte  ptr [rax+0x08], r13b
        mov      rdi, 0xD1FFAB1E      ; 'Month'
        mov      rsi, r14
        mov      rcx, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rcx]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      r13, 0xD1FFAB1E      ; 'System.Byte'
        mov      rdi, r13
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, gword ptr [rbx+0x20]
        mov      edx, dword ptr [rbx+0x48]
        cmp      byte  ptr [rdi], dil
        mov      rsi, 0xD1FFAB1E      ; 'Month'
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        test     eax, eax
        je       G_M13785_IG23
        mov      edi, dword ptr [rbx+0x48]
        mov      rax, gword ptr [rbx+0x08]
        cmp      edi, dword ptr [rax+0x08]
-						;; size=221 bbWeight=1 PerfScore 59.75
+						;; size=218 bbWeight=1 PerfScore 59.50
 G_M13785_IG05:
        jl       SHORT G_M13785_IG07
 						;; size=2 bbWeight=1 PerfScore 1.00
 G_M13785_IG06:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
        call     [rax]System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M13785_IG07:
        mov      rdx, gword ptr [rbx+0x08]
        mov      esi, dword ptr [rbx+0x48]
        mov      edi, esi
        cmp      edi, dword ptr [rdx+0x08]
        jae      G_M13785_IG25
        mov      rax, 0xD1FFAB1E      ; 'Month'
        mov      gword ptr [rdx+8*rdi+0x10], rax
        mov      rdx, gword ptr [rbp-0x38]
-       movsxd   rsi, esi
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        movsxd   rsi, dword ptr [rbx+0x48]
        mov      rdi, gword ptr [rbx+0x18]
        mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        inc      dword ptr [rbx+0x48]
        movzx    rax, byte  ptr [r15+0x09]
        mov      dword ptr [rbp-0x2C], eax
        mov      rdi, 0xD1FFAB1E      ; System.Byte
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x40], rax
        mov      edi, dword ptr [rbp-0x2C]
        mov      byte  ptr [rax+0x08], dil
        mov      rdi, 0xD1FFAB1E      ; 'Week'
        mov      rsi, r14
        mov      rcx, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rcx]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, r13
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, gword ptr [rbx+0x20]
        mov      edx, dword ptr [rbx+0x48]
        cmp      byte  ptr [rdi], dil
        mov      rsi, 0xD1FFAB1E      ; 'Week'
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        test     eax, eax
        je       G_M13785_IG22
        mov      edi, dword ptr [rbx+0x48]
        mov      rax, gword ptr [rbx+0x08]
        cmp      edi, dword ptr [rax+0x08]
-						;; size=211 bbWeight=1 PerfScore 62.25
+						;; size=208 bbWeight=1 PerfScore 62.00
 G_M13785_IG08:
        jl       SHORT G_M13785_IG10
 						;; size=2 bbWeight=1 PerfScore 1.00
 G_M13785_IG09:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
        call     [rax]System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M13785_IG10:
        mov      rdx, gword ptr [rbx+0x08]
        mov      esi, dword ptr [rbx+0x48]
        mov      edi, esi
        cmp      edi, dword ptr [rdx+0x08]
        jae      G_M13785_IG25
        mov      rax, 0xD1FFAB1E      ; 'Week'
        mov      gword ptr [rdx+8*rdi+0x10], rax
        mov      rdx, gword ptr [rbp-0x40]
-       movsxd   rsi, esi
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        movsxd   rsi, dword ptr [rbx+0x48]
        mov      rdi, gword ptr [rbx+0x18]
        mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        inc      dword ptr [rbx+0x48]
        movzx    rax, byte  ptr [r15+0x0A]
        mov      dword ptr [rbp-0x30], eax
        mov      rdi, 0xD1FFAB1E      ; System.Byte
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x48], rax
        mov      edi, dword ptr [rbp-0x30]
        mov      byte  ptr [rax+0x08], dil
        mov      rdi, 0xD1FFAB1E      ; 'Day'
        mov      rsi, r14
        mov      rcx, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rcx]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, r13
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, gword ptr [rbx+0x20]
        mov      edx, dword ptr [rbx+0x48]
        cmp      byte  ptr [rdi], dil
        mov      rsi, 0xD1FFAB1E      ; 'Day'
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        test     eax, eax
        je       G_M13785_IG21
        mov      edi, dword ptr [rbx+0x48]
        mov      rax, gword ptr [rbx+0x08]
        cmp      edi, dword ptr [rax+0x08]
-						;; size=211 bbWeight=1 PerfScore 62.25
+						;; size=208 bbWeight=1 PerfScore 62.00
 G_M13785_IG11:
        jl       SHORT G_M13785_IG13
 						;; size=2 bbWeight=1 PerfScore 1.00
 G_M13785_IG12:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
        call     [rax]System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M13785_IG13:
        mov      rdx, gword ptr [rbx+0x08]
        mov      esi, dword ptr [rbx+0x48]
        mov      edi, esi
        cmp      edi, dword ptr [rdx+0x08]
        jae      G_M13785_IG25
        mov      rax, 0xD1FFAB1E      ; 'Day'
        mov      gword ptr [rdx+8*rdi+0x10], rax
        mov      rdx, gword ptr [rbp-0x48]
-       movsxd   rsi, esi
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        movsxd   rsi, dword ptr [rbx+0x48]
        mov      rdi, gword ptr [rbx+0x18]
        mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        inc      dword ptr [rbx+0x48]
        mov      rdi, 0xD1FFAB1E      ; System.DayOfWeek
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      edi, dword ptr [r15+0x0C]
        mov      dword ptr [r13+0x08], edi
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Object:GetType():System.Type:this
        call     [rax]System.Object:GetType():System.Type:this
        mov      gword ptr [rbp-0x50], rax
        mov      rdi, 0xD1FFAB1E      ; 'DayOfWeek'
        mov      rsi, r14
        mov      rcx, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rcx]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, gword ptr [rbp-0x50]
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, gword ptr [rbx+0x20]
        mov      edx, dword ptr [rbx+0x48]
        cmp      byte  ptr [rdi], dil
        mov      rsi, 0xD1FFAB1E      ; 'DayOfWeek'
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        test     eax, eax
        je       G_M13785_IG20
-						;; size=213 bbWeight=0.50 PerfScore 28.88
-G_M13785_IG14:
        mov      edi, dword ptr [rbx+0x48]
+						;; size=213 bbWeight=0.50 PerfScore 29.75
+G_M13785_IG14:
        mov      rax, gword ptr [rbx+0x08]
        cmp      edi, dword ptr [rax+0x08]
        jl       SHORT G_M13785_IG15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
        call     [rax]System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
-						;; size=27 bbWeight=0.50 PerfScore 5.75
+						;; size=24 bbWeight=0.50 PerfScore 4.75
 G_M13785_IG15:
        mov      rsi, gword ptr [rbx+0x08]
        mov      edi, dword ptr [rbx+0x48]
        mov      edx, edi
        cmp      edx, dword ptr [rsi+0x08]
        jae      G_M13785_IG25
        mov      rax, 0xD1FFAB1E      ; 'DayOfWeek'
        mov      gword ptr [rsi+8*rdx+0x10], rax
-       movsxd   rsi, edi
+       mov      esi, edi
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        movsxd   rsi, dword ptr [rbx+0x48]
        mov      rdi, gword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        inc      dword ptr [rbx+0x48]
        movzx    r15, byte  ptr [r15+0x10]
        mov      rdi, 0xD1FFAB1E      ; System.Boolean
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      byte  ptr [r13+0x08], r15b
        mov      rdi, 0xD1FFAB1E      ; 'IsFixedDateRule'
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, 0xD1FFAB1E      ; 'System.Boolean'
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      rdi, gword ptr [rbx+0x20]
        mov      edx, dword ptr [rbx+0x48]
        cmp      byte  ptr [rdi], dil
        mov      rsi, 0xD1FFAB1E      ; 'IsFixedDateRule'
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        test     eax, eax
        je       G_M13785_IG19
        mov      edi, dword ptr [rbx+0x48]
        mov      rax, gword ptr [rbx+0x08]
        cmp      edi, dword ptr [rax+0x08]
        jl       SHORT G_M13785_IG17
-						;; size=213 bbWeight=1 PerfScore 60.50
+						;; size=212 bbWeight=1 PerfScore 60.50
 G_M13785_IG16:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
        call     [rax]System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M13785_IG17:
        mov      rdx, gword ptr [rbx+0x08]
        mov      esi, dword ptr [rbx+0x48]
        mov      edi, esi
        cmp      edi, dword ptr [rdx+0x08]
        jae      G_M13785_IG25
        mov      rax, 0xD1FFAB1E      ; 'IsFixedDateRule'
        mov      gword ptr [rdx+8*rdi+0x10], rax
        mov      rdx, r13
-       movsxd   rsi, esi
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        movsxd   rsi, dword ptr [rbx+0x48]
        mov      rdi, gword ptr [rbx+0x18]
        mov      rdx, 0xD1FFAB1E      ; 'System.Boolean'
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        inc      dword ptr [rbx+0x48]
-						;; size=88 bbWeight=1 PerfScore 27.75
+						;; size=85 bbWeight=1 PerfScore 27.50
 G_M13785_IG18:
        add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M13785_IG19:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.Serialization.SerializationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Serialization_SameNameTwice():System.String
        call     [rax]System.SR:get_Serialization_SameNameTwice():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        call     [rax]System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M13785_IG20:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.Serialization.SerializationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Serialization_SameNameTwice():System.String
        call     [rax]System.SR:get_Serialization_SameNameTwice():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        call     [rax]System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M13785_IG21:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.Serialization.SerializationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Serialization_SameNameTwice():System.String
        call     [rax]System.SR:get_Serialization_SameNameTwice():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        call     [rax]System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M13785_IG22:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.Serialization.SerializationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Serialization_SameNameTwice():System.String
        call     [rax]System.SR:get_Serialization_SameNameTwice():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        call     [rax]System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M13785_IG23:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.Serialization.SerializationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Serialization_SameNameTwice():System.String
        call     [rax]System.SR:get_Serialization_SameNameTwice():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        call     [rax]System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M13785_IG24:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.Serialization.SerializationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Serialization_SameNameTwice():System.String
        call     [rax]System.SR:get_Serialization_SameNameTwice():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        call     [rax]System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M13785_IG25:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1829, prolog size 19, PerfScore 369.62, instruction count 390, allocated bytes for code 1829 (MethodHash=62eaca26) for method System.TimeZoneInfo+TransitionTime:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
+; Total bytes of code 1813, prolog size 19, PerfScore 368.50, instruction count 385, allocated bytes for code 1813 (MethodHash=62eaca26) for method System.TimeZoneInfo+TransitionTime:System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):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/dad1dd3eb768e7b53193ff7ce38f5e3d

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 11, 2025

@xtqqczze

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