Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[X64] [AndyAyersMS] Stack allocate unescaped boxes #467

Open
MihuBot opened this issue Jun 25, 2024 · 3 comments
Open

[X64] [AndyAyersMS] Stack allocate unescaped boxes #467

MihuBot opened this issue Jun 25, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jun 25, 2024

Job completed in 16 minutes.
dotnet/runtime#103361

Diffs

Diffs
Found 295 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 41567449
Total bytes of diff: 41510873
Total bytes of delta: -56576 (-0.14 % of base)
Total relative delta: -214.30
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
         182 : Microsoft.Extensions.Logging.Configuration.dasm (2.28 % of base)
         150 : tieringtest.dasm (2.22 % of base)
         127 : System.Net.Security.dasm (0.05 % of base)
          75 : Microsoft.Extensions.DependencyInjection.dasm (0.10 % of base)
          49 : System.ServiceModel.Syndication.dasm (0.03 % of base)
          49 : Microsoft.Extensions.Caching.Abstractions.dasm (0.18 % of base)
          27 : System.Security.Cryptography.Xml.dasm (0.01 % of base)
           6 : Microsoft.Extensions.DependencyModel.dasm (0.01 % of base)

Top file improvements (bytes):
      -40915 : System.Linq.Parallel.dasm (-1.78 % of base)
       -8033 : System.Threading.Tasks.Dataflow.dasm (-0.59 % of base)
       -1765 : System.Data.Common.dasm (-0.11 % of base)
       -1152 : System.Collections.Immutable.dasm (-0.04 % of base)
        -819 : System.Net.WebSockets.dasm (-0.69 % of base)
        -644 : System.Private.CoreLib.dasm (-0.01 % of base)
        -637 : System.Linq.Expressions.dasm (-0.07 % of base)
        -599 : System.Configuration.ConfigurationManager.dasm (-0.14 % of base)
        -510 : System.Private.DataContractSerialization.dasm (-0.05 % of base)
        -371 : System.Text.Json.dasm (-0.03 % of base)
        -349 : System.Security.Cryptography.Pkcs.dasm (-0.09 % of base)
        -288 : System.Linq.Queryable.dasm (-0.07 % of base)
        -268 : System.Private.Xml.dasm (-0.01 % of base)
        -173 : System.ComponentModel.TypeConverter.dasm (-0.05 % of base)
        -172 : System.Security.Cryptography.dasm (-0.02 % of base)
        -168 : Microsoft.Extensions.Configuration.Binder.dasm (-0.76 % of base)
        -167 : Microsoft.VisualBasic.Core.dasm (-0.03 % of base)
         -96 : System.Reflection.MetadataLoadContext.dasm (-0.04 % of base)
         -35 : System.Threading.Channels.dasm (-0.01 % of base)
         -28 : Microsoft.CSharp.dasm (-0.01 % of base)
         -25 : System.Reflection.Context.dasm (-0.04 % of base)
         -16 : ILCompiler.Reflection.ReadyToRun.dasm (-0.01 % of base)
         -11 : Microsoft.Extensions.Hosting.dasm (-0.01 % of base)

31 total files with Code Size differences (23 improved, 8 regressed), 228 unchanged.

Top method regressions (bytes):
         150 (2.22 % of base) : tieringtest.dasm - Program:Main(System.String[]):int (FullOpts)
         130 (6.36 % of base) : System.Net.Security.dasm - System.Net.Security.SslStreamCertificateContext:Create(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,ubyte,System.Net.Security.SslCertificateTrust,ubyte):System.Net.Security.SslStreamCertificateContext (FullOpts)
          75 (4.84 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter:VisitIEnumerable(Microsoft.Extensions.DependencyInjection.ServiceLookup.IEnumerableCallSite,Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter+CallSiteFormatterContext):System.Object:this (FullOpts)
          63 (0.84 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts)
          49 (1.04 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.Rss20FeedFormatter:WriteItemContents(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.Uri):this (FullOpts)
          38 (28.36 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[System.Numerics.Vector`1[float]](Microsoft.Extensions.Configuration.IConfiguration,System.String,System.Numerics.Vector`1[float]):System.Numerics.Vector`1[float] (FullOpts)
          28 (25.93 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[int](Microsoft.Extensions.Configuration.IConfiguration,System.String,int):int (FullOpts)
          28 (25.23 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[long](Microsoft.Extensions.Configuration.IConfiguration,System.String,long):long (FullOpts)
          28 (25.23 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[short](Microsoft.Extensions.Configuration.IConfiguration,System.String,short):short (FullOpts)
          28 (25.69 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[ubyte](Microsoft.Extensions.Configuration.IConfiguration,System.String,ubyte):ubyte (FullOpts)
          27 (22.31 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[double](Microsoft.Extensions.Configuration.IConfiguration,System.String,double):double (FullOpts)
          26 (29.55 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunMethod:get_PgoInfo():ILCompiler.Reflection.ReadyToRun.PgoInfo:this (FullOpts)
          26 (1.60 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.SignedXmlDebugLog:LogVerifyX509Chain(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate) (FullOpts)
          22 (1.39 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:ExportPfx(Microsoft.Win32.SafeHandles.SafePasswordHandle):ubyte[]:this (FullOpts)
          20 (5.87 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Runtime.Serialization.Json.DataContractJsonSerializerSettings):this (FullOpts)
          18 (0.59 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts)
          15 (10.20 % of base) : System.Private.CoreLib.dasm - System.AppDomain:CreateInstanceFromAndUnwrap(System.String,System.String,System.Object[]):System.Object:this (FullOpts)
          14 (4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.ManagedCertificateFinder+<>c:<FindByApplicationPolicy>b__16_0(System.String,System.Security.Cryptography.X509Certificates.X509Certificate2):ubyte:this (FullOpts)
          13 (2.32 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.CryptographicAttributeObject:.ctor(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedDataCollection):this (FullOpts)
          12 (0.85 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Chain:Build(System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte):ubyte:this (FullOpts)
          12 (0.82 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlReflectionImporter:CheckAmbiguousChoice(System.Xml.Serialization.XmlAttributes,System.Type,System.String):this (FullOpts)
          11 (1.17 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.Pal.AnyOS.ManagedPkcsPal:GetSubjectKeyIdentifier(System.Security.Cryptography.X509Certificates.X509Certificate2):ubyte[]:this (FullOpts)
          10 (6.90 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:.ctor(System.Type,System.Runtime.Serialization.DataContractSerializerSettings):this (FullOpts)
           9 (7.38 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[double](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):double (FullOpts)
           9 (7.56 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[int](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):int (FullOpts)
           9 (7.44 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[long](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):long (FullOpts)
           9 (7.38 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[short](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):short (FullOpts)
           9 (7.56 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[ubyte](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):ubyte (FullOpts)
           9 (6.25 % of base) : System.Private.CoreLib.dasm - System.AppDomain:CreateInstanceFromAndUnwrap(System.String,System.String):System.Object:this (FullOpts)
           9 (5.49 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[long]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
           8 (4.79 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[double]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
           8 (4.91 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[int]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
           8 (4.82 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[short]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
           8 (4.85 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[ubyte]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
           7 (1.69 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaCollection:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts)
           6 (0.53 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Utf8JsonReaderExtensions:CreateUnexpectedException(byref,System.String):System.FormatException (FullOpts)
           6 (0.70 % of base) : System.Private.Xml.dasm - System.Xml.Schema.AutoValidator:DetectValidationType():int:this (FullOpts)
           5 (0.84 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Logging.LoggerFilterConfigureOptions:LoadDefaultConfigValues(Microsoft.Extensions.Logging.LoggerFilterOptions):this (FullOpts)
           5 (0.23 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[System.__Canon](System.Linq.Expressions.SwitchExpression):this (FullOpts)
           4 (2.56 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[System.Numerics.Vector`1[float]](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):System.Numerics.Vector`1[float] (FullOpts)
           4 (1.46 % of base) : System.Net.Http.dasm - System.Net.Security.CertificateHelper:IsValidForClientAuthenticationEKU(System.Security.Cryptography.X509Certificates.X509EnhancedKeyUsageExtension):ubyte (FullOpts)
           4 (1.21 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509EnhancedKeyUsageExtension:get_EnhancedKeyUsages():System.Security.Cryptography.OidCollection:this (FullOpts)
           4 (0.46 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.KeyInfoX509Data:.ctor(System.Security.Cryptography.X509Certificates.X509Certificate,int):this (FullOpts)
           3 (0.71 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindFirstChain(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):Interop+Crypto+X509VerifyStatusCode:this (FullOpts)
           3 (0.91 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Store:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this (FullOpts)
           3 (0.91 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Store:RemoveRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this (FullOpts)
           2 (0.20 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignerInfo:FindSignerCertificate(System.Security.Cryptography.Pkcs.SubjectIdentifier,System.Security.Cryptography.X509Certificates.X509Certificate2Collection):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts)
           2 (0.46 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaCollection:CopyTo(System.Xml.Schema.XmlSchema[],int):this (FullOpts)
           1 (0.30 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[long]:<GetLinqDataView>b__0(System.Data.DataRow):ubyte:this (FullOpts)
           1 (0.41 % of base) : System.Net.Security.dasm - System.Net.Security.SslStreamCertificateContext:AddRootCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2,byref):this (FullOpts)
           1 (0.36 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignedCms:CheckHash():this (FullOpts)
           1 (0.11 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509ChainPolicy:Clone():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this (FullOpts)

Top method improvements (bytes):
        -379 (-39.64 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this (FullOpts)
        -192 (-19.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -192 (-19.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -192 (-19.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -192 (-19.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -192 (-19.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -192 (-19.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -192 (-19.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:WrapPartitionedStream[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]],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -169 (-25.80 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -154 (-6.50 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslAstRewriter:Refactor(System.Xml.Xsl.Xslt.XslNode,int):this (FullOpts)
        -146 (-42.44 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[double]:IndexOf(int,double):int:this (FullOpts)
        -144 (-41.86 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[short]:IndexOf(int,short):int:this (FullOpts)
        -143 (-41.81 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[ubyte]:IndexOf(int,ubyte):int:this (FullOpts)
        -131 (-38.64 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[long]:IndexOf(int,long):int:this (FullOpts)
        -130 (-38.46 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[int]:IndexOf(int,int):int:this (FullOpts)
        -126 (-17.17 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.__Canon]:get_DebuggerDisplayContent():System.Object:this (FullOpts)
        -121 (-1.70 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[double]:MoveNext():this (FullOpts)
        -119 (-1.67 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[long]:MoveNext():this (FullOpts)
        -113 (-6.08 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -113 (-6.08 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -113 (-6.08 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -113 (-6.08 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -113 (-6.08 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.__Canon],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -113 (-6.08 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -113 (-6.08 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -113 (-6.08 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
        -112 (-1.58 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[int]:MoveNext():this (FullOpts)
        -111 (-97.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[double]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]):ubyte:this (FullOpts)
        -110 (-1.55 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[short]:MoveNext():this (FullOpts)
        -110 (-1.55 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[ubyte]:MoveNext():this (FullOpts)
        -103 (-94.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]):ubyte:this (FullOpts)
        -100 (-97.09 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[long]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]):ubyte:this (FullOpts)
        -100 (-97.09 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[short]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]):ubyte:this (FullOpts)
         -98 (-97.03 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[int]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]):ubyte:this (FullOpts)
         -98 (-97.03 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[ubyte]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]):ubyte:this (FullOpts)
         -96 (-83.48 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Helpers:ComputePublicKeyToken(ubyte[]):ubyte[] (FullOpts)
         -93 (-93.94 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]):ubyte:this (FullOpts)
         -92 (-93.88 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
         -91 (-93.81 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]):ubyte:this (FullOpts)
         -90 (-93.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]):ubyte:this (FullOpts)
         -89 (-93.68 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]):ubyte:this (FullOpts)
         -87 (-96.67 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[System.Numerics.Vector`1[float]]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
         -87 (-86.14 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.__Canon]:get_HasValueForDebugger():ubyte:this (FullOpts)
         -87 (-82.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[System.__Canon]:get_HasValue():ubyte:this (FullOpts)
         -86 (-75.44 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[System.__Canon]:get_OutputCountForDebugger():int:this (FullOpts)
         -86 (-75.44 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[System.__Canon,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -86 (-86.00 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.__Canon]:get_ValueForDebugger():System.__Canon:this (FullOpts)
         -86 (-82.69 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[System.__Canon]:get_Value():System.__Canon:this (FullOpts)
         -86 (-75.44 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[System.__Canon]:get_CountForDebugger():int:this (FullOpts)
         -86 (-75.44 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[System.__Canon,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -81 (-32.40 % of base) : System.Linq.Expressions.dasm - System.Dynamic.Utils.CacheDict`2[double,System.Nullable`1[int]]:TryGetValue(double,byref):ubyte:this (FullOpts)
         -79 (-8.04 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.ECDsaX509SignatureGenerator:BuildPublicKey():System.Security.Cryptography.X509Certificates.PublicKey:this (FullOpts)

Top method regressions (percentages):
          26 (29.55 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunMethod:get_PgoInfo():ILCompiler.Reflection.ReadyToRun.PgoInfo:this (FullOpts)
          38 (28.36 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[System.Numerics.Vector`1[float]](Microsoft.Extensions.Configuration.IConfiguration,System.String,System.Numerics.Vector`1[float]):System.Numerics.Vector`1[float] (FullOpts)
          28 (25.93 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[int](Microsoft.Extensions.Configuration.IConfiguration,System.String,int):int (FullOpts)
          28 (25.69 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[ubyte](Microsoft.Extensions.Configuration.IConfiguration,System.String,ubyte):ubyte (FullOpts)
          28 (25.23 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[long](Microsoft.Extensions.Configuration.IConfiguration,System.String,long):long (FullOpts)
          28 (25.23 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[short](Microsoft.Extensions.Configuration.IConfiguration,System.String,short):short (FullOpts)
          27 (22.31 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Configuration.Binder.SourceGeneration.<BindingExtensions_g>FC942D78CC7227974EDAA51F75C3EEF92CA22964DAC31D1350ACD0C7CF2278090__BindingExtensions:GetValue[double](Microsoft.Extensions.Configuration.IConfiguration,System.String,double):double (FullOpts)
          15 (10.20 % of base) : System.Private.CoreLib.dasm - System.AppDomain:CreateInstanceFromAndUnwrap(System.String,System.String,System.Object[]):System.Object:this (FullOpts)
           9 (7.56 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[int](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):int (FullOpts)
           9 (7.56 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[ubyte](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):ubyte (FullOpts)
           9 (7.44 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[long](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):long (FullOpts)
           9 (7.38 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[double](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):double (FullOpts)
           9 (7.38 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[short](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):short (FullOpts)
          10 (6.90 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContractSerializer:.ctor(System.Type,System.Runtime.Serialization.DataContractSerializerSettings):this (FullOpts)
         130 (6.36 % of base) : System.Net.Security.dasm - System.Net.Security.SslStreamCertificateContext:Create(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,ubyte,System.Net.Security.SslCertificateTrust,ubyte):System.Net.Security.SslStreamCertificateContext (FullOpts)
           9 (6.25 % of base) : System.Private.CoreLib.dasm - System.AppDomain:CreateInstanceFromAndUnwrap(System.String,System.String):System.Object:this (FullOpts)
          20 (5.87 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:.ctor(System.Type,System.Runtime.Serialization.Json.DataContractJsonSerializerSettings):this (FullOpts)
           9 (5.49 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[long]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
           8 (4.91 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[int]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
           8 (4.85 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[ubyte]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
          75 (4.84 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter:VisitIEnumerable(Microsoft.Extensions.DependencyInjection.ServiceLookup.IEnumerableCallSite,Microsoft.Extensions.DependencyInjection.CallSiteJsonFormatter+CallSiteFormatterContext):System.Object:this (FullOpts)
           8 (4.82 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[short]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
           8 (4.79 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[double]:<GetLinqDataView>b__1(System.Data.DataRow):ubyte:this (FullOpts)
          14 (4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.ManagedCertificateFinder+<>c:<FindByApplicationPolicy>b__16_0(System.String,System.Security.Cryptography.X509Certificates.X509Certificate2):ubyte:this (FullOpts)
           4 (2.56 % of base) : Microsoft.Extensions.Caching.Abstractions.dasm - Microsoft.Extensions.Caching.Memory.CacheExtensions:Get[System.Numerics.Vector`1[float]](Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object):System.Numerics.Vector`1[float] (FullOpts)
          13 (2.32 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.CryptographicAttributeObject:.ctor(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedDataCollection):this (FullOpts)
         150 (2.22 % of base) : tieringtest.dasm - Program:Main(System.String[]):int (FullOpts)
           7 (1.69 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaCollection:System.Collections.ICollection.CopyTo(System.Array,int):this (FullOpts)
          26 (1.60 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.SignedXmlDebugLog:LogVerifyX509Chain(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate) (FullOpts)
           4 (1.46 % of base) : System.Net.Http.dasm - System.Net.Security.CertificateHelper:IsValidForClientAuthenticationEKU(System.Security.Cryptography.X509Certificates.X509EnhancedKeyUsageExtension):ubyte (FullOpts)
          22 (1.39 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:ExportPfx(Microsoft.Win32.SafeHandles.SafePasswordHandle):ubyte[]:this (FullOpts)
           4 (1.21 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509EnhancedKeyUsageExtension:get_EnhancedKeyUsages():System.Security.Cryptography.OidCollection:this (FullOpts)
          11 (1.17 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.Pal.AnyOS.ManagedPkcsPal:GetSubjectKeyIdentifier(System.Security.Cryptography.X509Certificates.X509Certificate2):ubyte[]:this (FullOpts)
          49 (1.04 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.Rss20FeedFormatter:WriteItemContents(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.Uri):this (FullOpts)
           3 (0.91 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Store:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this (FullOpts)
           3 (0.91 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Store:RemoveRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this (FullOpts)
          12 (0.85 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Chain:Build(System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte):ubyte:this (FullOpts)
           5 (0.84 % of base) : Microsoft.Extensions.Logging.Configuration.dasm - Microsoft.Extensions.Logging.LoggerFilterConfigureOptions:LoadDefaultConfigValues(Microsoft.Extensions.Logging.LoggerFilterOptions):this (FullOpts)
          63 (0.84 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts)
          12 (0.82 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlReflectionImporter:CheckAmbiguousChoice(System.Xml.Serialization.XmlAttributes,System.Type,System.String):this (FullOpts)
           3 (0.71 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindFirstChain(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):Interop+Crypto+X509VerifyStatusCode:this (FullOpts)
           6 (0.70 % of base) : System.Private.Xml.dasm - System.Xml.Schema.AutoValidator:DetectValidationType():int:this (FullOpts)
          18 (0.59 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts)
           6 (0.53 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Utf8JsonReaderExtensions:CreateUnexpectedException(byref,System.String):System.FormatException (FullOpts)
           2 (0.46 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaCollection:CopyTo(System.Xml.Schema.XmlSchema[],int):this (FullOpts)
           4 (0.46 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.KeyInfoX509Data:.ctor(System.Security.Cryptography.X509Certificates.X509Certificate,int):this (FullOpts)
           1 (0.41 % of base) : System.Net.Security.dasm - System.Net.Security.SslStreamCertificateContext:AddRootCertificate(System.Security.Cryptography.X509Certificates.X509Certificate2,byref):this (FullOpts)
           1 (0.36 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignedCms:CheckHash():this (FullOpts)
           1 (0.30 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[long]:<GetLinqDataView>b__0(System.Data.DataRow):ubyte:this (FullOpts)
           5 (0.23 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[System.__Canon](System.Linq.Expressions.SwitchExpression):this (FullOpts)
           2 (0.20 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignerInfo:FindSignerCertificate(System.Security.Cryptography.Pkcs.SubjectIdentifier,System.Security.Cryptography.X509Certificates.X509Certificate2Collection):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts)
           1 (0.11 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509ChainPolicy:Clone():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this (FullOpts)

Top method improvements (percentages):
        -111 (-97.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[double]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]):ubyte:this (FullOpts)
        -100 (-97.09 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[long]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]):ubyte:this (FullOpts)
        -100 (-97.09 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[short]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]):ubyte:this (FullOpts)
         -98 (-97.03 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[int]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]):ubyte:this (FullOpts)
         -98 (-97.03 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[ubyte]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]):ubyte:this (FullOpts)
         -87 (-96.67 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucketByRefEqualityComparer[System.Numerics.Vector`1[float]]:Equals(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]],System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
        -103 (-94.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[double]):ubyte:this (FullOpts)
         -93 (-93.94 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[short]):ubyte:this (FullOpts)
         -92 (-93.88 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts)
         -91 (-93.81 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[ubyte]):ubyte:this (FullOpts)
         -90 (-93.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[long]):ubyte:this (FullOpts)
         -89 (-93.68 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]:EqualsByRef(System.Collections.Immutable.ImmutableHashSet`1+HashBucket[int]):ubyte:this (FullOpts)
         -35 (-92.11 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[double,System.Nullable`1[int]]:<OfType>b__2_0(double):ubyte:this (FullOpts)
         -34 (-91.89 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[System.Numerics.Vector`1[float],System.Nullable`1[int]]:<OfType>b__2_0(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
         -24 (-88.89 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[long,System.Nullable`1[int]]:<OfType>b__2_0(long):ubyte:this (FullOpts)
         -23 (-88.46 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[short,System.Nullable`1[int]]:<OfType>b__2_0(short):ubyte:this (FullOpts)
         -22 (-88.00 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[ubyte,System.Nullable`1[int]]:<OfType>b__2_0(ubyte):ubyte:this (FullOpts)
         -87 (-86.14 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.__Canon]:get_HasValueForDebugger():ubyte:this (FullOpts)
         -86 (-86.00 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.__Canon]:get_ValueForDebugger():System.__Canon:this (FullOpts)
         -44 (-84.62 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[int]:get_ValueForDebugger():int:this (FullOpts)
         -96 (-83.48 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Helpers:ComputePublicKeyToken(ubyte[]):ubyte[] (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[double]:get_HasValueForDebugger():ubyte:this (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[int]:get_HasValueForDebugger():ubyte:this (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[long]:get_HasValueForDebugger():ubyte:this (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[long]:get_ValueForDebugger():long:this (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[short]:get_HasValueForDebugger():ubyte:this (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.Nullable`1[int]]:get_HasValueForDebugger():ubyte:this (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.Nullable`1[int]]:get_ValueForDebugger():System.Nullable`1[int]:this (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.Numerics.Vector`1[float]]:get_HasValueForDebugger():ubyte:this (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[ubyte]:get_HasValueForDebugger():ubyte:this (FullOpts)
         -44 (-83.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[ubyte]:get_ValueForDebugger():ubyte:this (FullOpts)
         -87 (-82.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[System.__Canon]:get_HasValue():ubyte:this (FullOpts)
         -86 (-82.69 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[System.__Canon]:get_Value():System.__Canon:this (FullOpts)
         -44 (-81.48 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[double]:get_ValueForDebugger():double:this (FullOpts)
         -44 (-81.48 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[short]:get_ValueForDebugger():short:this (FullOpts)
         -36 (-80.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[int]:Equals(int,int):ubyte:this (FullOpts)
         -37 (-78.72 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[long]:Equals(long,long):ubyte:this (FullOpts)
         -22 (-78.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1+<>c__2`1[int,System.Nullable`1[int]]:<OfType>b__2_0(int):ubyte:this (FullOpts)
         -44 (-78.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[int]:get_Value():int:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[double]:get_HasValue():ubyte:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[int]:get_HasValue():ubyte:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[long]:get_HasValue():ubyte:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[long]:get_Value():long:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[short]:get_HasValue():ubyte:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[System.Nullable`1[int]]:get_HasValue():ubyte:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[System.Nullable`1[int]]:get_Value():System.Nullable`1[int]:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[System.Numerics.Vector`1[float]]:get_HasValue():ubyte:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[ubyte]:get_HasValue():ubyte:this (FullOpts)
         -44 (-77.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[ubyte]:get_Value():ubyte:this (FullOpts)
         -44 (-75.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[double]:get_Value():double:this (FullOpts)
         -44 (-75.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[short]:get_Value():short:this (FullOpts)
         -86 (-75.44 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[System.__Canon]:get_OutputCountForDebugger():int:this (FullOpts)
         -86 (-75.44 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[System.__Canon,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -86 (-75.44 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[System.__Canon]:get_CountForDebugger():int:this (FullOpts)
         -86 (-75.44 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[System.__Canon,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -42 (-75.00 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[double]:TryGetValue[System.Nullable`1[int]](byref):ubyte:this (FullOpts)
         -58 (-72.50 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignerInfo:GetDigestAlgorithm():System.Security.Cryptography.HashAlgorithmName:this (FullOpts)
         -41 (-71.93 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[System.Numerics.Vector`1[float]]:TryGetValue[System.Nullable`1[int]](byref):ubyte:this (FullOpts)
         -47 (-70.15 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.Numerics.Vector`1[float]]:get_ValueForDebugger():System.Numerics.Vector`1[float]:this (FullOpts)
         -35 (-68.63 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[ubyte]:Equals(ubyte,ubyte):ubyte:this (FullOpts)
         -37 (-68.52 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ObjectEqualityComparer`1[short]:Equals(short,short):ubyte:this (FullOpts)
         -29 (-67.44 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonValue`1[long]:TryGetValue[System.Nullable`1[int]](byref):ubyte:this (FullOpts)
         -47 (-66.20 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+DebugView[System.Numerics.Vector`1[float]]:get_Value():System.Numerics.Vector`1[float]:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[double]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[int]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[long]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[short]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[System.Numerics.Vector`1[float]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[ubyte]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[double,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[int,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[long,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[short,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[ubyte,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[double]:get_CountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[int]:get_CountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[long]:get_CountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[short]:get_CountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[System.Nullable`1[int]]:get_CountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[System.Numerics.Vector`1[float]]:get_CountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[ubyte]:get_CountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[double,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[int,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[long,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[short,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[ubyte,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[int,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[short,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.__Canon,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[ubyte,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)
         -44 (-65.67 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[double,System.Nullable`1[int]]:get_OutputCountForDebugger():int:this (FullOpts)

1008 total methods with Code Size differences (956 improved, 52 regressed), 251119 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Jun 25, 2024

Top method regressions

130 (6.36 % of base) - System.Net.Security.SslStreamCertificateContext:Create(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,ubyte,System.Net.Security.SslCertificateTrust,ubyte):System.Net.Security.SslStreamCertificateContext
 ; Assembly listing for method System.Net.Security.SslStreamCertificateContext:Create(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,ubyte,System.Net.Security.SslCertificateTrust,ubyte):System.Net.Security.SslStreamCertificateContext (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; 33 single block inlinees; 14 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T18] (  6,  5.50)     ref  ->  r15         class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Certificate2>
 ;  V01 arg1         [V01,T22] (  4,  3.50)     ref  ->  r13         class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
 ;  V02 arg2         [V02,T20] (  4,  4   )   ubyte  ->  r14         single-def
 ;  V03 arg3         [V03,T16] (  8,  6   )     ref  ->  rbx         class-hnd single-def <System.Net.Security.SslCertificateTrust>
 ;  V04 arg4         [V04,T24] (  3,  3   )   ubyte  ->  r12         single-def
-;  V05 loc0         [V05,T19] (  5,  7.25)     ref  ->  [rbp-0x50]  class-hnd <System.Security.Cryptography.X509Certificates.X509Certificate2[]>
-;  V06 loc1         [V06,T27] (  5,  3.50)     ref  ->  [rbp-0x58]  class-hnd <System.Security.Cryptography.X509Certificates.X509Certificate2>
-;* V07 loc2         [V07,T55] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op
-;  V08 loc3         [V08,T02] ( 25, 20   )     ref  ->  [rbp-0x60]  class-hnd exact EH-live spill-single-def <System.Security.Cryptography.X509Certificates.X509Chain>
+;  V05 loc0         [V05,T19] (  5,  7.25)     ref  ->  [rbp-0x90]  class-hnd <System.Security.Cryptography.X509Certificates.X509Certificate2[]>
+;  V06 loc1         [V06,T27] (  5,  3.50)     ref  ->  [rbp-0x98]  class-hnd <System.Security.Cryptography.X509Certificates.X509Certificate2>
+;* V07 loc2         [V07,T54] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op
+;  V08 loc3         [V08,T02] ( 25, 20   )     ref  ->  [rbp-0xA0]  class-hnd exact EH-live spill-single-def <System.Security.Cryptography.X509Certificates.X509Chain>
 ;* V09 loc4         [V09    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;  V10 loc5         [V10,T15] ( 10,  9.25)     int  ->  r13        
 ;  V11 loc6         [V11,T25] (  3,  5   )     int  ->  [rbp-0x2C]  spill-single-def
 ;  V12 loc7         [V12,T23] (  3,  5   )     ref  ->  rax         class-hnd exact single-def <System.Security.Cryptography.X509Certificates.X509ChainStatus[]>
-;* V13 loc8         [V13,T58] (  0,  0   )     int  ->  zero-ref   
+;* V13 loc8         [V13,T57] (  0,  0   )     int  ->  zero-ref   
 ;* V14 loc9         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Security.Cryptography.X509Certificates.X509ChainStatus>
 ;  V15 loc10        [V15,T01] (  6, 20.25)     int  ->  [rbp-0x30] 
 ;  V16 loc11        [V16,T04] (  6, 17   )     int  ->  r13        
 ;# V17 OutArgs      [V17    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V18 tmp1         [V18,T03] ( 11, 18   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509Chain>
+;  V18 tmp1         [V18,T03] ( 11, 18   )     ref  ->  [rbp-0xA8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509Chain>
 ;  V19 tmp2         [V19,T21] (  3,  6   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.Security.Cryptography.X509Certificates.X509Certificate2]>
-;  V20 tmp3         [V20,T14] (  7, 13   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Net.Security.SslStreamCertificateContext>
+;  V20 tmp3         [V20,T14] (  7, 13   )     ref  ->  [rbp-0xB0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Net.Security.SslStreamCertificateContext>
 ;* V21 tmp4         [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V22 tmp5         [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V23 tmp6         [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Single-def Box Helper" <System.Security.Cryptography.X509Certificates.X509ChainStatusFlags>
 ;* V24 tmp7         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Single-def Box Helper" <System.Security.Cryptography.X509Certificates.X509ChainStatusFlags>
-;  V25 tmp8         [V25,T51] (  3,  1.50)     int  ->  rax        
-;  V26 tmp9         [V26,T31] (  3,  3   )     ref  ->  [rbp-0x78]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
-;  V27 tmp10        [V27,T36] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+;  V25 tmp8         [V25,T50] (  3,  1.50)     int  ->  rax        
+;  V26 tmp9         [V26,T31] (  3,  3   )     ref  ->  [rbp-0xB8]  class-hnd exact spill-single-def "dup spill" <System.Object[]>
+;  V27 tmp10        [V27,T35] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
 ;* V28 tmp11        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
-;  V29 tmp12        [V29,T60] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.NotSupportedException>
+;  V29 tmp12        [V29,T59] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.NotSupportedException>
 ;  V30 tmp13        [V30,T28] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <System.Object>
-;  V31 tmp14        [V31,T37] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
+;  V31 tmp14        [V31,T36] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
 ;  V32 tmp15        [V32,T29] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
 ;  V33 tmp16        [V33,T30] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
 ;* V34 tmp17        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
 ;* V35 tmp18        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;  V36 tmp19        [V36,T38] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-;  V37 tmp20        [V37,T39] (  2,  2   )     ref  ->  [rbp-0x80]  class-hnd spill-single-def "Inlining Arg" <System.FormattableString>
-;  V38 tmp21        [V38,T40] (  2,  2   )     ref  ->  [rbp-0x88]  class-hnd exact spill-single-def "non-inline candidate call" <System.String>
+;  V36 tmp19        [V36,T37] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+;  V37 tmp20        [V37,T38] (  2,  2   )     ref  ->  [rbp-0xC0]  class-hnd spill-single-def "Inlining Arg" <System.FormattableString>
+;  V38 tmp21        [V38,T39] (  2,  2   )     ref  ->  [rbp-0xC8]  class-hnd exact spill-single-def "non-inline candidate call" <System.String>
 ;* V39 tmp22        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.String>
-;  V40 tmp23        [V40,T52] (  2,  1   )     ref  ->  rdi         single-def
-;* V41 tmp24        [V41,T59] (  0,  0   )     int  ->  zero-ref   
-;  V42 tmp25        [V42,T53] (  2,  1   )     ref  ->  rdx         single-def
-;* V43 tmp26        [V43,T57] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V44 tmp27        [V44,T41] (  2,  2   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V40 tmp23        [V40,T51] (  2,  1   )     ref  ->  rdi         single-def
+;* V41 tmp24        [V41,T58] (  0,  0   )     int  ->  zero-ref   
+;  V42 tmp25        [V42,T52] (  2,  1   )     ref  ->  rdx         single-def
+;* V43 tmp26        [V43,T56] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V44 tmp27        [V44,T40] (  2,  2   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V45 tmp28        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V46 tmp29        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V47 tmp30        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElement>
 ;* V48 tmp31        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V49 tmp32        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;  V50 tmp33        [V50,T08] (  2, 16   )     ref  ->  rdx         class-hnd exact "dup spill" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;  V51 tmp34        [V51,T12] (  4, 14   )     ref  ->  rdx        
-;  V52 tmp35        [V52,T06] (  4, 16   )     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
+;  V52 tmp35        [V52,T06] (  4, 16   )     ref  ->  [rbp-0xD0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V53 tmp36        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V54 tmp37        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElement>
 ;* V55 tmp38        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElement>
 ;* V56 tmp39        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
 ;* V57 tmp40        [V57    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V58 tmp41        [V58    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V59 tmp42        [V59    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;  V60 tmp43        [V60,T09] (  2, 16   )     ref  ->  rcx         class-hnd exact "dup spill" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;  V61 tmp44        [V61,T13] (  4, 14   )     ref  ->  rcx        
-;  V62 tmp45        [V62,T07] (  4, 16   )     ref  ->  [rbp-0x98]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
+;  V62 tmp45        [V62,T07] (  4, 16   )     ref  ->  [rbp-0xD8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V63 tmp46        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
 ;* V64 tmp47        [V64    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElement>
 ;* V65 tmp48        [V65    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
-;  V66 tmp49        [V66,T49] (  6,  1.50)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.IChainPal>
+;  V66 tmp49        [V66,T48] (  6,  1.50)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.IChainPal>
 ;* V67 tmp50        [V67    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V68 tmp51        [V68    ] (  4,  2   )  struct (24) [rbp-0x48]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[ubyte[]]>
-;* V69 tmp52        [V69    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte[]]>
-;  V70 tmp53        [V70,T35] (  4,  2   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
-;  V71 tmp54        [V71,T54] (  2,  1   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[ubyte[]]>
+;* V69 tmp52        [V69    ] (  0,  0   )   byref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte[]]>
+;  V70 tmp53        [V70,T34] (  4,  2   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V71 tmp54        [V71,T53] (  2,  1   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[ubyte[]]>
 ;* V72 tmp55        [V72    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[ubyte[]]>
-;* V73 tmp56        [V73    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte[]]>
+;* V73 tmp56        [V73    ] (  0,  0   )   byref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte[]]>
 ;  V74 tmp57        [V74,T32] (  3,  3   )     ref  ->  r15         ld-addr-op class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V75 tmp58        [V75,T33] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[ubyte[]]>
+;* V75 tmp58        [V75    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Task`1[ubyte[]]>
 ;* V76 tmp59        [V76    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;* V77 tmp60        [V77    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <ubyte[]>
 ;* V78 tmp61        [V78    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V79 tmp62        [V79    ] (  0,  0   )     ref  ->  zero-ref    "field V14._statusInformation (fldOffset=0x0)" P-INDEP
-;  V80 tmp63        [V80,T17] (  2,  8   )     int  ->  rdx         "field V14.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V81 tmp64        [V81    ] (  3,  1.50)     ref  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V68._obj (fldOffset=0x0)" P-DEP
-;  V82 tmp65        [V82    ] (  3,  1.50)     ref  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V68._result (fldOffset=0x8)" P-DEP
-;  V83 tmp66        [V83    ] (  2,  1   )   short  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V68._token (fldOffset=0x10)" P-DEP
-;  V84 tmp67        [V84    ] (  2,  1   )   ubyte  ->  [rbp-0x36]  do-not-enreg[X] addr-exposed "field V68._continueOnCapturedContext (fldOffset=0x12)" P-DEP
-;* V85 tmp68        [V85    ] (  0,  0   )     ref  ->  zero-ref    "field V76._source (fldOffset=0x0)" P-INDEP
-;  V86 tmp69        [V86,T42] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
-;  V87 tmp70        [V87,T43] (  2,  2   )     ref  ->  r13         single-def "argument with side effect"
-;  V88 tmp71        [V88,T44] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V89 tmp72        [V89,T45] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
-;  V90 tmp73        [V90,T46] (  2,  2   )     ref  ->  [rbp-0xA0]  spill-single-def "argument with side effect"
-;  V91 tmp74        [V91,T48] (  2,  2   )     int  ->  rsi         "argument with side effect"
-;  V92 tmp75        [V92,T11] (  2, 16   )     int  ->  rdx         "Enum:HasFlag this temp"
-;  V93 tmp76        [V93,T10] (  2, 16   )     ref  ->  rdx         "argument with side effect"
-;  V94 tmp77        [V94,T47] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
-;  V95 tmp78        [V95,T34] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V96 tmp79        [V96,T00] (  3, 24   )     ref  ->  rdi         "argument with side effect"
-;  V97 tmp80        [V97,T61] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V98 PSPSym       [V98,T56] (  1,  1   )    long  ->  [rbp-0xB0]  do-not-enreg[V] "PSPSym"
-;  V99 cse0         [V99,T50] (  3,  1.50)     ref  ->  r13         "CSE #01: conservative"
-;  V100 cse1        [V100,T26] (  3,  5   )     int  ->  rcx         "CSE #02: moderate"
-;  V101 rat0        [V101,T05] (  5, 16.50)    long  ->  rdi         "Widened IV V13"
+;  V79 tmp62        [V79    ] (  3,  1.50)  struct (64) [rbp-0x88]  do-not-enreg[XSF] must-init addr-exposed "stack allocated ref class temp" <System.Threading.Tasks.Task`1[ubyte[]]>
+;* V80 tmp63        [V80    ] (  0,  0   )     ref  ->  zero-ref    "field V14._statusInformation (fldOffset=0x0)" P-INDEP
+;  V81 tmp64        [V81,T17] (  2,  8   )     int  ->  rdx         "field V14.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
+;  V82 tmp65        [V82    ] (  3,  1.50)     ref  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V68._obj (fldOffset=0x0)" P-DEP
+;  V83 tmp66        [V83    ] (  3,  1.50)     ref  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V68._result (fldOffset=0x8)" P-DEP
+;  V84 tmp67        [V84    ] (  2,  1   )   short  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V68._token (fldOffset=0x10)" P-DEP
+;  V85 tmp68        [V85    ] (  2,  1   )   ubyte  ->  [rbp-0x36]  do-not-enreg[X] addr-exposed "field V68._continueOnCapturedContext (fldOffset=0x12)" P-DEP
+;* V86 tmp69        [V86    ] (  0,  0   )     ref  ->  zero-ref    "field V76._source (fldOffset=0x0)" P-INDEP
+;  V87 tmp70        [V87,T41] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
+;  V88 tmp71        [V88,T42] (  2,  2   )     ref  ->  r13         single-def "argument with side effect"
+;  V89 tmp72        [V89,T43] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
+;  V90 tmp73        [V90,T44] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
+;  V91 tmp74        [V91,T45] (  2,  2   )     ref  ->  [rbp-0xE0]  spill-single-def "argument with side effect"
+;  V92 tmp75        [V92,T47] (  2,  2   )     int  ->  rsi         "argument with side effect"
+;  V93 tmp76        [V93,T11] (  2, 16   )     int  ->  rdx         "Enum:HasFlag this temp"
+;  V94 tmp77        [V94,T10] (  2, 16   )     ref  ->  rdx         "argument with side effect"
+;  V95 tmp78        [V95,T46] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
+;  V96 tmp79        [V96,T33] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
+;  V97 tmp80        [V97,T00] (  3, 24   )     ref  ->  rdi         "argument with side effect"
+;  V98 tmp81        [V98,T60] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V99 PSPSym       [V99,T55] (  1,  1   )    long  ->  [rbp-0xF0]  do-not-enreg[V] "PSPSym"
+;  V100 cse0        [V100,T49] (  3,  1.50)     ref  ->  r13         "CSE #01: conservative"
+;  V101 cse1        [V101,T26] (  3,  5   )     int  ->  rcx         "CSE #02: moderate"
+;  V102 rat0        [V102,T05] (  5, 16.50)    long  ->  rdi         "Widened IV V13"
 ;
-; Lcl frame size = 136
+; Lcl frame size = 200
 
 G_M52998_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 136
-       lea      rbp, [rsp+0xB0]
-       vxorps   xmm8, xmm8, xmm8
-       vmovdqu  xmmword ptr [rbp-0x48], xmm8
+       sub      rsp, 200
+       lea      rbp, [rsp+0xF0]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
-       mov      qword ptr [rbp-0xB0], rsp
+       mov      qword ptr [rbp-0x88], rax
+       vxorps   xmm8, xmm8, xmm8
+       vmovdqu32 zmmword ptr [rbp-0x80], zmm8
+       vmovdqa  xmmword ptr [rbp-0x40], xmm8
+       mov      qword ptr [rbp-0xF0], rsp
        mov      r15, rdi
        mov      r13, rsi
        mov      r14d, edx
        mov      rbx, rcx
        mov      r12d, r8d
-						;; size=63 bbWeight=1 PerfScore 12.58
+						;; size=73 bbWeight=1 PerfScore 14.58
 G_M52998_IG02:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Certificate2:get_HasPrivateKey():ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509Certificate2:get_HasPrivateKey():ubyte:this
        test     eax, eax
        je       G_M52998_IG43
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M52998_IG40
 						;; size=44 bbWeight=1 PerfScore 12.00
 G_M52998_IG03:
        mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[System.Security.Cryptography.X509Certificates.X509Certificate2]:Value
        mov      rax, gword ptr [rdi]
-       mov      gword ptr [rbp-0x50], rax
+       mov      gword ptr [rbp-0x90], rax
        xor      rcx, rcx
-       mov      gword ptr [rbp-0x58], rcx
+       mov      gword ptr [rbp-0x98], rcx
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.X509Certificates.X509Chain
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x68], rax
+       mov      gword ptr [rbp-0xA8], rax
        mov      rdi, 0xD1FFAB1E      ; System.Object
        call     CORINFO_HELP_NEWSFAST
-       mov      rcx, gword ptr [rbp-0x68]
+       mov      rcx, gword ptr [rbp-0xA8]
        lea      rdi, bword ptr [rcx+0x28]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x68]
-       mov      gword ptr [rbp-0x60], rax
-						;; size=81 bbWeight=1 PerfScore 12.75
+       mov      rax, gword ptr [rbp-0xA8]
+       mov      gword ptr [rbp-0xA0], rax
+						;; size=99 bbWeight=1 PerfScore 12.75
 G_M52998_IG04:
        test     r13, r13
        je       SHORT G_M52998_IG06
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M52998_IG05:
        mov      rdi, rax
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        call     [rcx]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ExtraStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ExtraStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
        mov      rdi, rax
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
-       mov      rax, gword ptr [rbp-0x68]
-						;; size=56 bbWeight=0.50 PerfScore 8.88
+       mov      rax, gword ptr [rbp-0xA8]
+						;; size=59 bbWeight=0.50 PerfScore 8.88
 G_M52998_IG06:
        test     rbx, rbx
        je       G_M52998_IG09
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M52998_IG07:
        mov      rdi, rax
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        call     [rcx]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        mov      dword ptr [rax+0x34], 1
        cmp      gword ptr [rbx+0x08], 0
        je       SHORT G_M52998_IG08
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      rdi, gword ptr [rbp-0xA8]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        call     [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
        mov      r13, rax
        mov      rdi, gword ptr [rbx+0x08]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Store:get_Certificates():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509Store:get_Certificates():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
        mov      rsi, rax
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
-						;; size=103 bbWeight=0.50 PerfScore 17.25
+						;; size=106 bbWeight=0.50 PerfScore 17.25
 G_M52998_IG08:
        cmp      gword ptr [rbx+0x10], 0
        je       G_M52998_IG15
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      rdi, gword ptr [rbp-0xA8]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        call     [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
        mov      rdi, rax
        mov      rsi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
-       mov      rax, gword ptr [rbp-0x68]
-						;; size=69 bbWeight=0.50 PerfScore 12.12
+       mov      rax, gword ptr [rbp-0xA8]
+						;; size=75 bbWeight=0.50 PerfScore 12.12
 G_M52998_IG09:
        mov      rdi, rax
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        call     [rcx]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        mov      dword ptr [rax+0x30], 0xFFF
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      rdi, gword ptr [rbp-0xA8]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        call     [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        xor      edi, edi
        mov      dword ptr [rax+0x28], edi
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      rdi, gword ptr [rbp-0xA8]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        call     [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
        mov      byte  ptr [rax+0x38], r14b
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      rdi, gword ptr [rbp-0xA8]
        mov      rsi, r15
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:Build(System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte):ubyte:this
        call     [rax]System.Security.Cryptography.X509Certificates.X509Chain:Build(System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte):ubyte:this
        test     eax, eax
        jne      G_M52998_IG11
-						;; size=95 bbWeight=1 PerfScore 21.25
+						;; size=104 bbWeight=1 PerfScore 21.25
 G_M52998_IG10:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r13, gword ptr [rdi]
        cmp      byte  ptr [r13+0x9D], 0
        je       G_M52998_IG11
        mov      rdi, 0xD1FFAB1E      ; System.Object[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
-       mov      gword ptr [rbp-0x78], rax
+       mov      gword ptr [rbp-0xB8], rax
        mov      rdi, r15
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Certificate:get_Subject():System.String:this
        call     [rcx]System.Security.Cryptography.X509Certificates.X509Certificate:get_Subject():System.String:this
-       mov      rcx, gword ptr [rbp-0x78]
+       mov      rcx, gword ptr [rbp-0xB8]
        lea      rdi, bword ptr [rcx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rsi, gword ptr [rbp-0x78]
+       mov      rsi, gword ptr [rbp-0xB8]
        mov      rdi, 0xD1FFAB1E      ; 'Failed to build chain for {0}'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
        call     [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
-       mov      gword ptr [rbp-0x80], rax
+       mov      gword ptr [rbp-0xC0], rax
        xor      rdi, rdi
        mov      rcx, 0xD1FFAB1E      ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
        call     [rcx]System.Net.NetEventSource:IdOf(System.Object):System.String
-       mov      gword ptr [rbp-0x88], rax
-       mov      rdi, gword ptr [rbp-0x80]
+       mov      gword ptr [rbp-0xC8], rax
+       mov      rdi, gword ptr [rbp-0xC0]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
        call     [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
        mov      r8, rax
        mov      rdi, r13
-       mov      r13, gword ptr [rbp-0x88]
+       mov      r13, gword ptr [rbp-0xC8]
        mov      rdx, r13
        mov      esi, 2
        mov      rcx, 0xD1FFAB1E      ; 'Create'
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
-						;; size=192 bbWeight=0.50 PerfScore 17.38
+						;; size=207 bbWeight=0.50 PerfScore 17.38
 G_M52998_IG11:
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        call     [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        mov      rdi, gword ptr [rax+0x08]
        mov      r13d, dword ptr [rdi+0x08]
        dec      r13d
        js       G_M52998_IG32
-						;; size=33 bbWeight=1 PerfScore 9.50
+						;; size=36 bbWeight=1 PerfScore 9.50
 G_M52998_IG12:
        dec      r13d
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        call     [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
-       mov      gword ptr [rbp-0xA0], rax
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      gword ptr [rbp-0xE0], rax
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        call     [rcx]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        mov      rdi, gword ptr [rax+0x08]
        mov      esi, dword ptr [rdi+0x08]
        dec      esi
-       mov      rdi, gword ptr [rbp-0xA0]
+       mov      rdi, gword ptr [rbp-0xE0]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
        mov      rcx, gword ptr [rax+0x08]
-       mov      gword ptr [rbp-0x58], rcx
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      gword ptr [rbp-0x98], rcx
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainStatus():System.Security.Cryptography.X509Certificates.X509ChainStatus[]:this
        call     [rcx]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainStatus():System.Security.Cryptography.X509Certificates.X509ChainStatus[]:this
        xor      edi, edi
        mov      ecx, dword ptr [rax+0x08]
        test     ecx, ecx
        jle      SHORT G_M52998_IG17
        align    [0 bytes for IG13]
-						;; size=105 bbWeight=0.50 PerfScore 16.00
+						;; size=117 bbWeight=0.50 PerfScore 16.00
 G_M52998_IG13:
        mov      rdx, rdi
        shl      rdx, 4
        mov      edx, dword ptr [rax+rdx+0x18]
        test     edx, 0x10000
        je       SHORT G_M52998_IG16
 						;; size=19 bbWeight=4 PerfScore 16.00
 G_M52998_IG14:
        inc      r13d
        xor      rax, rax
-       mov      gword ptr [rbp-0x58], rax
+       mov      gword ptr [rbp-0x98], rax
        jmp      SHORT G_M52998_IG17
-						;; size=11 bbWeight=0.50 PerfScore 1.75
+						;; size=14 bbWeight=0.50 PerfScore 1.75
 G_M52998_IG15:
-       mov      rax, gword ptr [rbp-0x68]
+       mov      rax, gword ptr [rbp-0xA8]
        jmp      G_M52998_IG09
-						;; size=9 bbWeight=0.25 PerfScore 0.75
+						;; size=12 bbWeight=0.25 PerfScore 0.75
 G_M52998_IG16:
        inc      edi
        cmp      ecx, edi
        jg       SHORT G_M52998_IG13
 						;; size=6 bbWeight=4 PerfScore 6.00
 G_M52998_IG17:
        test     r13d, r13d
        jle      G_M52998_IG23
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        call     [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        mov      rsi, gword ptr [rax+0x08]
        cmp      dword ptr [rsi+0x08], 1
        jle      G_M52998_IG23
-						;; size=39 bbWeight=0.50 PerfScore 5.75
+						;; size=42 bbWeight=0.50 PerfScore 5.75
 G_M52998_IG18:
        movsxd   rsi, r13d
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.X509Certificates.X509Certificate2[]
        call     CORINFO_HELP_NEWARR_1_OBJ
-       mov      gword ptr [rbp-0x50], rax
+       mov      gword ptr [rbp-0x90], rax
        xor      ecx, ecx
        mov      dword ptr [rbp-0x30], ecx
-						;; size=27 bbWeight=0.25 PerfScore 0.94
+						;; size=30 bbWeight=0.25 PerfScore 0.94
 G_M52998_IG19:
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rdx, gword ptr [rdi+0x18]
        test     rdx, rdx
        jne      SHORT G_M52998_IG22
-						;; size=13 bbWeight=4 PerfScore 17.00
+						;; size=16 bbWeight=4 PerfScore 17.00
 G_M52998_IG20:
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.X509Certificates.X509ChainElementCollection
        call     CORINFO_HELP_NEWSFAST
        mov      rdx, rax
-       mov      gword ptr [rbp-0x90], rdx
+       mov      gword ptr [rbp-0xD0], rdx
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M52998_IG30
 						;; size=44 bbWeight=2 PerfScore 13.50
 G_M52998_IG21:
        mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[System.Security.Cryptography.X509Certificates.X509ChainElement]:Value
        mov      rsi, gword ptr [rdi]
        lea      rdi, bword ptr [rdx+0x08]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        lea      rdi, bword ptr [rdi+0x18]
-       mov      rsi, gword ptr [rbp-0x90]
+       mov      rsi, gword ptr [rbp-0xD0]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdx, gword ptr [rbp-0x90]
-						;; size=49 bbWeight=2 PerfScore 16.50
+       mov      rdx, gword ptr [rbp-0xD0]
+						;; size=52 bbWeight=2 PerfScore 16.50
 G_M52998_IG22:
        mov      ecx, dword ptr [rbp-0x30]
        lea      esi, [rcx+0x01]
        mov      rdi, rdx
        mov      rdx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
        cmp      dword ptr [rdi], edi
        call     [rdx]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
        mov      rdx, gword ptr [rax+0x08]
        movsxd   rsi, dword ptr [rbp-0x30]
-       mov      rdi, gword ptr [rbp-0x50]
+       mov      rdi, gword ptr [rbp-0x90]
        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rcx]CORINFO_HELP_ARRADDR_ST
        mov      eax, dword ptr [rbp-0x30]
        inc      eax
        cmp      eax, r13d
        mov      dword ptr [rbp-0x30], eax
        jl       G_M52998_IG19
-						;; size=64 bbWeight=4 PerfScore 83.00
+						;; size=67 bbWeight=4 PerfScore 83.00
 G_M52998_IG23:
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        call     [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        mov      rdi, rax
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
        mov      rdi, gword ptr [rax+0x08]
        mov      esi, 1
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x48]
        call     [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
-       cmp      gword ptr [rbp-0x58], 0
+       cmp      gword ptr [rbp-0x98], 0
        je       SHORT G_M52998_IG24
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        call     [rcx]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        mov      rdi, gword ptr [rax+0x08]
        mov      eax, dword ptr [rdi+0x08]
        dec      eax
        jmp      SHORT G_M52998_IG25
-						;; size=87 bbWeight=0.50 PerfScore 16.88
+						;; size=96 bbWeight=0.50 PerfScore 16.88
 G_M52998_IG24:
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        call     [rcx]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
        mov      rdi, gword ptr [rax+0x08]
        mov      eax, dword ptr [rdi+0x08]
-						;; size=23 bbWeight=0.50 PerfScore 4.12
+						;; size=26 bbWeight=0.50 PerfScore 4.12
 G_M52998_IG25:
        mov      dword ptr [rbp-0x2C], eax
        inc      r13d
        cmp      r13d, eax
        jge      G_M52998_IG32
 						;; size=15 bbWeight=0.50 PerfScore 1.25
 G_M52998_IG26:
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        mov      rcx, gword ptr [rdi+0x18]
        test     rcx, rcx
        jne      SHORT G_M52998_IG29
-						;; size=13 bbWeight=4 PerfScore 17.00
+						;; size=16 bbWeight=4 PerfScore 17.00
 G_M52998_IG27:
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.X509Certificates.X509ChainElementCollection
        call     CORINFO_HELP_NEWSFAST
        mov      rcx, rax
-       mov      gword ptr [rbp-0x98], rcx
+       mov      gword ptr [rbp-0xD8], rcx
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M52998_IG31
 						;; size=44 bbWeight=2 PerfScore 13.50
 G_M52998_IG28:
        mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[System.Security.Cryptography.X509Certificates.X509ChainElement]:Value
        mov      rsi, gword ptr [rdi]
        lea      rdi, bword ptr [rcx+0x08]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0xA0]
        lea      rdi, bword ptr [rdi+0x18]
-       mov      rsi, gword ptr [rbp-0x98]
+       mov      rsi, gword ptr [rbp-0xD8]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rcx, gword ptr [rbp-0x98]
-						;; size=49 bbWeight=2 PerfScore 16.50
+       mov      rcx, gword ptr [rbp-0xD8]
+						;; size=52 bbWeight=2 PerfScore 16.50
 G_M52998_IG29:
        mov      rdi, rcx
        mov      esi, r13d
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
        cmp      dword ptr [rdi], edi
        call     [rcx]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
        mov      rdi, gword ptr [rax+0x08]
        mov      esi, 1
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x48]
        call     [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
        inc      r13d
        mov      eax, dword ptr [rbp-0x2C]
        cmp      r13d, eax
        jl       G_M52998_IG26
        jmp      SHORT G_M52998_IG32
 						;; size=55 bbWeight=4 PerfScore 82.00
 G_M52998_IG30:
        mov      rdi, 0xD1FFAB1E      ; System.Array+EmptyArray`1[System.Security.Cryptography.X509Certificates.X509ChainElement]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       mov      rdx, gword ptr [rbp-0x90]
+       mov      rdx, gword ptr [rbp-0xD0]
        jmp      G_M52998_IG21
 						;; size=27 bbWeight=0 PerfScore 0.00
 G_M52998_IG31:
        mov      rdi, 0xD1FFAB1E      ; System.Array+EmptyArray`1[System.Security.Cryptography.X509Certificates.X509ChainElement]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       mov      rcx, gword ptr [rbp-0x98]
+       mov      rcx, gword ptr [rbp-0xD8]
        jmp      G_M52998_IG28
 						;; size=27 bbWeight=0 PerfScore 0.00
 G_M52998_IG32:
        xor      rdi, rdi
-       mov      r13, gword ptr [rbp-0x60]
+       mov      r13, gword ptr [rbp-0xA0]
        mov      gword ptr [r13+0x10], rdi
-						;; size=10 bbWeight=0.50 PerfScore 1.12
+						;; size=13 bbWeight=0.50 PerfScore 1.12
 G_M52998_IG33:
        mov      gword ptr [r13+0x18], rdi
        mov      byte  ptr [r13+0x30], 0
        mov      rdi, gword ptr [r13+0x20]
        test     rdi, rdi
        je       SHORT G_M52998_IG34
        xor      r11, r11
        mov      gword ptr [r13+0x20], r11
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=38 bbWeight=0.50 PerfScore 4.88
 G_M52998_IG34:
        mov      rdi, r13
        call     System.GC:_SuppressFinalize(System.Object)
        mov      rdi, 0xD1FFAB1E      ; System.Collections.ObjectModel.ReadOnlyCollection`1[System.Security.Cryptography.X509Certificates.X509Certificate2]
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
-       mov      rax, gword ptr [rbp-0x50]
+       mov      rax, gword ptr [rbp-0x90]
        test     rax, rax
        je       G_M52998_IG42
        lea      rdi, bword ptr [r13+0x08]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Net.Security.SslStreamCertificateContext
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x70], rax
+       mov      gword ptr [rbp-0xB0], rax
        mov      rdi, rax
        mov      rsi, r15
        mov      rdx, r13
        mov      rcx, rbx
        mov      r8, 0xD1FFAB1E      ; code for System.Net.Security.SslStreamCertificateContext:.ctor(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Security.Cryptography.X509Certificates.X509Certificate2],System.Net.Security.SslCertificateTrust):this
        call     [r8]System.Net.Security.SslStreamCertificateContext:.ctor(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Security.Cryptography.X509Certificates.X509Certificate2],System.Net.Security.SslCertificateTrust):this
        movzx    rdi, r14b
        movzx    rsi, r12b
        or       edi, esi
-       mov      r13, gword ptr [rbp-0x70]
+       mov      r13, gword ptr [rbp-0xB0]
        mov      byte  ptr [r13+0x60], dil
        lea      rdi, bword ptr [r13+0x48]
-       mov      rsi, gword ptr [rbp-0x58]
+       mov      rsi, gword ptr [rbp-0x98]
        call     CORINFO_HELP_ASSIGN_REF
        cmp      byte  ptr [r13+0x60], 0
        jne      SHORT G_M52998_IG36
-						;; size=133 bbWeight=1 PerfScore 22.50
+						;; size=145 bbWeight=1 PerfScore 22.50
 G_M52998_IG35:
        lea      rsi, [rbp-0x48]
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStreamCertificateContext:GetOcspResponseAsync():System.Threading.Tasks.ValueTask`1[ubyte[]]:this
        call     [rax]System.Net.Security.SslStreamCertificateContext:GetOcspResponseAsync():System.Threading.Tasks.ValueTask`1[ubyte[]]:this
        mov      rbx, gword ptr [rbp-0x48]
        test     rbx, rbx
        jne      SHORT G_M52998_IG38
        mov      r15, gword ptr [rbp-0x40]
        test     r15, r15
        jne      SHORT G_M52998_IG39
        mov      rax, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rax], 1
        je       G_M52998_IG41
 						;; size=56 bbWeight=0.50 PerfScore 6.38
 G_M52998_IG36:
        mov      rax, r13
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M52998_IG37:
-       add      rsp, 136
+       add      rsp, 200
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 G_M52998_IG38:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task`1[ubyte[]]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        jne      SHORT G_M52998_IG36
        lea      rdi, [rbp-0x48]
        mov      rdx, rbx
        mov      rsi, 0xD1FFAB1E      ; System.Threading.Tasks.ValueTask`1[ubyte[]]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.ValueTask`1[System.__Canon]:GetTaskForValueTaskSource(System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]):System.Threading.Tasks.Task`1[System.__Canon]:this
        call     [rax]System.Threading.Tasks.ValueTask`1[System.__Canon]:GetTaskForValueTaskSource(System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]):System.Threading.Tasks.Task`1[System.__Canon]:this
        jmp      SHORT G_M52998_IG36
 						;; size=61 bbWeight=0.50 PerfScore 5.62
 G_M52998_IG39:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task`1[ubyte[]]
-       call     CORINFO_HELP_NEWSFAST
-       mov      dword ptr [rax+0x34], 0xD1FFAB1E
-       lea      rdi, bword ptr [rax+0x38]
-       mov      rsi, r15
-       call     CORINFO_HELP_ASSIGN_REF
+       mov      qword ptr [rbp-0x88], rdi
+       mov      dword ptr [rbp-0x54], 0xD1FFAB1E
+       mov      gword ptr [rbp-0x50], r15
        jmp      SHORT G_M52998_IG36
-						;; size=36 bbWeight=0.50 PerfScore 3.00
+						;; size=30 bbWeight=0.50 PerfScore 2.62
 G_M52998_IG40:
        mov      rdi, 0xD1FFAB1E      ; System.Array+EmptyArray`1[System.Security.Cryptography.X509Certificates.X509Certificate2]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M52998_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M52998_IG41:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task`1[ubyte[]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M52998_IG36
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M52998_IG42:
        mov      edi, 20
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M52998_IG43:
        mov      rdi, 0xD1FFAB1E      ; System.NotSupportedException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_ssl_io_no_server_cert():System.String
        call     [rax]System.SR:get_net_ssl_io_no_server_cert():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.NotSupportedException:.ctor(System.String):this
        call     [rax]System.NotSupportedException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M52998_IG44:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0xB0]
+       lea      rbp, [rbp+0xF0]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M52998_IG45:
        xor      rdi, rdi
-       mov      r13, gword ptr [rbp-0x60]
+       mov      r13, gword ptr [rbp-0xA0]
        mov      gword ptr [r13+0x10], rdi
-						;; size=10 bbWeight=0 PerfScore 0.00
+						;; size=13 bbWeight=0 PerfScore 0.00
 G_M52998_IG46:
        mov      gword ptr [r13+0x18], rdi
        mov      byte  ptr [r13+0x30], 0
        mov      rdi, gword ptr [r13+0x20]
        test     rdi, rdi
        je       SHORT G_M52998_IG47
        xor      r11, r11
        mov      gword ptr [r13+0x20], r11
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=38 bbWeight=0 PerfScore 0.00
 G_M52998_IG47:
        mov      rdi, r13
        call     System.GC:_SuppressFinalize(System.Object)
        nop      
 						;; size=9 bbWeight=0 PerfScore 0.00
 G_M52998_IG48:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2043, prolog size 63, PerfScore 502.65, instruction count 461, allocated bytes for code 2043 (MethodHash=48fb30f9) for method System.Net.Security.SslStreamCertificateContext:Create(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,ubyte,System.Net.Security.SslCertificateTrust,ubyte):System.Net.Security.SslStreamCertificateContext (FullOpts)
+; Total bytes of code 2173, prolog size 73, PerfScore 504.27, instruction count 460, allocated bytes for code 2173 (MethodHash=48fb30f9) for method System.Net.Security.SslStreamCertificateContext:Create(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,ubyte,System.Net.Security.SslCertificateTrust,ubyte):System.Net.Security.SslStreamCertificateContext (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/5a40c7fedd9a725e83a263a4ef4ad731

@MihuBot
Copy link
Owner Author

MihuBot commented Jun 25, 2024

Top method improvements

-379 (-39.64 % of base) - System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
 ; Assembly listing for method System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
-; fully interruptible
+; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 18, 10   )     ref  ->  rbx         this class-hnd single-def <System.Data.RBTree`1[System.Numerics.Vector`1[float]]>
-;  V01 arg1         [V01,T03] (  9,  6   )     int  ->  r15         single-def
-;  V02 arg2         [V02,T49] (  7,  3.50)  simd32  ->  [rbp+0x10]  single-def <System.Numerics.Vector`1[float]>
-;  V03 loc0         [V03,T32] (  4,  2.50)     int  ->  rax        
+;  V00 this         [V00,T00] ( 10,  6   )     ref  ->  rbx         this class-hnd single-def <System.Data.RBTree`1[System.Numerics.Vector`1[float]]>
+;  V01 arg1         [V01,T01] (  7,  5   )     int  ->  r15         single-def
+;  V02 arg2         [V02,T51] (  4,  2   )  simd32  ->  [rbp+0x10]  single-def <System.Numerics.Vector`1[float]>
+;  V03 loc0         [V03,T20] (  4,  2.50)     int  ->  rax        
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T05] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "Single-def Box Helper" <System.Numerics.Vector`1[float]>
-;  V06 tmp2         [V06,T06] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Numerics.Vector`1[float]>
+;* V05 tmp1         [V05    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "Single-def Box Helper" <System.Numerics.Vector`1[float]>
+;* V06 tmp2         [V06    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "Single-def Box Helper" <System.Numerics.Vector`1[float]>
 ;* V07 tmp3         [V07    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V08 tmp4         [V08    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
-;  V09 tmp5         [V09,T47] (  3,  1.50)     int  ->  registers   "Inline return value spill temp"
-;  V10 tmp6         [V10,T29] (  5,  2.50)     int  ->  rdx         "Inline stloc first use temp"
-;  V11 tmp7         [V11,T01] ( 11, 11   )     int  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
-;  V12 tmp8         [V12,T07] (  3,  3   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Numerics.Vector`1[float]>
-;  V13 tmp9         [V13,T08] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Numerics.Vector`1[float]>
-;  V14 tmp10        [V14,T39] (  2,  2   )     int  ->  rdx         "dup spill"
-;  V15 tmp11        [V15,T40] (  2,  2   )     int  ->  rdx         "dup spill"
-;  V16 tmp12        [V16,T48] (  3,  1.50)     int  ->  rax         "Inline return value spill temp"
-;  V17 tmp13        [V17,T30] (  5,  2.50)     int  ->  r13         "Inline stloc first use temp"
-;  V18 tmp14        [V18,T02] ( 11, 11   )     int  ->  r15         "Inlining Arg"
-;  V19 tmp15        [V19,T09] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "Single-def Box Helper" <System.Numerics.Vector`1[float]>
-;  V20 tmp16        [V20,T10] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Numerics.Vector`1[float]>
-;  V21 tmp17        [V21,T41] (  2,  2   )     int  ->  r13         "dup spill"
-;  V22 tmp18        [V22,T42] (  2,  2   )     int  ->  r13         "dup spill"
-;  V23 tmp19        [V23,T11] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
-;  V24 tmp20        [V24,T12] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
-;  V25 tmp21        [V25,T13] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
-;  V26 tmp22        [V26,T14] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
-;  V27 tmp23        [V27,T15] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
-;  V28 tmp24        [V28,T16] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
-;  V29 tmp25        [V29,T17] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V30 tmp26        [V30,T18] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V31 tmp27        [V31,T43] (  2,  2   )     int  ->  rsi         "argument with side effect"
-;  V32 tmp28        [V32,T19] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V33 tmp29        [V33,T20] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V34 tmp30        [V34,T44] (  2,  2   )     int  ->  rsi         "argument with side effect"
-;  V35 tmp31        [V35,T21] (  3,  3   )     ref  ->  rax         single-def "arr expr"
-;  V36 tmp32        [V36,T22] (  3,  3   )     ref  ->  rax         single-def "arr expr"
-;  V37 tmp33        [V37,T23] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
-;  V38 tmp34        [V38,T24] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
-;  V39 tmp35        [V39,T25] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V40 tmp36        [V40,T26] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V41 tmp37        [V41,T45] (  2,  2   )     int  ->  rsi         "argument with side effect"
-;  V42 tmp38        [V42,T27] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V43 tmp39        [V43,T28] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V44 tmp40        [V44,T46] (  2,  2   )     int  ->  rsi         "argument with side effect"
-;  V45 cse0         [V45,T33] (  4,  2   )    long  ->  [rbp-0x38]  "CSE #06: conservative"
-;  V46 cse1         [V46,T34] (  4,  2   )    long  ->  [rbp-0x40]  spill-single-def "CSE #13: conservative"
-;  V47 cse2         [V47,T35] (  4,  2   )    long  ->  [rbp-0x48]  spill-single-def "CSE #20: conservative"
-;  V48 cse3         [V48,T36] (  4,  2   )    long  ->  [rbp-0x50]  "CSE #04: conservative"
-;  V49 cse4         [V49,T37] (  4,  2   )    long  ->  [rbp-0x58]  spill-single-def "CSE #11: conservative"
-;  V50 cse5         [V50,T38] (  4,  2   )    long  ->  r12         "CSE #18: conservative"
-;  V51 cse6         [V51,T31] (  5,  2.50)     int  ->  r12         "CSE #01: moderate"
-;  V52 cse7         [V52,T04] (  7,  3.50)    long  ->  r14         "CSE #03: moderate"
+;  V09 tmp5         [V09,T43] (  2,  1   )     int  ->  rax         "Inline return value spill temp"
+;  V10 tmp6         [V10,T17] (  5,  2.50)     int  ->  rax         "Inline stloc first use temp"
+;  V11 tmp7         [V11,T02] (  6,  6   )     int  ->  r12         "Inlining Arg"
+;* V12 tmp8         [V12    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "Single-def Box Helper" <System.Numerics.Vector`1[float]>
+;* V13 tmp9         [V13    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "Single-def Box Helper" <System.Numerics.Vector`1[float]>
+;  V14 tmp10        [V14,T24] (  2,  2   )     int  ->  rax         "dup spill"
+;  V15 tmp11        [V15,T25] (  2,  2   )     int  ->  rax         "dup spill"
+;  V16 tmp12        [V16,T44] (  2,  1   )     int  ->  rax         "Inline return value spill temp"
+;  V17 tmp13        [V17,T18] (  5,  2.50)     int  ->  registers   "Inline stloc first use temp"
+;  V18 tmp14        [V18,T03] (  6,  6   )     int  ->  r15         "Inlining Arg"
+;* V19 tmp15        [V19    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "Single-def Box Helper" <System.Numerics.Vector`1[float]>
+;* V20 tmp16        [V20    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "Single-def Box Helper" <System.Numerics.Vector`1[float]>
+;  V21 tmp17        [V21,T26] (  2,  2   )     int  ->  rax         "dup spill"
+;  V22 tmp18        [V22,T27] (  2,  2   )     int  ->  rax         "dup spill"
+;* V23 tmp19        [V23    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] "stack allocated boxed value class temp" <System.Collections.Generic.KeyValuePair`2[long,System.Numerics.Vector`1[float]]>
+;* V24 tmp20        [V24    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] "stack allocated boxed value class temp" <System.Collections.Generic.KeyValuePair`2[long,System.Numerics.Vector`1[float]]>
+;* V25 tmp21        [V25    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] "stack allocated boxed value class temp" <System.Collections.Generic.KeyValuePair`2[long,System.Numerics.Vector`1[float]]>
+;* V26 tmp22        [V26    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] "stack allocated boxed value class temp" <System.Collections.Generic.KeyValuePair`2[long,System.Numerics.Vector`1[float]]>
+;* V27 tmp23        [V27    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] "stack allocated boxed value class temp" <System.Collections.Generic.KeyValuePair`2[long,System.Numerics.Vector`1[float]]>
+;* V28 tmp24        [V28    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] "stack allocated boxed value class temp" <System.Collections.Generic.KeyValuePair`2[long,System.Numerics.Vector`1[float]]>
+;  V29 tmp25        [V29,T04] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
+;  V30 tmp26        [V30,T05] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
+;* V31 tmp27        [V31,T45] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
+;* V32 tmp28        [V32,T46] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
+;  V33 tmp29        [V33,T06] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
+;  V34 tmp30        [V34,T07] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
+;* V35 tmp31        [V35,T47] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
+;* V36 tmp32        [V36,T48] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
+;  V37 tmp33        [V37,T28] (  2,  2   )     int  ->  rsi         "argument with side effect"
+;  V38 tmp34        [V38,T08] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
+;  V39 tmp35        [V39,T09] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
+;  V40 tmp36        [V40,T29] (  2,  2   )     int  ->  rsi         "argument with side effect"
+;  V41 tmp37        [V41,T10] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
+;  V42 tmp38        [V42,T11] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
+;  V43 tmp39        [V43,T12] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
+;  V44 tmp40        [V44,T13] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
+;* V45 tmp41        [V45,T49] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
+;* V46 tmp42        [V46,T50] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
+;  V47 tmp43        [V47,T30] (  2,  2   )     int  ->  rsi         "argument with side effect"
+;  V48 tmp44        [V48,T14] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
+;  V49 tmp45        [V49,T15] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
+;  V50 tmp46        [V50,T31] (  2,  2   )     int  ->  rsi         "argument with side effect"
+;  V51 cse0         [V51,T32] (  2,  1   )     ref  ->  rdi         "CSE #07: conservative"
+;  V52 cse1         [V52,T33] (  2,  1   )     ref  ->  rsi         "CSE #16: conservative"
+;  V53 cse2         [V53,T34] (  2,  1   )     ref  ->  rsi         "CSE #27: conservative"
+;  V54 cse3         [V54,T40] (  2,  1   )   byref  ->  rdi         "CSE #11: conservative"
+;  V55 cse4         [V55,T41] (  2,  1   )   byref  ->  rsi         "CSE #20: conservative"
+;  V56 cse5         [V56,T42] (  2,  1   )   byref  ->  rsi         "CSE #31: conservative"
+;  V57 cse6         [V57,T35] (  3,  1.50)    long  ->  r13         "CSE #10: conservative"
+;  V58 cse7         [V58,T36] (  3,  1.50)    long  ->  [rbp-0x30]  spill-single-def "CSE #19: conservative"
+;  V59 cse8         [V59,T37] (  3,  1.50)    long  ->  r14         "CSE #30: conservative"
+;  V60 cse9         [V60,T16] (  3,  1.50)     ref  ->  rsi         "CSE #03: moderate"
+;  V61 cse10        [V61,T38] (  3,  1.50)    long  ->  [rbp-0x38]  spill-single-def "CSE #14: conservative"
+;  V62 cse11        [V62,T21] (  3,  1.50)     ref  ->  rsi         "CSE #21: conservative"
+;  V63 cse12        [V63,T39] (  3,  1.50)    long  ->  r12         "CSE #25: conservative"
+;  V64 cse13        [V64,T19] (  5,  2.50)     int  ->  r14         "CSE #01: moderate"
+;  V65 cse14        [V65,T22] (  4,  2   )     int  ->  [rbp-0x3C]  spill-single-def "CSE #12: conservative"
+;  V66 cse15        [V66,T23] (  4,  2   )     int  ->  r13         "CSE #23: conservative"
 ;
-; Lcl frame size = 88
+; Lcl frame size = 56
 
 G_M21896_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 88
-       lea      rbp, [rsp+0x80]
+       sub      rsp, 56
+       lea      rbp, [rsp+0x60]
        mov      rbx, rdi
        mov      r15d, esi
-						;; size=28 bbWeight=1 PerfScore 7.25
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+						;; size=30 bbWeight=1 PerfScore 11.25
 G_M21896_IG02:
        mov      eax, -1
        test     r15d, r15d
-       je       G_M21896_IG09
+       je       G_M21896_IG06
 						;; size=14 bbWeight=1 PerfScore 1.50
 G_M21896_IG03:
-       mov      r14, 0xD1FFAB1E      ; System.Numerics.Vector`1[float]
-       mov      rdi, r14
-       call     CORINFO_HELP_NEWSFAST
-       mov      r13, rax
-       mov      rdi, gword ptr [rbx+0x08]
-       mov      r12d, r15d
-       sar      r12d, 16
-       cmp      r12d, dword ptr [rdi+0x08]
-       jae      G_M21896_IG14
-       mov      eax, r12d
-       mov      qword ptr [rbp-0x50], rax
+       mov      rsi, gword ptr [rbx+0x08]
+       mov      rdi, rsi
+       mov      r14d, r15d
+       sar      r14d, 16
+       cmp      r14d, dword ptr [rdi+0x08]
+       jae      G_M21896_IG12
+       mov      eax, r14d
        mov      rdi, gword ptr [rdi+8*rax+0x10]
        mov      rdi, gword ptr [rdi+0x08]
-       movzx    rcx, r15w
-       cmp      ecx, dword ptr [rdi+0x08]
-       jae      G_M21896_IG14
-       movzx    rcx, r15w
-       shl      rcx, 6
-       mov      qword ptr [rbp-0x38], rcx
-       vmovups  ymm0, ymmword ptr [rdi+rcx+0x28]
-       vmovups  ymmword ptr [r13+0x08], ymm0
-       mov      rdi, r14
-       call     CORINFO_HELP_NEWSFAST
-       vmovups  ymm0, ymmword ptr [rbp+0x10]
-       vmovups  ymmword ptr [rax+0x08], ymm0
-       cmp      r13, rax
-       jne      SHORT G_M21896_IG05
-       mov      rdi, rbx
-       mov      esi, r15d
-       mov      rax, 0xD1FFAB1E      ; code for System.Data.RBTree`1[System.Numerics.Vector`1[float]]:GetIndexByNode(int):int:this
-						;; size=134 bbWeight=0.50 PerfScore 18.00
-G_M21896_IG04:
-       vzeroupper 
-       add      rsp, 88
-       pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       tail.jmp [rax]System.Data.RBTree`1[System.Numerics.Vector`1[float]]:GetIndexByNode(int):int:this
-						;; size=20 bbWeight=0.50 PerfScore 3.12
-G_M21896_IG05:
-       mov      rdi, gword ptr [rbx+0x08]
-       cmp      r12d, dword ptr [rdi+0x08]
-       jae      G_M21896_IG14
-       mov      r13, qword ptr [rbp-0x50]
-       mov      rdi, gword ptr [rdi+8*r13+0x10]
-       mov      rdi, gword ptr [rdi+0x08]
        movzx    rax, r15w
        cmp      eax, dword ptr [rdi+0x08]
-       jae      G_M21896_IG14
-       mov      rax, qword ptr [rbp-0x38]
-       mov      ecx, dword ptr [rdi+rax+0x14]
-       mov      dword ptr [rbp-0x2C], ecx
-       mov      edx, -1
-       test     ecx, ecx
-       je       G_M21896_IG07
-       mov      rdi, r14
-       call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x60], rax
-       mov      rdi, gword ptr [rbx+0x08]
-       mov      ecx, dword ptr [rbp-0x2C]
-       mov      edx, ecx
-       sar      edx, 16
-       cmp      edx, dword ptr [rdi+0x08]
-       jae      G_M21896_IG14
+       jae      G_M21896_IG12
+       movzx    rax, r15w
+       mov      r13d, eax
+       shl      r13, 6
+       lea      rdi, bword ptr [rdi+r13+0x10]
+       mov      r12d, dword ptr [rdi+0x04]
+       mov      eax, -1
+       test     r12d, r12d
+       je       G_M21896_IG05
+       mov      ecx, r12d
+       sar      ecx, 16
+       mov      dword ptr [rbp-0x3C], ecx
+       cmp      ecx, dword ptr [rsi+0x08]
+       jae      G_M21896_IG12
        mov      edx, ecx
-       sar      edx, 16
-       mov      qword ptr [rbp-0x58], rdx
-       mov      rdi, gword ptr [rdi+8*rdx+0x10]
-       mov      rdi, gword ptr [rdi+0x08]
-       movzx    rsi, cx
-       cmp      esi, dword ptr [rdi+0x08]
-       jae      G_M21896_IG14
-       movzx    rsi, cx
-       shl      rsi, 6
-       mov      qword ptr [rbp-0x40], rsi
-       vmovups  ymm0, ymmword ptr [rdi+rsi+0x28]
-       vmovups  ymmword ptr [rax+0x08], ymm0
-       mov      rdi, r14
-       call     CORINFO_HELP_NEWSFAST
-       vmovups  ymm0, ymmword ptr [rbp+0x10]
-       vmovups  ymmword ptr [rax+0x08], ymm0
-       mov      rdi, gword ptr [rbp-0x60]
-       cmp      rdi, rax
-       jne      SHORT G_M21896_IG06
-       mov      rdi, rbx
-       mov      esi, dword ptr [rbp-0x2C]
-       mov      rax, 0xD1FFAB1E      ; code for System.Data.RBTree`1[System.Numerics.Vector`1[float]]:GetIndexByNode(int):int:this
-       call     [rax]System.Data.RBTree`1[System.Numerics.Vector`1[float]]:GetIndexByNode(int):int:this
-       jmp      G_M21896_IG08
-						;; size=199 bbWeight=0.50 PerfScore 32.75
-G_M21896_IG06:
-       mov      rsi, gword ptr [rbx+0x08]
-       mov      eax, dword ptr [rbp-0x2C]
-       mov      edi, eax
-       sar      edi, 16
-       cmp      edi, dword ptr [rsi+0x08]
-       jae      G_M21896_IG14
-       mov      rcx, qword ptr [rbp-0x58]
-       mov      rsi, gword ptr [rsi+8*rcx+0x10]
+       mov      qword ptr [rbp-0x38], rdx
+       mov      rsi, gword ptr [rsi+8*rdx+0x10]
        mov      rsi, gword ptr [rsi+0x08]
-       movzx    rdi, ax
+       movzx    rdi, r12w
        cmp      edi, dword ptr [rsi+0x08]
-       jae      G_M21896_IG14
-       mov      rdx, qword ptr [rbp-0x40]
-       mov      esi, dword ptr [rsi+rdx+0x14]
-       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       jae      G_M21896_IG12
+       movzx    rdi, r12w
+       mov      r8d, edi
+       shl      r8, 6
+       mov      qword ptr [rbp-0x30], r8
+       lea      rsi, bword ptr [rsi+r8+0x10]
+       mov      esi, dword ptr [rsi+0x04]
+       vmovups  ymmword ptr [rbp+0x10], ymm0
        vmovups  ymmword ptr [rsp], ymm0
        mov      rdi, rbx
-       mov      r8, 0xD1FFAB1E      ; code for System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
-       call     [r8]System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
-       mov      edx, eax
-       cmp      edx, -1
+       mov      rax, 0xD1FFAB1E      ; code for System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
+       call     [rax]System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
+       cmp      eax, -1
        jne      SHORT G_M21896_IG07
        mov      rsi, gword ptr [rbx+0x08]
-       mov      edi, dword ptr [rbp-0x2C]
-       mov      eax, edi
-       sar      eax, 16
-       cmp      eax, dword ptr [rsi+0x08]
-       jae      G_M21896_IG14
-       mov      rcx, qword ptr [rbp-0x58]
-       mov      rsi, gword ptr [rsi+8*rcx+0x10]
+       mov      edi, dword ptr [rbp-0x3C]
+       cmp      edi, dword ptr [rsi+0x08]
+       jae      G_M21896_IG12
+       mov      rdi, qword ptr [rbp-0x38]
+       mov      rsi, gword ptr [rsi+8*rdi+0x10]
        mov      rsi, gword ptr [rsi+0x08]
-       movzx    rdi, di
+       movzx    rdi, r12w
        cmp      edi, dword ptr [rsi+0x08]
-       jae      G_M21896_IG14
-       mov      rdi, qword ptr [rbp-0x40]
-       mov      esi, dword ptr [rsi+rdi+0x18]
+						;; size=218 bbWeight=0.50 PerfScore 31.62
+G_M21896_IG04:
+       jae      G_M21896_IG12
+       mov      r12, qword ptr [rbp-0x30]
+       mov      esi, dword ptr [rsi+r12+0x18]
        vmovups  ymm0, ymmword ptr [rbp+0x10]
        vmovups  ymmword ptr [rsp], ymm0
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
        call     [rax]System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
-       mov      edx, eax
-						;; size=168 bbWeight=0.50 PerfScore 29.38
-G_M21896_IG07:
-       mov      eax, edx
-						;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M21896_IG08:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+						;; size=45 bbWeight=0.50 PerfScore 8.25
+G_M21896_IG05:
        cmp      eax, -1
-       je       SHORT G_M21896_IG10
+       je       SHORT G_M21896_IG08
 						;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M21896_IG09:
-       vzeroupper 
-       add      rsp, 88
+G_M21896_IG06:
+       add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=18 bbWeight=0.50 PerfScore 2.62
-G_M21896_IG10:
-       mov      rdi, qword ptr [rbp-0x38]
-       mov      rax, gword ptr [rbx+0x08]
-       cmp      r12d, dword ptr [rax+0x08]
-       jae      G_M21896_IG14
-       mov      rax, gword ptr [rax+8*r13+0x10]
-       mov      rax, gword ptr [rax+0x08]
-       movzx    rcx, r15w
-       cmp      ecx, dword ptr [rax+0x08]
-       jae      G_M21896_IG14
-       mov      r15d, dword ptr [rax+rdi+0x18]
-       mov      r13d, -1
-       test     r15d, r15d
-       je       G_M21896_IG12
-       mov      rdi, r14
-       call     CORINFO_HELP_NEWSFAST
-       mov      r13, rax
-       mov      rdi, gword ptr [rbx+0x08]
-       mov      eax, r15d
-       sar      eax, 16
-       cmp      eax, dword ptr [rdi+0x08]
-       jae      G_M21896_IG14
-       mov      eax, r15d
-       sar      eax, 16
-       mov      r12d, eax
-       mov      rdi, gword ptr [rdi+8*r12+0x10]
+						;; size=15 bbWeight=0.50 PerfScore 2.12
+G_M21896_IG07:
+       vmovups  ymm0, ymmword ptr [rbp+0x10]
+       jmp      SHORT G_M21896_IG05
+						;; size=7 bbWeight=0.25 PerfScore 1.50
+G_M21896_IG08:
+       mov      rsi, gword ptr [rbx+0x08]
+       mov      rdi, rsi
+       cmp      r14d, dword ptr [rdi+0x08]
+       jae      G_M21896_IG12
+       mov      eax, r14d
+       mov      rdi, gword ptr [rdi+8*rax+0x10]
        mov      rdi, gword ptr [rdi+0x08]
        movzx    rax, r15w
        cmp      eax, dword ptr [rdi+0x08]
-       jae      G_M21896_IG14
-       movzx    rax, r15w
-       shl      rax, 6
-       mov      qword ptr [rbp-0x48], rax
-       vmovups  ymm0, ymmword ptr [rdi+rax+0x28]
-       vmovups  ymmword ptr [r13+0x08], ymm0
-       mov      rdi, r14
-       call     CORINFO_HELP_NEWSFAST
-       vmovups  ymm0, ymmword ptr [rbp+0x10]
-       vmovups  ymmword ptr [rax+0x08], ymm0
-       cmp      r13, rax
-       jne      SHORT G_M21896_IG11
-       mov      rdi, rbx
-       mov      esi, r15d
-       mov      rax, 0xD1FFAB1E      ; code for System.Data.RBTree`1[System.Numerics.Vector`1[float]]:GetIndexByNode(int):int:this
-       call     [rax]System.Data.RBTree`1[System.Numerics.Vector`1[float]]:GetIndexByNode(int):int:this
-       jmp      G_M21896_IG13
-						;; size=191 bbWeight=0.50 PerfScore 29.62
-G_M21896_IG11:
-       mov      rsi, gword ptr [rbx+0x08]
-       mov      edi, r15d
-       sar      edi, 16
-       cmp      edi, dword ptr [rsi+0x08]
-       jae      G_M21896_IG14
+       jae      G_M21896_IG12
+       mov      r15d, dword ptr [rdi+r13+0x18]
+       mov      r14d, -1
+       test     r15d, r15d
+       je       G_M21896_IG09
+       mov      r13d, r15d
+       sar      r13d, 16
+       cmp      r13d, dword ptr [rsi+0x08]
+       jae      G_M21896_IG12
+       mov      r12d, r13d
        mov      rsi, gword ptr [rsi+8*r12+0x10]
        mov      rsi, gword ptr [rsi+0x08]
        movzx    rdi, r15w
        cmp      edi, dword ptr [rsi+0x08]
-       jae      G_M21896_IG14
-       mov      r14, qword ptr [rbp-0x48]
-       mov      esi, dword ptr [rsi+r14+0x14]
+       jae      G_M21896_IG12
+       movzx    rdi, r15w
+       mov      r14d, edi
+       shl      r14, 6
+       lea      rsi, bword ptr [rsi+r14+0x10]
+       mov      esi, dword ptr [rsi+0x04]
        vmovups  ymmword ptr [rbp+0x10], ymm0
        vmovups  ymmword ptr [rsp], ymm0
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
        call     [rax]System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
-       mov      r13d, eax
-       cmp      r13d, -1
-       jne      SHORT G_M21896_IG12
+       cmp      eax, -1
+       jne      SHORT G_M21896_IG11
        mov      rsi, gword ptr [rbx+0x08]
-       mov      edi, r15d
-       sar      edi, 16
-       cmp      edi, dword ptr [rsi+0x08]
-       jae      SHORT G_M21896_IG14
+       cmp      r13d, dword ptr [rsi+0x08]
+       jae      SHORT G_M21896_IG12
        mov      rsi, gword ptr [rsi+8*r12+0x10]
        mov      rsi, gword ptr [rsi+0x08]
        movzx    rdi, r15w
        cmp      edi, dword ptr [rsi+0x08]
-       jae      SHORT G_M21896_IG14
+       jae      SHORT G_M21896_IG12
        mov      esi, dword ptr [rsi+r14+0x18]
        vmovups  ymm0, ymmword ptr [rbp+0x10]
        vmovups  ymmword ptr [rsp], ymm0
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
        call     [rax]System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this
-       mov      r13d, eax
-						;; size=150 bbWeight=0.50 PerfScore 25.38
-G_M21896_IG12:
-       mov      eax, r13d
+       mov      r14d, eax
+						;; size=214 bbWeight=0.50 PerfScore 33.62
+G_M21896_IG09:
+       mov      eax, r14d
 						;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M21896_IG13:
-       vzeroupper 
-       add      rsp, 88
+G_M21896_IG10:
+       add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=18 bbWeight=0.50 PerfScore 2.62
-G_M21896_IG14:
+						;; size=15 bbWeight=0.50 PerfScore 2.12
+G_M21896_IG11:
+       mov      r14d, eax
+       jmp      SHORT G_M21896_IG09
+						;; size=5 bbWeight=0.25 PerfScore 0.56
+G_M21896_IG12:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 956, prolog size 28, PerfScore 153.12, instruction count 249, allocated bytes for code 956 (MethodHash=0301aa77) for method System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this (FullOpts)
+; Total bytes of code 577, prolog size 19, PerfScore 93.31, instruction count 153, allocated bytes for code 577 (MethodHash=0301aa77) for method System.Data.RBTree`1[System.Numerics.Vector`1[float]]:IndexOf(int,System.Numerics.Vector`1[float]):int:this (FullOpts)
-192 (-19.79 % of base) - System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this
 ; Assembly listing for method System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):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; 36 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 12,  7.50)     ref  ->  rbx         this class-hnd single-def <System.Linq.Parallel.ConcatQueryOperator`1[double]>
 ;  V01 TypeCtx      [V01,T02] (  7,  4.20)    long  ->  rdi         single-def
 ;  V02 arg1         [V02,T01] (  7,  4.50)     ref  ->  r15         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[double,System.__Canon]>
 ;  V03 arg2         [V03,T03] (  6,  4   )     ref  ->  r14         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]]>
 ;  V04 arg3         [V04,T04] (  6,  4   )     ref  ->  r13         class-hnd single-def <System.Linq.Parallel.IPartitionedStreamRecipient`1[double]>
-;  V05 arg4         [V05,T08] (  5,  3.50)   ubyte  ->  r12         single-def
-;  V06 arg5         [V06,T10] (  3,  3   )  struct (48) [rbp+0x10]  do-not-enreg[S] single-def <System.Linq.Parallel.QuerySettings>
-;  V07 loc0         [V07,T20] (  4,  2   )     ref  ->  r15         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[double,int]>
+;  V05 arg4         [V05,T05] (  5,  3.50)   ubyte  ->  r12         single-def
+;  V06 arg5         [V06,T07] (  3,  3   )  struct (48) [rbp+0x10]  do-not-enreg[S] single-def <System.Linq.Parallel.QuerySettings>
+;  V07 loc0         [V07,T17] (  4,  2   )     ref  ->  r15         class-hnd single-def <System.Linq.Parallel.PartitionedStream`2[double,int]>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V09 tmp1         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V10 tmp2         [V10,T32] (  2,  2   )     int  ->  [rbp-0x34]  spill-single-def "impAppendStmt"
+;  V10 tmp2         [V10,T29] (  2,  2   )     int  ->  [rbp-0x34]  spill-single-def "impAppendStmt"
 ;* V11 tmp3         [V11    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V12 tmp4         [V12,T24] (  2,  2   )     ref  ->  [rbp-0x68]  class-hnd spill-single-def "Inlining Arg" <System.Linq.Parallel.QueryOperator`1[double]>
-;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline return value spill temp" <System.Linq.Parallel.ListQueryResults`1[double]>
+;  V12 tmp4         [V12,T21] (  2,  2   )     ref  ->  [rbp-0x58]  class-hnd spill-single-def "Inlining Arg" <System.Linq.Parallel.QueryOperator`1[double]>
+;* V13 tmp5         [V13    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Linq.Parallel.ListQueryResults`1[double]>
 ;* V14 tmp6         [V14    ] (  0,  0   )  struct (48) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Linq.Parallel.QuerySettings>
 ;* V15 tmp7         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Threading.Tasks.TaskScheduler>
-;  V16 tmp8         [V16,T33] (  2,  2   )   ubyte  ->  [rbp-0x38]  spill-single-def "Inlining Arg"
+;  V16 tmp8         [V16,T30] (  2,  2   )   ubyte  ->  [rbp-0x38]  spill-single-def "Inlining Arg"
 ;* V17 tmp9         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Linq.Parallel.CancellationState>
-;  V18 tmp10        [V18,T19] (  4,  2.20)    long  ->  rsi         "Inlining Arg"
+;  V18 tmp10        [V18,T16] (  4,  2.20)    long  ->  rsi         "Inlining Arg"
 ;* V19 tmp11        [V19    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V20 tmp12        [V20,T05] (  6,  6   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Parallel.ListQueryResults`1[double]>
-;  V21 tmp13        [V21,T25] (  2,  2   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.MergeExecutor`1[double]>
-;  V22 tmp14        [V22,T26] (  2,  2   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <double[]>
-;  V23 tmp15        [V23,T34] (  2,  2   )     int  ->  [rbp-0x3C]  spill-single-def "impAppendStmt"
+;* V20 tmp12        [V20    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Linq.Parallel.ListQueryResults`1[double]>
+;  V21 tmp13        [V21,T22] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.MergeExecutor`1[double]>
+;* V22 tmp14        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <double[]>
+;  V23 tmp15        [V23,T31] (  2,  2   )     int  ->  [rbp-0x3C]  spill-single-def "impAppendStmt"
 ;* V24 tmp16        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Linq.Parallel.PartitionedStream`2[double,int]>
 ;* V25 tmp17        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Linq.Parallel.QueryOperator`1[double]>
-;* V26 tmp18        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline return value spill temp" <System.Linq.Parallel.ListQueryResults`1[double]>
+;* V26 tmp18        [V26    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Linq.Parallel.ListQueryResults`1[double]>
 ;* V27 tmp19        [V27    ] (  0,  0   )  struct (48) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Linq.Parallel.QuerySettings>
 ;* V28 tmp20        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Threading.Tasks.TaskScheduler>
-;  V29 tmp21        [V29,T35] (  2,  2   )   ubyte  ->   r8         "Inlining Arg"
+;  V29 tmp21        [V29,T32] (  2,  2   )   ubyte  ->   r8         "Inlining Arg"
 ;* V30 tmp22        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Linq.Parallel.CancellationState>
-;  V31 tmp23        [V31,T06] (  6,  6   )     ref  ->  [rbp-0x78]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Parallel.ListQueryResults`1[double]>
-;  V32 tmp24        [V32,T27] (  2,  2   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.MergeExecutor`1[double]>
-;  V33 tmp25        [V33,T28] (  2,  2   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <double[]>
-;  V34 tmp26        [V34,T09] (  6,  3.40)    long  ->  [rbp-0x48]  "Inlining Arg"
+;* V31 tmp23        [V31    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Linq.Parallel.ListQueryResults`1[double]>
+;  V32 tmp24        [V32,T23] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.MergeExecutor`1[double]>
+;* V33 tmp25        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <double[]>
+;  V34 tmp26        [V34,T06] (  6,  3.40)    long  ->  [rbp-0x48]  "Inlining Arg"
 ;* V35 tmp27        [V35    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V36 tmp28        [V36,T36] (  2,  2   )     int  ->  [rbp-0x4C]  spill-single-def "impAppendStmt"
-;  V37 tmp29        [V37,T44] (  2,  1   )     ref  ->  r12         class-hnd single-def "Inline stloc first use temp" <System.Linq.Parallel.PartitionedStream`2[double,int]>
+;  V36 tmp28        [V36,T33] (  2,  2   )     int  ->  [rbp-0x4C]  spill-single-def "impAppendStmt"
+;  V37 tmp29        [V37,T38] (  2,  1   )     ref  ->  r12         class-hnd single-def "Inline stloc first use temp" <System.Linq.Parallel.PartitionedStream`2[double,int]>
 ;* V38 tmp30        [V38    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V39 tmp31        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Linq.Parallel.QueryOperator`1[double]>
-;* V40 tmp32        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline return value spill temp" <System.Linq.Parallel.ListQueryResults`1[double]>
+;* V40 tmp32        [V40    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Linq.Parallel.ListQueryResults`1[double]>
 ;* V41 tmp33        [V41    ] (  0,  0   )  struct (48) zero-ref    do-not-enreg[SF] ld-addr-op "Inlining Arg" <System.Linq.Parallel.QuerySettings>
 ;* V42 tmp34        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Threading.Tasks.TaskScheduler>
-;  V43 tmp35        [V43,T37] (  2,  2   )   ubyte  ->   r8         "Inlining Arg"
+;  V43 tmp35        [V43,T34] (  2,  2   )   ubyte  ->   r8         "Inlining Arg"
 ;* V44 tmp36        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Linq.Parallel.CancellationState>
-;  V45 tmp37        [V45,T07] (  6,  6   )     ref  ->  [rbp-0x80]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Parallel.ListQueryResults`1[double]>
-;  V46 tmp38        [V46,T29] (  2,  2   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.MergeExecutor`1[double]>
-;  V47 tmp39        [V47,T30] (  2,  2   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <double[]>
-;* V48 tmp40        [V48    ] (  0,  0   )     ref  ->  zero-ref    single-def "V14.[000..008)"
-;* V49 tmp41        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "V14.[008..016)"
-;* V50 tmp42        [V50    ] (  0,  0   )     int  ->  zero-ref    "V14.[016..020)"
-;* V51 tmp43        [V51    ] (  0,  0   )     ref  ->  zero-ref    single-def "V27.[000..008)"
-;* V52 tmp44        [V52    ] (  0,  0   )     ref  ->  zero-ref    single-def "V27.[008..016)"
-;* V53 tmp45        [V53    ] (  0,  0   )     int  ->  zero-ref    "V27.[016..020)"
-;* V54 tmp46        [V54    ] (  0,  0   )     ref  ->  zero-ref    single-def "V41.[000..008)"
-;* V55 tmp47        [V55    ] (  0,  0   )     ref  ->  zero-ref    single-def "V41.[008..016)"
-;* V56 tmp48        [V56    ] (  0,  0   )     int  ->  zero-ref    "V41.[016..020)"
-;  V57 tmp49        [V57,T16] (  4,  2.50)     ref  ->  [rbp-0x88]  spill-single-def "V06.[000..008)"
-;  V58 tmp50        [V58,T17] (  4,  2.50)     ref  ->  [rbp-0x90]  spill-single-def "V06.[008..016)"
-;  V59 tmp51        [V59,T18] (  4,  2.50)     int  ->  [rbp-0x50]  spill-single-def "V06.[016..020)"
-;  V60 tmp52        [V60,T38] (  2,  2   )    long  ->  rsi         "argument with side effect"
-;  V61 tmp53        [V61,T39] (  2,  2   )    long  ->  rsi         "argument with side effect"
-;  V62 tmp54        [V62,T40] (  2,  2   )    long  ->  rdi         "argument with side effect"
-;  V63 tmp55        [V63,T31] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
-;  V64 cse0         [V64,T41] (  3,  1.50)     int  ->  [rbp-0x54]  spill-single-def "CSE #04: moderate"
-;  V65 cse1         [V65,T42] (  3,  1.50)     int  ->  [rbp-0x58]  spill-single-def "CSE #01: moderate"
-;  V66 cse2         [V66,T43] (  3,  1.50)     int  ->  [rbp-0x5C]  spill-single-def "CSE #08: moderate"
-;  V67 rat0         [V67,T11] (  3,  2.80)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
-;  V68 rat1         [V68,T21] (  3,  2   )    long  ->  rdi         "runtime lookup"
-;  V69 rat2         [V69,T12] (  3,  2.80)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
-;  V70 rat3         [V70,T13] (  3,  2.80)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
-;  V71 rat4         [V71,T22] (  3,  2   )    long  ->  rsi         "runtime lookup"
-;  V72 rat5         [V72,T14] (  3,  2.80)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
-;  V73 rat6         [V73,T23] (  3,  2   )    long  ->  rsi         "runtime lookup"
-;  V74 rat7         [V74,T15] (  3,  2.80)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
+;* V45 tmp37        [V45    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Linq.Parallel.ListQueryResults`1[double]>
+;  V46 tmp38        [V46,T24] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Linq.Parallel.MergeExecutor`1[double]>
+;* V47 tmp39        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <double[]>
+;* V48 tmp40        [V48    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] "stack allocated ref class temp" <System.Linq.Parallel.ListQueryResults`1[double]>
+;* V49 tmp41        [V49    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] "stack allocated ref class temp" <System.Linq.Parallel.ListQueryResults`1[double]>
+;* V50 tmp42        [V50    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] "stack allocated ref class temp" <System.Linq.Parallel.ListQueryResults`1[double]>
+;* V51 tmp43        [V51    ] (  0,  0   )     ref  ->  zero-ref    single-def "V14.[000..008)"
+;* V52 tmp44        [V52    ] (  0,  0   )     ref  ->  zero-ref    single-def "V14.[008..016)"
+;* V53 tmp45        [V53    ] (  0,  0   )     int  ->  zero-ref    "V14.[016..020)"
+;* V54 tmp46        [V54    ] (  0,  0   )     ref  ->  zero-ref    single-def "V27.[000..008)"
+;* V55 tmp47        [V55    ] (  0,  0   )     ref  ->  zero-ref    single-def "V27.[008..016)"
+;* V56 tmp48        [V56    ] (  0,  0   )     int  ->  zero-ref    "V27.[016..020)"
+;* V57 tmp49        [V57    ] (  0,  0   )     ref  ->  zero-ref    single-def "V41.[000..008)"
+;* V58 tmp50        [V58    ] (  0,  0   )     ref  ->  zero-ref    single-def "V41.[008..016)"
+;* V59 tmp51        [V59    ] (  0,  0   )     int  ->  zero-ref    "V41.[016..020)"
+;* V60 tmp52        [V60    ] (  0,  0   )    long  ->  zero-ref    "V48.[000..008)"
+;* V61 tmp53        [V61    ] (  0,  0   )     ref  ->  zero-ref    "V48.[008..016)"
+;* V62 tmp54        [V62    ] (  0,  0   )     int  ->  zero-ref    "V48.[016..020)"
+;* V63 tmp55        [V63    ] (  0,  0   )   ubyte  ->  zero-ref    "V48.[020..021)"
+;* V64 tmp56        [V64    ] (  0,  0   )    long  ->  zero-ref    "V49.[000..008)"
+;* V65 tmp57        [V65    ] (  0,  0   )     ref  ->  zero-ref    "V49.[008..016)"
+;* V66 tmp58        [V66    ] (  0,  0   )     int  ->  zero-ref    "V49.[016..020)"
+;* V67 tmp59        [V67    ] (  0,  0   )   ubyte  ->  zero-ref    "V49.[020..021)"
+;* V68 tmp60        [V68    ] (  0,  0   )    long  ->  zero-ref    "V50.[000..008)"
+;* V69 tmp61        [V69    ] (  0,  0   )     ref  ->  zero-ref    "V50.[008..016)"
+;* V70 tmp62        [V70    ] (  0,  0   )     int  ->  zero-ref    "V50.[016..020)"
+;* V71 tmp63        [V71    ] (  0,  0   )   ubyte  ->  zero-ref    "V50.[020..021)"
+;  V72 tmp64        [V72,T13] (  4,  2.50)     ref  ->  [rbp-0x60]  spill-single-def "V06.[000..008)"
+;  V73 tmp65        [V73,T14] (  4,  2.50)     ref  ->  [rbp-0x68]  spill-single-def "V06.[008..016)"
+;  V74 tmp66        [V74,T15] (  4,  2.50)     int  ->  [rbp-0x50]  spill-single-def "V06.[016..020)"
+;  V75 tmp67        [V75,T35] (  2,  2   )    long  ->  rsi         "argument with side effect"
+;  V76 tmp68        [V76,T25] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
+;  V77 tmp69        [V77,T36] (  2,  2   )    long  ->  rsi         "argument with side effect"
+;  V78 tmp70        [V78,T37] (  2,  2   )    long  ->  rdi         "argument with side effect"
+;  V79 tmp71        [V79,T26] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
+;  V80 tmp72        [V80,T27] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
+;  V81 tmp73        [V81,T28] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
+;  V82 rat0         [V82,T08] (  3,  2.80)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
+;  V83 rat1         [V83,T18] (  3,  2   )    long  ->  rdi         "runtime lookup"
+;  V84 rat2         [V84,T09] (  3,  2.80)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V85 rat3         [V85,T10] (  3,  2.80)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
+;  V86 rat4         [V86,T19] (  3,  2   )    long  ->  rsi         "runtime lookup"
+;  V87 rat5         [V87,T11] (  3,  2.80)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
+;  V88 rat6         [V88,T20] (  3,  2   )    long  ->  rsi         "runtime lookup"
+;  V89 rat7         [V89,T12] (  3,  2.80)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 120
+; Lcl frame size = 88
 
 G_M17093_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 120
-       lea      rbp, [rsp+0xA0]
+       sub      rsp, 88
+       lea      rbp, [rsp+0x80]
        mov      qword ptr [rbp-0x30], rsi
        mov      rbx, rdi
        mov      rdi, rsi
        mov      r15, rdx
        mov      r14, rcx
        mov      r13, r8
        mov      r12d, r9d
 						;; size=44 bbWeight=1 PerfScore 9.25
 G_M17093_IG02:
        mov      rax, gword ptr [rbp+0x10]
-       mov      gword ptr [rbp-0x88], rax
+       mov      gword ptr [rbp-0x60], rax
        mov      r10, gword ptr [rbp+0x18]
-       mov      gword ptr [rbp-0x90], r10
+       mov      gword ptr [rbp-0x68], r10
        mov      r11d, dword ptr [rbp+0x20]
        mov      dword ptr [rbp-0x50], r11d
        cmp      byte  ptr [rbx+0x50], 0
-       je       G_M17093_IG07
-						;; size=40 bbWeight=1 PerfScore 10.00
+       je       G_M17093_IG06
+						;; size=34 bbWeight=1 PerfScore 10.00
 G_M17093_IG03:
        mov      rsi, gword ptr [r15+0x08]
        mov      ecx, dword ptr [rsi+0x08]
-       mov      dword ptr [rbp-0x58], ecx
        mov      dword ptr [rbp-0x34], ecx
-       mov      r9, gword ptr [rbx+0x40]
-       mov      gword ptr [rbp-0x68], r9
+       mov      rdx, gword ptr [rbx+0x40]
+       mov      gword ptr [rbp-0x58], rdx
        mov      rsi, qword ptr [rdi+0x18]
        mov      rsi, qword ptr [rsi+0x20]
        test     rsi, rsi
-       je       G_M17093_IG15
-						;; size=38 bbWeight=0.50 PerfScore 7.12
+       je       G_M17093_IG14
+						;; size=35 bbWeight=0.50 PerfScore 6.62
 G_M17093_IG04:
-       movzx    r8, byte  ptr [r9+0x38]
-       mov      dword ptr [rbp-0x38], r8d
+       movzx    r9, byte  ptr [rdx+0x38]
+       mov      dword ptr [rbp-0x38], r9d
        mov      rdi, qword ptr [rsi+0x18]
        mov      rdi, qword ptr [rdi+0x10]
        test     rdi, rdi
-       je       G_M17093_IG16
+       je       G_M17093_IG15
 						;; size=26 bbWeight=0.50 PerfScore 4.12
 G_M17093_IG05:
        mov      gword ptr [rsp], r10
        mov      dword ptr [rsp+0x08], r11d
        mov      rsi, r15
        mov      r8, rax
-       mov      r9d, dword ptr [rbp-0x38]
        xor      edx, edx
        mov      ecx, 3
        mov      r15, 0xD1FFAB1E      ; code for System.Linq.Parallel.MergeExecutor`1[double]:Execute[System.__Canon](System.Linq.Parallel.PartitionedStream`2[double,System.__Canon],ubyte,int,System.Threading.Tasks.TaskScheduler,ubyte,System.Linq.Parallel.CancellationState,int):System.Linq.Parallel.MergeExecutor`1[double]
        call     [r15]System.Linq.Parallel.MergeExecutor`1[double]:Execute[System.__Canon](System.Linq.Parallel.PartitionedStream`2[double,System.__Canon],ubyte,int,System.Threading.Tasks.TaskScheduler,ubyte,System.Linq.Parallel.CancellationState,int):System.Linq.Parallel.MergeExecutor`1[double]
-       mov      r15, rax
-       mov      rdi, 0xD1FFAB1E      ; System.Linq.Parallel.ListQueryResults`1[double]
-       call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x70], rax
-       mov      rdi, gword ptr [r15+0x08]
+       mov      rdi, gword ptr [rax+0x08]
        mov      r11, 0xD1FFAB1E      ; code for System.Linq.Parallel.IMergeHelper`1[double]:GetResultsAsArray():double[]:this
        call     [r11]System.Linq.Parallel.IMergeHelper`1[double]:GetResultsAsArray():double[]:this
-       mov      r15, gword ptr [rbp-0x70]
-       lea      rdi, bword ptr [r15+0x08]
-       mov      rsi, rax
-       call     CORINFO_HELP_ASSIGN_REF
-       mov      eax, dword ptr [rbp-0x34]
-       mov      dword ptr [r15+0x10], eax
-       mov      byte  ptr [r15+0x14], r12b
-       movzx    rdx, byte  ptr [r15+0x14]
-       mov      esi, dword ptr [rbp-0x58]
-       mov      rdi, gword ptr [r15+0x08]
+       mov      rdi, rax
+       movzx    rdx, r12b
+       mov      esi, dword ptr [rbp-0x34]
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Parallel.ExchangeUtilities:PartitionDataSource[double](System.Collections.Generic.IEnumerable`1[double],int,ubyte):System.Linq.Parallel.PartitionedStream`2[double,int]
        call     [rax]System.Linq.Parallel.ExchangeUtilities:PartitionDataSource[double](System.Collections.Generic.IEnumerable`1[double],int,ubyte):System.Linq.Parallel.PartitionedStream`2[double,int]
        mov      r15, rax
        cmp      byte  ptr [rbx+0x51], 0
-       je       G_M17093_IG17
+       je       G_M17093_IG16
        mov      rdi, gword ptr [r15+0x08]
        mov      eax, dword ptr [rdi+0x08]
-       mov      dword ptr [rbp-0x54], eax
        mov      dword ptr [rbp-0x3C], eax
        mov      rdi, gword ptr [rbx+0x40]
        movzx    r8, byte  ptr [rdi+0x38]
-       mov      r11d, dword ptr [rbp-0x50]
-       mov      dword ptr [rsp], r11d
+       mov      r10d, dword ptr [rbp-0x50]
+       mov      dword ptr [rsp], r10d
        mov      rdi, r14
-       mov      r9, gword ptr [rbp-0x90]
-       mov      rcx, gword ptr [rbp-0x88]
+       mov      r9, gword ptr [rbp-0x68]
+       mov      rcx, gword ptr [rbp-0x60]
        xor      esi, esi
        mov      edx, 3
-       mov      r11, 0xD1FFAB1E      ; code for System.Linq.Parallel.MergeExecutor`1[double]:Execute[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],ubyte,int,System.Threading.Tasks.TaskScheduler,ubyte,System.Linq.Parallel.CancellationState,int):System.Linq.Parallel.MergeExecutor`1[double]
-       call     [r11]System.Linq.Parallel.MergeExecutor`1[double]:Execute[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],ubyte,int,System.Threading.Tasks.TaskScheduler,ubyte,System.Linq.Parallel.CancellationState,int):System.Linq.Parallel.MergeExecutor`1[double]
-       mov      r14, rax
-       mov      rdi, 0xD1FFAB1E      ; System.Linq.Parallel.ListQueryResults`1[double]
-       call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x78], rax
-       mov      rdi, gword ptr [r14+0x08]
-						;; size=235 bbWeight=0.50 PerfScore 27.88
-G_M17093_IG06:
+       mov      r10, 0xD1FFAB1E      ; code for System.Linq.Parallel.MergeExecutor`1[double]:Execute[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],ubyte,int,System.Threading.Tasks.TaskScheduler,ubyte,System.Linq.Parallel.CancellationState,int):System.Linq.Parallel.MergeExecutor`1[double]
+       call     [r10]System.Linq.Parallel.MergeExecutor`1[double]:Execute[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],ubyte,int,System.Threading.Tasks.TaskScheduler,ubyte,System.Linq.Parallel.CancellationState,int):System.Linq.Parallel.MergeExecutor`1[double]
+       mov      rdi, gword ptr [rax+0x08]
        mov      r11, 0xD1FFAB1E      ; code for System.Linq.Parallel.IMergeHelper`1[double]:GetResultsAsArray():double[]:this
        call     [r11]System.Linq.Parallel.IMergeHelper`1[double]:GetResultsAsArray():double[]:this
-       mov      r14, gword ptr [rbp-0x78]
-       lea      rdi, bword ptr [r14+0x08]
-       mov      rsi, rax
-       call     CORINFO_HELP_ASSIGN_REF
-       mov      edx, dword ptr [rbp-0x3C]
-       mov      dword ptr [r14+0x10], edx
-       mov      byte  ptr [r14+0x14], r12b
-       movzx    rdx, byte  ptr [r14+0x14]
-       mov      esi, dword ptr [rbp-0x54]
-       mov      rdi, gword ptr [r14+0x08]
+       mov      rdi, rax
+       movzx    rdx, r12b
+       mov      esi, dword ptr [rbp-0x3C]
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Parallel.ExchangeUtilities:PartitionDataSource[double](System.Collections.Generic.IEnumerable`1[double],int,ubyte):System.Linq.Parallel.PartitionedStream`2[double,int]
        call     [rax]System.Linq.Parallel.ExchangeUtilities:PartitionDataSource[double](System.Collections.Generic.IEnumerable`1[double],int,ubyte):System.Linq.Parallel.PartitionedStream`2[double,int]
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rcx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[int,int](System.Linq.Parallel.PartitionedStream`2[double,int],System.Linq.Parallel.PartitionedStream`2[double,int],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this
        call     [rax]System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[int,int](System.Linq.Parallel.PartitionedStream`2[double,int],System.Linq.Parallel.PartitionedStream`2[double,int],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this
-       jmp      G_M17093_IG18
-						;; size=93 bbWeight=0.50 PerfScore 11.75
-G_M17093_IG07:
+       jmp      G_M17093_IG17
+						;; size=213 bbWeight=0.50 PerfScore 26.88
+G_M17093_IG06:
        mov      rsi, qword ptr [rdi+0x18]
        mov      rcx, qword ptr [rsi+0x18]
        test     rcx, rcx
-       je       G_M17093_IG10
+       je       G_M17093_IG09
 						;; size=17 bbWeight=0.50 PerfScore 2.62
-G_M17093_IG08:
+G_M17093_IG07:
        cmp      byte  ptr [rbx+0x51], 0
-       je       G_M17093_IG11
+       je       G_M17093_IG10
        mov      qword ptr [rbp-0x48], rcx
        mov      rdi, gword ptr [r15+0x08]
        mov      edx, dword ptr [rdi+0x08]
-       mov      dword ptr [rbp-0x5C], edx
        mov      dword ptr [rbp-0x4C], edx
        mov      rdi, gword ptr [rbx+0x40]
        movzx    r8, byte  ptr [rdi+0x38]
        mov      dword ptr [rsp], r11d
        mov      rdi, r14
        mov      r9, r10
        mov      rcx, rax
        xor      esi, esi
        mov      edx, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Parallel.MergeExecutor`1[double]:Execute[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],ubyte,int,System.Threading.Tasks.TaskScheduler,ubyte,System.Linq.Parallel.CancellationState,int):System.Linq.Parallel.MergeExecutor`1[double]
        call     [rax]System.Linq.Parallel.MergeExecutor`1[double]:Execute[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[double,System.Nullable`1[int]],ubyte,int,System.Threading.Tasks.TaskScheduler,ubyte,System.Linq.Parallel.CancellationState,int):System.Linq.Parallel.MergeExecutor`1[double]
-       mov      r14, rax
-       mov      rdi, 0xD1FFAB1E      ; System.Linq.Parallel.ListQueryResults`1[double]
-       call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x80], rax
-       mov      rdi, gword ptr [r14+0x08]
+       mov      rdi, gword ptr [rax+0x08]
        mov      r11, 0xD1FFAB1E      ; code for System.Linq.Parallel.IMergeHelper`1[double]:GetResultsAsArray():double[]:this
        call     [r11]System.Linq.Parallel.IMergeHelper`1[double]:GetResultsAsArray():double[]:this
-       mov      r14, gword ptr [rbp-0x80]
-       lea      rdi, bword ptr [r14+0x08]
-       mov      rsi, rax
-       call     CORINFO_HELP_ASSIGN_REF
-       mov      edx, dword ptr [rbp-0x4C]
-       mov      dword ptr [r14+0x10], edx
-       mov      byte  ptr [r14+0x14], r12b
-       movzx    rdx, byte  ptr [r14+0x14]
-       mov      esi, dword ptr [rbp-0x5C]
-       mov      rdi, gword ptr [r14+0x08]
+       mov      rdi, rax
+       movzx    rdx, r12b
+       mov      esi, dword ptr [rbp-0x4C]
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Parallel.ExchangeUtilities:PartitionDataSource[double](System.Collections.Generic.IEnumerable`1[double],int,ubyte):System.Linq.Parallel.PartitionedStream`2[double,int]
        call     [rax]System.Linq.Parallel.ExchangeUtilities:PartitionDataSource[double](System.Collections.Generic.IEnumerable`1[double],int,ubyte):System.Linq.Parallel.PartitionedStream`2[double,int]
        mov      r12, rax
        mov      r14, qword ptr [rbp-0x48]
        mov      rsi, qword ptr [r14+0x18]
        mov      rsi, qword ptr [rsi+0x20]
        test     rsi, rsi
-       je       G_M17093_IG14
-						;; size=182 bbWeight=0.50 PerfScore 24.38
-G_M17093_IG09:
+       je       G_M17093_IG13
+						;; size=128 bbWeight=0.50 PerfScore 18.00
+G_M17093_IG08:
        mov      rdi, rbx
        mov      rdx, r15
        mov      rcx, r12
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[System.__Canon,int](System.Linq.Parallel.PartitionedStream`2[double,System.__Canon],System.Linq.Parallel.PartitionedStream`2[double,int],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this
        call     [rax]System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapHelper2[System.__Canon,int](System.Linq.Parallel.PartitionedStream`2[double,System.__Canon],System.Linq.Parallel.PartitionedStream`2[double,int],System.Linq.Parallel.IPartitionedStreamRecipient`1[double]):this
-       jmp      G_M17093_IG18
+       jmp      G_M17093_IG17
 						;; size=29 bbWeight=0.50 PerfScore 3.12
-G_M17093_IG10:
+G_M17093_IG09:
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
        mov      qword ptr [rbp-0x48], rax
-       mov      rax, gword ptr [rbp-0x88]
+       mov      rax, gword ptr [rbp-0x60]
        mov      rcx, qword ptr [rbp-0x48]
-       mov      r10, gword ptr [rbp-0x90]
+       mov      r10, gword ptr [rbp-0x68]
        mov      r11d, dword ptr [rbp-0x50]
-       jmp      G_M17093_IG08
-						;; size=46 bbWeight=0.10 PerfScore 0.82
-G_M17093_IG11:
+       jmp      G_M17093_IG07
+						;; size=40 bbWeight=0.10 PerfScore 0.82
+G_M17093_IG10:
        mov      rdi, qword ptr [rcx+0x18]
        mov      rsi, qword ptr [rdi+0x18]
        test     rsi, rsi
-       je       SHORT G_M17093_IG13
+       je       SHORT G_M17093_IG12
 						;; size=13 bbWeight=0.50 PerfScore 2.62
-G_M17093_IG12:
+G_M17093_IG11:
        mov      rdi, rbx
        mov      rdx, r15
        mov      rcx, r14
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for 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
        call     [rax]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
-       jmp      G_M17093_IG18
+       jmp      G_M17093_IG17
 						;; size=29 bbWeight=0.50 PerfScore 3.12
-G_M17093_IG13:
+G_M17093_IG12:
        mov      rdi, rcx
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
        mov      rsi, rax
-       jmp      SHORT G_M17093_IG12
+       jmp      SHORT G_M17093_IG11
 						;; size=23 bbWeight=0.10 PerfScore 0.38
-G_M17093_IG14:
+G_M17093_IG13:
        mov      rdi, r14
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
        mov      rsi, rax
-       jmp      G_M17093_IG09
+       jmp      G_M17093_IG08
 						;; size=26 bbWeight=0.10 PerfScore 0.38
-G_M17093_IG15:
+G_M17093_IG14:
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
        mov      rsi, rax
-       mov      rax, gword ptr [rbp-0x88]
-       mov      r9, gword ptr [rbp-0x68]
-       mov      r10, gword ptr [rbp-0x90]
+       mov      rax, gword ptr [rbp-0x60]
+       mov      rdx, gword ptr [rbp-0x58]
+       mov      r10, gword ptr [rbp-0x68]
        mov      r11d, dword ptr [rbp-0x50]
        jmp      G_M17093_IG04
-						;; size=45 bbWeight=0.10 PerfScore 0.75
-G_M17093_IG16:
+						;; size=39 bbWeight=0.10 PerfScore 0.75
+G_M17093_IG15:
        mov      rdi, rsi
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
        mov      rdi, rax
-       mov      rax, gword ptr [rbp-0x88]
-       mov      r10, gword ptr [rbp-0x90]
+       mov      rax, gword ptr [rbp-0x60]
+       mov      r9d, dword ptr [rbp-0x38]
+       mov      r10, gword ptr [rbp-0x68]
        mov      r11d, dword ptr [rbp-0x50]
        jmp      G_M17093_IG05
-						;; size=44 bbWeight=0.10 PerfScore 0.68
-G_M17093_IG17:
+						;; size=42 bbWeight=0.10 PerfScore 0.77
+G_M17093_IG16:
        mov      rdi, rbx
        mov      rsi, r15
        mov      rdx, r14
        mov      rcx, r13
        mov      rax, 0xD1FFAB1E      ; code for 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
        call     [rax]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
 						;; size=24 bbWeight=0.50 PerfScore 2.12
-G_M17093_IG18:
+G_M17093_IG17:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M17093_IG19:
-       add      rsp, 120
+G_M17093_IG18:
+       add      rsp, 88
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 970, prolog size 26, PerfScore 115.62, instruction count 224, allocated bytes for code 970 (MethodHash=fee4bd3a) for method System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)
+; Total bytes of code 778, prolog size 26, PerfScore 96.10, instruction count 188, allocated bytes for code 778 (MethodHash=fee4bd3a) for method System.Linq.Parallel.ConcatQueryOperator`1[double]:WrapPartitionedStream[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],ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts)

Larger list of diffs: https://gist.github.com/MihuBot/10da7ad68bfc5df7ea42257f6f1b28f1

@MihuBot
Copy link
Owner Author

MihuBot commented Jun 25, 2024

@EgorBo

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

No branches or pull requests

1 participant