MihuBot / runtime-utils

0 stars 0 forks source link

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

Open MihuBot opened 3 months ago

MihuBot commented 3 months ago

Job completed in 16 minutes. https://github.com/dotnet/runtime/pull/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+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.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.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.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.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.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.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: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]: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]: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]: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]: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]: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]: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+d__64`1[double]:MoveNext():this (FullOpts) -119 (-1.67 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+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+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+d__64`1[short]:MoveNext():this (FullOpts) -110 (-1.55 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+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.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.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.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.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.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.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]: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]: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]: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]: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]:b__1(System.Data.DataRow):ubyte:this (FullOpts) 14 (4.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.ManagedCertificateFinder+<>c: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+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]: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]]: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]]: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]]: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]]: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]]: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]]: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 commented 3 months ago

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 ```diff ; 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 ; V01 arg1 [V01,T22] ( 4, 3.50) ref -> r13 class-hnd single-def ; V02 arg2 [V02,T20] ( 4, 4 ) ubyte -> r14 single-def ; V03 arg3 [V03,T16] ( 8, 6 ) ref -> rbx class-hnd single-def ; V04 arg4 [V04,T24] ( 3, 3 ) ubyte -> r12 single-def -; V05 loc0 [V05,T19] ( 5, 7.25) ref -> [rbp-0x50] class-hnd -; V06 loc1 [V06,T27] ( 5, 3.50) ref -> [rbp-0x58] class-hnd -;* 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 +; V05 loc0 [V05,T19] ( 5, 7.25) ref -> [rbp-0x90] class-hnd +; V06 loc1 [V06,T27] ( 5, 3.50) ref -> [rbp-0x98] class-hnd +;* 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 ;* 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 -;* 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 ; 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" +; V18 tmp1 [V18,T03] ( 11, 18 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "NewObj constructor temp" ; V19 tmp2 [V19,T21] ( 3, 6 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" -; V20 tmp3 [V20,T14] ( 7, 13 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "NewObj constructor temp" +; V20 tmp3 [V20,T14] ( 7, 13 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "NewObj constructor temp" ;* V21 tmp4 [V21 ] ( 0, 0 ) ref -> zero-ref single-def ;* V22 tmp5 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" ;* V23 tmp6 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Single-def Box Helper" ;* V24 tmp7 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Single-def Box Helper" -; 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" -; V27 tmp10 [V27,T36] ( 2, 2 ) ref -> rax class-hnd exact single-def "Strict ordering of exceptions for Array store" +; 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" +; V27 tmp10 [V27,T35] ( 2, 2 ) ref -> rax class-hnd exact single-def "Strict ordering of exceptions for Array store" ;* V28 tmp11 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" -; V29 tmp12 [V29,T60] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" +; V29 tmp12 [V29,T59] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" ; V30 tmp13 [V30,T28] ( 2, 4 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" -; V31 tmp14 [V31,T37] ( 2, 2 ) ref -> rax class-hnd exact single-def "Inlining Arg" +; V31 tmp14 [V31,T36] ( 2, 2 ) ref -> rax class-hnd exact single-def "Inlining Arg" ; V32 tmp15 [V32,T29] ( 2, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" ; V33 tmp16 [V33,T30] ( 2, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" ;* V34 tmp17 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V35 tmp18 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V36 tmp19 [V36,T38] ( 2, 2 ) ref -> r13 class-hnd exact single-def "impAppendStmt" -; V37 tmp20 [V37,T39] ( 2, 2 ) ref -> [rbp-0x80] class-hnd spill-single-def "Inlining Arg" -; V38 tmp21 [V38,T40] ( 2, 2 ) ref -> [rbp-0x88] class-hnd exact spill-single-def "non-inline candidate call" +; V36 tmp19 [V36,T37] ( 2, 2 ) ref -> r13 class-hnd exact single-def "impAppendStmt" +; V37 tmp20 [V37,T38] ( 2, 2 ) ref -> [rbp-0xC0] class-hnd spill-single-def "Inlining Arg" +; V38 tmp21 [V38,T39] ( 2, 2 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "non-inline candidate call" ;* V39 tmp22 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" -; 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" +; 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" ;* V45 tmp28 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V46 tmp29 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V47 tmp30 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V48 tmp31 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V49 tmp32 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" ; V50 tmp33 [V50,T08] ( 2, 16 ) ref -> rdx class-hnd exact "dup spill" ; 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" +; V52 tmp35 [V52,T06] ( 4, 16 ) ref -> [rbp-0xD0] class-hnd exact spill-single-def "NewObj constructor temp" ;* V53 tmp36 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V54 tmp37 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V55 tmp38 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V56 tmp39 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V57 tmp40 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V58 tmp41 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V59 tmp42 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" ; V60 tmp43 [V60,T09] ( 2, 16 ) ref -> rcx class-hnd exact "dup spill" ; 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" +; V62 tmp45 [V62,T07] ( 4, 16 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "NewObj constructor temp" ;* V63 tmp46 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V64 tmp47 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V65 tmp48 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -; V66 tmp49 [V66,T49] ( 6, 1.50) ref -> rdi class-hnd "Inline stloc first use temp" +; V66 tmp49 [V66,T48] ( 6, 1.50) ref -> rdi class-hnd "Inline stloc first use temp" ;* 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" -;* V69 tmp52 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V70 tmp53 [V70,T35] ( 4, 2 ) ref -> rbx class-hnd single-def "Inline stloc first use temp" -; V71 tmp54 [V71,T54] ( 2, 1 ) ref -> rax class-hnd single-def "Inline stloc first use temp" +;* V69 tmp52 [V69 ] ( 0, 0 ) byref -> zero-ref class-hnd "Inline return value spill temp" +; V70 tmp53 [V70,T34] ( 4, 2 ) ref -> rbx class-hnd single-def "Inline stloc first use temp" +; V71 tmp54 [V71,T53] ( 2, 1 ) ref -> rax class-hnd single-def "Inline stloc first use temp" ;* V72 tmp55 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" -;* V73 tmp56 [V73 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" +;* V73 tmp56 [V73 ] ( 0, 0 ) byref -> zero-ref class-hnd "Inline return value spill temp" ; V74 tmp57 [V74,T32] ( 3, 3 ) ref -> r15 ld-addr-op class-hnd single-def "Inlining Arg" -; V75 tmp58 [V75,T33] ( 3, 3 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" +;* V75 tmp58 [V75 ] ( 0, 0 ) long -> zero-ref class-hnd exact "NewObj constructor temp" ;* V76 tmp59 [V76 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" ;* V77 tmp60 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ;* 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.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" +;* 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.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 commented 3 months ago

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 ```diff ; 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 -; V01 arg1 [V01,T03] ( 9, 6 ) int -> r15 single-def -; V02 arg2 [V02,T49] ( 7, 3.50) simd32 -> [rbp+0x10] single-def -; V03 loc0 [V03,T32] ( 4, 2.50) int -> rax +; V00 this [V00,T00] ( 10, 6 ) ref -> rbx this class-hnd single-def +; V01 arg1 [V01,T01] ( 7, 5 ) int -> r15 single-def +; V02 arg2 [V02,T51] ( 4, 2 ) simd32 -> [rbp+0x10] single-def +; 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" -; V06 tmp2 [V06,T06] ( 3, 3 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" +;* V05 tmp1 [V05 ] ( 0, 0 ) long -> zero-ref class-hnd exact "Single-def Box Helper" +;* V06 tmp2 [V06 ] ( 0, 0 ) long -> zero-ref class-hnd exact "Single-def Box Helper" ;* 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" -; V13 tmp9 [V13,T08] ( 3, 3 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" -; 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" -; V20 tmp16 [V20,T10] ( 3, 3 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" -; 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" +;* V13 tmp9 [V13 ] ( 0, 0 ) long -> zero-ref class-hnd exact "Single-def Box Helper" +; 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" +;* V20 tmp16 [V20 ] ( 0, 0 ) long -> zero-ref class-hnd exact "Single-def Box Helper" +; 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" +;* V24 tmp20 [V24 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] "stack allocated boxed value class temp" +;* V25 tmp21 [V25 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] "stack allocated boxed value class temp" +;* V26 tmp22 [V26 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] "stack allocated boxed value class temp" +;* V27 tmp23 [V27 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] "stack allocated boxed value class temp" +;* V28 tmp24 [V28 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] "stack allocated boxed value class temp" +; 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 ```diff ; 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 ; V01 TypeCtx [V01,T02] ( 7, 4.20) long -> rdi single-def ; V02 arg1 [V02,T01] ( 7, 4.50) ref -> r15 class-hnd single-def ; V03 arg2 [V03,T03] ( 6, 4 ) ref -> r14 class-hnd single-def ; V04 arg3 [V04,T04] ( 6, 4 ) ref -> r13 class-hnd single-def -; 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 -; V07 loc0 [V07,T20] ( 4, 2 ) ref -> r15 class-hnd single-def +; 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 +; V07 loc0 [V07,T17] ( 4, 2 ) ref -> r15 class-hnd single-def ; 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" -;* V13 tmp5 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline return value spill temp" +; V12 tmp4 [V12,T21] ( 2, 2 ) ref -> [rbp-0x58] class-hnd spill-single-def "Inlining Arg" +;* V13 tmp5 [V13 ] ( 0, 0 ) long -> zero-ref class-hnd exact "Inline return value spill temp" ;* V14 tmp6 [V14 ] ( 0, 0 ) struct (48) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" ;* V15 tmp7 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; 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" -; 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" -; V21 tmp13 [V21,T25] ( 2, 2 ) ref -> r15 class-hnd exact single-def "Inlining Arg" -; V22 tmp14 [V22,T26] ( 2, 2 ) ref -> rax class-hnd single-def "Inlining Arg" -; 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" +; V21 tmp13 [V21,T22] ( 2, 2 ) ref -> rax class-hnd exact single-def "Inlining Arg" +;* V22 tmp14 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" +; 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" ;* V25 tmp17 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -;* V26 tmp18 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline return value spill temp" +;* V26 tmp18 [V26 ] ( 0, 0 ) long -> zero-ref class-hnd exact "Inline return value spill temp" ;* V27 tmp19 [V27 ] ( 0, 0 ) struct (48) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" ;* V28 tmp20 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; 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" -; V31 tmp23 [V31,T06] ( 6, 6 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "NewObj constructor temp" -; V32 tmp24 [V32,T27] ( 2, 2 ) ref -> r14 class-hnd exact single-def "Inlining Arg" -; V33 tmp25 [V33,T28] ( 2, 2 ) ref -> rax class-hnd single-def "Inlining Arg" -; 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" +; V32 tmp24 [V32,T23] ( 2, 2 ) ref -> rax class-hnd exact single-def "Inlining Arg" +;* V33 tmp25 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" +; 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" +; 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" ;* V38 tmp30 [V38 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V39 tmp31 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -;* V40 tmp32 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline return value spill temp" +;* V40 tmp32 [V40 ] ( 0, 0 ) long -> zero-ref class-hnd exact "Inline return value spill temp" ;* V41 tmp33 [V41 ] ( 0, 0 ) struct (48) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" ;* V42 tmp34 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; 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" -; V45 tmp37 [V45,T07] ( 6, 6 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "NewObj constructor temp" -; V46 tmp38 [V46,T29] ( 2, 2 ) ref -> r14 class-hnd exact single-def "Inlining Arg" -; V47 tmp39 [V47,T30] ( 2, 2 ) ref -> rax class-hnd single-def "Inlining Arg" -;* 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" +; V46 tmp38 [V46,T24] ( 2, 2 ) ref -> rax class-hnd exact single-def "Inlining Arg" +;* V47 tmp39 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" +;* V48 tmp40 [V48 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] "stack allocated ref class temp" +;* V49 tmp41 [V49 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] "stack allocated ref class temp" +;* V50 tmp42 [V50 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] "stack allocated ref class temp" +;* 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 commented 3 months ago

@EgorBo