MihuBot / runtime-utils

0 stars 0 forks source link

[X64] [EgorBo] Keep this alive for classes with finalizers #462

Open MihuBot opened 3 months ago

MihuBot commented 3 months ago

Job completed in 16 minutes. https://github.com/dotnet/runtime/pull/103813

Diffs

Diffs ``` Found 351 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 41604177 Total bytes of diff: 41770159 Total bytes of delta: 165982 (0.40 % of base) Total relative delta: 15694.10 diff is a regression. relative diff is a regression. Top file regressions (bytes): 24826 : System.Private.Xml.dasm (0.60 % of base) 20525 : System.Private.CoreLib.dasm (0.28 % of base) 13110 : System.Collections.Immutable.dasm (0.50 % of base) 12460 : System.Text.Json.dasm (0.96 % of base) 11915 : System.Data.Common.dasm (0.71 % of base) 6467 : System.Private.DataContractSerialization.dasm (0.65 % of base) 6210 : System.Reflection.MetadataLoadContext.dasm (2.55 % of base) 6210 : System.Linq.dasm (0.47 % of base) 4205 : System.Security.Cryptography.dasm (0.38 % of base) 3993 : System.Linq.Parallel.dasm (0.17 % of base) 3424 : System.Linq.Expressions.dasm (0.36 % of base) 3356 : System.Configuration.ConfigurationManager.dasm (0.80 % of base) 2812 : System.Net.Http.dasm (0.34 % of base) 2614 : Microsoft.CSharp.dasm (0.74 % of base) 2508 : System.Reflection.Context.dasm (4.23 % of base) 2457 : System.Collections.Concurrent.dasm (0.56 % of base) 2171 : System.ComponentModel.TypeConverter.dasm (0.68 % of base) 2145 : System.Text.RegularExpressions.dasm (0.28 % of base) 1904 : System.ComponentModel.Composition.dasm (0.43 % of base) 1658 : System.CodeDom.dasm (0.78 % of base) 1614 : System.Formats.Nrbf.dasm (3.20 % of base) 1568 : System.Security.AccessControl.dasm (4.51 % of base) 1525 : System.Threading.Channels.dasm (0.56 % of base) 1433 : System.Diagnostics.DiagnosticSource.dasm (0.57 % of base) 1272 : System.Data.Odbc.dasm (0.53 % of base) 1143 : System.ObjectModel.dasm (1.53 % of base) 1131 : System.Transactions.Local.dasm (0.75 % of base) 1092 : Microsoft.Extensions.DependencyInjection.dasm (1.39 % of base) 1071 : Microsoft.VisualBasic.Core.dasm (0.20 % of base) 1056 : System.Threading.RateLimiting.dasm (0.60 % of base) 1032 : System.Private.Xml.Linq.dasm (0.52 % of base) 975 : System.Security.Permissions.dasm (6.07 % of base) 902 : ILCompiler.Reflection.ReadyToRun.dasm (0.37 % of base) 797 : System.Collections.NonGeneric.dasm (2.99 % of base) 776 : System.Security.Cryptography.Xml.dasm (0.36 % of base) 770 : System.IO.Packaging.dasm (0.80 % of base) 677 : System.Net.Mail.dasm (0.36 % of base) 618 : System.Net.NetworkInformation.dasm (1.17 % of base) 615 : System.IO.Pipes.dasm (1.58 % of base) 600 : System.ServiceModel.Syndication.dasm (0.36 % of base) 600 : System.Memory.dasm (0.20 % of base) 557 : System.Diagnostics.TraceSource.dasm (1.14 % of base) 550 : System.Net.Requests.dasm (0.37 % of base) 532 : System.Net.WebClient.dasm (0.94 % of base) 518 : System.Composition.Runtime.dasm (2.80 % of base) 503 : System.Formats.Tar.dasm (0.40 % of base) 502 : System.Threading.Tasks.Parallel.dasm (0.20 % of base) 450 : Microsoft.Extensions.FileSystemGlobbing.dasm (1.54 % of base) 411 : System.Collections.Specialized.dasm (1.46 % of base) 335 : System.Text.Encoding.CodePages.dasm (0.45 % of base) 312 : System.Net.Sockets.dasm (0.12 % of base) 299 : System.ComponentModel.Annotations.dasm (0.58 % of base) 296 : System.IO.Pipelines.dasm (0.37 % of base) 285 : Microsoft.Extensions.Configuration.FileExtensions.dasm (5.80 % of base) 280 : System.Formats.Asn1.dasm (0.33 % of base) 278 : System.Runtime.Caching.dasm (0.44 % of base) 265 : System.Private.Uri.dasm (0.29 % of base) 219 : System.Security.Cryptography.Pkcs.dasm (0.06 % of base) 196 : System.DirectoryServices.Protocols.dasm (0.13 % of base) 195 : System.IO.IsolatedStorage.dasm (0.86 % of base) 188 : Microsoft.Extensions.Configuration.dasm (0.85 % of base) 180 : System.Console.dasm (0.20 % of base) 179 : System.Text.Encodings.Web.dasm (0.73 % of base) 177 : System.IO.FileSystem.AccessControl.dasm (3.18 % of base) 177 : System.Net.Quic.dasm (0.12 % of base) 175 : System.DirectoryServices.AccountManagement.dasm (0.44 % of base) 168 : System.Net.Security.dasm (0.07 % of base) 162 : System.Composition.Convention.dasm (0.13 % of base) 156 : System.Reflection.Metadata.dasm (0.03 % of base) 150 : System.Composition.TypedParts.dasm (0.27 % of base) 138 : System.IO.Hashing.dasm (0.54 % of base) 121 : System.Resources.Extensions.dasm (0.23 % of base) 100 : System.Composition.Hosting.dasm (0.09 % of base) 96 : System.Security.Cryptography.Cose.dasm (0.14 % of base) 81 : System.DirectoryServices.dasm (0.11 % of base) 64 : System.Net.Primitives.dasm (0.07 % of base) 56 : System.Net.WebSockets.dasm (0.05 % of base) 52 : System.Management.dasm (0.15 % of base) 48 : System.Runtime.Serialization.Formatters.dasm (0.17 % of base) 48 : Microsoft.Extensions.Hosting.Abstractions.dasm (0.49 % of base) 38 : System.IO.Ports.dasm (0.07 % of base) 35 : System.Speech.dasm (0.06 % of base) 30 : runincontext.dasm (0.19 % of base) 28 : System.Threading.Tasks.Dataflow.dasm (0.00 % of base) 22 : Microsoft.Extensions.Logging.Console.dasm (0.04 % of base) 22 : System.Diagnostics.EventLog.dasm (0.10 % of base) 18 : Microsoft.Extensions.Http.dasm (0.03 % of base) 18 : System.Linq.Queryable.dasm (0.00 % of base) 9 : System.Composition.AttributedModel.dasm (1.30 % of base) 9 : System.ComponentModel.Composition.Registration.dasm (0.01 % of base) 9 : System.Reflection.DispatchProxy.dasm (0.05 % of base) 4 : System.Runtime.InteropServices.JavaScript.dasm (0.02 % of base) 4 : System.Security.Principal.Windows.dasm (0.05 % of base) 93 total files with Code Size differences (0 improved, 93 regressed), 165 unchanged. Top method regressions (bytes): 408 (6.99 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler:g__EmitFixedSet_LeftToRight|157_3(byref):this (FullOpts) 250 (2.95 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[long]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts) 250 (2.95 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[ubyte]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts) 249 (2.93 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[short]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts) 247 (2.91 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[double]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts) 247 (2.92 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[int]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts) 247 (2.91 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Numerics.Vector`1[float]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts) 217 (2.60 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Nullable`1[int]]:OnTryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref):ubyte:this (FullOpts) 214 (9.39 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExprVisitorBase:Dispatch(Microsoft.CSharp.RuntimeBinder.Semantics.Expr):Microsoft.CSharp.RuntimeBinder.Semantics.Expr:this (FullOpts) 193 (1.90 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:DeserializeElement(System.Xml.XmlReader,ubyte):this (FullOpts) 153 (9.71 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ToString():System.String:this (FullOpts) 143 (5.85 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler:g__EmitLiteralAfterAtomicLoop|157_5(byref):this (FullOpts) 138 (4.85 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler:g__EmitAnchors|157_0(byref):ubyte:this (FullOpts) 135 (10.41 % of base) : System.Private.CoreLib.dasm - System.Type:GetEnumData(byref,byref):this (FullOpts) 115 (12.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslVisitor`1[double]:Visit(System.Xml.Xsl.Xslt.XslNode):double:this (FullOpts) 115 (12.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslVisitor`1[int]:Visit(System.Xml.Xsl.Xslt.XslNode):int:this (FullOpts) 115 (12.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslVisitor`1[long]:Visit(System.Xml.Xsl.Xslt.XslNode):long:this (FullOpts) 115 (12.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslVisitor`1[short]:Visit(System.Xml.Xsl.Xslt.XslNode):short:this (FullOpts) 115 (12.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslVisitor`1[System.__Canon]:Visit(System.Xml.Xsl.Xslt.XslNode):System.__Canon:this (FullOpts) 115 (12.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslVisitor`1[ubyte]:Visit(System.Xml.Xsl.Xslt.XslNode):ubyte:this (FullOpts) 105 (9.62 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslVisitor`1[System.Nullable`1[int]]:Visit(System.Xml.Xsl.Xslt.XslNode):System.Nullable`1[int]:this (FullOpts) 96 (20.65 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:OutputOperator(int):this (FullOpts) 94 (10.76 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:Equals(System.Xml.Xsl.XmlQueryType):ubyte:this (FullOpts) 85 (5.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:Decrypt(System.ReadOnlySpan`1[ushort],System.ReadOnlyMemory`1[ubyte]):this (FullOpts) 83 (3.03 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:MergeLocks(System.Configuration.ConfigurationElement):this (FullOpts) 83 (1.92 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[long]:RBDeleteX(int,int,int):int:this (FullOpts) 83 (1.88 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Nullable`1[int]]:RBDeleteX(int,int,int):int:this (FullOpts) 83 (5.37 % of base) : System.Private.CoreLib.dasm - System.Type:FindMembers(int,int,System.Reflection.MemberFilter,System.Object):System.Reflection.MemberInfo[]:this (FullOpts) 76 (1.76 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Numerics.Vector`1[float]]:RBDeleteX(int,int,int):int:this (FullOpts) 75 (6.57 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslVisitor`1[System.Numerics.Vector`1[float]]:Visit(System.Xml.Xsl.Xslt.XslNode):System.Numerics.Vector`1[float]:this (FullOpts) 71 (1.64 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[double]:RBDeleteX(int,int,int):int:this (FullOpts) 68 (5.07 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionStateDelegatedBase:EnterState(System.Transactions.InternalTransaction):this (FullOpts) 66 (1.52 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[int]:RBDeleteX(int,int,int):int:this (FullOpts) 65 (1.50 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[ubyte]:RBDeleteX(int,int,int):int:this (FullOpts) 64 (1.48 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[short]:RBDeleteX(int,int,int):int:this (FullOpts) 63 (3.58 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbConnectionFactory:TryGetConnection(System.Data.Common.DbConnection,System.Threading.Tasks.TaskCompletionSource`1[System.Data.ProviderBase.DbConnectionInternal],System.Data.Common.DbConnectionOptions,System.Data.ProviderBase.DbConnectionInternal,byref):ubyte:this (FullOpts) 61 (1.36 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.__Canon]:RBDeleteX(int,int,int):int:this (FullOpts) 61 (10.93 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlDictionaryWriter:WriteArrayNode(System.Xml.XmlDictionaryReader,System.String,System.String,System.String,System.Type):this (FullOpts) 61 (10.93 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlDictionaryWriter:WriteArrayNode(System.Xml.XmlDictionaryReader,System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Type):this (FullOpts) 59 (3.58 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:GenerateExpression(System.CodeDom.CodeExpression):this (FullOpts) 56 (1.21 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElementCollection:Unmerge(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,int):this (FullOpts) 55 (3.77 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElementCollection:BaseRemove(System.Object,ubyte):this (FullOpts) 54 (2.63 % of base) : System.Data.Common.dasm - System.Data.Common.DbColumn:get_Item(System.String):System.Object:this (FullOpts) 52 (96.30 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexRunner:InitializeTimeout(System.TimeSpan):this (FullOpts) (2 methods) 51 (2.36 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:GetSectionRecursive(System.String,ubyte,ubyte,ubyte,ubyte,byref,byref):this (FullOpts) 51 (1.18 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:Unmerge(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,int):this (FullOpts) 50 (2.55 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:GetProperty(System.ReadOnlySpan`1[ubyte],byref,byref):System.Text.Json.Serialization.Metadata.JsonPropertyInfo:this (FullOpts) 49 (3.16 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoType:GetPropertyImpl(System.String,int,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo:this (FullOpts) 48 (14.81 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VB6File:Input(byref):this (FullOpts) (12 methods) 46 (8.75 % of base) : System.Private.CoreLib.dasm - System.Type:get_IsVisible():ubyte:this (FullOpts) 44 (14.81 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VB6File:Get(byref,long):this (FullOpts) (11 methods) 43 (3.35 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbReferenceCollection:AddItem(System.Object,int):this (FullOpts) 42 (1.02 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoType:GetMemberImpl(System.String,int,int):System.Reflection.MemberInfo[]:this (FullOpts) 42 (2.65 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.UnixExportProvider:ExportPfx(Microsoft.Win32.SafeHandles.SafePasswordHandle):ubyte[]:this (FullOpts) 42 (5.34 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReader:HandleUnreferencedObjects():this (FullOpts) 41 (17.83 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:OutputMemberAccessModifier(int):this (FullOpts) 41 (3.24 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:ResetLockLists(System.Configuration.ConfigurationElement):this (FullOpts) 40 (4.66 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.__Canon]:LeftRotate(int,int,int):int:this (FullOpts) 40 (4.66 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.__Canon]:RightRotate(int,int,int):int:this (FullOpts) 40 (4.02 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionBase:.ctor(System.Net.Http.HttpConnectionPool,System.Net.IPEndPoint):this (FullOpts) 40 (5.18 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Transform:get_PropagatedNamespaces():System.Collections.Hashtable:this (FullOpts) 40 (9.93 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.SequentialOutput:OutputRecord(System.Xml.Xsl.XsltOld.RecordBuilder):this (FullOpts) 39 (3.19 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:MonitorStream(System.String,System.String,System.String):System.Object:this (FullOpts) 38 (3.45 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElementCollection:BaseRemoveAt(int):this (FullOpts) 38 (6.60 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.Instrument:EnableMeasurement(System.Diagnostics.Metrics.ListenerSubscription,byref):System.Object:this (FullOpts) 37 (1.28 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:InitConfigFromFile():this (FullOpts) 37 (0.85 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:ScanSectionsRecursive(System.Configuration.XmlUtil,System.String,ubyte,System.String,System.Configuration.OverrideModeSetting,ubyte):this (FullOpts) 37 (1.31 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteArray(System.String,System.String,System.Object,System.Type):this (FullOpts) 36 (21.95 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[double]:FreeNode(int):this (FullOpts) 36 (22.78 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[int]:FreeNode(int):this (FullOpts) 36 (21.95 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[long]:FreeNode(int):this (FullOpts) 36 (22.78 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[short]:FreeNode(int):this (FullOpts) 36 (21.95 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Nullable`1[int]]:FreeNode(int):this (FullOpts) 36 (22.09 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Numerics.Vector`1[float]]:FreeNode(int):this (FullOpts) 36 (22.78 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[ubyte]:FreeNode(int):this (FullOpts) 36 (3.37 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[double]:ExecuteAndGetResultsAsArray():double[]:this (FullOpts) 36 (3.37 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[int]:ExecuteAndGetResultsAsArray():int[]:this (FullOpts) 36 (3.37 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[long]:ExecuteAndGetResultsAsArray():long[]:this (FullOpts) 36 (3.37 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[short]:ExecuteAndGetResultsAsArray():short[]:this (FullOpts) 36 (3.37 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.Nullable`1[int]]:ExecuteAndGetResultsAsArray():System.Nullable`1[int][]:this (FullOpts) 36 (3.37 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.Numerics.Vector`1[float]]:ExecuteAndGetResultsAsArray():System.Numerics.Vector`1[float][]:this (FullOpts) 36 (3.37 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[ubyte]:ExecuteAndGetResultsAsArray():ubyte[]:this (FullOpts) 36 (3.24 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaParticle:set_MaxOccursString(System.String):this (FullOpts) 35 (47.95 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.TypeDescriptionProvider:GetTypeDescriptorFromRegisteredType(System.Type):System.ComponentModel.ICustomTypeDescriptor:this (FullOpts) 35 (4.26 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[double]:LeftRotate(int,int,int):int:this (FullOpts) 35 (4.26 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[double]:RightRotate(int,int,int):int:this (FullOpts) 35 (4.28 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[int]:LeftRotate(int,int,int):int:this (FullOpts) 35 (4.28 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[int]:RightRotate(int,int,int):int:this (FullOpts) 35 (4.27 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[long]:LeftRotate(int,int,int):int:this (FullOpts) 35 (4.27 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[long]:RightRotate(int,int,int):int:this (FullOpts) 35 (4.27 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[short]:LeftRotate(int,int,int):int:this (FullOpts) 35 (4.27 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[short]:RightRotate(int,int,int):int:this (FullOpts) 35 (21.08 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.__Canon]:FreeNode(int):this (FullOpts) 35 (4.22 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Nullable`1[int]]:LeftRotate(int,int,int):int:this (FullOpts) 35 (4.22 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Nullable`1[int]]:RightRotate(int,int,int):int:this (FullOpts) 35 (4.24 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Numerics.Vector`1[float]]:LeftRotate(int,int,int):int:this (FullOpts) 35 (4.24 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[System.Numerics.Vector`1[float]]:RightRotate(int,int,int):int:this (FullOpts) 35 (4.27 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[ubyte]:LeftRotate(int,int,int):int:this (FullOpts) 35 (4.27 % of base) : System.Data.Common.dasm - System.Data.RBTree`1[ubyte]:RightRotate(int,int,int):int:this (FullOpts) 35 (6.48 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlDictionaryReader:ReadContentAs(System.Type,System.Xml.IXmlNamespaceResolver):System.Object:this (FullOpts) Top method improvements (bytes): -51 (-3.19 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:ReportInvalidLock(System.String,int,System.Configuration.ConfigurationValue,System.String):this (FullOpts) -28 (-2.69 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[double]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):double:this (FullOpts) -28 (-2.74 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[int]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):int:this (FullOpts) -28 (-2.71 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[long]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):long:this (FullOpts) -28 (-2.73 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[short]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):short:this (FullOpts) -28 (-2.82 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Nullable`1[int]]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):System.Nullable`1[int]:this (FullOpts) -28 (-2.73 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[ubyte]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):ubyte:this (FullOpts) -27 (-2.24 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeCompiler:FromSourceBatch(System.CodeDom.Compiler.CompilerParameters,System.String[]):System.CodeDom.Compiler.CompilerResults:this (FullOpts) -25 (-3.82 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.ComposablePartDefinition:TryGetExports(System.ComponentModel.Composition.Primitives.ImportDefinition,byref,byref):ubyte:this (FullOpts) -21 (-2.76 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Update(System.Data.DataTable):int:this (FullOpts) -19 (-1.66 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):System.Numerics.Vector`1[float]:this (FullOpts) -17 (-1.44 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:ImportRSAPublicKey(System.ReadOnlySpan`1[ubyte],byref):this (FullOpts) -16 (-4.43 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:CopyTo(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken):this (FullOpts) -16 (-2.49 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) -16 (-3.29 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[double]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[double]:this (FullOpts) -16 (-3.35 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[long]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[long]:this (FullOpts) -16 (-3.23 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[System.Nullable`1[int]]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Nullable`1[int]]:this (FullOpts) -15 (-1.21 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeCompiler:FromDomBatch(System.CodeDom.Compiler.CompilerParameters,System.CodeDom.CodeCompileUnit[]):System.CodeDom.Compiler.CompilerResults:this (FullOpts) -15 (-2.96 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[int]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this (FullOpts) -15 (-2.94 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[short]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[short]:this (FullOpts) -15 (-2.95 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[ubyte]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (FullOpts) -15 (-1.94 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XContainer:Add(System.Object):this (FullOpts) -14 (-1.66 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:EnsureRequiredProperties(ubyte):this (FullOpts) -14 (-3.66 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:LoadIntoBufferAsync(long,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts) -14 (-4.37 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:GetMaxSignatureSize(int):int:this (FullOpts) -13 (-1.95 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECAlgorithm:ImportPkcs8PrivateKey(System.ReadOnlySpan`1[ubyte],byref):this (FullOpts) -13 (-1.24 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathNavigator:get_OuterXml():System.String:this (FullOpts) -9 (-2.10 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ApplicationSettingsBase:Reload():this (FullOpts) -9 (-1.88 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[System.__Canon](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.__Canon]:this (FullOpts) -9 (-3.44 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.WebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -8 (-0.77 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:FindAndEnsureFactoryRecord(System.String,byref):System.Configuration.FactoryRecord:this (FullOpts) -8 (-1.18 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:FindChangedConfigurationStream():System.String:this (FullOpts) -8 (-2.44 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[double](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[double]:this (FullOpts) -8 (-2.56 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[short](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[short]:this (FullOpts) -8 (-2.44 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[System.Nullable`1[int]](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]]:this (FullOpts) -8 (-2.92 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[System.Numerics.Vector`1[float]](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:this (FullOpts) -8 (-2.59 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[ubyte](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte]:this (FullOpts) -8 (-3.19 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.ObservableInstrument`1[System.Numerics.Vector`1[float]]:Observe(System.Diagnostics.Metrics.MeterListener):this (FullOpts) -8 (-1.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) -8 (-1.34 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) -7 (-0.57 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ExportProvider:GetExportedValuesCore[System.__Canon](System.String):System.Collections.ObjectModel.Collection`1[System.__Canon]:this (FullOpts) -7 (-0.62 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ExportProvider:GetExportsCore[System.__Canon,System.Nullable`1[int]](System.String):System.Collections.ObjectModel.Collection`1[System.__Canon]:this (FullOpts) -7 (-0.62 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ExportProvider:GetExportsCore[System.__Canon](System.String):System.Collections.ObjectModel.Collection`1[System.__Canon]:this (FullOpts) -7 (-0.71 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SettingsBase:SaveCore():this (FullOpts) -7 (-2.11 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:get_DebugView():System.String:this (FullOpts) -7 (-1.38 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[System.Numerics.Vector`1[float]]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Numerics.Vector`1[float]]:this (FullOpts) -7 (-2.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelWriter`1[double]:WriteAsync(double,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -7 (-2.02 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelWriter`1[System.Nullable`1[int]]:WriteAsync(System.Nullable`1[int],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -7 (-0.61 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseReader:IndexOfLocalName(System.String[],System.String):int:this (FullOpts) -7 (-0.64 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseReader:IndexOfLocalName(System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString):int:this (FullOpts) -6 (-0.61 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationProvider:GetChildKeys(System.Collections.Generic.IEnumerable`1[System.String],System.String):System.Collections.Generic.IEnumerable`1[System.String]:this (FullOpts) -6 (-1.20 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ApplicationSettingsBase:ResetProviders():this (FullOpts) -6 (-0.71 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElementCollection:SerializeElement(System.Xml.XmlWriter,ubyte):ubyte:this (FullOpts) -6 (-0.95 % of base) : System.IO.Pipes.dasm - System.IO.Pipes.PipeStream:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts) -6 (-2.99 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.OSFileStreamStrategy:WriteAsync(System.ReadOnlyMemory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -6 (-1.83 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:InternalCopyToAsync(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -6 (-2.78 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:ReadBufferedContentAsString():System.String:this (FullOpts) -6 (-2.09 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.BinaryFormat.Deserializer.ObjectRecordDeserializer:UnwrapMemberValue(System.Object):System.ValueTuple`2[System.Object,System.Formats.Nrbf.SerializationRecordId]:this (FullOpts) -6 (-2.64 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:ImportSubjectPublicKeyInfo(System.ReadOnlySpan`1[ubyte],byref):this (FullOpts) -6 (-1.21 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.TextEncoder:EncodeToNewString(System.ReadOnlySpan`1[ushort],int):System.String:this (FullOpts) -6 (-1.03 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteNamespaceDeclarations(System.Xml.Serialization.XmlSerializerNamespaces):this (FullOpts) -6 (-1.31 % of base) : System.Private.Xml.dasm - System.Xml.XmlNode:get_InnerXml():System.String:this (FullOpts) -6 (-1.31 % of base) : System.Private.Xml.dasm - System.Xml.XmlNode:get_OuterXml():System.String:this (FullOpts) -5 (-0.63 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ExportProvider:GetExportedValueCore[System.__Canon](System.String,int):System.__Canon:this (FullOpts) -5 (-0.56 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:UpdateRowExecute(System.Data.Common.RowUpdatedEventArgs,System.Data.IDbCommand,int):this (FullOpts) -5 (-2.02 % of base) : System.Private.CoreLib.dasm - System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) -5 (-2.00 % of base) : System.Private.CoreLib.dasm - System.IO.TextWriter:Write(System.ReadOnlySpan`1[ushort]):this (FullOpts) -5 (-1.99 % of base) : System.Private.CoreLib.dasm - System.IO.TextWriter:WriteLine(System.ReadOnlySpan`1[ushort]):this (FullOpts) -5 (-1.48 % of base) : System.Linq.dasm - System.Linq.Enumerable+OrderedIterator`1[double]:TryGetFirst(byref):double:this (FullOpts) -5 (-1.49 % of base) : System.Linq.dasm - System.Linq.Enumerable+OrderedIterator`1[System.Nullable`1[int]]:TryGetFirst(byref):System.Nullable`1[int]:this (FullOpts) -5 (-0.28 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:ImportRSAPrivateKey(System.ReadOnlySpan`1[ubyte],byref):this (FullOpts) -5 (-0.83 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathNavigator:get_InnerXml():System.String:this (FullOpts) -4 (-1.02 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ApplicationSettingsBase:GetPropertiesForProvider(System.Configuration.SettingsProvider):System.Configuration.SettingsPropertyCollection:this (FullOpts) -4 (-1.12 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:GetHashCode():int:this (FullOpts) -4 (-0.68 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElementCollection:BaseGetKey(int):System.Object:this (FullOpts) -4 (-0.85 % of base) : System.Linq.dasm - System.Linq.Enumerable+OrderedIterator`1[long]:ToArray(int,int):long[]:this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[double,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[double],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[int,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[int],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[long,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[long],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[short,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[short],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[ubyte,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[ubyte],ubyte):this (FullOpts) -4 (-0.89 % of base) : System.Net.Http.dasm - System.Net.Http.HttpBaseStream:BeginRead(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts) -4 (-0.17 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[double]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (FullOpts) -4 (-0.17 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[int]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (FullOpts) -4 (-0.17 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[long]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (FullOpts) -4 (-0.17 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[short]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (FullOpts) -4 (-0.17 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Nullable`1[int]]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (FullOpts) -4 (-0.17 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[System.Numerics.Vector`1[float]]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (FullOpts) -4 (-0.17 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter`1[ubyte]:ReadConstructorArgumentsWithContinuation(byref,byref,System.Text.Json.JsonSerializerOptions):ubyte:this (FullOpts) -3 (-0.35 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContextRagged:PushDirectory(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase):this (FullOpts) -3 (-0.70 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(int,int,System.Data.DataTable[]):int:this (FullOpts) -3 (-0.44 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(System.Data.DataSet,int,int,System.String,System.Data.IDbCommand,int):int:this (FullOpts) -3 (-0.76 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(System.Data.DataTable,System.Data.IDbCommand,int):int:this (FullOpts) -3 (-0.43 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(System.Data.DataTable[],int,int,System.Data.IDbCommand,int):int:this (FullOpts) -3 (-0.55 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventListener:CallBackForExistingEventSources(ubyte,System.EventHandler`1[System.Diagnostics.Tracing.EventSourceCreatedEventArgs]):this (FullOpts) -3 (-1.02 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventListener:Dispose():this (FullOpts) -3 (-0.74 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.OSFileStreamStrategy:ReadAsync(System.Memory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this (FullOpts) -3 (-0.42 % of base) : System.Linq.dasm - System.Linq.Enumerable+OrderedIterator`1[double]:ToList(int,int):System.Collections.Generic.List`1[double]:this (FullOpts) Top method regressions (percentages): 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.BaseGcInfo:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.BaseGcSlot:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.BaseGcTransition:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.BaseUnwindInfo:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.StringTypeProviderBase`1[double]:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.StringTypeProviderBase`1[int]:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.StringTypeProviderBase`1[long]:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.StringTypeProviderBase`1[short]:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.StringTypeProviderBase`1[System.__Canon]:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.StringTypeProviderBase`1[System.Nullable`1[int]]:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.StringTypeProviderBase`1[System.Numerics.Vector`1[float]]:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.StringTypeProviderBase`1[ubyte]:.ctor():this (FullOpts) 9 (900.00 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.TransitionBlock:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.KeyAgreeRecipientInfoPal:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.KeyTransRecipientInfoPal:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.PkcsPal:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Security.Cryptography.Pkcs.dasm - Internal.Cryptography.RecipientInfoPal:.ctor():this (FullOpts) 9 (900.00 % of base) : System.CodeDom.dasm - Microsoft.CSharp.CSharpModifierAttributeConverter:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExprVisitorBase:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.NamespaceOrAggregateSymbol:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ParentSymbol:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.Symbol:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.VariableSymbol:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationProvider:Load():this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ReferenceCountedProviders:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.StreamConfigurationSource:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileInfoBase:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileSystemInfoBase:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContext`1[double]:Declare(System.Action`2[Microsoft.Extensions.FileSystemGlobbing.Internal.IPathSegment,ubyte]):this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContext`1[int]:Declare(System.Action`2[Microsoft.Extensions.FileSystemGlobbing.Internal.IPathSegment,ubyte]):this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContext`1[long]:Declare(System.Action`2[Microsoft.Extensions.FileSystemGlobbing.Internal.IPathSegment,ubyte]):this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContext`1[short]:Declare(System.Action`2[Microsoft.Extensions.FileSystemGlobbing.Internal.IPathSegment,ubyte]):this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContext`1[System.Numerics.Vector`1[float]]:Declare(System.Action`2[Microsoft.Extensions.FileSystemGlobbing.Internal.IPathSegment,ubyte]):this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContext`1[ubyte]:Declare(System.Action`2[Microsoft.Extensions.FileSystemGlobbing.Internal.IPathSegment,ubyte]):this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.Hosting.Abstractions.dasm - Microsoft.Extensions.Hosting.BackgroundService:.ctor():this (FullOpts) 9 (900.00 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.HttpMessageHandlerBuilder:.ctor():this (FullOpts) 9 (900.00 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBModifierAttributeConverter:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.AstNode:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.Query:SetXsltContext(System.Xml.Xsl.XsltContext):this (FullOpts) 9 (900.00 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.ValueQuery:Reset():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Array:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Attribute:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.ArrayPool`1[double]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.ArrayPool`1[int]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.ArrayPool`1[long]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.ArrayPool`1[short]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.ArrayPool`1[System.__Canon]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.ArrayPool`1[System.Nullable`1[int]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.ArrayPool`1[System.Numerics.Vector`1[float]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.ArrayPool`1[ubyte]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.MemoryManager`1[double]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.MemoryManager`1[int]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.MemoryManager`1[long]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.MemoryManager`1[short]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.MemoryManager`1[System.__Canon]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.MemoryManager`1[System.Nullable`1[int]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.MemoryManager`1[System.Numerics.Vector`1[float]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Private.CoreLib.dasm - System.Buffers.MemoryManager`1[ubyte]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.MemoryPool`1[double]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.MemoryPool`1[int]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.MemoryPool`1[long]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.MemoryPool`1[short]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.MemoryPool`1[System.__Canon]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.MemoryPool`1[System.Nullable`1[int]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.MemoryPool`1[System.Numerics.Vector`1[float]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.MemoryPool`1[ubyte]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequenceSegment`1[double]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequenceSegment`1[int]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequenceSegment`1[long]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequenceSegment`1[short]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequenceSegment`1[System.__Canon]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequenceSegment`1[System.Nullable`1[int]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequenceSegment`1[System.Numerics.Vector`1[float]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Memory.dasm - System.Buffers.ReadOnlySequenceSegment`1[ubyte]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeCompiler:.ctor():this (FullOpts) 9 (900.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeDomProvider:.ctor():this (FullOpts) 9 (900.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:.ctor():this (FullOpts) 9 (900.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:GenerateDefaultValueExpression(System.CodeDom.CodeDefaultValueExpression):this (FullOpts) 9 (900.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this (FullOpts) 9 (900.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeParser:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Collections.NonGeneric.dasm - System.Collections.CollectionBase:OnClear():this (FullOpts) 9 (900.00 % of base) : System.Collections.NonGeneric.dasm - System.Collections.CollectionBase:OnClearComplete():this (FullOpts) 9 (900.00 % of base) : System.Collections.NonGeneric.dasm - System.Collections.CollectionBase:OnInsert(int,System.Object):this (FullOpts) 9 (900.00 % of base) : System.Collections.NonGeneric.dasm - System.Collections.CollectionBase:OnInsertComplete(int,System.Object):this (FullOpts) 9 (900.00 % of base) : System.Collections.NonGeneric.dasm - System.Collections.CollectionBase:OnRemove(int,System.Object):this (FullOpts) 9 (900.00 % of base) : System.Collections.NonGeneric.dasm - System.Collections.CollectionBase:OnRemoveComplete(int,System.Object):this (FullOpts) 9 (900.00 % of base) : System.Collections.NonGeneric.dasm - System.Collections.CollectionBase:OnSet(int,System.Object,System.Object):this (FullOpts) 9 (900.00 % of base) : System.Collections.NonGeneric.dasm - System.Collections.CollectionBase:OnSetComplete(int,System.Object,System.Object):this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner`1[double]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner`1[int]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner`1[long]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner`1[short]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner`1[System.__Canon]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner`1[System.Nullable`1[int]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner`1[System.Numerics.Vector`1[float]]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner`1[ubyte]:.ctor():this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumeratorForIndexRange_Abstract`2[double,System.Nullable`1[int]]:Dispose():this (FullOpts) 9 (900.00 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumeratorForIndexRange_Abstract`2[int,System.Nullable`1[int]]:Dispose():this (FullOpts) Top method improvements (percentages): -16 (-4.43 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:CopyTo(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken):this (FullOpts) -14 (-4.37 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:GetMaxSignatureSize(int):int:this (FullOpts) -25 (-3.82 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.ComposablePartDefinition:TryGetExports(System.ComponentModel.Composition.Primitives.ImportDefinition,byref,byref):ubyte:this (FullOpts) -14 (-3.66 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:LoadIntoBufferAsync(long,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts) -9 (-3.44 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.WebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -16 (-3.35 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[long]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[long]:this (FullOpts) -16 (-3.29 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[double]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[double]:this (FullOpts) -16 (-3.23 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[System.Nullable`1[int]]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Nullable`1[int]]:this (FullOpts) -51 (-3.19 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:ReportInvalidLock(System.String,int,System.Configuration.ConfigurationValue,System.String):this (FullOpts) -8 (-3.19 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Metrics.ObservableInstrument`1[System.Numerics.Vector`1[float]]:Observe(System.Diagnostics.Metrics.MeterListener):this (FullOpts) -6 (-2.99 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.OSFileStreamStrategy:WriteAsync(System.ReadOnlyMemory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[double,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[double],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[int,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[int],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[long,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[long],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[short,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[short],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]],ubyte):this (FullOpts) -4 (-2.96 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.UnaryQueryOperator`2[ubyte,System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[ubyte],ubyte):this (FullOpts) -15 (-2.96 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[int]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this (FullOpts) -15 (-2.95 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[ubyte]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (FullOpts) -15 (-2.94 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[short]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[short]:this (FullOpts) -8 (-2.92 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[System.Numerics.Vector`1[float]](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:this (FullOpts) -28 (-2.82 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Nullable`1[int]]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):System.Nullable`1[int]:this (FullOpts) -6 (-2.78 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:ReadBufferedContentAsString():System.String:this (FullOpts) -21 (-2.76 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Update(System.Data.DataTable):int:this (FullOpts) -28 (-2.74 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[int]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):int:this (FullOpts) -28 (-2.73 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[ubyte]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):ubyte:this (FullOpts) -28 (-2.73 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[short]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):short:this (FullOpts) -28 (-2.71 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[long]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):long:this (FullOpts) -28 (-2.69 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[double]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):double:this (FullOpts) -6 (-2.64 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSA:ImportSubjectPublicKeyInfo(System.ReadOnlySpan`1[ubyte],byref):this (FullOpts) -8 (-2.59 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[ubyte](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte]:this (FullOpts) -8 (-2.56 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[short](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[short]:this (FullOpts) -16 (-2.49 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:SignDataCore(System.ReadOnlySpan`1[ubyte],System.Security.Cryptography.HashAlgorithmName,int):ubyte[]:this (FullOpts) -8 (-2.44 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[double](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[double]:this (FullOpts) -8 (-2.44 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[System.Nullable`1[int]](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]]:this (FullOpts) -27 (-2.24 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeCompiler:FromSourceBatch(System.CodeDom.Compiler.CompilerParameters,System.String[]):System.CodeDom.Compiler.CompilerResults:this (FullOpts) -7 (-2.11 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:get_DebugView():System.String:this (FullOpts) -9 (-2.10 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ApplicationSettingsBase:Reload():this (FullOpts) -6 (-2.09 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.BinaryFormat.Deserializer.ObjectRecordDeserializer:UnwrapMemberValue(System.Object):System.ValueTuple`2[System.Object,System.Formats.Nrbf.SerializationRecordId]:this (FullOpts) -7 (-2.05 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelWriter`1[double]:WriteAsync(double,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -7 (-2.02 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelWriter`1[System.Nullable`1[int]]:WriteAsync(System.Nullable`1[int],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -5 (-2.02 % of base) : System.Private.CoreLib.dasm - System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts) -5 (-2.00 % of base) : System.Private.CoreLib.dasm - System.IO.TextWriter:Write(System.ReadOnlySpan`1[ushort]):this (FullOpts) -5 (-1.99 % of base) : System.Private.CoreLib.dasm - System.IO.TextWriter:WriteLine(System.ReadOnlySpan`1[ushort]):this (FullOpts) -13 (-1.95 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECAlgorithm:ImportPkcs8PrivateKey(System.ReadOnlySpan`1[ubyte],byref):this (FullOpts) -15 (-1.94 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XContainer:Add(System.Object):this (FullOpts) -9 (-1.88 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataReader:GetFieldValueAsync[System.__Canon](int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.__Canon]:this (FullOpts) -6 (-1.83 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:InternalCopyToAsync(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts) -14 (-1.66 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:EnsureRequiredProperties(ubyte):this (FullOpts) -19 (-1.66 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter`1[System.Numerics.Vector`1[float]]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):System.Numerics.Vector`1[float]:this (FullOpts) -5 (-1.49 % of base) : System.Linq.dasm - System.Linq.Enumerable+OrderedIterator`1[System.Nullable`1[int]]:TryGetFirst(byref):System.Nullable`1[int]:this (FullOpts) -5 (-1.48 % of base) : System.Linq.dasm - System.Linq.Enumerable+OrderedIterator`1[double]:TryGetFirst(byref):double:this (FullOpts) -17 (-1.44 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:ImportRSAPublicKey(System.ReadOnlySpan`1[ubyte],byref):this (FullOpts) -7 (-1.38 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.ChannelReader`1[System.Numerics.Vector`1[float]]:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Numerics.Vector`1[float]]:this (FullOpts) -8 (-1.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsa:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) -8 (-1.34 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSA:TryHashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],System.Security.Cryptography.HashAlgorithmName,byref):ubyte:this (FullOpts) -6 (-1.31 % of base) : System.Private.Xml.dasm - System.Xml.XmlNode:get_InnerXml():System.String:this (FullOpts) -6 (-1.31 % of base) : System.Private.Xml.dasm - System.Xml.XmlNode:get_OuterXml():System.String:this (FullOpts) -13 (-1.24 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathNavigator:get_OuterXml():System.String:this (FullOpts) -15 (-1.21 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeCompiler:FromDomBatch(System.CodeDom.Compiler.CompilerParameters,System.CodeDom.CodeCompileUnit[]):System.CodeDom.Compiler.CompilerResults:this (FullOpts) -6 (-1.21 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.TextEncoder:EncodeToNewString(System.ReadOnlySpan`1[ushort],int):System.String:this (FullOpts) -6 (-1.20 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ApplicationSettingsBase:ResetProviders():this (FullOpts) -8 (-1.18 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:FindChangedConfigurationStream():System.String:this (FullOpts) -2 (-1.17 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:InitProtectedConfigurationSection():this (FullOpts) -4 (-1.12 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElement:GetHashCode():int:this (FullOpts) -6 (-1.03 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteNamespaceDeclarations(System.Xml.Serialization.XmlSerializerNamespaces):this (FullOpts) -4 (-1.02 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ApplicationSettingsBase:GetPropertiesForProvider(System.Configuration.SettingsProvider):System.Configuration.SettingsPropertyCollection:this (FullOpts) -3 (-1.02 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventListener:Dispose():this (FullOpts) -3 (-0.98 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindBySerialNumber(System.Numerics.BigInteger,System.Numerics.BigInteger):this (FullOpts) -6 (-0.95 % of base) : System.IO.Pipes.dasm - System.IO.Pipes.PipeStream:ReadAsync(ubyte[],int,int,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]:this (FullOpts) -4 (-0.89 % of base) : System.Net.Http.dasm - System.Net.Http.HttpBaseStream:BeginRead(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts) -4 (-0.85 % of base) : System.Linq.dasm - System.Linq.Enumerable+OrderedIterator`1[long]:ToArray(int,int):long[]:this (FullOpts) -5 (-0.83 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathNavigator:get_InnerXml():System.String:this (FullOpts) -8 (-0.77 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:FindAndEnsureFactoryRecord(System.String,byref):System.Configuration.FactoryRecord:this (FullOpts) -3 (-0.76 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(System.Data.DataTable,System.Data.IDbCommand,int):int:this (FullOpts) -3 (-0.74 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.OSFileStreamStrategy:ReadAsync(System.Memory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this (FullOpts) -6 (-0.71 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElementCollection:SerializeElement(System.Xml.XmlWriter,ubyte):ubyte:this (FullOpts) -2 (-0.71 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:EvaluateOne(System.String[],System.Configuration.SectionInput,ubyte,System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object):System.Object:this (FullOpts) -7 (-0.71 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SettingsBase:SaveCore():this (FullOpts) -3 (-0.70 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(int,int,System.Data.DataTable[]):int:this (FullOpts) -4 (-0.68 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationElementCollection:BaseGetKey(int):System.Object:this (FullOpts) -3 (-0.67 % of base) : System.Private.CoreLib.dasm - System.Text.Encoder:GetBytes(ulong,int,ulong,int,ubyte):int:this (FullOpts) -7 (-0.64 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseReader:IndexOfLocalName(System.Xml.XmlDictionaryString[],System.Xml.XmlDictionaryString):int:this (FullOpts) -5 (-0.63 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ExportProvider:GetExportedValueCore[System.__Canon](System.String,int):System.__Canon:this (FullOpts) -7 (-0.62 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ExportProvider:GetExportsCore[System.__Canon,System.Nullable`1[int]](System.String):System.Collections.ObjectModel.Collection`1[System.__Canon]:this (FullOpts) -7 (-0.62 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ExportProvider:GetExportsCore[System.__Canon](System.String):System.Collections.ObjectModel.Collection`1[System.__Canon]:this (FullOpts) -6 (-0.61 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationProvider:GetChildKeys(System.Collections.Generic.IEnumerable`1[System.String],System.String):System.Collections.Generic.IEnumerable`1[System.String]:this (FullOpts) -7 (-0.61 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlBaseReader:IndexOfLocalName(System.String[],System.String):int:this (FullOpts) -7 (-0.57 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ExportProvider:GetExportedValuesCore[System.__Canon](System.String):System.Collections.ObjectModel.Collection`1[System.__Canon]:this (FullOpts) -5 (-0.56 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:UpdateRowExecute(System.Data.Common.RowUpdatedEventArgs,System.Data.IDbCommand,int):this (FullOpts) -3 (-0.55 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventListener:CallBackForExistingEventSources(ubyte,System.EventHandler`1[System.Diagnostics.Tracing.EventSourceCreatedEventArgs]):this (FullOpts) -2 (-0.54 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetNonZeroBytes(System.Span`1[ubyte]):this (FullOpts) -2 (-0.53 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetBytes(System.Span`1[ubyte]):this (FullOpts) -2 (-0.52 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ApplicationSettingsBase:Reset():this (FullOpts) -3 (-0.52 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.BaseCodePageEncoding:FindCodePage(int):ubyte:this (FullOpts) -3 (-0.45 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XNode:GetXmlString(int):System.String:this (FullOpts) -3 (-0.44 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(System.Data.DataSet,int,int,System.String,System.Data.IDbCommand,int):int:this (FullOpts) -3 (-0.43 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(System.Data.DataTable[],int,int,System.Data.IDbCommand,int):int:this (FullOpts) -2 (-0.43 % of base) : System.Linq.dasm - System.Linq.Enumerable+OrderedIterator`1[ubyte]:ToArray(int,int):ubyte[]:this (FullOpts) 14926 total methods with Code Size differences (165 improved, 14761 regressed), 237058 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 3 months ago

Top method regressions

153 (9.71 % of base) - System.Net.Http.Headers.HttpHeaders:ToString():System.String:this ```diff ; Assembly listing for method System.Net.Http.Headers.HttpHeaders:ToString():System.String:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 13 single block inlinees; 40 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T49] ( 4, 4 ) ref -> rbx this class-hnd single-def -; V01 loc0 [V01 ] ( 86,318 ) struct (32) [rbp-0x48] do-not-enreg[XSF] must-init addr-exposed ld-addr-op +; V01 loc0 [V01 ] ( 86,318 ) struct (32) [rbp-0x50] do-not-enreg[XSF] must-init addr-exposed ld-addr-op ;* V02 loc1 [V02 ] ( 0, 0 ) struct (16) zero-ref ;* V03 loc2 [V03 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V04 loc3 [V04,T60] ( 0, 0 ) int -> zero-ref ;* V05 loc4 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op -; V06 loc5 [V06 ] ( 3, 10 ) ref -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd -; V07 loc6 [V07 ] ( 7, 58 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd -; V08 loc7 [V08,T04] ( 5, 42 ) ref -> r13 class-hnd exact +; V06 loc5 [V06 ] ( 3, 10 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd +; V07 loc6 [V07 ] ( 7, 58 ) ref -> [rbp-0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd +; V08 loc7 [V08,T04] ( 5, 42 ) ref -> r12 class-hnd exact ;* V09 loc8 [V09,T59] ( 0, 0 ) int -> zero-ref ;# V10 OutArgs [V10 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V11 tmp1 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V12 tmp2 [V12,T55] ( 2, 4 ) long -> rdi "Inlining Arg" ;* V13 tmp3 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V14 tmp4 [V14,T50] ( 4, 6 ) ref -> rax class-hnd exact single-def "Inlining Arg" -; V15 tmp5 [V15,T52] ( 4, 5 ) int -> rbx "Inlining Arg" -; V16 tmp6 [V16,T30] ( 6, 10.50) ref -> [rbp-0x88] class-hnd "Inline return value spill temp" +; V15 tmp5 [V15,T52] ( 4, 5 ) int -> r15 "Inlining Arg" +; V16 tmp6 [V16,T30] ( 6, 10.50) ref -> [rbp-0xA0] class-hnd "Inline return value spill temp" ;* V17 tmp7 [V17 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1" ;* V18 tmp8 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" ;* V19 tmp9 [V19,T53] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V20 tmp10 [V20 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1" ;* V21 tmp11 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" ; V22 tmp12 [V22,T31] ( 5, 10 ) int -> rdi "Inline stloc first use temp" -; V23 tmp13 [V23,T32] ( 5, 10 ) int -> [rbp-0x5C] spill-single-def "Inline stloc first use temp" +; V23 tmp13 [V23,T32] ( 5, 10 ) int -> [rbp-0x64] spill-single-def "Inline stloc first use temp" ;* V24 tmp14 [V24 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V25 tmp15 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V26 tmp16 [V26,T40] ( 2, 8 ) byref -> rdi "Inlining Arg" -; V27 tmp17 [V27,T45] ( 2, 8 ) int -> rdx "Inlining Arg" +; V27 tmp17 [V27,T45] ( 2, 8 ) int -> r8 "Inlining Arg" ;* V28 tmp18 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V29 tmp19 [V29 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V30 tmp20 [V30 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V31 tmp21 [V31 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V32 tmp22 [V32 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" -; V33 tmp23 [V33,T21] ( 5, 20 ) int -> [rbp-0x60] spill-single-def "Inline stloc first use temp" +; V33 tmp23 [V33,T21] ( 5, 20 ) int -> [rbp-0x68] spill-single-def "Inline stloc first use temp" ;* V34 tmp24 [V34 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V35 tmp25 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V36 tmp26 [V36,T24] ( 2, 16 ) byref -> rdx "Inlining Arg" -; V37 tmp27 [V37,T25] ( 2, 16 ) int -> rcx "Inlining Arg" +; V37 tmp27 [V37,T25] ( 2, 16 ) int -> rdi "Inlining Arg" ;* V38 tmp28 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V39 tmp29 [V39 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V40 tmp30 [V40 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V41 tmp31 [V41,T23] ( 4, 16 ) ref -> r13 class-hnd exact "Inlining Arg" +; V41 tmp31 [V41,T23] ( 4, 16 ) ref -> r12 class-hnd exact "Inlining Arg" ; V42 tmp32 [V42,T33] ( 5, 10 ) int -> rsi "Inline stloc first use temp" -; V43 tmp33 [V43,T34] ( 5, 10 ) int -> [rbp-0x64] spill-single-def "Inline stloc first use temp" +; V43 tmp33 [V43,T34] ( 5, 10 ) int -> [rbp-0x6C] spill-single-def "Inline stloc first use temp" ;* V44 tmp34 [V44 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V45 tmp35 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V46 tmp36 [V46,T41] ( 2, 8 ) byref -> rdi "Inlining Arg" ; V47 tmp37 [V47,T46] ( 2, 8 ) int -> rdx "Inlining Arg" ;* V48 tmp38 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V49 tmp39 [V49 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V50 tmp40 [V50 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V51 tmp41 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -; V52 tmp42 [V52,T51] ( 3, 6 ) ref -> r13 class-hnd "Inline return value spill temp" +; V52 tmp42 [V52,T51] ( 3, 6 ) ref -> r12 class-hnd "Inline return value spill temp" ;* V53 tmp43 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" ; V54 tmp44 [V54,T39] ( 4, 8 ) ref -> rdi class-hnd "Inline return value spill temp" ;* V55 tmp45 [V55 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1" ; V56 tmp46 [V56,T22] ( 4, 17 ) ref -> rsi class-hnd "spilling qmarkNull" ;* V57 tmp47 [V57 ] ( 0, 0 ) ref -> zero-ref -; V58 tmp48 [V58,T20] ( 5, 20 ) ref -> r12 class-hnd exact "Inlining Arg" -; V59 tmp49 [V59,T35] ( 5, 10 ) int -> rsi "Inline stloc first use temp" -; V60 tmp50 [V60,T36] ( 5, 10 ) int -> [rbp-0x68] spill-single-def "Inline stloc first use temp" +; V58 tmp48 [V58,T20] ( 5, 20 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "Inlining Arg" +; V59 tmp49 [V59,T35] ( 5, 10 ) int -> rdi "Inline stloc first use temp" +; V60 tmp50 [V60,T36] ( 5, 10 ) int -> [rbp-0x70] spill-single-def "Inline stloc first use temp" ;* V61 tmp51 [V61 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V62 tmp52 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V63 tmp53 [V63,T42] ( 2, 8 ) byref -> rdi "Inlining Arg" ; V64 tmp54 [V64,T47] ( 2, 8 ) int -> rdx "Inlining Arg" ;* V65 tmp55 [V65 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V66 tmp56 [V66 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V67 tmp57 [V67 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V68 tmp58 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V69 tmp59 [V69,T05] ( 5, 40 ) int -> rsi "Inline stloc first use temp" -; V70 tmp60 [V70,T06] ( 5, 40 ) int -> [rbp-0x6C] spill-single-def "Inline stloc first use temp" +; V70 tmp60 [V70,T06] ( 5, 40 ) int -> [rbp-0x74] spill-single-def "Inline stloc first use temp" ;* V71 tmp61 [V71 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V72 tmp62 [V72 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V73 tmp63 [V73,T09] ( 2, 32 ) byref -> rdi "Inlining Arg" -; V74 tmp64 [V74,T11] ( 2, 32 ) int -> rdx "Inlining Arg" +; V74 tmp64 [V74,T11] ( 2, 32 ) int -> rsi "Inlining Arg" ;* V75 tmp65 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V76 tmp66 [V76 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V77 tmp67 [V77 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V78 tmp68 [V78 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -; V79 tmp69 [V79,T00] ( 5,112 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "Inlining Arg" +; V79 tmp69 [V79,T00] ( 5,112 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "Inlining Arg" ; V80 tmp70 [V80,T07] ( 5, 40 ) int -> rdi "Inline stloc first use temp" -; V81 tmp71 [V81,T08] ( 5, 40 ) int -> [rbp-0x70] spill-single-def "Inline stloc first use temp" +; V81 tmp71 [V81,T08] ( 5, 40 ) int -> [rbp-0x78] spill-single-def "Inline stloc first use temp" ;* V82 tmp72 [V82 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V83 tmp73 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" -; V84 tmp74 [V84,T10] ( 2, 32 ) byref -> rdi "Inlining Arg" -; V85 tmp75 [V85,T12] ( 2, 32 ) int -> rdx "Inlining Arg" +; V84 tmp74 [V84,T10] ( 2, 32 ) byref -> r8 "Inlining Arg" +; V85 tmp75 [V85,T12] ( 2, 32 ) int -> rdi "Inlining Arg" ;* V86 tmp76 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V87 tmp77 [V87 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V88 tmp78 [V88 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V89 tmp79 [V89 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V90 tmp80 [V90,T29] ( 5, 14 ) int -> rsi "Inline stloc first use temp" -; V91 tmp81 [V91,T37] ( 5, 10 ) int -> r13 "Inline stloc first use temp" +; V91 tmp81 [V91,T37] ( 5, 10 ) int -> r12 "Inline stloc first use temp" ;* V92 tmp82 [V92 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V93 tmp83 [V93 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V94 tmp84 [V94,T43] ( 2, 8 ) byref -> rdi "Inlining Arg" ; V95 tmp85 [V95,T48] ( 2, 8 ) int -> rax "Inlining Arg" ;* V96 tmp86 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V97 tmp87 [V97 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V98 tmp88 [V98 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V99 tmp89 [V99 ] ( 0, 0 ) byref -> zero-ref single-def "field V02._reference (fldOffset=0x0)" P-INDEP ;* V100 tmp90 [V100 ] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP -; V101 tmp91 [V101,T54] ( 2, 5 ) byref -> r15 single-def "field V03._reference (fldOffset=0x0)" P-INDEP -; V102 tmp92 [V102,T38] ( 4, 10 ) int -> rbx "field V03._length (fldOffset=0x8)" P-INDEP -; V103 tmp93 [V103,T44] ( 2, 8 ) ref -> r13 "field V05.Value (fldOffset=0x0)" P-INDEP -; V104 tmp94 [V104,T13] ( 10, 27 ) ref -> r12 "field V05.Key (fldOffset=0x8)" P-INDEP +; V101 tmp91 [V101,T54] ( 2, 5 ) byref -> r14 single-def "field V03._reference (fldOffset=0x0)" P-INDEP +; V102 tmp92 [V102,T38] ( 4, 10 ) int -> r15 "field V03._length (fldOffset=0x8)" P-INDEP +; V103 tmp93 [V103,T44] ( 2, 8 ) ref -> r12 "field V05.Value (fldOffset=0x0)" P-INDEP +; V104 tmp94 [V104,T13] ( 10, 27 ) ref -> [rbp-0xB8] spill-single-def "field V05.Key (fldOffset=0x8)" P-INDEP ; V105 tmp95 [V105,T58] ( 2, 2 ) byref -> rdi single-def "field V11._reference (fldOffset=0x0)" P-INDEP ;* V106 tmp96 [V106,T61] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP -; V107 tmp97 [V107,T56] ( 3, 2 ) byref -> r15 "field V13._reference (fldOffset=0x0)" P-INDEP -; V108 tmp98 [V108,T57] ( 3, 2 ) int -> rbx "field V13._length (fldOffset=0x8)" P-INDEP +; V107 tmp97 [V107,T56] ( 3, 2 ) byref -> r14 "field V13._reference (fldOffset=0x0)" P-INDEP +; V108 tmp98 [V108,T57] ( 3, 2 ) int -> r15 "field V13._length (fldOffset=0x8)" P-INDEP ;* V109 tmp99 [V109 ] ( 0, 0 ) byref -> zero-ref "field V24._reference (fldOffset=0x0)" P-INDEP ;* V110 tmp100 [V110 ] ( 0, 0 ) int -> zero-ref "field V24._length (fldOffset=0x8)" P-INDEP ;* V111 tmp101 [V111 ] ( 0, 0 ) byref -> zero-ref "field V25._reference (fldOffset=0x0)" P-INDEP ;* V112 tmp102 [V112 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP ;* V113 tmp103 [V113 ] ( 0, 0 ) byref -> zero-ref "field V28._reference (fldOffset=0x0)" P-INDEP ;* V114 tmp104 [V114 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP ;* V115 tmp105 [V115 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP ;* V116 tmp106 [V116 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP ;* V117 tmp107 [V117 ] ( 0, 0 ) byref -> zero-ref "field V35._reference (fldOffset=0x0)" P-INDEP ;* V118 tmp108 [V118 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP ;* V119 tmp109 [V119 ] ( 0, 0 ) byref -> zero-ref "field V38._reference (fldOffset=0x0)" P-INDEP ;* V120 tmp110 [V120 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP ;* V121 tmp111 [V121 ] ( 0, 0 ) byref -> zero-ref "field V44._reference (fldOffset=0x0)" P-INDEP ;* V122 tmp112 [V122 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP ;* V123 tmp113 [V123 ] ( 0, 0 ) byref -> zero-ref "field V45._reference (fldOffset=0x0)" P-INDEP ;* V124 tmp114 [V124 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP ;* V125 tmp115 [V125 ] ( 0, 0 ) byref -> zero-ref "field V48._reference (fldOffset=0x0)" P-INDEP ;* V126 tmp116 [V126 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP ;* V127 tmp117 [V127 ] ( 0, 0 ) byref -> zero-ref "field V61._reference (fldOffset=0x0)" P-INDEP ;* V128 tmp118 [V128 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP ;* V129 tmp119 [V129 ] ( 0, 0 ) byref -> zero-ref "field V62._reference (fldOffset=0x0)" P-INDEP ;* V130 tmp120 [V130 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP ;* V131 tmp121 [V131 ] ( 0, 0 ) byref -> zero-ref "field V65._reference (fldOffset=0x0)" P-INDEP ;* V132 tmp122 [V132 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP ;* V133 tmp123 [V133 ] ( 0, 0 ) byref -> zero-ref "field V71._reference (fldOffset=0x0)" P-INDEP ;* V134 tmp124 [V134 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP ;* V135 tmp125 [V135 ] ( 0, 0 ) byref -> zero-ref "field V72._reference (fldOffset=0x0)" P-INDEP ;* V136 tmp126 [V136 ] ( 0, 0 ) int -> zero-ref "field V72._length (fldOffset=0x8)" P-INDEP ;* V137 tmp127 [V137 ] ( 0, 0 ) byref -> zero-ref "field V75._reference (fldOffset=0x0)" P-INDEP ;* V138 tmp128 [V138 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP ;* V139 tmp129 [V139 ] ( 0, 0 ) byref -> zero-ref "field V82._reference (fldOffset=0x0)" P-INDEP ;* V140 tmp130 [V140 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP ;* V141 tmp131 [V141 ] ( 0, 0 ) byref -> zero-ref "field V83._reference (fldOffset=0x0)" P-INDEP ;* V142 tmp132 [V142 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP ;* V143 tmp133 [V143 ] ( 0, 0 ) byref -> zero-ref "field V86._reference (fldOffset=0x0)" P-INDEP ;* V144 tmp134 [V144 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP ;* V145 tmp135 [V145 ] ( 0, 0 ) byref -> zero-ref "field V92._reference (fldOffset=0x0)" P-INDEP ;* V146 tmp136 [V146 ] ( 0, 0 ) int -> zero-ref "field V92._length (fldOffset=0x8)" P-INDEP ;* V147 tmp137 [V147 ] ( 0, 0 ) byref -> zero-ref "field V93._reference (fldOffset=0x0)" P-INDEP ;* V148 tmp138 [V148 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP ;* V149 tmp139 [V149 ] ( 0, 0 ) byref -> zero-ref "field V96._reference (fldOffset=0x0)" P-INDEP ;* V150 tmp140 [V150 ] ( 0, 0 ) int -> zero-ref "field V96._length (fldOffset=0x8)" P-INDEP ; V151 tmp141 [V151,T14] ( 3, 24 ) byref -> rdi "BlockOp address local" -; V152 GsCookie [V152 ] ( 1, 1 ) long -> [rbp-0x98] do-not-enreg[X] addr-exposed "GSSecurityCookie" -; V153 cse0 [V153,T02] ( 7, 56 ) int -> [rbp-0x74] spill-single-def "CSE #21: aggressive" -; V154 cse1 [V154,T03] ( 7, 56 ) int -> [rbp-0x78] spill-single-def "CSE #25: aggressive" -; V155 cse2 [V155,T26] ( 7, 14 ) int -> [rbp-0x7C] spill-single-def "CSE #03: moderate" -; V156 cse3 [V156,T27] ( 7, 14 ) int -> r12 "CSE #08: moderate" -; V157 cse4 [V157,T28] ( 7, 14 ) int -> [rbp-0x80] spill-single-def "CSE #15: moderate" -; V158 cse5 [V158,T15] ( 3, 24 ) int -> rax "CSE #22: moderate" -; V159 cse6 [V159,T16] ( 3, 24 ) int -> rdx "CSE #23: moderate" -; V160 cse7 [V160,T17] ( 3, 24 ) int -> rax "CSE #26: moderate" -; V161 cse8 [V161,T18] ( 3, 24 ) int -> rdx "CSE #27: moderate" -; V162 rat0 [V162,T19] ( 6, 21 ) long -> r14 "Widened IV V04" -; V163 rat1 [V163,T01] ( 6, 82 ) long -> r12 "Widened IV V09" +; V152 GsCookie [V152 ] ( 1, 1 ) long -> [rbp-0xC0] do-not-enreg[X] addr-exposed "GSSecurityCookie" +; V153 cse0 [V153,T02] ( 7, 56 ) int -> [rbp-0x7C] spill-single-def "CSE #21: aggressive" +; V154 cse1 [V154,T03] ( 7, 56 ) int -> [rbp-0x80] spill-single-def "CSE #25: aggressive" +; V155 cse2 [V155,T26] ( 7, 14 ) int -> [rbp-0x84] spill-single-def "CSE #03: moderate" +; V156 cse3 [V156,T27] ( 7, 14 ) int -> [rbp-0x88] spill-single-def "CSE #08: moderate" +; V157 cse4 [V157,T28] ( 7, 14 ) int -> [rbp-0x8C] spill-single-def "CSE #15: moderate" +; V158 cse5 [V158,T15] ( 3, 24 ) int -> rcx "CSE #22: moderate" +; V159 cse6 [V159,T16] ( 3, 24 ) int -> rsi "CSE #23: moderate" +; V160 cse7 [V160,T17] ( 3, 24 ) int -> rcx "CSE #26: moderate" +; V161 cse8 [V161,T18] ( 3, 24 ) int -> rdi "CSE #27: moderate" +; V162 rat0 [V162,T19] ( 6, 21 ) long -> r13 "Widened IV V04" +; V163 rat1 [V163,T01] ( 6, 82 ) long -> [rbp-0x98] "Widened IV V09" ; -; Lcl frame size = 120 +; Lcl frame size = 152 G_M63021_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 120 - lea rbp, [rsp+0xA0] - xor eax, eax - mov qword ptr [rbp-0x58], rax + sub rsp, 152 + lea rbp, [rsp+0xC0] vxorps xmm8, xmm8, xmm8 - vmovdqu ymmword ptr [rbp-0x50], ymm8 - mov qword ptr [rbp-0x30], rax - mov qword ptr [rbp-0x98], 0xD1FFAB1E + vmovdqu ymmword ptr [rbp-0x60], ymm8 + vmovdqa xmmword ptr [rbp-0x40], xmm8 + mov qword ptr [rbp-0x30], rdi + mov qword ptr [rbp-0xC0], 0xD1FFAB1E mov rbx, rdi - ;; size=56 bbWeight=1 PerfScore 12.58 + ;; size=58 bbWeight=1 PerfScore 13.33 G_M63021_IG02: test dword ptr [rsp], esp sub rsp, 0x400 lea rdi, [rsp] - mov bword ptr [rbp-0x38], rdi - mov dword ptr [rbp-0x30], 512 + mov bword ptr [rbp-0x40], rdi + mov dword ptr [rbp-0x38], 512 xor edi, edi - mov dword ptr [rbp-0x40], edi + mov dword ptr [rbp-0x48], edi mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Net.Http.Headers.HttpHeaders:GetEntriesArray():System.Net.Http.Headers.HeaderEntry[]:this call [rax]System.Net.Http.Headers.HttpHeaders:GetEntriesArray():System.Net.Http.Headers.HeaderEntry[]:this - mov ebx, dword ptr [rbx+0x10] + mov r15d, dword ptr [rbx+0x10] test rax, rax jne SHORT G_M63021_IG04 - ;; size=53 bbWeight=1 PerfScore 13.75 + ;; size=54 bbWeight=1 PerfScore 13.75 G_M63021_IG03: - test ebx, ebx + test r15d, r15d je SHORT G_M63021_IG05 - jmp G_M63021_IG51 - ;; size=9 bbWeight=0.50 PerfScore 1.62 + jmp G_M63021_IG52 + ;; size=10 bbWeight=0.50 PerfScore 1.62 G_M63021_IG04: - cmp dword ptr [rax+0x08], ebx - jb G_M63021_IG51 + cmp dword ptr [rax+0x08], r15d + jb G_M63021_IG52 add rax, 16 - mov r15, rax + mov r14, rax jmp SHORT G_M63021_IG06 - ;; size=18 bbWeight=0.50 PerfScore 3.25 + ;; size=19 bbWeight=0.50 PerfScore 3.25 G_M63021_IG05: - xor r15, r15 - xor ebx, ebx - ;; size=5 bbWeight=0.50 PerfScore 0.25 + xor r14, r14 + xor r15d, r15d + ;; size=6 bbWeight=0.50 PerfScore 0.25 G_M63021_IG06: - xor r14d, r14d - test ebx, ebx - jle G_M63021_IG47 - ;; size=11 bbWeight=1 PerfScore 1.50 + xor r13d, r13d + test r15d, r15d + jle G_M63021_IG48 + ;; size=12 bbWeight=1 PerfScore 1.50 G_M63021_IG07: - cmp r14d, ebx - jae G_M63021_IG52 - mov rdi, r14 + cmp r13d, r15d + jae G_M63021_IG53 + mov rdi, r13 shl rdi, 4 - add rdi, r15 - mov r13, gword ptr [rdi] - mov r12, gword ptr [rdi+0x08] - test r12, r12 + add rdi, r14 + mov r12, gword ptr [rdi] + mov rax, gword ptr [rdi+0x08] + mov gword ptr [rbp-0xB8], rax + test rax, rax jne SHORT G_M63021_IG11 - ;; size=31 bbWeight=4 PerfScore 30.00 + ;; size=38 bbWeight=4 PerfScore 34.00 G_M63021_IG08: - mov eax, dword ptr [rbp-0x40] - mov dword ptr [rbp-0x60], eax - mov edi, dword ptr [rbp-0x30] + mov ecx, dword ptr [rbp-0x48] + mov dword ptr [rbp-0x68], ecx + mov edi, dword ptr [rbp-0x38] add edi, -2 - cmp eax, edi + cmp ecx, edi jle SHORT G_M63021_IG10 ;; size=16 bbWeight=4 PerfScore 18.00 G_M63021_IG09: - lea rdi, [rbp-0x48] + lea rdi, [rbp-0x50] mov esi, 2 - mov rcx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this - call [rcx]System.Text.ValueStringBuilder:Grow(int):this + mov rdx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this + call [rdx]System.Text.ValueStringBuilder:Grow(int):this ;; size=21 bbWeight=2 PerfScore 8.00 G_M63021_IG10: - mov eax, dword ptr [rbp-0x60] - cmp eax, dword ptr [rbp-0x30] - jbe G_M63021_IG17 - jmp G_M63021_IG51 + mov ecx, dword ptr [rbp-0x68] + cmp ecx, dword ptr [rbp-0x38] + jbe G_M63021_IG18 + jmp G_M63021_IG52 ;; size=17 bbWeight=4 PerfScore 24.00 G_M63021_IG11: mov rsi, 0xD1FFAB1E ; System.Net.Http.Headers.KnownHeader - cmp qword ptr [r12], rsi + mov rax, gword ptr [rbp-0xB8] + cmp qword ptr [rax], rsi je SHORT G_M63021_IG13 mov rsi, 0xD1FFAB1E ; System.String - cmp qword ptr [r12], rsi + cmp qword ptr [rax], rsi jne SHORT G_M63021_IG08 - ;; size=32 bbWeight=1 PerfScore 8.50 + ;; size=37 bbWeight=1 PerfScore 9.50 G_M63021_IG12: - mov rsi, r12 + mov rax, gword ptr [rbp-0xB8] + mov rsi, rax + mov rax, gword ptr [rbp-0xB8] jmp SHORT G_M63021_IG14 - ;; size=5 bbWeight=0.50 PerfScore 1.12 + ;; size=19 bbWeight=0.50 PerfScore 2.12 G_M63021_IG13: - mov rax, gword ptr [r12+0x08] - mov rsi, rax - ;; size=8 bbWeight=2 PerfScore 4.50 + mov rcx, gword ptr [rax+0x08] + mov rsi, rcx + ;; size=7 bbWeight=2 PerfScore 4.50 G_M63021_IG14: test rsi, rsi - je SHORT G_M63021_IG08 - mov edi, dword ptr [rbp-0x40] - mov eax, dword ptr [rsi+0x08] - mov dword ptr [rbp-0x7C], eax - cmp eax, 1 - jne SHORT G_M63021_IG15 - cmp edi, dword ptr [rbp-0x30] - jae SHORT G_M63021_IG15 - cmp edi, dword ptr [rbp-0x30] - jae G_M63021_IG52 - mov rax, bword ptr [rbp-0x38] - mov ecx, edi + je SHORT G_M63021_IG15 + mov edi, dword ptr [rbp-0x48] + mov ecx, dword ptr [rsi+0x08] + mov dword ptr [rbp-0x84], ecx + cmp ecx, 1 + jne SHORT G_M63021_IG16 + cmp edi, dword ptr [rbp-0x38] + jae SHORT G_M63021_IG16 + cmp edi, dword ptr [rbp-0x38] + jae G_M63021_IG53 + mov rcx, bword ptr [rbp-0x40] + mov edx, edi movzx rsi, word ptr [rsi+0x0C] - mov word ptr [rax+2*rcx], si + mov word ptr [rcx+2*rdx], si inc edi - mov dword ptr [rbp-0x40], edi + mov dword ptr [rbp-0x48], edi jmp G_M63021_IG08 - ;; size=57 bbWeight=2 PerfScore 40.00 + ;; size=60 bbWeight=2 PerfScore 40.00 G_M63021_IG15: - mov ecx, dword ptr [rbp-0x40] - mov dword ptr [rbp-0x5C], ecx - mov edi, dword ptr [rbp-0x30] - sub edi, eax - cmp edi, ecx - jge SHORT G_M63021_IG16 - mov gword ptr [rbp-0x88], rsi - mov esi, eax - lea rdi, [rbp-0x48] - mov rdx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this - call [rdx]System.Text.ValueStringBuilder:Grow(int):this - mov eax, dword ptr [rbp-0x7C] - mov rsi, gword ptr [rbp-0x88] - ;; size=50 bbWeight=2 PerfScore 23.00 + jmp G_M63021_IG08 + ;; size=5 bbWeight=1 PerfScore 2.00 G_M63021_IG16: - mov ecx, dword ptr [rbp-0x5C] - cmp ecx, dword ptr [rbp-0x30] + mov edx, dword ptr [rbp-0x48] + mov dword ptr [rbp-0x64], edx + mov edi, dword ptr [rbp-0x38] + sub edi, ecx + cmp edi, edx + jge SHORT G_M63021_IG17 + mov gword ptr [rbp-0xA0], rsi + mov esi, ecx + lea rdi, [rbp-0x50] + mov r8, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this + call [r8]System.Text.ValueStringBuilder:Grow(int):this + mov rax, gword ptr [rbp-0xB8] + mov ecx, dword ptr [rbp-0x84] + mov rsi, gword ptr [rbp-0xA0] + ;; size=61 bbWeight=2 PerfScore 25.00 +G_M63021_IG17: + mov edx, dword ptr [rbp-0x64] + cmp edx, dword ptr [rbp-0x38] + ja G_M63021_IG52 + mov rdi, bword ptr [rbp-0x40] + mov r8d, edx + lea rdi, bword ptr [rdi+2*r8] + mov r8d, dword ptr [rbp-0x38] + sub r8d, edx + cmp ecx, r8d ja G_M63021_IG51 - mov rdx, bword ptr [rbp-0x38] - mov edi, ecx - lea rdi, bword ptr [rdx+2*rdi] - mov edx, dword ptr [rbp-0x30] - sub edx, ecx - cmp eax, edx - ja G_M63021_IG50 - mov edx, eax + mov edx, ecx add rdx, rdx add rsi, 12 - mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) - call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong) - mov edx, dword ptr [rbp-0x7C] - add edx, dword ptr [rbp-0x40] - mov dword ptr [rbp-0x40], edx + mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) + call [r8]System.SpanHelpers:Memmove(byref,byref,ulong) + mov edx, dword ptr [rbp-0x84] + add edx, dword ptr [rbp-0x48] + mov dword ptr [rbp-0x48], edx jmp G_M63021_IG08 - ;; size=70 bbWeight=2 PerfScore 36.50 -G_M63021_IG17: - mov rdx, bword ptr [rbp-0x38] - mov ecx, eax - lea rdx, bword ptr [rdx+2*rcx] - mov ecx, dword ptr [rbp-0x30] - sub ecx, eax - cmp ecx, 2 - jb G_M63021_IG50 + ;; size=78 bbWeight=2 PerfScore 36.50 +G_M63021_IG18: + mov rax, gword ptr [rbp-0xB8] + mov rdx, bword ptr [rbp-0x40] + mov edi, ecx + lea rdx, bword ptr [rdx+2*rdi] + mov edi, dword ptr [rbp-0x38] + sub edi, ecx + cmp edi, 2 + jb G_M63021_IG51 mov rcx, 0xD1FFAB1E mov edi, dword ptr [rcx] mov dword ptr [rdx], edi - mov edx, dword ptr [rbp-0x40] + mov edx, dword ptr [rbp-0x48] add edx, 2 - mov dword ptr [rbp-0x40], edx - lea rdx, [rbp-0x50] - lea rcx, [rbp-0x58] - mov rdi, r12 - mov rsi, r13 - mov rax, 0xD1FFAB1E ; code for System.Net.Http.Headers.HttpHeaders:GetStoreValuesAsStringOrStringArray(System.Net.Http.Headers.HeaderDescriptor,System.Object,byref,byref) - call [rax]System.Net.Http.Headers.HttpHeaders:GetStoreValuesAsStringOrStringArray(System.Net.Http.Headers.HeaderDescriptor,System.Object,byref,byref) - cmp gword ptr [rbp-0x50], 0 - je SHORT G_M63021_IG19 - ;; size=80 bbWeight=4 PerfScore 70.00 -G_M63021_IG18: - mov r13, gword ptr [rbp-0x50] - mov esi, dword ptr [rbp-0x40] - mov r12d, dword ptr [r13+0x08] - cmp r12d, 1 - jne G_M63021_IG42 - cmp esi, dword ptr [rbp-0x30] - jae G_M63021_IG42 - cmp esi, dword ptr [rbp-0x30] - jae G_M63021_IG52 - mov rdi, bword ptr [rbp-0x38] + mov dword ptr [rbp-0x48], edx + lea rdx, [rbp-0x58] + lea rcx, [rbp-0x60] + mov rdi, rax + mov rsi, r12 + mov r8, 0xD1FFAB1E ; code for System.Net.Http.Headers.HttpHeaders:GetStoreValuesAsStringOrStringArray(System.Net.Http.Headers.HeaderDescriptor,System.Object,byref,byref) + call [r8]System.Net.Http.Headers.HttpHeaders:GetStoreValuesAsStringOrStringArray(System.Net.Http.Headers.HeaderDescriptor,System.Object,byref,byref) + cmp gword ptr [rbp-0x58], 0 + je SHORT G_M63021_IG20 + ;; size=88 bbWeight=4 PerfScore 74.00 +G_M63021_IG19: + mov r12, gword ptr [rbp-0x58] + mov esi, dword ptr [rbp-0x48] + mov eax, dword ptr [r12+0x08] + mov dword ptr [rbp-0x88], eax + cmp eax, 1 + jne G_M63021_IG43 + cmp esi, dword ptr [rbp-0x38] + jae G_M63021_IG43 + cmp esi, dword ptr [rbp-0x38] + jae G_M63021_IG53 + mov rdi, bword ptr [rbp-0x40] mov eax, esi - movzx rcx, word ptr [r13+0x0C] + movzx rcx, word ptr [r12+0x0C] mov word ptr [rdi+2*rax], cx inc esi - mov dword ptr [rbp-0x40], esi - jmp G_M63021_IG40 - ;; size=64 bbWeight=2 PerfScore 37.50 -G_M63021_IG19: - test r12, r12 - jne SHORT G_M63021_IG22 - ;; size=5 bbWeight=2 PerfScore 2.50 + mov dword ptr [rbp-0x48], esi + jmp G_M63021_IG41 + ;; size=71 bbWeight=2 PerfScore 39.50 G_M63021_IG20: + mov r12, gword ptr [rbp-0xB8] + test r12, r12 + jne SHORT G_M63021_IG23 + ;; size=12 bbWeight=2 PerfScore 4.50 +G_M63021_IG21: xor rsi, rsi ;; size=2 bbWeight=4 PerfScore 1.00 -G_M63021_IG21: +G_M63021_IG22: test rsi, rsi - jne SHORT G_M63021_IG24 + jne SHORT G_M63021_IG25 xor rdi, rdi - jmp SHORT G_M63021_IG25 + jmp SHORT G_M63021_IG26 ;; size=9 bbWeight=2 PerfScore 7.00 -G_M63021_IG22: +G_M63021_IG23: mov rsi, 0xD1FFAB1E ; System.Net.Http.Headers.KnownHeader cmp qword ptr [r12], rsi - jne SHORT G_M63021_IG20 + jne SHORT G_M63021_IG21 ;; size=16 bbWeight=8 PerfScore 34.00 -G_M63021_IG23: +G_M63021_IG24: mov rsi, r12 - jmp SHORT G_M63021_IG21 + jmp SHORT G_M63021_IG22 ;; size=5 bbWeight=0.50 PerfScore 1.12 -G_M63021_IG24: +G_M63021_IG25: mov rdi, gword ptr [rsi+0x10] ;; size=4 bbWeight=2 PerfScore 4.00 -G_M63021_IG25: +G_M63021_IG26: test rdi, rdi - jne SHORT G_M63021_IG26 - mov r13, 0xD1FFAB1E ; ', ' - jmp SHORT G_M63021_IG27 + jne SHORT G_M63021_IG27 + mov r12, 0xD1FFAB1E ; ', ' + jmp SHORT G_M63021_IG28 ;; size=17 bbWeight=2 PerfScore 7.00 -G_M63021_IG26: - mov r13, gword ptr [rdi+0x08] - ;; size=4 bbWeight=2 PerfScore 4.00 G_M63021_IG27: - mov rsi, gword ptr [rbp-0x58] + mov r12, gword ptr [rdi+0x08] + ;; size=4 bbWeight=2 PerfScore 4.00 +G_M63021_IG28: + mov rsi, gword ptr [rbp-0x60] cmp dword ptr [rsi+0x08], 0 - jbe G_M63021_IG52 - mov rsi, gword ptr [rbp-0x58] - mov r12, gword ptr [rsi+0x10] - test r12, r12 - je G_M63021_IG30 - mov esi, dword ptr [rbp-0x40] - mov eax, dword ptr [r12+0x08] - mov dword ptr [rbp-0x80], eax + jbe G_M63021_IG53 + mov rsi, gword ptr [rbp-0x60] + mov rax, gword ptr [rsi+0x10] + mov rsi, rax + mov gword ptr [rbp-0xA8], rsi + test rsi, rsi + je G_M63021_IG31 + mov edi, dword ptr [rbp-0x48] + mov eax, dword ptr [rsi+0x08] + mov dword ptr [rbp-0x8C], eax cmp eax, 1 - jne SHORT G_M63021_IG28 - cmp esi, dword ptr [rbp-0x30] - jae SHORT G_M63021_IG28 - cmp esi, dword ptr [rbp-0x30] - jae G_M63021_IG52 - mov rax, bword ptr [rbp-0x38] - mov edi, esi - movzx rcx, word ptr [r12+0x0C] - mov word ptr [rax+2*rdi], cx - inc esi - mov dword ptr [rbp-0x40], esi - jmp SHORT G_M63021_IG30 - ;; size=84 bbWeight=2 PerfScore 56.00 -G_M63021_IG28: - mov ecx, dword ptr [rbp-0x40] - mov dword ptr [rbp-0x68], ecx - mov esi, dword ptr [rbp-0x30] - sub esi, eax - cmp esi, ecx - jge SHORT G_M63021_IG29 + jne SHORT G_M63021_IG29 + cmp edi, dword ptr [rbp-0x38] + jae SHORT G_M63021_IG29 + cmp edi, dword ptr [rbp-0x38] + jae G_M63021_IG53 + mov rax, bword ptr [rbp-0x40] + mov ecx, edi + movzx rsi, word ptr [rsi+0x0C] + mov word ptr [rax+2*rcx], si + inc edi + mov dword ptr [rbp-0x48], edi + jmp SHORT G_M63021_IG31 + ;; size=93 bbWeight=2 PerfScore 58.50 +G_M63021_IG29: + mov ecx, dword ptr [rbp-0x48] + mov dword ptr [rbp-0x70], ecx + mov edi, dword ptr [rbp-0x38] + sub edi, eax + cmp edi, ecx + jge SHORT G_M63021_IG30 mov esi, eax - lea rdi, [rbp-0x48] + lea rdi, [rbp-0x50] mov rdx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this call [rdx]System.Text.ValueStringBuilder:Grow(int):this - mov eax, dword ptr [rbp-0x80] - ;; size=36 bbWeight=2 PerfScore 19.00 -G_M63021_IG29: - mov ecx, dword ptr [rbp-0x68] - cmp ecx, dword ptr [rbp-0x30] - ja G_M63021_IG51 - mov rdx, bword ptr [rbp-0x38] - mov esi, ecx - lea rdi, bword ptr [rdx+2*rsi] - mov edx, dword ptr [rbp-0x30] + mov eax, dword ptr [rbp-0x8C] + mov rsi, gword ptr [rbp-0xA8] + ;; size=46 bbWeight=2 PerfScore 21.00 +G_M63021_IG30: + mov ecx, dword ptr [rbp-0x70] + cmp ecx, dword ptr [rbp-0x38] + ja G_M63021_IG52 + mov rdx, bword ptr [rbp-0x40] + mov edi, ecx + lea rdi, bword ptr [rdx+2*rdi] + mov edx, dword ptr [rbp-0x38] sub edx, ecx cmp eax, edx - ja G_M63021_IG50 + ja G_M63021_IG51 mov edx, eax add rdx, rdx - lea rsi, bword ptr [r12+0x0C] + add rsi, 12 mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong) - mov r12d, dword ptr [rbp-0x80] - add r12d, dword ptr [rbp-0x40] - mov dword ptr [rbp-0x40], r12d - ;; size=69 bbWeight=2 PerfScore 33.00 -G_M63021_IG30: - mov r12d, 1 - mov rsi, gword ptr [rbp-0x58] - cmp dword ptr [rsi+0x08], 1 - jle G_M63021_IG40 - ;; size=20 bbWeight=2 PerfScore 10.50 + mov esi, dword ptr [rbp-0x8C] + add esi, dword ptr [rbp-0x48] + mov dword ptr [rbp-0x48], esi + ;; size=68 bbWeight=2 PerfScore 32.50 G_M63021_IG31: - test r13, r13 - je G_M63021_IG35 - ;; size=9 bbWeight=16 PerfScore 20.00 + mov qword ptr [rbp-0x98], 1 + mov rsi, gword ptr [rbp-0x60] + cmp dword ptr [rsi+0x08], 1 + jle G_M63021_IG41 + ;; size=25 bbWeight=2 PerfScore 12.00 G_M63021_IG32: - mov eax, dword ptr [rbp-0x40] - mov esi, eax - mov ecx, dword ptr [r13+0x08] - mov dword ptr [rbp-0x74], ecx - cmp ecx, 1 - jne SHORT G_M63021_IG33 - cmp esi, dword ptr [rbp-0x30] - jae SHORT G_M63021_IG33 - cmp esi, dword ptr [rbp-0x30] - jae G_M63021_IG52 - mov rax, bword ptr [rbp-0x38] - mov ecx, esi - movzx rdi, word ptr [r13+0x0C] - mov word ptr [rax+2*rcx], di - inc esi - mov dword ptr [rbp-0x40], esi - jmp SHORT G_M63021_IG35 - ;; size=53 bbWeight=8 PerfScore 152.00 + test r12, r12 + je G_M63021_IG36 + ;; size=9 bbWeight=16 PerfScore 20.00 G_M63021_IG33: - mov dword ptr [rbp-0x6C], eax - mov esi, dword ptr [rbp-0x30] - sub esi, ecx - cmp esi, eax - jge SHORT G_M63021_IG34 + mov ecx, dword ptr [rbp-0x48] mov esi, ecx - lea rdi, [rbp-0x48] - mov rdx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this - call [rdx]System.Text.ValueStringBuilder:Grow(int):this - mov ecx, dword ptr [rbp-0x74] - ;; size=33 bbWeight=8 PerfScore 68.00 + mov edx, dword ptr [r12+0x08] + mov dword ptr [rbp-0x7C], edx + cmp edx, 1 + jne SHORT G_M63021_IG34 + cmp esi, dword ptr [rbp-0x38] + jae SHORT G_M63021_IG34 + cmp esi, dword ptr [rbp-0x38] + jae G_M63021_IG53 + mov rcx, bword ptr [rbp-0x40] + mov edx, esi + movzx rdi, word ptr [r12+0x0C] + mov word ptr [rcx+2*rdx], di + inc esi + mov dword ptr [rbp-0x48], esi + jmp SHORT G_M63021_IG36 + ;; size=55 bbWeight=8 PerfScore 152.00 G_M63021_IG34: - mov edx, dword ptr [rbp-0x30] - mov eax, dword ptr [rbp-0x6C] - cmp eax, edx - ja G_M63021_IG51 - mov rsi, bword ptr [rbp-0x38] - mov edi, eax - lea rdi, bword ptr [rsi+2*rdi] - sub edx, eax - cmp ecx, edx - ja G_M63021_IG50 - mov edx, ecx - add rdx, rdx - lea rsi, bword ptr [r13+0x0C] - mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) - call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) - mov esi, dword ptr [rbp-0x74] - add esi, dword ptr [rbp-0x40] - mov dword ptr [rbp-0x40], esi - ;; size=64 bbWeight=8 PerfScore 118.00 + mov dword ptr [rbp-0x74], ecx + mov esi, dword ptr [rbp-0x38] + sub esi, edx + cmp esi, ecx + jge SHORT G_M63021_IG35 + mov esi, edx + lea rdi, [rbp-0x50] + mov r8, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this + call [r8]System.Text.ValueStringBuilder:Grow(int):this + mov edx, dword ptr [rbp-0x7C] + ;; size=34 bbWeight=8 PerfScore 68.00 G_M63021_IG35: - mov rsi, gword ptr [rbp-0x58] - cmp r12d, dword ptr [rsi+0x08] - jae G_M63021_IG52 - mov rsi, gword ptr [rbp-0x58] - mov rax, gword ptr [rsi+8*r12+0x10] - mov rsi, rax - mov gword ptr [rbp-0x90], rsi - test rsi, rsi - je G_M63021_IG39 - ;; size=42 bbWeight=16 PerfScore 168.00 + mov esi, dword ptr [rbp-0x38] + mov ecx, dword ptr [rbp-0x74] + cmp ecx, esi + ja G_M63021_IG52 + mov rdi, bword ptr [rbp-0x40] + mov r8d, ecx + lea rdi, bword ptr [rdi+2*r8] + sub esi, ecx + cmp edx, esi + ja G_M63021_IG51 + mov esi, edx + lea rdx, [rsi+rsi] + lea rsi, bword ptr [r12+0x0C] + mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) + call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong) + mov esi, dword ptr [rbp-0x7C] + add esi, dword ptr [rbp-0x48] + mov dword ptr [rbp-0x48], esi + ;; size=67 bbWeight=8 PerfScore 120.00 G_M63021_IG36: - mov eax, dword ptr [rbp-0x40] - mov edi, eax - mov ecx, dword ptr [rsi+0x08] - mov dword ptr [rbp-0x78], ecx - cmp ecx, 1 - jne SHORT G_M63021_IG37 - cmp edi, dword ptr [rbp-0x30] - jae SHORT G_M63021_IG37 - cmp edi, dword ptr [rbp-0x30] - jae G_M63021_IG52 - mov rax, bword ptr [rbp-0x38] - mov ecx, edi + mov rsi, gword ptr [rbp-0x60] + mov rax, qword ptr [rbp-0x98] + cmp eax, dword ptr [rsi+0x08] + jae G_M63021_IG53 + mov rsi, gword ptr [rbp-0x60] + mov qword ptr [rbp-0x98], rax + mov rcx, gword ptr [rsi+8*rax+0x10] + mov rsi, rcx + mov gword ptr [rbp-0xB0], rsi + test rsi, rsi + je G_M63021_IG40 + ;; size=55 bbWeight=16 PerfScore 200.00 +G_M63021_IG37: + mov ecx, dword ptr [rbp-0x48] + mov edi, ecx + mov edx, dword ptr [rsi+0x08] + mov dword ptr [rbp-0x80], edx + cmp edx, 1 + jne SHORT G_M63021_IG38 + cmp edi, dword ptr [rbp-0x38] + jae SHORT G_M63021_IG38 + cmp edi, dword ptr [rbp-0x38] + jae G_M63021_IG53 + mov rcx, bword ptr [rbp-0x40] + mov edx, edi movzx rsi, word ptr [rsi+0x0C] - mov word ptr [rax+2*rcx], si + mov word ptr [rcx+2*rdx], si inc edi - mov dword ptr [rbp-0x40], edi - jmp SHORT G_M63021_IG39 + mov dword ptr [rbp-0x48], edi + jmp SHORT G_M63021_IG40 ;; size=51 bbWeight=8 PerfScore 152.00 -G_M63021_IG37: - mov dword ptr [rbp-0x70], eax - mov edi, dword ptr [rbp-0x30] - sub edi, ecx - cmp edi, eax - jge SHORT G_M63021_IG38 - mov esi, ecx - lea rdi, [rbp-0x48] - mov rdx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this - call [rdx]System.Text.ValueStringBuilder:Grow(int):this - mov ecx, dword ptr [rbp-0x78] - mov rsi, gword ptr [rbp-0x90] - ;; size=40 bbWeight=8 PerfScore 76.00 G_M63021_IG38: - mov edx, dword ptr [rbp-0x30] - mov eax, dword ptr [rbp-0x70] - cmp eax, edx + mov dword ptr [rbp-0x78], ecx + mov edi, dword ptr [rbp-0x38] + sub edi, edx + cmp edi, ecx + jge SHORT G_M63021_IG39 + mov esi, edx + lea rdi, [rbp-0x50] + mov r8, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this + call [r8]System.Text.ValueStringBuilder:Grow(int):this + mov edx, dword ptr [rbp-0x80] + mov rsi, gword ptr [rbp-0xB0] + ;; size=41 bbWeight=8 PerfScore 76.00 +G_M63021_IG39: + mov edi, dword ptr [rbp-0x38] + mov ecx, dword ptr [rbp-0x78] + cmp ecx, edi + ja G_M63021_IG52 + mov r8, bword ptr [rbp-0x40] + mov r9d, ecx + lea r8, bword ptr [r8+2*r9] + sub edi, ecx + cmp edx, edi ja G_M63021_IG51 - mov rdi, bword ptr [rbp-0x38] - mov r8d, eax - lea rdi, bword ptr [rdi+2*r8] - sub edx, eax - cmp ecx, edx - ja G_M63021_IG50 - mov edx, ecx - add rdx, rdx + mov edi, edx + lea rdx, [rdi+rdi] add rsi, 12 - mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) - call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) - mov esi, dword ptr [rbp-0x78] - add esi, dword ptr [rbp-0x40] - mov dword ptr [rbp-0x40], esi - ;; size=65 bbWeight=8 PerfScore 116.00 -G_M63021_IG39: - inc r12d - mov rsi, gword ptr [rbp-0x58] - cmp dword ptr [rsi+0x08], r12d - jg G_M63021_IG31 - ;; size=17 bbWeight=16 PerfScore 84.00 + mov rdi, r8 + mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) + call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong) + mov esi, dword ptr [rbp-0x80] + add esi, dword ptr [rbp-0x48] + mov dword ptr [rbp-0x48], esi + ;; size=69 bbWeight=8 PerfScore 120.00 G_M63021_IG40: - mov esi, dword ptr [rbp-0x40] - cmp esi, dword ptr [rbp-0x30] - jae G_M63021_IG44 - ;; size=12 bbWeight=4 PerfScore 16.00 + mov rax, qword ptr [rbp-0x98] + inc eax + mov rsi, rax + mov rdi, gword ptr [rbp-0x60] + cmp dword ptr [rdi+0x08], esi + mov qword ptr [rbp-0x98], rsi + jg G_M63021_IG32 + ;; size=32 bbWeight=16 PerfScore 120.00 G_M63021_IG41: - cmp esi, dword ptr [rbp-0x30] - jae G_M63021_IG52 - mov rdi, bword ptr [rbp-0x38] + mov esi, dword ptr [rbp-0x48] + cmp esi, dword ptr [rbp-0x38] + jae G_M63021_IG45 + ;; size=12 bbWeight=4 PerfScore 16.00 +G_M63021_IG42: + cmp esi, dword ptr [rbp-0x38] + jae G_M63021_IG53 + mov rdi, bword ptr [rbp-0x40] mov eax, esi mov word ptr [rdi+2*rax], 10 inc esi - mov dword ptr [rbp-0x40], esi - jmp G_M63021_IG46 + mov dword ptr [rbp-0x48], esi + jmp G_M63021_IG47 ;; size=31 bbWeight=2 PerfScore 17.00 -G_M63021_IG42: - mov eax, dword ptr [rbp-0x40] - mov dword ptr [rbp-0x64], eax - mov esi, dword ptr [rbp-0x30] - sub esi, r12d - cmp esi, eax - jge SHORT G_M63021_IG43 - mov esi, r12d - lea rdi, [rbp-0x48] - mov rcx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this - call [rcx]System.Text.ValueStringBuilder:Grow(int):this - ;; size=35 bbWeight=2 PerfScore 17.00 G_M63021_IG43: - mov eax, dword ptr [rbp-0x64] - cmp eax, dword ptr [rbp-0x30] - ja G_M63021_IG51 - mov rdx, bword ptr [rbp-0x38] + mov ecx, dword ptr [rbp-0x48] + mov dword ptr [rbp-0x6C], ecx + mov esi, dword ptr [rbp-0x38] + sub esi, eax + cmp esi, ecx + jge SHORT G_M63021_IG44 mov esi, eax + lea rdi, [rbp-0x50] + mov rdx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this + call [rdx]System.Text.ValueStringBuilder:Grow(int):this + mov eax, dword ptr [rbp-0x88] + ;; size=39 bbWeight=2 PerfScore 19.00 +G_M63021_IG44: + mov ecx, dword ptr [rbp-0x6C] + cmp ecx, dword ptr [rbp-0x38] + ja G_M63021_IG52 + mov rdx, bword ptr [rbp-0x40] + mov esi, ecx lea rdi, bword ptr [rdx+2*rsi] - mov edx, dword ptr [rbp-0x30] - sub edx, eax - cmp r12d, edx - ja G_M63021_IG50 - mov edx, r12d + mov edx, dword ptr [rbp-0x38] + sub edx, ecx + cmp eax, edx + ja G_M63021_IG51 + mov edx, eax add rdx, rdx - lea rsi, bword ptr [r13+0x0C] - mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) - call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) - add r12d, dword ptr [rbp-0x40] - mov dword ptr [rbp-0x40], r12d - jmp G_M63021_IG40 - ;; size=71 bbWeight=2 PerfScore 35.00 -G_M63021_IG44: - mov r13d, dword ptr [rbp-0x40] - mov edi, dword ptr [rbp-0x30] + lea rsi, bword ptr [r12+0x0C] + mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) + call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong) + mov r12d, dword ptr [rbp-0x88] + add r12d, dword ptr [rbp-0x48] + mov dword ptr [rbp-0x48], r12d + jmp G_M63021_IG41 + ;; size=77 bbWeight=2 PerfScore 37.00 +G_M63021_IG45: + mov r12d, dword ptr [rbp-0x48] + mov edi, dword ptr [rbp-0x38] dec edi - cmp r13d, edi - jle SHORT G_M63021_IG45 - lea rdi, [rbp-0x48] + cmp r12d, edi + jle SHORT G_M63021_IG46 + lea rdi, [rbp-0x50] mov esi, 1 mov rax, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this call [rax]System.Text.ValueStringBuilder:Grow(int):this ;; size=35 bbWeight=2 PerfScore 15.00 -G_M63021_IG45: - cmp r13d, dword ptr [rbp-0x30] - ja SHORT G_M63021_IG51 - mov rdi, bword ptr [rbp-0x38] - mov eax, r13d +G_M63021_IG46: + cmp r12d, dword ptr [rbp-0x38] + ja SHORT G_M63021_IG52 + mov rdi, bword ptr [rbp-0x40] + mov eax, r12d lea rdi, bword ptr [rdi+2*rax] - mov eax, dword ptr [rbp-0x30] - sub eax, r13d - je SHORT G_M63021_IG50 + mov eax, dword ptr [rbp-0x38] + sub eax, r12d + je SHORT G_M63021_IG51 mov rax, 0xD1FFAB1E movzx rcx, word ptr [rax] mov word ptr [rdi], cx - mov edi, dword ptr [rbp-0x40] + mov edi, dword ptr [rbp-0x48] inc edi - mov dword ptr [rbp-0x40], edi + mov dword ptr [rbp-0x48], edi ;; size=49 bbWeight=2 PerfScore 25.00 -G_M63021_IG46: - inc r14d - cmp r14d, ebx +G_M63021_IG47: + inc r13d + cmp r13d, r15d jl G_M63021_IG07 ;; size=12 bbWeight=4 PerfScore 6.00 -G_M63021_IG47: - lea rdi, [rbp-0x48] +G_M63021_IG48: + lea rdi, [rbp-0x50] mov rax, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:ToString():System.String:this call [rax]System.Text.ValueStringBuilder:ToString():System.String:this - cmp qword ptr [rbp-0x98], 0xD1FFAB1E - je SHORT G_M63021_IG48 + cmp qword ptr [rbp-0xC0], 0xD1FFAB1E + je SHORT G_M63021_IG49 call CORINFO_HELP_FAIL_FAST ;; size=34 bbWeight=1 PerfScore 7.75 -G_M63021_IG48: +G_M63021_IG49: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M63021_IG49: +G_M63021_IG50: lea rsp, [rbp-0x28] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.50 -G_M63021_IG50: +G_M63021_IG51: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort() call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M63021_IG51: +G_M63021_IG52: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M63021_IG52: +G_M63021_IG53: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1575, prolog size 56, PerfScore 1610.71, instruction count 429, allocated bytes for code 1575 (MethodHash=264609d2) for method System.Net.Http.Headers.HttpHeaders:ToString():System.String:this (FullOpts) +; Total bytes of code 1728, prolog size 58, PerfScore 1712.96, instruction count 448, allocated bytes for code 1728 (MethodHash=264609d2) for method System.Net.Http.Headers.HttpHeaders:ToString():System.String:this (FullOpts) ```

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

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

MihuBot commented 3 months ago

Top method improvements

-51 (-3.19 % of base) - System.Configuration.ConfigurationElement:ReportInvalidLock(System.String,int,System.Configuration.ConfigurationValue,System.String):this ```diff ; Assembly listing for method System.Configuration.ConfigurationElement:ReportInvalidLock(System.String,int,System.Configuration.ConfigurationValue,System.String):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 29 single block inlinees; 13 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T43] ( 4, 4 ) ref -> r14 this class-hnd single-def -; V01 arg1 [V01,T46] ( 4, 2 ) ref -> r12 class-hnd single-def +; V00 this [V00,T43] ( 4, 4 ) ref -> [rbp-0x38] this class-hnd EH-live single-def +; V01 arg1 [V01,T46] ( 4, 2 ) ref -> r13 class-hnd single-def ; V02 arg2 [V02,T28] ( 8, 12 ) int -> rbx single-def -; V03 arg3 [V03,T45] ( 7, 2 ) ref -> r13 class-hnd single-def +; V03 arg3 [V03,T45] ( 7, 2 ) ref -> r14 class-hnd single-def ; V04 arg4 [V04,T39] ( 6, 6 ) ref -> r15 class-hnd single-def -; V05 loc0 [V05,T00] ( 38,411 ) ref -> [rbp-0x30] class-hnd exact spill-single-def +; V05 loc0 [V05,T00] ( 38,411 ) ref -> r12 class-hnd exact single-def ; V06 loc1 [V06,T57] ( 4, 0 ) ref -> rbx class-hnd -; V07 loc2 [V07,T25] ( 6, 17 ) ref -> [rbp-0x38] class-hnd EH-live spill-single-def +; V07 loc2 [V07,T25] ( 6, 17 ) ref -> [rbp-0x40] class-hnd EH-live spill-single-def ; V08 loc3 [V08,T04] ( 6, 88 ) ref -> r15 class-hnd exact ; V09 loc4 [V09,T56] ( 6, 0 ) ref -> rax class-hnd ;# V10 OutArgs [V10 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V11 tmp1 [V11,T40] ( 4, 8 ) ref -> [rbp-0x40] class-hnd exact spill-single-def "NewObj constructor temp" +; V11 tmp1 [V11,T40] ( 4, 8 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" ;* V12 tmp2 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" ;* V13 tmp3 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" ; V14 tmp4 [V14,T58] ( 3, 0 ) ref -> rbx -; V15 tmp5 [V15,T59] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" +; V15 tmp5 [V15,T59] ( 3, 0 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" ; V16 tmp6 [V16,T62] ( 2, 0 ) ref -> rbx class-hnd exact single-def "impAppendStmt" ; V17 tmp7 [V17,T63] ( 2, 0 ) ref -> r15 class-hnd exact single-def "impAppendStmt" ; V18 tmp8 [V18,T60] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" ; V19 tmp9 [V19,T61] ( 3, 0 ) ref -> rbx ;* V20 tmp10 [V20,T50] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V21 tmp11 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" ; V22 tmp12 [V22,T49] ( 3, 3 ) int -> rdi single-def "Inline stloc first use temp" -; V23 tmp13 [V23,T48] ( 3, 3 ) ref -> rcx class-hnd single-def "Inline stloc first use temp" +; V23 tmp13 [V23,T48] ( 3, 3 ) ref -> rax class-hnd single-def "Inline stloc first use temp" ;* V24 tmp14 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V25 tmp15 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; V26 tmp16 [V26,T10] ( 5, 52 ) ref -> rdi "spilling varStr" ; V27 tmp17 [V27,T21] ( 2, 16 ) int -> rdi "spilling unroll qmark" ;* V28 tmp18 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; V29 tmp19 [V29,T15] ( 5, 36 ) ref -> rdi "spilling varStr" ; V30 tmp20 [V30,T22] ( 2, 16 ) int -> rdi "spilling unroll qmark" ;* V31 tmp21 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; V32 tmp22 [V32,T16] ( 5, 36 ) ref -> rdi "spilling varStr" ; V33 tmp23 [V33,T23] ( 2, 16 ) int -> rdi "spilling unroll qmark" ;* V34 tmp24 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; V35 tmp25 [V35,T17] ( 5, 36 ) ref -> rsi "spilling varStr" ; V36 tmp26 [V36,T24] ( 2, 16 ) int -> rsi "spilling unroll qmark" ; V37 tmp27 [V37,T29] ( 3, 12 ) ref -> rax class-hnd "Inline stloc first use temp" ; V38 tmp28 [V38,T33] ( 3, 12 ) int -> rdi "Inline stloc first use temp" ; V39 tmp29 [V39,T27] ( 2, 16 ) byref -> rsi "Inlining Arg" ; V40 tmp30 [V40,T30] ( 3, 12 ) byref -> rsi "Inline stloc first use temp" ;* V41 tmp31 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" ; V42 tmp32 [V42,T34] ( 3, 12 ) int -> rsi "Inline stloc first use temp" ; V43 tmp33 [V43,T31] ( 3, 12 ) ref -> rax class-hnd "Inline stloc first use temp" ; V44 tmp34 [V44,T18] ( 4, 32 ) ref -> rsi class-hnd exact "Inlining Arg" ;* V45 tmp35 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" ; V46 tmp36 [V46,T35] ( 3, 12 ) int -> rdi "Inline stloc first use temp" ; V47 tmp37 [V47,T32] ( 3, 12 ) ref -> rsi class-hnd "Inline stloc first use temp" ; V48 tmp38 [V48,T11] ( 3, 48 ) ref -> rdi class-hnd "Inline stloc first use temp" ; V49 tmp39 [V49,T13] ( 3, 48 ) int -> rdx "Inline stloc first use temp" ; V50 tmp40 [V50,T07] ( 2, 64 ) byref -> rsi "Inlining Arg" ; V51 tmp41 [V51,T12] ( 3, 48 ) byref -> rdi "Inline stloc first use temp" ;* V52 tmp42 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" ; V53 tmp43 [V53,T06] ( 3, 80 ) int -> rdi "Inline stloc first use temp" ; V54 tmp44 [V54,T05] ( 3, 80 ) ref -> rsi class-hnd "Inline stloc first use temp" ; V55 tmp45 [V55,T01] ( 4,192 ) ref -> rsi class-hnd exact "Inlining Arg" ;* V56 tmp46 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" ; V57 tmp47 [V57,T03] ( 3, 96 ) int -> rdi "Inline stloc first use temp" ; V58 tmp48 [V58,T02] ( 3, 96 ) ref -> r11 class-hnd "Inline stloc first use temp" ;* V59 tmp49 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; V60 tmp50 [V60,T64] ( 2, 0 ) ref -> r14 class-hnd exact single-def "Inlining Arg" ; V61 tmp51 [V61,T44] ( 3, 6 ) ref -> rdi single-def "argument with side effect" ; V62 tmp52 [V62,T19] ( 3, 32 ) ref -> rax "argument with side effect" ; V63 tmp53 [V63,T65] ( 2, 0 ) ref -> rsi single-def "argument with side effect" ; V64 PSPSym [V64,T51] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym" ; V65 cse0 [V65,T20] ( 5, 28 ) ref -> rsi "CSE #04: moderate" ; V66 cse1 [V66,T36] ( 3, 12 ) int -> rdi "CSE #08: moderate" ; V67 cse2 [V67,T37] ( 3, 12 ) int -> rdi "CSE #11: moderate" ; V68 cse3 [V68,T47] ( 4, 4 ) int -> rsi "CSE #01: conservative" ; V69 cse4 [V69,T08] ( 2, 64 ) int -> rax "CSE #21: moderate" ; V70 cse5 [V70,T14] ( 3, 48 ) int -> rax "CSE #18: moderate" ; V71 cse6 [V71,T38] ( 3, 12 ) int -> rcx "CSE #09: moderate" ; V72 cse7 [V72,T41] ( 2, 8 ) int -> rcx "CSE #10: moderate" ; V73 cse8 [V73,T42] ( 2, 8 ) int -> rax "CSE #12: moderate" ; V74 rat0 [V74,T09] ( 4, 56 ) ref -> r15 "replacement local" ; V75 rat1 [V75,T26] ( 3, 16 ) long -> rdi "CSE for expectedClsNode" ; V76 rat2 [V76,T52] ( 3, 24 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable" ; V77 rat3 [V77,T53] ( 3, 24 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable" ; V78 rat4 [V78,T54] ( 3, 24 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable" ; V79 rat5 [V79,T55] ( 3, 24 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable" ; ; Lcl frame size = 40 G_M47939_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 40 lea rbp, [rsp+0x50] mov qword ptr [rbp-0x50], rsp - mov r14, rdi - mov r12, rsi + mov qword ptr [rbp-0x30], rdi + mov gword ptr [rbp-0x38], rdi + mov r13, rsi mov ebx, edx - mov r13, rcx + mov r14, rcx mov r15, r8 - ;; size=37 bbWeight=1 PerfScore 9.00 + ;; size=42 bbWeight=1 PerfScore 10.75 G_M47939_IG02: mov rdi, 0xD1FFAB1E ; System.Text.StringBuilder call CORINFO_HELP_NEWSFAST - mov gword ptr [rbp-0x40], rax - mov dword ptr [rax+0x20], 0xD1FFAB1E + mov r12, rax + mov dword ptr [r12+0x20], 0xD1FFAB1E mov rdi, 0xD1FFAB1E ; ushort[] mov esi, 16 call CORINFO_HELP_NEWARR_1_VC - mov rcx, gword ptr [rbp-0x40] - lea rdi, bword ptr [rcx+0x08] + lea rdi, bword ptr [r12+0x08] mov rsi, rax call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x40] - mov gword ptr [rbp-0x30], rax test r15, r15 je SHORT G_M47939_IG06 cmp dword ptr [r15+0x08], 0 - je SHORT G_M47939_IG05 + je SHORT G_M47939_IG06 cmp ebx, 3 je SHORT G_M47939_IG03 cmp ebx, 4 - jne SHORT G_M47939_IG04 - ;; size=92 bbWeight=1 PerfScore 17.25 + jne SHORT G_M47939_IG06 + ;; size=82 bbWeight=1 PerfScore 13.50 G_M47939_IG03: - mov edi, dword ptr [rax+0x1C] - mov esi, dword ptr [rax+0x18] + mov edi, dword ptr [r12+0x1C] + mov esi, dword ptr [r12+0x18] add edi, esi - je SHORT G_M47939_IG08 + je SHORT G_M47939_IG05 mov edi, esi - mov rcx, gword ptr [rax+0x08] - cmp dword ptr [rcx+0x08], edi - jbe SHORT G_M47939_IG07 - mov word ptr [rcx+2*rdi+0x10], 44 + mov rax, gword ptr [r12+0x08] + cmp dword ptr [rax+0x08], edi + jbe SHORT G_M47939_IG04 + mov word ptr [rax+2*rdi+0x10], 44 inc esi - mov dword ptr [rax+0x18], esi - jmp SHORT G_M47939_IG08 - ;; size=35 bbWeight=1 PerfScore 15.75 + mov dword ptr [r12+0x18], esi + jmp SHORT G_M47939_IG05 + ;; size=42 bbWeight=1 PerfScore 15.75 G_M47939_IG04: - jmp SHORT G_M47939_IG09 - ;; size=2 bbWeight=0.50 PerfScore 1.00 -G_M47939_IG05: - jmp SHORT G_M47939_IG09 - ;; size=2 bbWeight=0.50 PerfScore 1.00 -G_M47939_IG06: - jmp SHORT G_M47939_IG09 - ;; size=2 bbWeight=0.50 PerfScore 1.00 -G_M47939_IG07: - mov rdi, rax + mov rdi, r12 mov esi, 44 - mov rcx, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this - call [rcx]System.Text.StringBuilder:AppendWithExpansion(ushort):this - mov rax, gword ptr [rbp-0x30] - ;; size=24 bbWeight=1 PerfScore 4.75 -G_M47939_IG08: + mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this + call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this + ;; size=20 bbWeight=1 PerfScore 3.75 +G_M47939_IG05: mov edx, dword ptr [r15+0x08] lea rsi, bword ptr [r15+0x0C] - mov rdi, rax - mov rcx, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(byref,int):this - call [rcx]System.Text.StringBuilder:Append(byref,int):this + mov rdi, r12 + mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(byref,int):this + call [rax]System.Text.StringBuilder:Append(byref,int):this ;; size=23 bbWeight=1 PerfScore 6.00 -G_M47939_IG09: - mov rdi, r14 - mov rcx, qword ptr [r14] - mov rcx, qword ptr [rcx+0x40] - call [rcx+0x20]System.Configuration.ConfigurationElement:get_Properties():System.Configuration.ConfigurationPropertyCollection:this +G_M47939_IG06: + mov rdi, gword ptr [rbp-0x38] + mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x40] + call [rax+0x20]System.Configuration.ConfigurationElement:get_Properties():System.Configuration.ConfigurationPropertyCollection:this mov rdi, gword ptr [rax+0x08] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x58] call [rax]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this - mov gword ptr [rbp-0x38], rax - ;; size=30 bbWeight=1 PerfScore 17.25 -G_M47939_IG10: + mov gword ptr [rbp-0x40], rax + ;; size=31 bbWeight=1 PerfScore 18.00 +G_M47939_IG07: mov rdi, rax mov r11, 0xD1FFAB1E ; function address call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this test eax, eax - je SHORT G_M47939_IG13 - ;; size=20 bbWeight=1 PerfScore 4.75 -G_M47939_IG11: - mov rdi, gword ptr [rbp-0x38] + je G_M47939_IG42 + ;; size=24 bbWeight=1 PerfScore 4.75 +G_M47939_IG08: + mov rdi, gword ptr [rbp-0x40] mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this call [r11]System.Collections.IEnumerator:get_Current():System.Object:this mov r15, rax test r15, r15 - je SHORT G_M47939_IG14 + je SHORT G_M47939_IG10 ;; size=25 bbWeight=8 PerfScore 46.00 -G_M47939_IG12: +G_M47939_IG09: mov rdi, 0xD1FFAB1E ; System.Configuration.ConfigurationProperty cmp qword ptr [r15], rdi - je SHORT G_M47939_IG14 - jmp G_M47939_IG52 - ;; size=20 bbWeight=4 PerfScore 25.00 -G_M47939_IG13: - mov r14, gword ptr [rbp-0x30] - jmp G_M47939_IG53 - ;; size=9 bbWeight=0.50 PerfScore 1.50 -G_M47939_IG14: + jne G_M47939_IG41 + ;; size=19 bbWeight=4 PerfScore 17.00 +G_M47939_IG10: mov rsi, gword ptr [r15+0x10] mov rdi, rsi test rdi, rdi - je SHORT G_M47939_IG17 + je SHORT G_M47939_IG13 ;; size=12 bbWeight=8 PerfScore 28.00 -G_M47939_IG15: +G_M47939_IG11: cmp dword ptr [rdi+0x08], 14 - jne SHORT G_M47939_IG17 + jne SHORT G_M47939_IG13 ;; size=6 bbWeight=2 PerfScore 8.00 -G_M47939_IG16: +G_M47939_IG12: vmovups xmm0, xmmword ptr [rdi+0x0C] vpxor xmm0, xmm0, xmmword ptr [reloc @RWD00] vmovups xmm1, xmmword ptr [rdi+0x18] vpternlogq xmm0, xmm1, xmmword ptr [reloc @RWD16], -10 vptest xmm0, xmm0 sete dil movzx rdi, dil test edi, edi - jne G_M47939_IG32 + jne G_M47939_IG34 ;; size=50 bbWeight=4 PerfScore 70.00 -G_M47939_IG17: +G_M47939_IG13: mov rdi, rsi test rdi, rdi - je SHORT G_M47939_IG20 + je SHORT G_M47939_IG16 ;; size=8 bbWeight=4 PerfScore 6.00 -G_M47939_IG18: +G_M47939_IG14: cmp dword ptr [rdi+0x08], 23 - jne SHORT G_M47939_IG20 + jne SHORT G_M47939_IG16 ;; size=6 bbWeight=2 PerfScore 8.00 -G_M47939_IG19: +G_M47939_IG15: vmovups ymm0, ymmword ptr [rdi+0x0C] vpxor ymm0, ymm0, ymmword ptr [reloc @RWD32] vmovups ymm1, ymmword ptr [rdi+0x1A] vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD64], -10 vptest ymm0, ymm0 sete dil movzx rdi, dil test edi, edi - jne G_M47939_IG31 + jne G_M47939_IG34 ;; size=50 bbWeight=4 PerfScore 86.00 -G_M47939_IG20: +G_M47939_IG16: mov rdi, rsi test rdi, rdi - je SHORT G_M47939_IG23 + je SHORT G_M47939_IG19 ;; size=8 bbWeight=4 PerfScore 6.00 -G_M47939_IG21: +G_M47939_IG17: cmp dword ptr [rdi+0x08], 12 - jne SHORT G_M47939_IG23 + jne SHORT G_M47939_IG19 ;; size=6 bbWeight=2 PerfScore 8.00 -G_M47939_IG22: +G_M47939_IG18: vmovups xmm0, xmmword ptr [rdi+0x0C] vpxor xmm0, xmm0, xmmword ptr [reloc @RWD96] vmovups xmm1, xmmword ptr [rdi+0x14] vpternlogq xmm0, xmm1, xmmword ptr [reloc @RWD112], -10 vptest xmm0, xmm0 sete dil movzx rdi, dil test edi, edi - jne G_M47939_IG30 + jne G_M47939_IG34 ;; size=50 bbWeight=4 PerfScore 70.00 -G_M47939_IG23: +G_M47939_IG19: test rsi, rsi - je SHORT G_M47939_IG26 + je SHORT G_M47939_IG22 ;; size=5 bbWeight=4 PerfScore 5.00 -G_M47939_IG24: +G_M47939_IG20: cmp dword ptr [rsi+0x08], 21 - jne SHORT G_M47939_IG26 + jne SHORT G_M47939_IG22 ;; size=6 bbWeight=2 PerfScore 8.00 -G_M47939_IG25: +G_M47939_IG21: vmovups ymm0, ymmword ptr [rsi+0x0C] vpxor ymm0, ymm0, ymmword ptr [reloc @RWD128] vmovups ymm1, ymmword ptr [rsi+0x16] vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD160], -10 vptest ymm0, ymm0 sete sil movzx rsi, sil test esi, esi - jne G_M47939_IG29 + jne G_M47939_IG34 ;; size=50 bbWeight=4 PerfScore 86.00 -G_M47939_IG26: +G_M47939_IG22: cmp ebx, 3 - je SHORT G_M47939_IG27 + je SHORT G_M47939_IG23 cmp ebx, 4 - jne G_M47939_IG33 - ;; size=14 bbWeight=4 PerfScore 10.00 -G_M47939_IG27: + jne SHORT G_M47939_IG24 + ;; size=10 bbWeight=4 PerfScore 10.00 +G_M47939_IG23: mov rsi, gword ptr [r15+0x28] mov rdi, 0xD1FFAB1E ; 'System.Configuration.ConfigurationElement' mov rax, 0xD1FFAB1E ; code for System.RuntimeType:IsAssignableFrom(System.Type):ubyte:this call [rax]System.RuntimeType:IsAssignableFrom(System.Type):ubyte:this test eax, eax - je SHORT G_M47939_IG28 - mov r14, gword ptr [rbp-0x30] - mov esi, dword ptr [r14+0x1C] - mov edi, dword ptr [r14+0x18] + je G_M47939_IG34 + mov esi, dword ptr [r12+0x1C] + mov edi, dword ptr [r12+0x18] add esi, edi - je G_M47939_IG47 + je G_M47939_IG36 mov rsi, 0xD1FFAB1E - mov rax, gword ptr [r14+0x08] + mov rax, gword ptr [r12+0x08] lea ecx, [rdi+0x02] cmp dword ptr [rax+0x08], ecx - jb G_M47939_IG46 + jb G_M47939_IG35 movsxd rsi, edi lea rsi, bword ptr [rax+2*rsi+0x10] mov word ptr [rsi], 44 mov word ptr [rsi+0x02], 32 - mov dword ptr [r14+0x18], ecx - jmp G_M47939_IG47 - ;; size=104 bbWeight=4 PerfScore 104.00 -G_M47939_IG28: - mov r14, gword ptr [rbp-0x30] - jmp G_M47939_IG44 - ;; size=9 bbWeight=2 PerfScore 6.00 -G_M47939_IG29: - mov r14, gword ptr [rbp-0x30] - jmp G_M47939_IG44 - ;; size=9 bbWeight=2 PerfScore 6.00 -G_M47939_IG30: - mov r14, gword ptr [rbp-0x30] - jmp G_M47939_IG44 - ;; size=9 bbWeight=2 PerfScore 6.00 -G_M47939_IG31: - mov r14, gword ptr [rbp-0x30] - jmp G_M47939_IG44 - ;; size=9 bbWeight=2 PerfScore 6.00 -G_M47939_IG32: - mov r14, gword ptr [rbp-0x30] - jmp G_M47939_IG44 - ;; size=9 bbWeight=2 PerfScore 6.00 -G_M47939_IG33: + mov dword ptr [r12+0x18], ecx + jmp G_M47939_IG36 + ;; size=108 bbWeight=4 PerfScore 100.00 +G_M47939_IG24: mov rsi, gword ptr [r15+0x28] mov rdi, 0xD1FFAB1E ; 'System.Configuration.ConfigurationElement' mov rax, 0xD1FFAB1E ; code for System.RuntimeType:IsAssignableFrom(System.Type):ubyte:this call [rax]System.RuntimeType:IsAssignableFrom(System.Type):ubyte:this test eax, eax - jne SHORT G_M47939_IG35 - mov r14, gword ptr [rbp-0x30] - mov edi, dword ptr [r14+0x1C] - add edi, dword ptr [r14+0x18] - je SHORT G_M47939_IG37 - ;; size=44 bbWeight=32 PerfScore 440.00 -G_M47939_IG34: + jne G_M47939_IG34 + mov edi, dword ptr [r12+0x1C] + add edi, dword ptr [r12+0x18] + je SHORT G_M47939_IG27 + ;; size=46 bbWeight=32 PerfScore 408.00 +G_M47939_IG25: mov rsi, 0xD1FFAB1E - mov rdi, gword ptr [r14+0x08] - mov edx, dword ptr [r14+0x18] + mov rdi, gword ptr [r12+0x08] + mov edx, dword ptr [r12+0x18] lea eax, [rdx+0x02] cmp dword ptr [rdi+0x08], eax - jb SHORT G_M47939_IG36 + jb SHORT G_M47939_IG26 movsxd rsi, edx lea rdi, bword ptr [rdi+2*rsi+0x10] mov word ptr [rdi], 44 mov word ptr [rdi+0x02], 32 - mov dword ptr [r14+0x18], eax - jmp SHORT G_M47939_IG37 - ;; size=51 bbWeight=16 PerfScore 240.00 -G_M47939_IG35: - mov r14, gword ptr [rbp-0x30] - jmp G_M47939_IG44 - ;; size=9 bbWeight=16 PerfScore 48.00 -G_M47939_IG36: - mov rdi, r14 + mov dword ptr [r12+0x18], eax + jmp SHORT G_M47939_IG27 + ;; size=54 bbWeight=16 PerfScore 240.00 +G_M47939_IG26: + mov rdi, r12 mov edx, 2 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this call [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this ;; size=20 bbWeight=16 PerfScore 60.00 -G_M47939_IG37: - mov edi, dword ptr [r14+0x18] - mov rsi, gword ptr [r14+0x08] +G_M47939_IG27: + mov edi, dword ptr [r12+0x18] + mov rsi, gword ptr [r12+0x08] cmp dword ptr [rsi+0x08], edi - jbe SHORT G_M47939_IG39 - ;; size=13 bbWeight=32 PerfScore 256.00 -G_M47939_IG38: + jbe SHORT G_M47939_IG29 + ;; size=15 bbWeight=32 PerfScore 256.00 +G_M47939_IG28: mov edi, edi mov word ptr [rsi+2*rdi+0x10], 39 - inc dword ptr [r14+0x18] - jmp SHORT G_M47939_IG40 - ;; size=15 bbWeight=16 PerfScore 100.00 -G_M47939_IG39: - mov rdi, r14 + inc dword ptr [r12+0x18] + jmp SHORT G_M47939_IG30 + ;; size=16 bbWeight=16 PerfScore 100.00 +G_M47939_IG29: + mov rdi, r12 mov esi, 39 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this ;; size=20 bbWeight=16 PerfScore 60.00 -G_M47939_IG40: +G_M47939_IG30: mov rsi, gword ptr [r15+0x10] test rsi, rsi - je SHORT G_M47939_IG42 + je SHORT G_M47939_IG32 ;; size=9 bbWeight=32 PerfScore 104.00 -G_M47939_IG41: +G_M47939_IG31: mov edx, dword ptr [rsi+0x08] add rsi, 12 - mov rdi, r14 + mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(byref,int):this call [rax]System.Text.StringBuilder:Append(byref,int):this ;; size=22 bbWeight=16 PerfScore 92.00 -G_M47939_IG42: - mov edi, dword ptr [r14+0x18] - mov r11, gword ptr [r14+0x08] +G_M47939_IG32: + mov edi, dword ptr [r12+0x18] + mov r11, gword ptr [r12+0x08] mov eax, dword ptr [r11+0x08] cmp eax, edi - jbe G_M47939_IG51 + jbe G_M47939_IG40 mov word ptr [r11+2*rdi+0x10], 39 - ;; size=28 bbWeight=32 PerfScore 264.00 -G_M47939_IG43: - inc dword ptr [r14+0x18] - ;; size=4 bbWeight=16 PerfScore 48.00 -G_M47939_IG44: - mov rdi, gword ptr [rbp-0x38] + ;; size=30 bbWeight=32 PerfScore 264.00 +G_M47939_IG33: + inc dword ptr [r12+0x18] + ;; size=5 bbWeight=16 PerfScore 48.00 +G_M47939_IG34: + mov rdi, gword ptr [rbp-0x40] mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this test eax, eax - je G_M47939_IG53 - ;; size=25 bbWeight=8 PerfScore 44.00 -G_M47939_IG45: - jmp G_M47939_IG11 - ;; size=5 bbWeight=4 PerfScore 8.00 -G_M47939_IG46: - mov rdi, r14 + jne G_M47939_IG08 + jmp G_M47939_IG42 + ;; size=30 bbWeight=8 PerfScore 60.00 +G_M47939_IG35: + mov rdi, r12 mov edx, 2 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this call [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this ;; size=20 bbWeight=4 PerfScore 15.00 -G_M47939_IG47: - mov edi, dword ptr [r14+0x18] +G_M47939_IG36: + mov edi, dword ptr [r12+0x18] mov esi, edi - mov rax, gword ptr [r14+0x08] + mov rax, gword ptr [r12+0x08] mov ecx, dword ptr [rax+0x08] cmp ecx, esi - jbe SHORT G_M47939_IG48 + jbe SHORT G_M47939_IG37 mov word ptr [rax+2*rsi+0x10], 39 inc edi - mov dword ptr [r14+0x18], edi - jmp SHORT G_M47939_IG49 - ;; size=32 bbWeight=4 PerfScore 47.00 -G_M47939_IG48: - mov rdi, r14 + mov dword ptr [r12+0x18], edi + jmp SHORT G_M47939_IG38 + ;; size=35 bbWeight=4 PerfScore 47.00 +G_M47939_IG37: + mov rdi, r12 mov esi, 39 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this ;; size=20 bbWeight=4 PerfScore 15.00 -G_M47939_IG49: +G_M47939_IG38: mov rsi, gword ptr [r15+0x10] test rsi, rsi - je SHORT G_M47939_IG50 + je SHORT G_M47939_IG39 mov edx, dword ptr [rsi+0x08] add rsi, 12 - mov rdi, r14 + mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(byref,int):this call [rax]System.Text.StringBuilder:Append(byref,int):this ;; size=31 bbWeight=4 PerfScore 36.00 -G_M47939_IG50: - mov edi, dword ptr [r14+0x18] - mov rsi, gword ptr [r14+0x08] +G_M47939_IG39: + mov edi, dword ptr [r12+0x18] + mov rsi, gword ptr [r12+0x08] mov eax, dword ptr [rsi+0x08] cmp eax, edi - jbe SHORT G_M47939_IG51 + jbe SHORT G_M47939_IG40 mov word ptr [rsi+2*rdi+0x10], 39 - jmp G_M47939_IG43 - ;; size=27 bbWeight=4 PerfScore 41.00 -G_M47939_IG51: - mov rdi, r14 + jmp G_M47939_IG33 + ;; size=29 bbWeight=4 PerfScore 41.00 +G_M47939_IG40: + mov rdi, r12 mov esi, 39 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this - jmp G_M47939_IG44 + jmp G_M47939_IG34 ;; size=25 bbWeight=4 PerfScore 23.00 -G_M47939_IG52: +G_M47939_IG41: mov rsi, rax mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS call [rax]CORINFO_HELP_CHKCASTCLASS int3 ;; size=16 bbWeight=0 PerfScore 0.00 -G_M47939_IG53: - mov rsi, gword ptr [rbp-0x38] +G_M47939_IG42: + mov rsi, gword ptr [rbp-0x40] mov rdi, 0xD1FFAB1E ; System.IDisposable mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE test rax, rax - je SHORT G_M47939_IG54 + je SHORT G_M47939_IG43 mov rdi, rax mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this call [r11]System.IDisposable:Dispose():this ;; size=47 bbWeight=0 PerfScore 0.00 -G_M47939_IG54: +G_M47939_IG43: cmp ebx, 3 - je SHORT G_M47939_IG57 + je SHORT G_M47939_IG46 cmp ebx, 4 - je SHORT G_M47939_IG57 - test r13, r13 - je SHORT G_M47939_IG55 + je SHORT G_M47939_IG46 + test r14, r14 + je SHORT G_M47939_IG44 mov rdi, 0xD1FFAB1E ; 'Config_base_invalid_attribute_to_lock' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov rbx, rax - jmp SHORT G_M47939_IG56 + jmp SHORT G_M47939_IG45 ;; size=42 bbWeight=0 PerfScore 0.00 -G_M47939_IG55: +G_M47939_IG44: mov rdi, 0xD1FFAB1E ; 'Config_base_invalid_attribute_to_lock_by_add' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov rbx, rax ;; size=25 bbWeight=0 PerfScore 0.00 -G_M47939_IG56: - jmp SHORT G_M47939_IG59 +G_M47939_IG45: + jmp SHORT G_M47939_IG48 ;; size=2 bbWeight=0 PerfScore 0.00 -G_M47939_IG57: - test r13, r13 - je SHORT G_M47939_IG58 +G_M47939_IG46: + test r14, r14 + je SHORT G_M47939_IG47 mov rdi, 0xD1FFAB1E ; 'Config_base_invalid_element_to_lock' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov rbx, rax - jmp SHORT G_M47939_IG59 + jmp SHORT G_M47939_IG48 ;; size=32 bbWeight=0 PerfScore 0.00 -G_M47939_IG58: +G_M47939_IG47: mov rdi, 0xD1FFAB1E ; 'Config_base_invalid_element_to_lock_by_add' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov rbx, rax ;; size=25 bbWeight=0 PerfScore 0.00 -G_M47939_IG59: - test r13, r13 - jne SHORT G_M47939_IG60 +G_M47939_IG48: + test r14, r14 + jne SHORT G_M47939_IG49 mov rdi, 0xD1FFAB1E ; System.Configuration.ConfigurationErrorsException call CORINFO_HELP_NEWSFAST - mov r13, rax + mov r14, rax mov rdi, rbx - mov rsi, r12 - mov rdx, r14 + mov rsi, r13 + mov rdx, r12 mov rax, 0xD1FFAB1E ; code for System.SR:Format(System.String,System.Object,System.Object):System.String call [rax]System.SR:Format(System.String,System.Object,System.Object):System.String mov rsi, rax - mov rdi, r13 + mov rdi, r14 mov rax, 0xD1FFAB1E ; code for System.Configuration.ConfigurationErrorsException:.ctor(System.String):this call [rax]System.Configuration.ConfigurationErrorsException:.ctor(System.String):this - mov rdi, r13 + mov rdi, r14 call CORINFO_HELP_THROW int3 ;; size=71 bbWeight=0 PerfScore 0.00 -G_M47939_IG60: +G_M47939_IG49: mov rdi, rbx - mov rsi, r12 - mov rdx, r14 + mov rsi, r13 + mov rdx, r12 mov rax, 0xD1FFAB1E ; code for System.SR:Format(System.String,System.Object,System.Object):System.String call [rax]System.SR:Format(System.String,System.Object,System.Object):System.String mov rbx, rax - mov rdi, gword ptr [r13+0x08] + mov rdi, gword ptr [r14+0x08] mov r15, gword ptr [rdi+0x08] - mov r14, gword ptr [r13+0x08] + mov r14, gword ptr [r14+0x08] mov rdi, 0xD1FFAB1E ; System.Configuration.ConfigurationErrorsException call CORINFO_HELP_NEWSFAST mov r13, rax mov ecx, dword ptr [r14+0x10] mov rdi, r13 mov rsi, rbx mov rdx, r15 mov rax, 0xD1FFAB1E ; code for System.Configuration.ConfigurationErrorsException:.ctor(System.String,System.String,int):this call [rax]System.Configuration.ConfigurationErrorsException:.ctor(System.String,System.String,int):this mov rdi, r13 call CORINFO_HELP_THROW int3 ;; size=88 bbWeight=0 PerfScore 0.00 -G_M47939_IG61: +G_M47939_IG50: 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+0x50] ;; size=22 bbWeight=0 PerfScore 0.00 -G_M47939_IG62: - mov rsi, gword ptr [rbp-0x38] +G_M47939_IG51: + mov rsi, gword ptr [rbp-0x40] mov rdi, 0xD1FFAB1E ; System.IDisposable mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE test rax, rax - je SHORT G_M47939_IG63 + je SHORT G_M47939_IG52 mov rdi, rax mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this call [r11]System.IDisposable:Dispose():this ;; size=47 bbWeight=0 PerfScore 0.00 -G_M47939_IG63: +G_M47939_IG52: nop ;; size=1 bbWeight=0 PerfScore 0.00 -G_M47939_IG64: +G_M47939_IG53: vzeroupper add rsp, 8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=0 PerfScore 0.00 RWD00 dq 006B0063006F006Ch, 0072007400740041h RWD16 dq 0062006900720074h, 0073006500740075h RWD32 dq 006B0063006F006Ch, 0041006C006C0041h, 0069007200740074h, 0065007400750062h RWD64 dq 0072007400740041h, 0074007500620069h, 0078004500730065h, 0074007000650063h RWD96 dq 006B0063006F006Ch, 006D0065006C0045h RWD112 dq 006D0065006C0045h, 00730074006E0065h RWD128 dq 006B0063006F006Ch, 0045006C006C0041h, 0065006D0065006Ch, 004500730074006Eh RWD160 dq 006C0045006C006Ch, 006E0065006D0065h, 0078004500730074h, 0074007000650063h -; Total bytes of code 1597, prolog size 37, PerfScore 2624.25, instruction count 384, allocated bytes for code 1597 (MethodHash=a7aa44bc) for method System.Configuration.ConfigurationElement:ReportInvalidLock(System.String,int,System.Configuration.ConfigurationValue,System.String):this (FullOpts) +; Total bytes of code 1546, prolog size 42, PerfScore 2503.50, instruction count 361, allocated bytes for code 1546 (MethodHash=a7aa44bc) for method System.Configuration.ConfigurationElement:ReportInvalidLock(System.String,int,System.Configuration.ConfigurationValue,System.String):this (FullOpts) ```
-28 (-2.69 % of base) - System.Text.Json.Serialization.JsonConverter`1[double]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):double:this ```diff ; Assembly listing for method System.Text.Json.Serialization.JsonConverter`1[double]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):double:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T02] ( 4, 4 ) ref -> rbx this class-hnd single-def -; V01 arg1 [V01,T01] ( 12, 8 ) byref -> [rbp-0x30] EH-live single-def -; V02 arg2 [V02,T04] ( 3, 3 ) ref -> r15 class-hnd single-def -; V03 arg3 [V03,T00] ( 13, 8 ) byref -> [rbp-0x38] EH-live single-def +; V00 this [V00,T02] ( 4, 4 ) ref -> [rbp-0x30] this class-hnd EH-live single-def +; V01 arg1 [V01,T01] ( 12, 8 ) byref -> [rbp-0x38] EH-live single-def +; V02 arg2 [V02,T04] ( 3, 3 ) ref -> rbx class-hnd single-def +; V03 arg3 [V03,T00] ( 13, 8 ) byref -> [rbp-0x40] EH-live single-def ; V04 loc0 [V04 ] ( 3, 3 ) double -> [rbp-0x18] do-not-enreg[X] addr-exposed ld-addr-op ; V05 loc1 [V05,T05] ( 5, 4.50) ref -> rbx class-hnd single-def ; V06 loc2 [V06,T10] ( 8, 4 ) double -> [rbp-0x20] do-not-enreg[Z] EH-live ;* V07 loc3 [V07 ] ( 0, 0 ) double -> zero-ref ld-addr-op ; V08 loc4 [V08 ] ( 1, 1 ) ubyte -> [rbp-0x28] do-not-enreg[X] addr-exposed ld-addr-op ;* V09 loc5 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact -; V10 loc6 [V10,T11] ( 4, 0 ) ref -> [rbp-0x40] must-init class-hnd EH-live single-def -; V11 loc7 [V11,T12] ( 4, 0 ) ref -> [rbp-0x48] must-init class-hnd EH-live single-def -; V12 loc8 [V12,T14] ( 3, 0 ) ref -> [rbp-0x50] must-init class-hnd EH-live single-def +; V10 loc6 [V10,T11] ( 4, 0 ) ref -> [rbp-0x48] must-init class-hnd EH-live single-def +; V11 loc7 [V11,T12] ( 4, 0 ) ref -> [rbp-0x50] must-init class-hnd EH-live single-def +; V12 loc8 [V12,T14] ( 3, 0 ) ref -> [rbp-0x58] must-init class-hnd EH-live single-def ;* V13 loc9 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def ; V14 OutArgs [V14 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V15 tmp1 [V15,T03] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V16 tmp2 [V16,T06] ( 2, 4 ) byref -> rdi single-def "impImportAndPushBox" ; V17 tmp3 [V17,T13] ( 4, 0 ) ref -> rbx class-hnd single-def "impSpillSpecialSideEff" ; V18 tmp4 [V18,T21] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" ; V19 tmp5 [V19,T15] ( 3, 0 ) ref -> rdi class-hnd single-def "dup spill" ;* V20 tmp6 [V20 ] ( 0, 0 ) ref -> zero-ref single-def ; V21 tmp7 [V21,T18] ( 3, 0 ) int -> rax ;* V22 tmp8 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" ; V23 tmp9 [V23,T22] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" ; V24 tmp10 [V24,T16] ( 3, 0 ) ref -> rdi class-hnd single-def "dup spill" ;* V25 tmp11 [V25 ] ( 0, 0 ) ref -> zero-ref single-def ; V26 tmp12 [V26,T19] ( 3, 0 ) int -> rax ;* V27 tmp13 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" ; V28 tmp14 [V28,T23] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" ; V29 tmp15 [V29,T17] ( 3, 0 ) ref -> rdi class-hnd single-def "dup spill" ;* V30 tmp16 [V30 ] ( 0, 0 ) ref -> zero-ref single-def ; V31 tmp17 [V31,T20] ( 3, 0 ) int -> rax ;* V32 tmp18 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" ; V33 tmp19 [V33,T24] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" ; V34 tmp20 [V34,T07] ( 3, 3 ) ubyte -> rax "Inline return value spill temp" ;* V35 tmp21 [V35 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V36 tmp22 [V36,T08] ( 0, 0 ) int -> zero-ref ;* V37 tmp23 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ; V38 tmp24 [V38,T25] ( 2, 0 ) ref -> rdi single-def "argument with side effect" ; V39 tmp25 [V39,T26] ( 2, 0 ) ref -> rdi single-def "argument with side effect" ; V40 tmp26 [V40,T27] ( 2, 0 ) ref -> rdi single-def "argument with side effect" -; V41 PSPSym [V41,T09] ( 1, 1 ) long -> [rbp-0x58] do-not-enreg[V] "PSPSym" +; V41 PSPSym [V41,T09] ( 1, 1 ) long -> [rbp-0x68] do-not-enreg[V] "PSPSym" ; -; Lcl frame size = 80 +; Lcl frame size = 104 G_M57453_IG01: push rbp - push r15 push rbx - sub rsp, 80 - lea rbp, [rsp+0x60] + sub rsp, 104 + lea rbp, [rsp+0x70] vxorps xmm8, xmm8, xmm8 - vmovdqa xmmword ptr [rbp-0x50], xmm8 + vmovdqu xmmword ptr [rbp-0x58], xmm8 xor eax, eax - mov qword ptr [rbp-0x40], rax - mov qword ptr [rbp-0x58], rsp - mov bword ptr [rbp-0x30], rsi - mov bword ptr [rbp-0x38], rcx - mov rbx, rdi - mov r15, rdx - ;; size=47 bbWeight=1 PerfScore 10.83 + mov qword ptr [rbp-0x48], rax + mov qword ptr [rbp-0x68], rsp + mov qword ptr [rbp-0x10], rdi + mov gword ptr [rbp-0x30], rdi + mov bword ptr [rbp-0x38], rsi + mov bword ptr [rbp-0x40], rcx + mov rbx, rdx + ;; size=50 bbWeight=1 PerfScore 11.58 G_M57453_IG02: cmp dword ptr [rcx+0x24], 0 jne G_M57453_IG08 - cmp byte ptr [rbx+0x13], 0 + cmp byte ptr [rdi+0x13], 0 je SHORT G_M57453_IG03 cmp byte ptr [rsi+0x24], 0 je SHORT G_M57453_IG04 ;; size=22 bbWeight=1 PerfScore 12.00 G_M57453_IG03: mov rdi, rsi mov rax, 0xD1FFAB1E ; code for System.Text.Json.Utf8JsonReader:Read():ubyte:this call [rax]System.Text.Json.Utf8JsonReader:Read():ubyte:this jmp SHORT G_M57453_IG05 ;; size=17 bbWeight=1 PerfScore 5.50 G_M57453_IG04: mov rdi, rsi mov rax, 0xD1FFAB1E ; code for System.Text.Json.JsonHelpers:g__TryAdvanceWithReadAhead|4_0(byref):ubyte call [rax]System.Text.Json.JsonHelpers:g__TryAdvanceWithReadAhead|4_0(byref):ubyte ;; size=15 bbWeight=1 PerfScore 3.50 G_M57453_IG05: test eax, eax jne SHORT G_M57453_IG08 - mov rcx, bword ptr [rbp-0x38] + mov rcx, bword ptr [rbp-0x40] cmp byte ptr [rcx+0x28], 0 je G_M57453_IG10 mov rbx, gword ptr [rcx+0x50] test rbx, rbx je G_M57453_IG10 mov rsi, 0xD1FFAB1E ; System.Double cmp qword ptr [rbx], rsi je SHORT G_M57453_IG07 ;; size=46 bbWeight=1 PerfScore 13.75 G_M57453_IG06: mov rsi, rbx mov rdi, 0xD1FFAB1E ; System.Double mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_UNBOX call [rax]CORINFO_HELP_UNBOX ;; size=25 bbWeight=0.50 PerfScore 1.88 G_M57453_IG07: vmovsd xmm0, qword ptr [rbx+0x08] vmovsd qword ptr [rbp-0x20], xmm0 jmp G_M57453_IG11 ;; size=15 bbWeight=1 PerfScore 7.00 G_M57453_IG08: - mov rsi, bword ptr [rbp-0x30] + mov rsi, bword ptr [rbp-0x38] + mov rdi, gword ptr [rbp-0x30] lea rdx, [rbp-0x28] mov qword ptr [rsp], rdx - mov rcx, bword ptr [rbp-0x38] + mov rcx, bword ptr [rbp-0x40] mov rdx, gword ptr [rcx+0x58] mov rdx, gword ptr [rdx+0xB8] lea r9, [rbp-0x18] - mov rdi, rbx - mov rcx, r15 - mov r8, bword ptr [rbp-0x38] + mov rcx, rbx + mov r8, bword ptr [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.Text.Json.Serialization.JsonConverter`1[double]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref,byref):ubyte:this call [rax]System.Text.Json.Serialization.JsonConverter`1[double]:TryRead(byref,System.Type,System.Text.Json.JsonSerializerOptions,byref,byref,byref):ubyte:this test eax, eax je SHORT G_M57453_IG09 - mov rdi, bword ptr [rbp-0x30] + mov rdi, bword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.Text.Json.Utf8JsonReader:Read():ubyte:this call [rax]System.Text.Json.Utf8JsonReader:Read():ubyte:this test eax, eax jne SHORT G_M57453_IG09 - mov rdi, bword ptr [rbp-0x30] + mov rdi, bword ptr [rbp-0x38] cmp byte ptr [rdi+0x24], 0 jne SHORT G_M57453_IG09 mov rdi, 0xD1FFAB1E ; System.Double call CORINFO_HELP_NEWSFAST - mov r8, bword ptr [rbp-0x38] + mov r8, bword ptr [rbp-0x40] lea rdi, bword ptr [r8+0x30] vmovsd xmm0, qword ptr [rbp-0x18] vmovsd qword ptr [rax+0x08], xmm0 lea rdi, bword ptr [rdi+0x20] mov rsi, rax call CORINFO_HELP_CHECKED_ASSIGN_REF - ;; size=132 bbWeight=1 PerfScore 34.00 + ;; size=133 bbWeight=1 PerfScore 34.75 G_M57453_IG09: vmovsd xmm0, qword ptr [rbp-0x18] vmovsd qword ptr [rbp-0x20], xmm0 jmp SHORT G_M57453_IG11 ;; size=12 bbWeight=1 PerfScore 6.00 G_M57453_IG10: - mov rcx, bword ptr [rbp-0x38] + mov rcx, bword ptr [rbp-0x40] xor esi, esi mov qword ptr [rbp-0x20], rsi ;; size=10 bbWeight=1 PerfScore 2.25 G_M57453_IG11: vmovsd xmm0, qword ptr [rbp-0x20] ;; size=5 bbWeight=1 PerfScore 3.00 G_M57453_IG12: - add rsp, 80 + add rsp, 104 pop rbx - pop r15 pop rbp ret - ;; size=9 bbWeight=1 PerfScore 2.75 + ;; size=7 bbWeight=1 PerfScore 2.25 G_M57453_IG13: push rbp - push r15 push rbx - sub rsp, 16 + sub rsp, 24 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp - lea rbp, [rbp+0x60] - ;; size=21 bbWeight=0 PerfScore 0.00 + lea rbp, [rbp+0x70] + ;; size=19 bbWeight=0 PerfScore 0.00 G_M57453_IG14: - mov rdi, bword ptr [rbp-0x38] + mov rdi, bword ptr [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.Text.Json.ThrowHelper:ReThrowWithPath(byref,System.Text.Json.JsonReaderException) call [rax]System.Text.Json.ThrowHelper:ReThrowWithPath(byref,System.Text.Json.JsonReaderException) xor esi, esi mov qword ptr [rbp-0x20], rsi lea rax, G_M57453_IG11 ;; size=29 bbWeight=0 PerfScore 0.00 G_M57453_IG15: - add rsp, 16 + add rsp, 24 pop rbx - pop r15 pop rbp ret - ;; size=9 bbWeight=0 PerfScore 0.00 + ;; size=7 bbWeight=0 PerfScore 0.00 G_M57453_IG16: push rbp - push r15 push rbx - sub rsp, 16 + sub rsp, 24 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp - lea rbp, [rbp+0x60] - ;; size=21 bbWeight=0 PerfScore 0.00 + lea rbp, [rbp+0x70] + ;; size=19 bbWeight=0 PerfScore 0.00 G_M57453_IG17: mov rdi, 0xD1FFAB1E ; System.FormatException mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS call [rax]CORINFO_HELP_ISINSTANCEOFCLASS mov rdi, rax test rdi, rdi jne SHORT G_M57453_IG18 xor eax, eax jmp SHORT G_M57453_IG19 ;; size=34 bbWeight=0 PerfScore 0.00 G_M57453_IG18: - mov gword ptr [rbp-0x40], rdi - mov rdi, gword ptr [rbp-0x40] + mov gword ptr [rbp-0x48], rdi + mov rdi, gword ptr [rbp-0x48] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x48] call [rax+0x08]System.Exception:get_Source():System.String:this mov rdi, rax mov rsi, 0xD1FFAB1E ; 'System.Text.Json.Rethrowable' mov rax, 0xD1FFAB1E ; code for System.String:op_Equality(System.String,System.String):ubyte call [rax]System.String:op_Equality(System.String,System.String):ubyte test eax, eax setne al movzx rax, al ;; size=51 bbWeight=0 PerfScore 0.00 G_M57453_IG19: - add rsp, 16 + add rsp, 24 pop rbx - pop r15 pop rbp ret - ;; size=9 bbWeight=0 PerfScore 0.00 + ;; size=7 bbWeight=0 PerfScore 0.00 G_M57453_IG20: push rbp - push r15 push rbx - sub rsp, 16 + sub rsp, 24 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp - lea rbp, [rbp+0x60] - ;; size=21 bbWeight=0 PerfScore 0.00 + lea rbp, [rbp+0x70] + ;; size=19 bbWeight=0 PerfScore 0.00 G_M57453_IG21: - mov rdi, bword ptr [rbp-0x38] - mov rsi, bword ptr [rbp-0x30] - mov rdx, gword ptr [rbp-0x40] + mov rdi, bword ptr [rbp-0x40] + mov rsi, bword ptr [rbp-0x38] + mov rdx, gword ptr [rbp-0x48] mov rax, 0xD1FFAB1E ; code for System.Text.Json.ThrowHelper:ReThrowWithPath(byref,byref,System.Exception) call [rax]System.Text.Json.ThrowHelper:ReThrowWithPath(byref,byref,System.Exception) xor esi, esi mov qword ptr [rbp-0x20], rsi lea rax, G_M57453_IG11 ;; size=37 bbWeight=0 PerfScore 0.00 G_M57453_IG22: - add rsp, 16 + add rsp, 24 pop rbx - pop r15 pop rbp ret - ;; size=9 bbWeight=0 PerfScore 0.00 + ;; size=7 bbWeight=0 PerfScore 0.00 G_M57453_IG23: push rbp - push r15 push rbx - sub rsp, 16 + sub rsp, 24 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp - lea rbp, [rbp+0x60] - ;; size=21 bbWeight=0 PerfScore 0.00 + lea rbp, [rbp+0x70] + ;; size=19 bbWeight=0 PerfScore 0.00 G_M57453_IG24: mov rdi, 0xD1FFAB1E ; System.InvalidOperationException mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS call [rax]CORINFO_HELP_ISINSTANCEOFCLASS mov rdi, rax test rdi, rdi jne SHORT G_M57453_IG25 xor eax, eax jmp SHORT G_M57453_IG26 ;; size=34 bbWeight=0 PerfScore 0.00 G_M57453_IG25: - mov gword ptr [rbp-0x48], rdi - mov rdi, gword ptr [rbp-0x48] + mov gword ptr [rbp-0x50], rdi + mov rdi, gword ptr [rbp-0x50] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x48] call [rax+0x08]System.Exception:get_Source():System.String:this mov rdi, rax mov rsi, 0xD1FFAB1E ; 'System.Text.Json.Rethrowable' mov rax, 0xD1FFAB1E ; code for System.String:op_Equality(System.String,System.String):ubyte call [rax]System.String:op_Equality(System.String,System.String):ubyte test eax, eax setne al movzx rax, al ;; size=51 bbWeight=0 PerfScore 0.00 G_M57453_IG26: - add rsp, 16 + add rsp, 24 pop rbx - pop r15 pop rbp ret - ;; size=9 bbWeight=0 PerfScore 0.00 + ;; size=7 bbWeight=0 PerfScore 0.00 G_M57453_IG27: push rbp - push r15 push rbx - sub rsp, 16 + sub rsp, 24 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp - lea rbp, [rbp+0x60] - ;; size=21 bbWeight=0 PerfScore 0.00 + lea rbp, [rbp+0x70] + ;; size=19 bbWeight=0 PerfScore 0.00 G_M57453_IG28: - mov rdi, bword ptr [rbp-0x38] - mov rsi, bword ptr [rbp-0x30] - mov rdx, gword ptr [rbp-0x48] + mov rdi, bword ptr [rbp-0x40] + mov rsi, bword ptr [rbp-0x38] + mov rdx, gword ptr [rbp-0x50] mov rax, 0xD1FFAB1E ; code for System.Text.Json.ThrowHelper:ReThrowWithPath(byref,byref,System.Exception) call [rax]System.Text.Json.ThrowHelper:ReThrowWithPath(byref,byref,System.Exception) xor esi, esi mov qword ptr [rbp-0x20], rsi lea rax, G_M57453_IG11 ;; size=37 bbWeight=0 PerfScore 0.00 G_M57453_IG29: - add rsp, 16 + add rsp, 24 pop rbx - pop r15 pop rbp ret - ;; size=9 bbWeight=0 PerfScore 0.00 + ;; size=7 bbWeight=0 PerfScore 0.00 G_M57453_IG30: push rbp - push r15 push rbx - sub rsp, 16 + sub rsp, 24 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp - lea rbp, [rbp+0x60] - ;; size=21 bbWeight=0 PerfScore 0.00 + lea rbp, [rbp+0x70] + ;; size=19 bbWeight=0 PerfScore 0.00 G_M57453_IG31: mov rdi, 0xD1FFAB1E ; System.Text.Json.JsonException mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS call [rax]CORINFO_HELP_ISINSTANCEOFCLASS mov rdi, rax test rdi, rdi jne SHORT G_M57453_IG32 xor eax, eax jmp SHORT G_M57453_IG33 ;; size=34 bbWeight=0 PerfScore 0.00 G_M57453_IG32: - mov gword ptr [rbp-0x50], rdi - mov rdi, gword ptr [rbp-0x50] + mov gword ptr [rbp-0x58], rdi + mov rdi, gword ptr [rbp-0x58] mov rax, 0xD1FFAB1E ; code for System.Text.Json.JsonException:get_Path():System.String:this call [rax]System.Text.Json.JsonException:get_Path():System.String:this test rax, rax sete al movzx rax, al ;; size=29 bbWeight=0 PerfScore 0.00 G_M57453_IG33: - add rsp, 16 + add rsp, 24 pop rbx - pop r15 pop rbp ret - ;; size=9 bbWeight=0 PerfScore 0.00 + ;; size=7 bbWeight=0 PerfScore 0.00 G_M57453_IG34: push rbp - push r15 push rbx - sub rsp, 16 + sub rsp, 24 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp - lea rbp, [rbp+0x60] - ;; size=21 bbWeight=0 PerfScore 0.00 + lea rbp, [rbp+0x70] + ;; size=19 bbWeight=0 PerfScore 0.00 G_M57453_IG35: - mov rdi, bword ptr [rbp-0x38] - mov rsi, bword ptr [rbp-0x30] - mov rdx, gword ptr [rbp-0x50] + mov rdi, bword ptr [rbp-0x40] + mov rsi, bword ptr [rbp-0x38] + mov rdx, gword ptr [rbp-0x58] mov rax, 0xD1FFAB1E ; code for System.Text.Json.ThrowHelper:AddJsonExceptionInformation(byref,byref,System.Text.Json.JsonException) call [rax]System.Text.Json.ThrowHelper:AddJsonExceptionInformation(byref,byref,System.Text.Json.JsonException) call CORINFO_HELP_RETHROW int3 ;; size=30 bbWeight=0 PerfScore 0.00 G_M57453_IG36: push rbp - push r15 push rbx - sub rsp, 16 + sub rsp, 24 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp - lea rbp, [rbp+0x60] - ;; size=21 bbWeight=0 PerfScore 0.00 + lea rbp, [rbp+0x70] + ;; size=19 bbWeight=0 PerfScore 0.00 G_M57453_IG37: mov rbx, rsi mov rdi, rbx mov rax, qword ptr [rbx] mov rax, qword ptr [rax+0x40] call [rax+0x20]System.Exception:get_Message():System.String:this mov rdi, rax mov rsi, 0xD1FFAB1E ; ' Path: ' mov rax, 0xD1FFAB1E ; code for System.String:Contains(System.String):ubyte:this cmp dword ptr [rdi], edi call [rax]System.String:Contains(System.String):ubyte:this test eax, eax jne SHORT G_M57453_IG39 - mov rdi, bword ptr [rbp-0x38] - mov rsi, bword ptr [rbp-0x30] + mov rdi, bword ptr [rbp-0x40] + mov rsi, bword ptr [rbp-0x38] mov rdx, rbx mov rax, 0xD1FFAB1E ; code for System.Text.Json.ThrowHelper:ThrowNotSupportedException(byref,byref,System.NotSupportedException) call [rax]System.Text.Json.ThrowHelper:ThrowNotSupportedException(byref,byref,System.NotSupportedException) xor eax, eax mov qword ptr [rbp-0x20], rax lea rax, G_M57453_IG11 ;; size=83 bbWeight=0 PerfScore 0.00 G_M57453_IG38: - add rsp, 16 + add rsp, 24 pop rbx - pop r15 pop rbp ret - ;; size=9 bbWeight=0 PerfScore 0.00 + ;; size=7 bbWeight=0 PerfScore 0.00 G_M57453_IG39: call CORINFO_HELP_RETHROW int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1041, prolog size 47, PerfScore 102.46, instruction count 285, allocated bytes for code 1041 (MethodHash=9b0d1f92) for method System.Text.Json.Serialization.JsonConverter`1[double]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):double:this (FullOpts) +; Total bytes of code 1013, prolog size 50, PerfScore 103.46, instruction count 269, allocated bytes for code 1013 (MethodHash=9b0d1f92) for method System.Text.Json.Serialization.JsonConverter`1[double]:ReadCore(byref,System.Text.Json.JsonSerializerOptions,byref):double:this (FullOpts) ```

Larger list of diffs: https://gist.github.com/MihuBot/54a842b88f973e5b39d4f1405955ece5

MihuBot commented 3 months ago

@EgorBo