Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[JitDiff X64] [hez2010] JIT: Extend escape analysis to account for arrays with non-gcref elements #804

Open
MihuBot opened this issue Dec 7, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Dec 7, 2024

Job completed in 15 minutes 1 second.
dotnet/runtime#104906

Diffs

Diffs
Found 387 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 40200058
Total bytes of diff: 40198277
Total bytes of delta: -1781 (-0.00 % of base)
Total relative delta: 1.11
    diff is an improvement.
    relative diff is a regression.


Top file regressions (bytes):
         333 : tieringtest.dasm (4.99 % of base)
         233 : ILCompiler.Reflection.ReadyToRun.dasm (0.11 % of base)
         207 : System.Private.DataContractSerialization.dasm (0.02 % of base)
         163 : Microsoft.VisualBasic.Core.dasm (0.03 % of base)
          88 : System.Private.Xml.dasm (0.00 % of base)
          73 : System.Text.Json.dasm (0.01 % of base)
          41 : System.Linq.Expressions.dasm (0.00 % of base)
          40 : System.ComponentModel.TypeConverter.dasm (0.01 % of base)
          32 : System.Reflection.Metadata.dasm (0.01 % of base)
          22 : Microsoft.CSharp.dasm (0.01 % of base)
          20 : System.Net.Sockets.dasm (0.01 % of base)
          19 : System.Composition.TypedParts.dasm (0.04 % of base)
          19 : System.ComponentModel.Composition.dasm (0.00 % of base)
          14 : System.Diagnostics.DiagnosticSource.dasm (0.01 % of base)
          12 : System.Security.Cryptography.Pkcs.dasm (0.00 % of base)
          11 : System.Collections.dasm (0.00 % of base)
           9 : Microsoft.Extensions.DependencyInjection.dasm (0.01 % of base)
           7 : System.Private.Xml.Linq.dasm (0.00 % of base)
           6 : System.Collections.NonGeneric.dasm (0.04 % of base)
           6 : System.Runtime.Serialization.Schema.dasm (0.01 % of base)
           5 : System.Runtime.InteropServices.dasm (0.02 % of base)
           5 : System.Security.Permissions.dasm (0.04 % of base)
           4 : Microsoft.Extensions.Logging.EventSource.dasm (0.01 % of base)
           4 : Microsoft.Extensions.Http.dasm (0.01 % of base)
           3 : System.Reflection.Emit.dasm (0.00 % of base)
           3 : System.Formats.Asn1.dasm (0.00 % of base)
           2 : System.Net.Mail.dasm (0.00 % of base)
           1 : System.Net.NetworkInformation.dasm (0.00 % of base)

Top file improvements (bytes):
       -1697 : System.Text.RegularExpressions.dasm (-0.22 % of base)
        -652 : System.Private.CoreLib.dasm (-0.01 % of base)
        -137 : System.Data.Odbc.dasm (-0.06 % of base)
        -102 : System.Collections.Immutable.dasm (-0.00 % of base)
        -102 : System.Linq.Parallel.dasm (-0.00 % of base)
        -101 : System.Net.Http.dasm (-0.01 % of base)
         -94 : System.Configuration.ConfigurationManager.dasm (-0.02 % of base)
         -83 : System.Net.Quic.dasm (-0.05 % of base)
         -55 : System.Numerics.Tensors.dasm (-0.00 % of base)
         -54 : System.Security.Cryptography.dasm (-0.00 % of base)
         -33 : System.Data.Common.dasm (-0.00 % of base)
         -30 : System.Reflection.MetadataLoadContext.dasm (-0.01 % of base)
         -11 : System.IO.Compression.dasm (-0.01 % of base)
          -5 : System.IO.Packaging.dasm (-0.00 % of base)
          -3 : System.Security.Cryptography.Xml.dasm (-0.00 % of base)
          -2 : System.Resources.Extensions.dasm (-0.00 % of base)
          -1 : System.CodeDom.dasm (-0.00 % of base)
          -1 : System.Net.Security.dasm (-0.00 % of base)

46 total files with Code Size differences (18 improved, 28 regressed), 213 unchanged.

Top method regressions (bytes):
         333 (4.99 % of base) : tieringtest.dasm - Program:Main(System.String[]):int (FullOpts)
         138 (14.35 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:ComputeHash(ubyte[]):ubyte[] (FullOpts)
         102 (0.66 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
         101 (19.54 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Arm64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
         101 (19.54 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.LoongArch64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
         101 (19.54 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.RiscV64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
          85 (7.10 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateAndEscapeDelimiters():this (FullOpts)
          84 (15.91 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Arm.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
          83 (38.60 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateFieldWidths():this (FullOpts)
          72 (2.03 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:.ctor(System.Text.RegularExpressions.RegexNode,int):this (FullOpts) (2 methods)
          70 (1.14 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WritePrimitive(System.Xml.Serialization.TypeMapping,System.String):this (FullOpts)
          53 (24.88 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigPaths:Validate(System.String,ubyte):System.String (FullOpts)
          33 (11.19 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlDictionaryWriter:WriteValue(System.Xml.IStreamProvider):this (FullOpts)
          28 (1.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadDecimalFormat(System.Xml.Xsl.Xslt.NsDecl):this (FullOpts)
          20 (17.09 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.Socket:EndAccept(byref,System.IAsyncResult):System.Net.Sockets.Socket:this (FullOpts)
          18 (0.45 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper+<GetDigestTokenForCredential>d__40:MoveNext():this (FullOpts)
          17 (6.07 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:ConvertIntToByteArray(int):ubyte[] (FullOpts)
          17 (4.14 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo(System.Type,System.Text.Json.Serialization.JsonConverter,System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo (FullOpts)
          16 (0.58 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:ReflectGetExtendedProperties(System.ComponentModel.IExtenderProvider):System.ComponentModel.PropertyDescriptor[] (FullOpts)
          15 (6.30 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:GetFixedWidthField(System.Globalization.StringInfo,int,int):System.String:this (FullOpts)
          15 (0.88 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:XslVarPar():System.Xml.Xsl.Xslt.VarPar:this (FullOpts)
          14 (4.68 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DsesFilterAndTransform+TransformSpec+PropertySpec+PropertyFetch:CreatePropertyFetch(System.Type,System.Reflection.PropertyInfo):System.Diagnostics.DsesFilterAndTransform+TransformSpec+PropertySpec+PropertyFetch (FullOpts)
          14 (0.44 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:TryEmitHashtableSwitch(System.Linq.Expressions.SwitchExpression,int):ubyte:this (FullOpts)
          14 (0.24 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatReaderGenerator+CriticalHelper:ReadCollection(System.Runtime.Serialization.DataContracts.CollectionDataContract):this (FullOpts)
          12 (6.63 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:DbTypeNotSupported(int,System.Type):System.ArgumentException (FullOpts)
          12 (1.55 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatWriterGenerator+CriticalHelper:UnwrapNullableObject(System.Reflection.Emit.LocalBuilder):System.Reflection.Emit.LocalBuilder:this (FullOpts)
          12 (1.02 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:XslAttribute():System.Xml.Xsl.Xslt.XslNode:this (FullOpts)
          12 (7.14 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltCompileException:.ctor():this (FullOpts)
          12 (7.14 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltException:.ctor():this (FullOpts)
          11 (6.08 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignerInfoCollection:.ctor(System.Security.Cryptography.Pkcs.Asn1.SignerInfoAsn[],System.Security.Cryptography.Pkcs.SignedCms):this (FullOpts)
          10 (0.51 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:GetActivator(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
          10 (0.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.ReflectionJsonReader:ReadSimpleDictionary(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Type,System.Object):this (FullOpts)
          10 (0.63 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadKey(System.Xml.Xsl.Xslt.NsDecl):this (FullOpts)
           9 (0.51 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.DateTimeConverter:ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type):System.Object:this (FullOpts)
           9 (0.73 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.ActivationFeatures.OnImportsSatisfiedFeature:RewriteActivator(System.Reflection.TypeInfo,System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
           9 (1.35 % of base) : System.Private.CoreLib.dasm - System.Resources.ResourceReader:InitializeBinaryFormatter():ubyte:this (FullOpts)
           8 (0.71 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:DeferBinding(Microsoft.CSharp.RuntimeBinder.ICSharpBinder,Microsoft.CSharp.RuntimeBinder.ArgumentObject[],System.Dynamic.DynamicMetaObject[],Microsoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbol[],byref):ubyte:this (FullOpts)
           8 (0.56 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ExpressionResolverBuilder:BuildScopedExpression(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite):System.Linq.Expressions.ConditionalExpression:this (FullOpts)
           8 (2.41 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.ScopeTree:EnsureCapacity():this (FullOpts)
           8 (0.15 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract:IsCollectionOrTryCreate(System.Type,ubyte,byref,byref,ubyte,ubyte):ubyte (FullOpts)
           8 (0.86 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader:ReadCollectionItems(System.Runtime.Serialization.XmlReaderDelegator,System.Runtime.Serialization.XmlObjectSerializerReadContext,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Object,ubyte):System.Object:this (FullOpts)
           8 (0.49 % of base) : System.Private.Xml.dasm - System.Xml.ValidateNames:ValidateNameInternal(System.String,System.String,System.String,int,int,ubyte):ubyte (FullOpts)
           8 (2.61 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.NamespaceIterator:Create(System.Xml.XPath.XPathNavigator):this (FullOpts)
           8 (1.97 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.PrecedingIterator:Create(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter):this (FullOpts)
           8 (0.36 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltInput:GetAttributes(System.Xml.Xsl.Xslt.XsltInput+XsltAttribute[]):System.Xml.Xsl.Xslt.XsltInput+ContextInfo:this (FullOpts)
           7 (2.51 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ErrorBuilder:CreateImportCardinalityMismatch(System.ComponentModel.Composition.ImportCardinalityMismatchException,System.ComponentModel.Composition.Primitives.ImportDefinition):System.ComponentModel.Composition.CompositionError (FullOpts)
           7 (0.36 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:CreateProperty(System.CodeDom.CodeTypeReference,System.String,System.String,ubyte,ubyte):System.CodeDom.CodeMemberProperty:this (FullOpts)
           7 (0.34 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:ExportCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):this (FullOpts)
           7 (2.36 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XNamespace:.ctor(System.String):this (FullOpts)
           7 (0.12 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Preprocessor:Preprocess(System.Xml.Schema.XmlSchema,System.String,System.Collections.ArrayList):this (FullOpts)
           7 (0.12 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteAttributes(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],System.Xml.Serialization.XmlSerializationReaderILGen+Member,System.String,System.Reflection.Emit.LocalBuilder):this (FullOpts)
           7 (0.94 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryOutput:ThrowInvalidStateError(int):this (FullOpts)
           7 (0.14 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadOutput():this (FullOpts)
           6 (2.51 % of base) : System.Collections.NonGeneric.dasm - System.Collections.SortedList:.ctor(int):this (FullOpts)
           6 (2.02 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ConstraintServices:CreateMetadataContainsKeyExpression(System.Linq.Expressions.ParameterExpression,System.String):System.Linq.Expressions.MethodCallExpression (FullOpts)
           6 (0.32 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileCoalesceBinaryExpression(System.Linq.Expressions.Expression):this (FullOpts)
           6 (0.77 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonFormatWriterGenerator+CriticalHelper:UnwrapNullableObject(System.Reflection.Emit.LocalBuilder):System.Reflection.Emit.LocalBuilder:this (FullOpts)
           6 (4.51 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.NullableConverterFactory:CreateValueConverter(System.Type,System.Text.Json.Serialization.JsonConverter):System.Text.Json.Serialization.JsonConverter (FullOpts)
           6 (2.29 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateGetterMethod(System.String,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
           6 (2.14 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateSetterMethod(System.String,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
           6 (0.31 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadTemplate(System.Xml.Xsl.Xslt.NsDecl):this (FullOpts)
           5 (1.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExprFactory:CreateMemGroup(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.MethPropWithInst):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts)
           5 (2.29 % of base) : System.Private.CoreLib.dasm - System.IO.BufferedStream:WriteByteSlow(ubyte):this (FullOpts)
           5 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LazyBroadcast[double](byref,System.ReadOnlySpan`1[long]):System.Numerics.Tensors.ReadOnlyTensorSpan`1[double] (FullOpts)
           5 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LazyBroadcast[int](byref,System.ReadOnlySpan`1[long]):System.Numerics.Tensors.ReadOnlyTensorSpan`1[int] (FullOpts)
           5 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LazyBroadcast[long](byref,System.ReadOnlySpan`1[long]):System.Numerics.Tensors.ReadOnlyTensorSpan`1[long] (FullOpts)
           5 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LazyBroadcast[short](byref,System.ReadOnlySpan`1[long]):System.Numerics.Tensors.ReadOnlyTensorSpan`1[short] (FullOpts)
           5 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LazyBroadcast[System.Nullable`1[int]](byref,System.ReadOnlySpan`1[long]):System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Nullable`1[int]] (FullOpts)
           5 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LazyBroadcast[System.Numerics.Vector`1[float]](byref,System.ReadOnlySpan`1[long]):System.Numerics.Tensors.ReadOnlyTensorSpan`1[System.Numerics.Vector`1[float]] (FullOpts)
           5 (0.30 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:LazyBroadcast[ubyte](byref,System.ReadOnlySpan`1[long]):System.Numerics.Tensors.ReadOnlyTensorSpan`1[ubyte] (FullOpts)
           5 (3.16 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy:GetIgnoresAccessChecksToAttributeConstructor(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo (FullOpts)
           5 (1.83 % of base) : System.Security.Permissions.dasm - System.Security.HostProtectionException:ToString():System.String:this (FullOpts)
           5 (0.12 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlCollation:Create(System.String,ubyte):System.Xml.Xsl.Runtime.XmlCollation (FullOpts)
           5 (0.51 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:XslElement():System.Xml.Xsl.Xslt.XslNode:this (FullOpts)
           4 (1.59 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultTypedHttpClientFactory`1+Cache+<>c[System.__Canon]:<.cctor>b__7_0():Microsoft.Extensions.DependencyInjection.ObjectFactory:this (FullOpts)
           4 (0.84 % of base) : Microsoft.Extensions.Logging.EventSource.dasm - Microsoft.Extensions.Logging.EventSource.LoggingEventSource:.cctor() (FullOpts)
           4 (0.57 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:ExtenderResetValue(System.ComponentModel.IExtenderProvider,System.Object,System.ComponentModel.PropertyDescriptor):this (FullOpts)
           4 (0.77 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:ExtenderSetValue(System.ComponentModel.IExtenderProvider,System.Object,System.Object,System.ComponentModel.PropertyDescriptor):this (FullOpts)
           4 (0.24 % of base) : System.Data.Common.dasm - System.Data.Common.DbProviderFactories:GetFactoryClasses():System.Data.DataTable (FullOpts)
           4 (0.28 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:DebugCheckEvent(byref,System.Diagnostics.Tracing.EventSource+EventMetadata[],System.Reflection.MethodInfo,System.Diagnostics.Tracing.EventAttribute,System.Diagnostics.Tracing.ManifestBuilder,int) (FullOpts)
           4 (0.38 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.BinaryExpression:ReduceUserdefinedLifted():System.Linq.Expressions.Expression:this (FullOpts)
           4 (0.75 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitBinaryMethod(System.Linq.Expressions.BinaryExpression,int):this (FullOpts)
           4 (0.93 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.ActionCallInstruction`2[System.Nullable`1[int],System.Nullable`1[int]]:Run(System.Linq.Expressions.Interpreter.InterpretedFrame):int:this (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[double,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[int,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[long,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[short,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[System.__Canon,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[System.Nullable`1[int],System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[ubyte,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (0.77 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoStream:.ctor(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,int,ubyte):this (FullOpts)
           4 (0.37 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignedCms:UpdateCertificatesFromAddition(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this (FullOpts)
           4 (0.45 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo,System.Type,System.Type,System.Type,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
           4 (0.57 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateParameterizedConstructor(System.Reflection.ConstructorInfo):System.Reflection.Emit.DynamicMethod (FullOpts)
           4 (1.30 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler:get_MemoryMarshalGetArrayDataReferenceSearchValuesMethod():System.Reflection.MethodInfo (FullOpts)
           4 (0.24 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:CheckXsiTypeAndNil(System.Xml.Schema.SchemaElementDecl,System.String,System.String,byref):System.Xml.Schema.SchemaElementDecl:this (FullOpts)
           4 (1.71 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReader:CreateBadDerivationException(System.String,System.String,System.String,System.String,System.String,System.String):System.Exception:this (FullOpts)
           4 (0.06 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderCodeGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
           4 (0.44 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WritePrimitiveValue(System.Xml.Serialization.TypeDesc,System.Xml.Serialization.SourceInfo,byref):this (FullOpts)

Top method improvements (bytes):
        -678 (-5.71 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
        -335 (-4.64 % of base) : System.Private.CoreLib.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
        -270 (-16.14 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:WaitAllCore(System.ReadOnlySpan`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
        -137 (-3.65 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:Init(System.Configuration.Internal.IInternalConfigRoot,System.Configuration.BaseConfigurationRecord,System.String,System.String):this (FullOpts)
        -135 (-6.60 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,ubyte):int:this (FullOpts)
         -95 (-0.78 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (FullOpts)
         -84 (-3.92 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[double]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
         -84 (-3.94 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[int]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
         -84 (-3.93 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[long]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
         -84 (-3.93 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[short]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
         -84 (-3.94 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ubyte]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
         -80 (-1.46 % of base) : System.Net.Quic.dasm - System.Net.Quic.QuicListener+<StartConnectionHandshake>d__16:MoveNext():this (FullOpts)
         -73 (-1.98 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:ToString():System.String:this (FullOpts)
         -72 (-2.79 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.UnwindInfo:ToString():System.String:this (FullOpts)
         -53 (-3.01 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:TensorPrimitivesHelperTwoSpanInTOut[System.__Canon](byref,byref,System.Numerics.Tensors.Tensor+PerformCalculationTwoSpanInTOut`1[System.__Canon]):System.__Canon (FullOpts)
         -50 (-2.14 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateEncodedMembersElement(System.Xml.Serialization.XmlMembersMapping):System.Object[]:this (FullOpts)
         -48 (-0.65 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:ToString(ubyte):System.String:this (FullOpts)
         -42 (-0.69 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:ParseXmlDeclaration(ubyte):ubyte:this (FullOpts)
         -37 (-0.56 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:TensorPrimitivesHelperTwoSpanInSpanOut[System.__Canon](byref,byref,byref,System.Numerics.Tensors.Tensor+PerformCalculationTwoSpanInSpanOut`1[System.__Canon]):byref (FullOpts)
         -33 (-0.35 % of base) : System.Data.Common.dasm - System.Data.Common.SqlConvert:ChangeTypeForXML(System.Object,System.Type):System.Object (FullOpts)
         -27 (-10.98 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.SpanMarshaller`2[System.__Canon,long]:AllocateContainerForManagedElements(ulong,int):System.Span`1[System.__Canon] (FullOpts)
         -27 (-1.38 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemas:GetSchemaItem(System.Xml.Schema.XmlSchemaObject,System.String,System.String):System.String (FullOpts)
         -27 (-2.31 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadStylesheet(System.Xml.XmlReader,ubyte):System.Xml.Xsl.Xslt.Stylesheet:this (FullOpts)
         -25 (-0.84 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryRuntime:ChangeTypeXsltResult(System.Xml.Xsl.XmlQueryType,System.Object):System.Object:this (FullOpts)
         -24 (-0.58 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoType:GetMemberImpl(System.String,int,int):System.Reflection.MemberInfo[]:this (FullOpts)
         -23 (-0.45 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatWriterGenerator+CriticalHelper:WriteCollection(System.Runtime.Serialization.DataContracts.CollectionDataContract):this (FullOpts)
         -21 (-0.34 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper+<SendWithNtAuthAsync>d__52:MoveNext():this (FullOpts)
         -18 (-1.72 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[double]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[double]:this (FullOpts)
         -18 (-1.74 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[int]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[int]:this (FullOpts)
         -18 (-1.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[long]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[long]:this (FullOpts)
         -18 (-1.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[short]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[short]:this (FullOpts)
         -18 (-1.74 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ubyte]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[ubyte]:this (FullOpts)
         -18 (-3.12 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],int,int,double,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double] (FullOpts)
         -18 (-2.59 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double] (FullOpts)
         -18 (-2.27 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],double,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -18 (-0.74 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts)
         -18 (-3.17 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],int,int,int,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-1.02 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-2.64 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateConcat(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-2.44 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateEffect(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-2.63 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-2.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],int,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -18 (-0.74 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts)
         -18 (-3.08 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],int,int,long,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -18 (-1.02 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -18 (-2.64 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateConcat(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -18 (-2.44 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateEffect(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -18 (-2.61 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -18 (-2.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],long,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -18 (-0.74 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts)
         -18 (-3.14 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],int,int,short,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
         -18 (-1.02 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
         -18 (-2.62 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateConcat(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
         -18 (-2.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateEffect(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
         -18 (-2.62 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
         -18 (-2.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],short,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -18 (-0.74 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts)
         -18 (-3.15 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],int,int,ubyte,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-1.02 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-2.64 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateConcat(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-2.44 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateEffect(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-2.63 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-2.35 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],ubyte,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -18 (-0.74 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts)
         -15 (-0.51 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:IsElementFromGroupBase(System.Xml.Schema.XmlSchemaElement,System.Xml.Schema.XmlSchemaGroupBase):ubyte:this (FullOpts)
         -15 (-0.56 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.DecimalFormatter:.ctor(System.String,System.Xml.Xsl.Runtime.DecimalFormat):this (FullOpts)
         -14 (-1.23 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:.ctor(System.Collections.Generic.Dictionary`2[System.__Canon,System.Nullable`1[int]],ubyte):this (FullOpts)
         -14 (-8.97 % of base) : System.Private.CoreLib.dasm - System.IO.BufferedStream:WriteToBuffer(ubyte[],byref,byref):this (FullOpts)
         -14 (-0.32 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:InvokeMember(System.String,int,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]):System.Object:this (FullOpts)
         -14 (-1.30 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:AddIdentityConstraints():this (FullOpts)
         -14 (-0.22 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteElements(System.Xml.Serialization.SourceInfo,System.String,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte):this (FullOpts)
         -14 (-0.62 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryStaticData:.ctor(ubyte[],System.Type[]):this (FullOpts)
         -13 (-0.36 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:GetUpdatedSectionDeclarationXml(System.Configuration.FactoryRecord,System.Configuration.ConfigurationSection,int):System.String:this (FullOpts)
         -12 (-0.78 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.MetadataNameFormatter:EmitMethodDefinitionName(System.Reflection.Metadata.MethodDefinitionHandle,System.String,System.String):System.String:this (FullOpts)
         -12 (-0.65 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:CreateInvoker(int):System.Func`4[System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[],System.Object] (FullOpts)
         -12 (-4.36 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionedDataSource`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],int,ubyte):this (FullOpts)
         -12 (-3.30 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.SignedXmlDebugLog:LogSigningReference(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.Xml.Reference) (FullOpts)
         -12 (-0.40 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:EndElementIdentityConstraints(System.Object,System.String,System.Xml.Schema.XmlSchemaDatatype):this (FullOpts)
         -12 (-0.43 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdValidator:EndElementIdentityConstraints():this (FullOpts)
         -11 (-8.94 % of base) : System.Private.CoreLib.dasm - System.Array+EmptyArray`1[System.__Canon]:.cctor() (FullOpts)
         -11 (-8.94 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:.cctor() (FullOpts)
         -11 (-3.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[double]:InsertRange(int,System.ReadOnlySpan`1[double]):System.Collections.Immutable.ImmutableArray`1[double]:this (FullOpts)
         -11 (-3.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[int]:InsertRange(int,System.ReadOnlySpan`1[int]):System.Collections.Immutable.ImmutableArray`1[int]:this (FullOpts)
         -11 (-3.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[long]:InsertRange(int,System.ReadOnlySpan`1[long]):System.Collections.Immutable.ImmutableArray`1[long]:this (FullOpts)
         -11 (-3.26 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[short]:InsertRange(int,System.ReadOnlySpan`1[short]):System.Collections.Immutable.ImmutableArray`1[short]:this (FullOpts)
         -11 (-1.32 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.__Canon]:InsertRange(int,System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (FullOpts)
         -11 (-3.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:InsertRange(int,System.ReadOnlySpan`1[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:this (FullOpts)
         -11 (-3.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Numerics.Vector`1[float]]:InsertRange(int,System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableArray`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         -11 (-3.29 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[ubyte]:InsertRange(int,System.ReadOnlySpan`1[ubyte]):System.Collections.Immutable.ImmutableArray`1[ubyte]:this (FullOpts)
         -11 (-1.88 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchiveEntry:LoadLocalHeaderExtraFieldAndCompressedBytesIfNeeded():ubyte:this (FullOpts)
         -11 (-2.15 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:CheckAttributeValue(System.Object,System.Xml.Schema.SchemaAttDef):System.Object:this (FullOpts)
         -11 (-0.54 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:ElementValidationError(System.Xml.XmlQualifiedName,System.Xml.Schema.ValidationState,System.Xml.Schema.ValidationEventHandler,System.Object,System.String,int,int,System.Xml.Schema.XmlSchemaSet) (FullOpts)
         -11 (-1.19 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdValidator:AddIdentityConstraints():this (FullOpts)
         -11 (-0.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadRealStylesheet():this (FullOpts)
         -10 (-5.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[int]:Add(int):this (FullOpts)
         -10 (-5.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[long]:Add(long):this (FullOpts)
         -10 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[short]:Add(short):this (FullOpts)
         -10 (-5.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[System.Nullable`1[int]]:Add(System.Nullable`1[int]):this (FullOpts)
         -10 (-5.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[ubyte]:Add(ubyte):this (FullOpts)
         -10 (-5.81 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:set_Salt(ubyte[]):this (FullOpts)

Top method regressions (percentages):
          83 (38.60 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateFieldWidths():this (FullOpts)
          53 (24.88 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigPaths:Validate(System.String,ubyte):System.String (FullOpts)
         101 (19.54 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Arm64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
         101 (19.54 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.LoongArch64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
         101 (19.54 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.RiscV64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
          20 (17.09 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.Socket:EndAccept(byref,System.IAsyncResult):System.Net.Sockets.Socket:this (FullOpts)
          84 (15.91 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Arm.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
         138 (14.35 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:ComputeHash(ubyte[]):ubyte[] (FullOpts)
          33 (11.19 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlDictionaryWriter:WriteValue(System.Xml.IStreamProvider):this (FullOpts)
          12 (7.14 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltCompileException:.ctor():this (FullOpts)
          12 (7.14 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltException:.ctor():this (FullOpts)
          85 (7.10 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:ValidateAndEscapeDelimiters():this (FullOpts)
          12 (6.63 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:DbTypeNotSupported(int,System.Type):System.ArgumentException (FullOpts)
          15 (6.30 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.TextFieldParser:GetFixedWidthField(System.Globalization.StringInfo,int,int):System.String:this (FullOpts)
          11 (6.08 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.SignerInfoCollection:.ctor(System.Security.Cryptography.Pkcs.Asn1.SignerInfoAsn[],System.Security.Cryptography.Pkcs.SignedCms):this (FullOpts)
          17 (6.07 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.Utils:ConvertIntToByteArray(int):ubyte[] (FullOpts)
         333 (4.99 % of base) : tieringtest.dasm - Program:Main(System.String[]):int (FullOpts)
          14 (4.68 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DsesFilterAndTransform+TransformSpec+PropertySpec+PropertyFetch:CreatePropertyFetch(System.Type,System.Reflection.PropertyInfo):System.Diagnostics.DsesFilterAndTransform+TransformSpec+PropertySpec+PropertyFetch (FullOpts)
           6 (4.51 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.NullableConverterFactory:CreateValueConverter(System.Type,System.Text.Json.Serialization.JsonConverter):System.Text.Json.Serialization.JsonConverter (FullOpts)
          17 (4.14 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreateJsonTypeInfo(System.Type,System.Text.Json.Serialization.JsonConverter,System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo (FullOpts)
           3 (3.19 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass4_0`1[System.__Canon]:<CreateAddMethodDelegate>b__0(System.__Canon,System.Object):this (FullOpts)
           3 (3.19 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass8_0`1[System.__Canon]:<CreatePropertySetter>b__0(System.Object,System.__Canon):this (FullOpts)
           5 (3.16 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy:GetIgnoresAccessChecksToAttributeConstructor(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo (FullOpts)
           3 (3.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader+<>c__DisplayClass41_3`1[double]:<GetCollectionSetItemDelegate>b__7(System.Object,System.Object,int):System.Object:this (FullOpts)
           3 (3.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader+<>c__DisplayClass41_3`1[int]:<GetCollectionSetItemDelegate>b__7(System.Object,System.Object,int):System.Object:this (FullOpts)
           3 (3.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader+<>c__DisplayClass41_3`1[long]:<GetCollectionSetItemDelegate>b__7(System.Object,System.Object,int):System.Object:this (FullOpts)
           3 (3.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader+<>c__DisplayClass41_3`1[short]:<GetCollectionSetItemDelegate>b__7(System.Object,System.Object,int):System.Object:this (FullOpts)
           3 (3.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader+<>c__DisplayClass41_3`1[System.__Canon]:<GetCollectionSetItemDelegate>b__7(System.Object,System.Object,int):System.Object:this (FullOpts)
           3 (3.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader+<>c__DisplayClass41_3`1[System.Nullable`1[int]]:<GetCollectionSetItemDelegate>b__7(System.Object,System.Object,int):System.Object:this (FullOpts)
           3 (3.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader+<>c__DisplayClass41_3`1[System.Numerics.Vector`1[float]]:<GetCollectionSetItemDelegate>b__7(System.Object,System.Object,int):System.Object:this (FullOpts)
           3 (3.12 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionReader+<>c__DisplayClass41_3`1[ubyte]:<GetCollectionSetItemDelegate>b__7(System.Object,System.Object,int):System.Object:this (FullOpts)
           3 (2.65 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass8_0`1[int]:<CreatePropertySetter>b__0(System.Object,int):this (FullOpts)
           3 (2.65 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass8_0`1[long]:<CreatePropertySetter>b__0(System.Object,long):this (FullOpts)
           3 (2.65 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass8_0`1[ubyte]:<CreatePropertySetter>b__0(System.Object,ubyte):this (FullOpts)
           3 (2.63 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass8_0`1[short]:<CreatePropertySetter>b__0(System.Object,short):this (FullOpts)
           8 (2.61 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.NamespaceIterator:Create(System.Xml.XPath.XPathNavigator):this (FullOpts)
           3 (2.61 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass8_0`1[System.Nullable`1[int]]:<CreatePropertySetter>b__0(System.Object,System.Nullable`1[int]):this (FullOpts)
           6 (2.51 % of base) : System.Collections.NonGeneric.dasm - System.Collections.SortedList:.ctor(int):this (FullOpts)
           7 (2.51 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ErrorBuilder:CreateImportCardinalityMismatch(System.ComponentModel.Composition.ImportCardinalityMismatchException,System.ComponentModel.Composition.Primitives.ImportDefinition):System.ComponentModel.Composition.CompositionError (FullOpts)
           3 (2.50 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass8_0`1[System.Numerics.Vector`1[float]]:<CreatePropertySetter>b__0(System.Object,System.Numerics.Vector`1[float]):this (FullOpts)
           3 (2.46 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass8_0`1[double]:<CreatePropertySetter>b__0(System.Object,double):this (FullOpts)
           3 (2.44 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientSettingsStore+ClientSettingsConfigurationHost:OpenExeConfiguration(int):System.Configuration.Configuration (FullOpts)
           8 (2.41 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.ScopeTree:EnsureCapacity():this (FullOpts)
           3 (2.40 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionMemberAccessor+<>c__DisplayClass4_0`1[System.Nullable`1[int]]:<CreateAddMethodDelegate>b__0(System.Nullable`1[int],System.Object):this (FullOpts)
           7 (2.36 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XNamespace:.ctor(System.String):this (FullOpts)
           5 (2.29 % of base) : System.Private.CoreLib.dasm - System.IO.BufferedStream:WriteByteSlow(ubyte):this (FullOpts)
           6 (2.29 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateGetterMethod(System.String,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
           3 (2.21 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InternalConnectionError(int):System.Exception (FullOpts)
           3 (2.17 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.NewArrayInstruction:Run(System.Linq.Expressions.Interpreter.InterpretedFrame):int:this (FullOpts)
           6 (2.14 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor:CreateSetterMethod(System.String,System.Type):System.Reflection.Emit.DynamicMethod (FullOpts)
           3 (2.10 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Allocate(int,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,int):Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray (FullOpts)
          72 (2.03 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:.ctor(System.Text.RegularExpressions.RegexNode,int):this (FullOpts) (2 methods)
           6 (2.02 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ConstraintServices:CreateMetadataContainsKeyExpression(System.Linq.Expressions.ParameterExpression,System.String):System.Linq.Expressions.MethodCallExpression (FullOpts)
           3 (1.97 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InvalidDataType(int):System.ArgumentException (FullOpts)
           8 (1.97 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.PrecedingIterator:Create(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter):this (FullOpts)
           5 (1.83 % of base) : System.Security.Permissions.dasm - System.Security.HostProtectionException:ToString():System.String:this (FullOpts)
           4 (1.71 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReader:CreateBadDerivationException(System.String,System.String,System.String,System.String,System.String,System.String):System.Exception:this (FullOpts)
           3 (1.68 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.ODBC:UnknownSQLType(short):System.Exception (FullOpts)
           3 (1.63 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.Utils:GetResourceString(System.String):System.String (FullOpts)
           4 (1.59 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultTypedHttpClientFactory`1+Cache+<>c[System.__Canon]:<.cctor>b__7_0():Microsoft.Extensions.DependencyInjection.ObjectFactory:this (FullOpts)
           3 (1.59 % of base) : System.Private.CoreLib.dasm - System.Globalization.CultureData:GetCalendar(ushort):System.Globalization.CalendarData:this (FullOpts)
          12 (1.55 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatWriterGenerator+CriticalHelper:UnwrapNullableObject(System.Reflection.Emit.LocalBuilder):System.Reflection.Emit.LocalBuilder:this (FullOpts)
           3 (1.48 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ErrorBuilder:ComposeTookTooManyIterations(int):System.ComponentModel.Composition.CompositionError (FullOpts)
           4 (1.42 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.SortAction:ParseOrder(System.String):int:this (FullOpts)
           4 (1.36 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.SortAction:ParseCaseOrder(System.String):int:this (FullOpts)
           9 (1.35 % of base) : System.Private.CoreLib.dasm - System.Resources.ResourceReader:InitializeBinaryFormatter():ubyte:this (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[double,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[int,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[long,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[short,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[System.__Canon,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[System.Nullable`1[int],System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.34 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.SignatureDecoder`2[ubyte,System.Nullable`1[int]]:CheckMethodOrPropertyHeader(System.Reflection.Metadata.SignatureHeader) (FullOpts)
           4 (1.30 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler:get_MemoryMarshalGetArrayDataReferenceSearchValuesMethod():System.Reflection.MethodInfo (FullOpts)
           3 (1.26 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.UnwindInfo:ToString():System.String:this (FullOpts)
           3 (1.17 % of base) : System.Collections.dasm - System.Collections.Generic.SortedList`2[System.__Canon,System.Nullable`1[int]]:.ctor(int):this (FullOpts)
          28 (1.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadDecimalFormat(System.Xml.Xsl.Xslt.NsDecl):this (FullOpts)
          70 (1.14 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WritePrimitive(System.Xml.Serialization.TypeMapping,System.String):this (FullOpts)
           5 (1.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExprFactory:CreateMemGroup(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.MethPropWithInst):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts)
          12 (1.02 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:XslAttribute():System.Xml.Xsl.Xslt.XslNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathQilFactory:InvokeCeiling(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathQilFactory:InvokeEnsureNodeSet(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathQilFactory:InvokeFloor(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathQilFactory:InvokeNormalizeSpace(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathQilFactory:InvokeRound(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltQilFactory:InvokeBaseUri(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltQilFactory:InvokeElementAvailable(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltQilFactory:InvokeEXslObjectType(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltQilFactory:InvokeFunctionAvailable(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltQilFactory:InvokeMsLocalName(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltQilFactory:InvokeMsNumber(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltQilFactory:InvokeMsUtc(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltQilFactory:InvokeOnCurrentNodeChanged(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           4 (1.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltQilFactory:InvokeOuterXml(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           3 (0.98 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ThrowUnexpectedToken(int,System.String,System.String):this (FullOpts)
           3 (0.96 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:WrapLoopBody(System.Xml.Xsl.ISourceLineInfo,System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.ISourceLineInfo):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           3 (0.95 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView:CreateDelegateAndInvoke(System.Type[],System.Runtime.CompilerServices.CallSiteBinder,System.Object[]):System.Object (FullOpts)
           7 (0.94 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryOutput:ThrowInvalidStateError(int):this (FullOpts)
           4 (0.93 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.ActionCallInstruction`2[System.Nullable`1[int],System.Nullable`1[int]]:Run(System.Linq.Expressions.Interpreter.InterpretedFrame):int:this (FullOpts)

Top method improvements (percentages):
        -270 (-16.14 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:WaitAllCore(System.ReadOnlySpan`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
         -27 (-10.98 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.SpanMarshaller`2[System.__Canon,long]:AllocateContainerForManagedElements(ulong,int):System.Span`1[System.__Canon] (FullOpts)
         -14 (-8.97 % of base) : System.Private.CoreLib.dasm - System.IO.BufferedStream:WriteToBuffer(ubyte[],byref,byref):this (FullOpts)
         -11 (-8.94 % of base) : System.Private.CoreLib.dasm - System.Array+EmptyArray`1[System.__Canon]:.cctor() (FullOpts)
         -11 (-8.94 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:.cctor() (FullOpts)
        -135 (-6.60 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcDataReader:RetrieveKeyInfoFromStatistics(System.Data.Odbc.OdbcDataReader+QualifiedTableName,ubyte):int:this (FullOpts)
         -10 (-5.81 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:set_Salt(ubyte[]):this (FullOpts)
        -678 (-5.71 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts)
         -10 (-5.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[int]:Add(int):this (FullOpts)
         -10 (-5.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[long]:Add(long):this (FullOpts)
         -10 (-5.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[System.Nullable`1[int]]:Add(System.Nullable`1[int]):this (FullOpts)
         -10 (-5.29 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[ubyte]:Add(ubyte):this (FullOpts)
         -10 (-5.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ListChunk`1[short]:Add(short):this (FullOpts)
        -335 (-4.64 % of base) : System.Private.CoreLib.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts)
         -12 (-4.36 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionedDataSource`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],int,ubyte):this (FullOpts)
         -84 (-3.94 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[int]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
         -84 (-3.94 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ubyte]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
         -84 (-3.93 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[short]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
         -84 (-3.93 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[long]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
         -84 (-3.92 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[double]:.ctor(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],int,System.Text.RegularExpressions.RegexFindOptimizations,System.TimeSpan):this (FullOpts)
        -137 (-3.65 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:Init(System.Configuration.Internal.IInternalConfigRoot,System.Configuration.BaseConfigurationRecord,System.String,System.String):this (FullOpts)
         -12 (-3.30 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.SignedXmlDebugLog:LogSigningReference(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.Xml.Reference) (FullOpts)
         -11 (-3.29 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[ubyte]:InsertRange(int,System.ReadOnlySpan`1[ubyte]):System.Collections.Immutable.ImmutableArray`1[ubyte]:this (FullOpts)
         -11 (-3.26 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[short]:InsertRange(int,System.ReadOnlySpan`1[short]):System.Collections.Immutable.ImmutableArray`1[short]:this (FullOpts)
         -11 (-3.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[double]:InsertRange(int,System.ReadOnlySpan`1[double]):System.Collections.Immutable.ImmutableArray`1[double]:this (FullOpts)
         -11 (-3.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[int]:InsertRange(int,System.ReadOnlySpan`1[int]):System.Collections.Immutable.ImmutableArray`1[int]:this (FullOpts)
         -11 (-3.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[long]:InsertRange(int,System.ReadOnlySpan`1[long]):System.Collections.Immutable.ImmutableArray`1[long]:this (FullOpts)
         -11 (-3.25 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:InsertRange(int,System.ReadOnlySpan`1[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:this (FullOpts)
         -11 (-3.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Numerics.Vector`1[float]]:InsertRange(int,System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableArray`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         -18 (-3.17 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],int,int,int,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-3.15 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],int,int,ubyte,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-3.14 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],int,int,short,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
         -18 (-3.12 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],int,int,double,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double] (FullOpts)
         -18 (-3.08 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:Create(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],int,System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],int,int,long,System.Text.RegularExpressions.Symbolic.SymbolicRegexInfo):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -53 (-3.01 % of base) : System.Numerics.Tensors.dasm - System.Numerics.Tensors.Tensor:TensorPrimitivesHelperTwoSpanInTOut[System.__Canon](byref,byref,System.Numerics.Tensors.Tensor+PerformCalculationTwoSpanInTOut`1[System.__Canon]):System.__Canon (FullOpts)
         -72 (-2.79 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.UnwindInfo:ToString():System.String:this (FullOpts)
         -18 (-2.64 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateConcat(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-2.64 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateConcat(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -18 (-2.64 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateConcat(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-2.63 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-2.63 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-2.62 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateConcat(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
         -18 (-2.62 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
         -18 (-2.61 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -18 (-2.59 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:CreateLoop(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],int,int,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double] (FullOpts)
         -18 (-2.44 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateEffect(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-2.44 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateEffect(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -18 (-2.44 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateEffect(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-2.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateEffect(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
         -18 (-2.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],int,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -18 (-2.35 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],ubyte,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -18 (-2.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],long,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -18 (-2.34 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],short,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -27 (-2.31 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadStylesheet(System.Xml.XmlReader,ubyte):System.Xml.Xsl.Xslt.Stylesheet:this (FullOpts)
         -18 (-2.27 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:CreateNfaDerivativeWithEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],double,uint):System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]]:this (FullOpts)
         -11 (-2.15 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:CheckAttributeValue(System.Object,System.Xml.Schema.SchemaAttDef):System.Object:this (FullOpts)
         -50 (-2.14 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateEncodedMembersElement(System.Xml.Serialization.XmlMembersMapping):System.Object[]:this (FullOpts)
          -5 (-2.04 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.SignedXmlDebugLog:LogVerifyReference(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.Xml.Reference) (FullOpts)
          -4 (-2.01 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReader:CreateMissingIXmlSerializableType(System.String,System.String,System.String):System.Exception:this (FullOpts)
         -73 (-1.98 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:ToString():System.String:this (FullOpts)
         -11 (-1.88 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchiveEntry:LoadLocalHeaderExtraFieldAndCompressedBytesIfNeeded():ubyte:this (FullOpts)
          -3 (-1.87 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InvalidRestrictionValue(System.String,System.String,System.String):System.ArgumentException (FullOpts)
          -4 (-1.82 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:ParametersSourceIndex(System.String,System.Data.IDataParameterCollection,System.Type):System.Exception (FullOpts)
          -8 (-1.79 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Match:.ctor(System.Text.RegularExpressions.Regex,int,System.String,int):this (FullOpts) (2 methods)
          -4 (-1.78 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbBuffer:WriteNumeric(int,System.Decimal,ubyte):this (FullOpts)
         -18 (-1.74 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[int]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[int]:this (FullOpts)
         -18 (-1.74 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ubyte]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[ubyte]:this (FullOpts)
         -18 (-1.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[short]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[short]:this (FullOpts)
         -18 (-1.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[long]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[long]:this (FullOpts)
         -18 (-1.72 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[double]:CreateOptimizedReversal(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]):System.Text.RegularExpressions.Symbolic.MatchReversalInfo`1[double]:this (FullOpts)
          -6 (-1.61 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoAssembly:GetForwardedTypes():System.Type[]:this (FullOpts)
          -4 (-1.58 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:get_ParseMethod():System.Reflection.MethodInfo:this (FullOpts)
          -7 (-1.51 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:CheckElementValue(System.String):System.Object:this (FullOpts)
          -3 (-1.49 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[double,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2[double,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Linq.Parallel.Producer`1[System.Nullable`1[int]]]):this (FullOpts)
          -3 (-1.49 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[int,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2[int,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Linq.Parallel.Producer`1[System.Nullable`1[int]]]):this (FullOpts)
          -3 (-1.49 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[long,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2[long,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Linq.Parallel.Producer`1[System.Nullable`1[int]]]):this (FullOpts)
          -3 (-1.49 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[short,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2[short,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Linq.Parallel.Producer`1[System.Nullable`1[int]]]):this (FullOpts)
          -3 (-1.49 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2[System.Nullable`1[int],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Linq.Parallel.Producer`1[System.Nullable`1[int]]]):this (FullOpts)
          -3 (-1.49 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Linq.Parallel.Producer`1[System.Nullable`1[int]]]):this (FullOpts)
          -3 (-1.49 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[ubyte,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2[ubyte,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Linq.Parallel.Producer`1[System.Nullable`1[int]]]):this (FullOpts)
         -80 (-1.46 % of base) : System.Net.Quic.dasm - System.Net.Quic.QuicListener+<StartConnectionHandshake>d__16:MoveNext():this (FullOpts)
          -3 (-1.44 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryType:CreateTypeCodeDerivation():System.Xml.Xsl.XmlQueryType+BitMatrix (FullOpts)
         -27 (-1.38 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemas:GetSchemaItem(System.Xml.Schema.XmlSchemaObject,System.String,System.String):System.String (FullOpts)
         -11 (-1.32 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.__Canon]:InsertRange(int,System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Immutable.ImmutableArray`1[System.__Canon]:this (FullOpts)
          -2 (-1.31 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.PropertyValue+TypeHelper:GetGetMethod(System.Reflection.PropertyInfo,System.Type):System.Delegate (FullOpts)
         -14 (-1.30 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaValidator:AddIdentityConstraints():this (FullOpts)
          -4 (-1.25 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:ColumnSchemaMismatch(System.String,System.Type,System.Data.DataColumn):System.InvalidOperationException (FullOpts)
          -8 (-1.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.MergeExecutor`1[System.__Canon]:MakeAsynchronousChannels(int,int,System.Linq.Parallel.IntValueEvent,System.Threading.CancellationToken):System.__Canon[] (FullOpts)
         -14 (-1.23 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.KeysAndValuesFrozenDictionary`2[System.__Canon,System.Nullable`1[int]]:.ctor(System.Collections.Generic.Dictionary`2[System.__Canon,System.Nullable`1[int]],ubyte):this (FullOpts)
         -11 (-1.19 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdValidator:AddIdentityConstraints():this (FullOpts)
          -3 (-1.10 % of base) : System.Private.Xml.dasm - System.Xml.XmlSqlBinaryReader+QName:CheckPrefixNS(System.String,System.String):this (FullOpts)
          -8 (-1.10 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2[System.__Canon,System.Nullable`1[int]]:Spool(System.Linq.Parallel.QueryTaskGroupState,System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],ubyte[],ubyte[],ubyte[],System.__Canon[],System.Object[],System.Threading.Tasks.TaskScheduler,ubyte) (FullOpts)
          -3 (-1.09 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.EnvelopedCms:Encrypt(System.Security.Cryptography.Pkcs.CmsRecipient):this (FullOpts)
          -4 (-1.05 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemas:CreateValidationException(System.Xml.Schema.XmlSchemaException,System.String):System.Exception (FullOpts)
          -3 (-1.05 % of base) : System.Private.Xml.dasm - System.Xml.Schema.DatatypeImplementation:ParseValue(System.String,System.Xml.XmlNameTable,System.Xml.IXmlNamespaceResolver,ubyte):System.Object:this (FullOpts)
         -18 (-1.02 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts)
         -18 (-1.02 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts)
         -18 (-1.02 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts)
         -18 (-1.02 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts)
          -3 (-1.01 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.__Canon,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2[System.__Canon,System.Nullable`1[int]],System.Collections.Generic.IComparer`1[System.Linq.Parallel.Producer`1[System.Nullable`1[int]]]):this (FullOpts)

450 total methods with Code Size differences (215 improved, 235 regressed), 232474 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Dec 7, 2024

Top method regressions

138 (14.35 % of base) - System.Runtime.Serialization.DataContracts.DataContract:ComputeHash(ubyte[]):ubyte[]
 ; Assembly listing for method System.Runtime.Serialization.DataContracts.DataContract:ComputeHash(ubyte[]):ubyte[] (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; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T23] (  6, 23   )     ref  ->  rbx         class-hnd single-def <ubyte[]>
-;  V01 loc0         [V01,T26] (  2, 16.84)     ref  ->  r15         class-hnd exact single-def <int[]>
-;  V02 loc1         [V02,T27] (  2, 16.84)     ref  ->  [rbp-0x50]  class-hnd exact spill-single-def <uint[]>
-;  V03 loc2         [V03,T33] (  5, 12   )     int  ->  [rbp-0x2C]  spill-single-def
-;  V04 loc3         [V04,T31] (  8, 14   )     int  ->  [rbp-0x30] 
-;  V05 loc4         [V05,T32] (  6, 12   )     int  ->  [rbp-0x34] 
-;  V06 loc5         [V06,T38] (  4,  6   )     int  ->  [rbp-0x38] 
-;  V07 loc6         [V07,T39] (  4,  6   )     int  ->  [rbp-0x3C] 
-;  V08 loc7         [V08,T25] (  7, 23   )     int  ->  [rbp-0x40] 
-;  V09 loc8         [V09,T08] ( 12, 63.68)     ref  ->  r10         class-hnd <ubyte[]>
-;  V10 loc9         [V10,T11] ( 12, 51   )     int  ->  [rbp-0x44] 
-;  V11 loc10        [V11,T16] (  4, 36.68)     int  ->  registers  
-;  V12 loc11        [V12,T01] ( 14,155.48)     int  ->  registers  
-;  V13 loc12        [V13,T04] (  9, 82.20)     int  ->  registers  
-;  V14 loc13        [V14,T06] (  9, 74.28)     int  ->  registers  
-;  V15 loc14        [V15,T12] (  5, 47.52)     int  ->  r12        
-;  V16 loc15        [V16,T02] ( 10, 95.04)     int  ->  rax        
+;* V01 loc0         [V01    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact <int[]>
+;* V02 loc1         [V02    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact <uint[]>
+;  V03 loc2         [V03,T31] (  5, 12   )     int  ->  [rbp-0x2C]  spill-single-def
+;  V04 loc3         [V04,T29] (  8, 14   )     int  ->  r13        
+;  V05 loc4         [V05,T30] (  6, 12   )     int  ->  [rbp-0x30] 
+;  V06 loc5         [V06,T36] (  4,  6   )     int  ->  [rbp-0x34] 
+;  V07 loc6         [V07,T37] (  4,  6   )     int  ->  [rbp-0x38] 
+;  V08 loc7         [V08,T25] (  7, 23   )     int  ->  [rbp-0x3C] 
+;  V09 loc8         [V09,T07] ( 12, 64   )     ref  ->   r8         class-hnd <ubyte[]>
+;  V10 loc9         [V10,T12] ( 12, 51.16)     int  ->  [rbp-0x40] 
+;  V11 loc10        [V11,T16] (  4, 37   )     int  ->  registers  
+;  V12 loc11        [V12,T01] ( 14,157   )     int  ->  registers  
+;  V13 loc12        [V13,T04] (  9, 83   )     int  ->  registers  
+;  V14 loc13        [V14,T06] (  9, 75   )     int  ->  registers  
+;  V15 loc14        [V15,T13] (  5, 48   )     int  ->  rax        
+;  V16 loc15        [V16,T02] ( 10, 96   )     int  ->  r14        
 ;  V17 loc16        [V17,T05] ( 12, 82.16)     int  ->  rsi        
-;* V18 loc17        [V18,T44] (  0,  0   )     int  ->  zero-ref   
+;* V18 loc17        [V18,T40] (  0,  0   )     int  ->  zero-ref   
 ;# V19 OutArgs      [V19    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V20 tmp1         [V20,T40] (  3,  6   )     ref  ->  r15         class-hnd exact single-def "dup spill" <int[]>
-;  V21 tmp2         [V21,T41] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "dup spill" <uint[]>
-;  V22 tmp3         [V22,T09] (  2, 63.36)     int  ->   r8         "impSpillLclRefs"
-;  V23 tmp4         [V23,T10] (  2, 63.36)     int  ->  rdi         "impAppendStmt"
+;* V20 tmp1         [V20    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewArr temp" <int[]>
+;* V21 tmp2         [V21    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewArr temp" <uint[]>
+;  V22 tmp3         [V22,T09] (  2, 64   )     int  ->  r11         "impSpillLclRefs"
+;  V23 tmp4         [V23,T10] (  2, 64   )     int  ->  rdi         "impAppendStmt"
 ;* V24 tmp5         [V24    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V25 tmp6         [V25    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V26 tmp7         [V26,T07] (  4, 64   )     int  ->  rax         "Strict ordering of exceptions for Array store"
-;  V27 tmp8         [V27,T34] (  2,  8   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
-;  V28 tmp9         [V28,T35] (  2,  8   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
-;  V29 tmp10        [V29,T36] (  2,  8   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
-;  V30 tmp11        [V30,T37] (  2,  8   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
-;  V31 tmp12        [V31,T28] (  8, 16   )     ref  ->  rax         class-hnd exact single-def "dup spill" <ubyte[]>
-;* V32 tmp13        [V32    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;* V33 tmp14        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
-;* V34 tmp15        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
-;  V35 tmp16        [V35,T20] (  2, 31.68)   byref  ->  r14         "Inlining Arg"
-;  V36 tmp17        [V36,T21] (  2, 31.68)     int  ->  r12         "Inlining Arg"
-;* V37 tmp18        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;* V38 tmp19        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V39 tmp20        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V40 tmp21        [V40    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V41 tmp22        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V26 tmp7         [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <ubyte[]>
+;  V27 tmp8         [V27,T08] (  4, 64   )     int  ->  rax         "Strict ordering of exceptions for Array store"
+;  V28 tmp9         [V28,T32] (  2,  8   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
+;  V29 tmp10        [V29,T33] (  2,  8   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
+;  V30 tmp11        [V30,T34] (  2,  8   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
+;  V31 tmp12        [V31,T35] (  2,  8   )     int  ->  rdi         "Strict ordering of exceptions for Array store"
+;  V32 tmp13        [V32,T26] (  8, 16   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <ubyte[]>
+;* V33 tmp14        [V33    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
+;* V34 tmp15        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V35 tmp16        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
+;  V36 tmp17        [V36,T20] (  2, 32   )   byref  ->  r12         "Inlining Arg"
+;  V37 tmp18        [V37,T21] (  2, 32   )     int  ->  rax         "Inlining Arg"
+;* V38 tmp19        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V39 tmp20        [V39    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V40 tmp21        [V40    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V41 tmp22        [V41    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp23        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V43 tmp24        [V43    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V44 tmp25        [V44    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V45 tmp26        [V45    ] (  0,  0   )   byref  ->  zero-ref    "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V46 tmp27        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
-;  V47 tmp28        [V47,T18] (  3, 31.68)   byref  ->  registers   "field V32._reference (fldOffset=0x0)" P-INDEP
-;  V48 tmp29        [V48,T19] (  3, 31.68)     int  ->  r12         "field V32._length (fldOffset=0x8)" P-INDEP
-;  V49 tmp30        [V49,T29] (  2, 15.84)   byref  ->  r14         "field V33._reference (fldOffset=0x0)" P-INDEP
-;  V50 tmp31        [V50,T30] (  2, 15.84)     int  ->  r12         "field V33._length (fldOffset=0x8)" P-INDEP
-;* V51 tmp32        [V51    ] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
-;* V52 tmp33        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
-;* V53 tmp34        [V53    ] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
-;* V54 tmp35        [V54    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
-;* V55 tmp36        [V55    ] (  0,  0   )   byref  ->  zero-ref    "field V38._reference (fldOffset=0x0)" P-INDEP
-;* V56 tmp37        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
-;* V57 tmp38        [V57    ] (  0,  0   )   byref  ->  zero-ref    "field V41._reference (fldOffset=0x0)" P-INDEP
-;* V58 tmp39        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
-;* V59 tmp40        [V59    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
-;* V60 tmp41        [V60    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
-;  V61 tmp42        [V61,T03] (  3, 95.04)     int  ->  rax         "index expr"
-;* V62 tmp43        [V62,T22] (  0,  0   )     int  ->  zero-ref    "index expr"
-;  V63 cse0         [V63,T13] (  3, 47.52)     int  ->  rax         "CSE #13: moderate"
-;  V64 cse1         [V64,T14] (  2, 31.68)     int  ->  rax         "CSE #10: moderate"
-;  V65 cse2         [V65,T42] (  3,  6   )     int  ->  rsi         "CSE #04: conservative"
-;  V66 cse3         [V66,T17] ( 12, 36   )     int  ->  r13         "CSE #01: moderate"
-;  V67 cse4         [V67,T15] (  3, 47.52)     int  ->  rcx         "CSE #02: moderate"
-;  V68 cse5         [V68,T24] (  3, 23.76)     int  ->  r12         "CSE #06: moderate"
-;  V69 rat0         [V69,T00] ( 15,167.32)    long  ->  rcx         "Widened IV V18"
-;  V70 rat1         [V70,T43] (  3,  6   )     int  ->  r12         "ReplaceWithLclVar is creating a new local variable"
+;* V43 tmp24        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;  V44 tmp25        [V44    ] (  7, 52   )  struct (80) [rbp-0x90]  do-not-enreg[XSF] addr-exposed "stack allocated array temp"
+;  V45 tmp26        [V45    ] (  6, 36   )  struct (272) [rbp-0x1A0]  do-not-enreg[XSF] addr-exposed "stack allocated array temp"
+;* V46 tmp27        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V47 tmp28        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;* V48 tmp29        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V49 tmp30        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
+;  V50 tmp31        [V50,T18] (  3, 32   )   byref  ->  registers   "field V33._reference (fldOffset=0x0)" P-INDEP
+;  V51 tmp32        [V51,T19] (  3, 32   )     int  ->  registers   "field V33._length (fldOffset=0x8)" P-INDEP
+;  V52 tmp33        [V52,T27] (  2, 16   )   byref  ->  r12         "field V34._reference (fldOffset=0x0)" P-INDEP
+;  V53 tmp34        [V53,T28] (  2, 16   )     int  ->  rax         "field V34._length (fldOffset=0x8)" P-INDEP
+;* V54 tmp35        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V35._reference (fldOffset=0x0)" P-INDEP
+;* V55 tmp36        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
+;* V56 tmp37        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V57 tmp38        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
+;* V58 tmp39        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V59 tmp40        [V59    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
+;* V60 tmp41        [V60    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V61 tmp42        [V61    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
+;* V62 tmp43        [V62    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V63 tmp44        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
+;  V64 tmp45        [V64,T03] (  3, 96   )     int  ->  r14         "index expr"
+;  V65 tmp46        [V65,T11] (  2, 64   )     int  ->  rax         "index expr"
+;  V66 cse0         [V66,T14] (  3, 48   )     int  ->  rax         "CSE #10: moderate"
+;  V67 cse1         [V67,T22] (  2, 32   )     int  ->  r12         "CSE #11: moderate"
+;  V68 cse2         [V68,T38] (  3,  6   )     int  ->  rsi         "CSE #04: conservative"
+;  V69 cse3         [V69,T17] ( 12, 36   )     int  ->  r15         "CSE #01: moderate"
+;  V70 cse4         [V70,T15] (  3, 47.52)     int  ->  rcx         "CSE #02: moderate"
+;  V71 cse5         [V71,T24] (  3, 24   )     int  ->  rax         "CSE #06: moderate"
+;  V72 rat0         [V72,T00] ( 16,185   )    long  ->  rcx         "Widened IV V18"
+;  V73 rat1         [V73,T39] (  3,  6   )     int  ->  r14         "ReplaceWithLclVar is creating a new local variable"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 376
 
 G_M24152_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 376
+       lea      rbp, [rsp+0x1A0]
        mov      rbx, rdi
-						;; size=22 bbWeight=1 PerfScore 7.00
+						;; size=28 bbWeight=1 PerfScore 7.00
 G_M24152_IG02:
+       vxorps   ymm0, ymm0, ymm0
+       vmovdqu32 zmmword ptr [rbp-0x90], zmm0
+       vmovdqu  xmmword ptr [rbp-0x50], xmm0
        mov      rdi, 0xD1FFAB1E      ; int[]
-       mov      esi, 16
-       call     CORINFO_HELP_NEWARR_1_VC
-       mov      r15, rax
+       mov      qword ptr [rbp-0x90], rdi
+       mov      dword ptr [rbp-0x88], 16
        mov      rdi, 0xD1FFAB1E      ; const ptr
        vmovdqu32 zmm0, zmmword ptr [rdi]
-       vmovdqu32 zmmword ptr [r15+0x10], zmm0
+       vmovdqu32 zmmword ptr [rbp-0x80], zmm0
+		  ;; NOP compensation instructions of 3 bytes.
+       vxorps   ymm0, ymm0, ymm0
+       vmovdqu32 zmmword ptr [rbp-0x1A0], zmm0
+       vmovdqu32 zmmword ptr [rbp-0x160], zmm0
+       vmovdqu32 zmmword ptr [rbp-0x120], zmm0
+       vmovdqu32 zmmword ptr [rbp-0xE0], zmm0
+       vmovdqu  xmmword ptr [rbp-0xA0], xmm0
        mov      rdi, 0xD1FFAB1E      ; uint[]
-       mov      esi, 64
-       call     CORINFO_HELP_NEWARR_1_VC
-       mov      r14, rax
+       mov      qword ptr [rbp-0x1A0], rdi
+       mov      dword ptr [rbp-0x198], 64
        mov      rdi, 0xD1FFAB1E      ; const ptr
        vmovdqu32 zmm0, zmmword ptr [rdi]
-       vmovdqu32 zmmword ptr [r14+0x10], zmm0
+       vmovdqu32 zmmword ptr [rbp-0x190], zmm0
        vmovdqu32 zmm0, zmmword ptr [rdi+0x40]
-       vmovdqu32 zmmword ptr [r14+0x50], zmm0
+       vmovdqu32 zmmword ptr [rbp-0x150], zmm0
        vmovdqu32 zmm0, zmmword ptr [rdi+0x80]
-       vmovdqu32 zmmword ptr [r14+0x90], zmm0
+       vmovdqu32 zmmword ptr [rbp-0x110], zmm0
        vmovdqu32 zmm0, zmmword ptr [rdi+0xC0]
-       vmovdqu32 zmmword ptr [r14+0xD0], zmm0
-       mov      gword ptr [rbp-0x50], r14
-       mov      r13d, dword ptr [rbx+0x08]
-       lea      r12d, [r13+0x08]
-       mov      eax, r12d
-       sar      eax, 31
-       and      eax, 63
-       add      r12d, eax
-       sar      r12d, 6
-       inc      r12d
-       mov      dword ptr [rbp-0x2C], r12d
-       mov      dword ptr [rbp-0x30], 0xD1FFAB1E
+       vmovdqu32 zmmword ptr [rbp-0xD0], zmm0
+       mov      r15d, dword ptr [rbx+0x08]
+       lea      r14d, [r15+0x08]
+       mov      r13d, r14d
+       sar      r13d, 31
+       and      r13d, 63
+       add      r14d, r13d
+       sar      r14d, 6
+       inc      r14d
+       mov      dword ptr [rbp-0x2C], r14d
+       mov      r13d, 0xD1FFAB1E
+       mov      r12d, 0xD1FFAB1E
        mov      dword ptr [rbp-0x34], 0xD1FFAB1E
        mov      dword ptr [rbp-0x38], 0xD1FFAB1E
-       mov      dword ptr [rbp-0x3C], 0xD1FFAB1E
-       xor      r9d, r9d
-       test     r12d, r12d
+       xor      edx, edx
+       test     r14d, r14d
        jle      G_M24152_IG24
-						;; size=224 bbWeight=1 PerfScore 46.00
+						;; size=298 bbWeight=1 PerfScore 47.17
 G_M24152_IG03:
-       mov      r10, rbx
+       mov      r8, rbx
+       mov      dword ptr [rbp-0x3C], edx
+       mov      r9d, edx
+       shl      r9d, 6
        mov      dword ptr [rbp-0x40], r9d
-       mov      r11d, r9d
-       shl      r11d, 6
-       mov      dword ptr [rbp-0x44], r11d
-       lea      edi, [r11+0x40]
-       cmp      r13d, edi
+       lea      edi, [r9+0x40]
+       cmp      r15d, edi
        jge      G_M24152_IG10
-						;; size=31 bbWeight=4 PerfScore 19.00
+						;; size=30 bbWeight=4 PerfScore 19.00
 G_M24152_IG04:
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        mov      esi, 64
        call     CORINFO_HELP_NEWARR_1_VC
-       mov      r10, rax
-       mov      edi, dword ptr [rbp-0x44]
+       mov      r8, rax
+       mov      edi, dword ptr [rbp-0x40]
        mov      esi, edi
-       cmp      r13d, edi
+       cmp      r15d, edi
        jle      SHORT G_M24152_IG07
 						;; size=33 bbWeight=2 PerfScore 8.50
 G_M24152_IG05:
        test     edi, edi
        jl       G_M24152_IG13
-       align    [2 bytes for IG06]
-						;; size=10 bbWeight=1 PerfScore 1.50
+       align    [3 bytes for IG06]
+						;; size=11 bbWeight=1 PerfScore 1.50
 G_M24152_IG06:
        mov      eax, esi
        movzx    rax, byte  ptr [rbx+rax+0x10]
        mov      ecx, esi
        sub      ecx, edi
        cmp      ecx, 64
        jae      G_M24152_IG28
-       mov      byte  ptr [r10+rcx+0x10], al
+       mov      byte  ptr [r8+rcx+0x10], al
        inc      esi
-       cmp      r13d, esi
+       cmp      r15d, esi
        jg       SHORT G_M24152_IG06
 						;; size=32 bbWeight=15.84 PerfScore 102.96
 G_M24152_IG07:
-       cmp      r13d, edi
+       cmp      r15d, edi
        jl       SHORT G_M24152_IG08
-       mov      esi, r13d
+       mov      esi, r15d
        sub      esi, edi
        cmp      esi, 64
        jae      G_M24152_IG28
        mov      edi, esi
-       mov      byte  ptr [r10+rdi+0x10], 128
+       mov      byte  ptr [r8+rdi+0x10], 128
 						;; size=27 bbWeight=2 PerfScore 8.50
 G_M24152_IG08:
-       lea      edi, [r12-0x01]
-       mov      esi, dword ptr [rbp-0x40]
+       lea      edi, [r14-0x01]
+       mov      esi, dword ptr [rbp-0x3C]
        cmp      esi, edi
        jne      SHORT G_M24152_IG09
-       lea      edi, [8*r13]
+       lea      edi, [8*r15]
        movzx    rdi, dil
-       mov      byte  ptr [r10+0x48], dil
-       mov      edi, r13d
+       mov      byte  ptr [r8+0x48], dil
+       mov      edi, r15d
        sar      edi, 5
        movzx    rdi, dil
-       mov      byte  ptr [r10+0x49], dil
-       mov      edi, r13d
+       mov      byte  ptr [r8+0x49], dil
+       mov      edi, r15d
        sar      edi, 13
        movzx    rdi, dil
-       mov      byte  ptr [r10+0x4A], dil
-       mov      edi, r13d
+       mov      byte  ptr [r8+0x4A], dil
+       mov      edi, r15d
        sar      edi, 21
        movzx    rdi, dil
-       mov      byte  ptr [r10+0x4B], dil
-						;; size=70 bbWeight=2 PerfScore 21.00
+       mov      byte  ptr [r8+0x4B], dil
+						;; size=69 bbWeight=2 PerfScore 21.00
 G_M24152_IG09:
        xor      edi, edi
-       mov      dword ptr [rbp-0x44], edi
-       mov      dword ptr [rbp-0x40], esi
-       mov      r12d, dword ptr [rbp-0x2C]
+       mov      dword ptr [rbp-0x40], edi
+       mov      dword ptr [rbp-0x3C], esi
+       mov      r14d, dword ptr [rbp-0x2C]
 						;; size=12 bbWeight=2 PerfScore 6.50
 G_M24152_IG10:
-       mov      eax, dword ptr [rbp-0x30]
-       mov      edi, eax
-       mov      ecx, dword ptr [rbp-0x34]
-       mov      esi, ecx
-       mov      edx, dword ptr [rbp-0x38]
-       mov      r8d, dword ptr [rbp-0x3C]
+       mov      edi, r13d
+       mov      dword ptr [rbp-0x30], r12d
+       mov      esi, r12d
+       mov      eax, dword ptr [rbp-0x34]
+       mov      r10d, eax
+       mov      ecx, dword ptr [rbp-0x38]
+       mov      r11d, ecx
        xor      ecx, ecx
        align    [0 bytes for IG11]
-						;; size=19 bbWeight=1 PerfScore 4.75
+						;; size=24 bbWeight=1 PerfScore 4.25
 G_M24152_IG11:
        cmp      ecx, 16
        jge      SHORT G_M24152_IG14
-						;; size=5 bbWeight=15.84 PerfScore 19.80
+						;; size=5 bbWeight=16 PerfScore 20.00
 G_M24152_IG12:
-       mov      r12d, esi
-       and      r12d, edx
-       andn     eax, esi, r8d
-       or       r12d, eax
-       mov      eax, ecx
+       mov      eax, esi
+       and      eax, r10d
+       andn     r14d, esi, r11d
+       or       eax, r14d
+       mov      r14d, ecx
        jmp      SHORT G_M24152_IG17
-						;; size=18 bbWeight=7.92 PerfScore 27.72
+						;; size=18 bbWeight=8 PerfScore 28.00
 G_M24152_IG13:
        mov      eax, esi
        movzx    rax, byte  ptr [rbx+rax+0x10]
        mov      ecx, esi
        sub      ecx, edi
        cmp      ecx, 64
        jae      G_M24152_IG28
        mov      ecx, esi
        sub      ecx, edi
-       mov      byte  ptr [r10+rcx+0x10], al
+       mov      byte  ptr [r8+rcx+0x10], al
        inc      esi
-       cmp      r13d, esi
+       cmp      r15d, esi
        jg       SHORT G_M24152_IG13
        jmp      G_M24152_IG07
 						;; size=41 bbWeight=0.16 PerfScore 1.44
 G_M24152_IG14:
        cmp      ecx, 32
        jl       SHORT G_M24152_IG16
        cmp      ecx, 48
        jl       SHORT G_M24152_IG15
-       mov      r12d, r8d
-       not      r12d
-       or       r12d, esi
-       xor      r12d, edx
-       lea      eax, [8*rcx]
-       sub      eax, ecx
+       mov      eax, r11d
+       not      eax
+       or       eax, esi
+       xor      eax, r10d
+       lea      r14d, [8*rcx]
+       sub      r14d, ecx
        jmp      SHORT G_M24152_IG17
-						;; size=33 bbWeight=7.92 PerfScore 49.50
+						;; size=33 bbWeight=8 PerfScore 50.00
 G_M24152_IG15:
-       mov      r12d, esi
-       xor      r12d, edx
-       xor      r12d, r8d
-       lea      eax, [rcx+2*rcx]
-       add      eax, 5
+       mov      eax, esi
+       xor      eax, r10d
+       xor      eax, r11d
+       lea      r14d, [rcx+2*rcx]
+       add      r14d, 5
        jmp      SHORT G_M24152_IG17
-						;; size=17 bbWeight=7.92 PerfScore 27.72
+						;; size=18 bbWeight=8 PerfScore 28.00
 G_M24152_IG16:
-       mov      r12d, esi
-       and      r12d, r8d
-       andn     eax, r8d, edx
-       or       r12d, eax
-       lea      eax, [rcx+4*rcx]
-       inc      eax
-						;; size=19 bbWeight=7.92 PerfScore 15.84
+       mov      eax, esi
+       and      eax, r11d
+       andn     r14d, r11d, r10d
+       or       eax, r14d
+       lea      r14d, [rcx+4*rcx]
+       inc      r14d
+						;; size=20 bbWeight=8 PerfScore 16.00
 G_M24152_IG17:
-       and      eax, 15
-       mov      r11d, dword ptr [rbp-0x44]
-       lea      eax, [r11+4*rax]
-       add      edi, r12d
-       add      edi, dword ptr [r14+4*rcx+0x10]
-       test     r10, r10
+       and      r14d, 15
+       mov      r9d, dword ptr [rbp-0x40]
+       lea      r14d, [r9+4*r14]
+       add      edi, eax
+       lea      rax, [rbp-0x1A0]
+       cmp      ecx, dword ptr [rax+0x08]
+       jae      G_M24152_IG28
+       lea      rax, [rbp-0x1A0]
+       add      edi, dword ptr [rax+4*rcx+0x10]
+       test     r8, r8
        je       SHORT G_M24152_IG19
-						;; size=24 bbWeight=15.84 PerfScore 99.00
+						;; size=46 bbWeight=16 PerfScore 180.00
 G_M24152_IG18:
-       mov      r12d, dword ptr [r10+0x08]
-       cmp      r12d, eax
+       mov      eax, dword ptr [r8+0x08]
+       cmp      eax, r14d
        jb       G_M24152_IG27
+       mov      r12d, r14d
+       lea      r12, bword ptr [r8+r12+0x10]
+       sub      eax, r14d
        mov      r14d, eax
-       lea      r14, bword ptr [r10+r14+0x10]
-       sub      r12d, eax
-       mov      rax, r14
+       mov      rax, r12
        jmp      SHORT G_M24152_IG20
-						;; size=29 bbWeight=7.92 PerfScore 55.44
+						;; size=32 bbWeight=8 PerfScore 58.00
 G_M24152_IG19:
-       test     eax, eax
+       test     r14d, r14d
        jne      G_M24152_IG27
        xor      rax, rax
-       xor      r12d, r12d
-						;; size=13 bbWeight=7.92 PerfScore 13.86
+       xor      r14d, r14d
+						;; size=14 bbWeight=8 PerfScore 14.00
 G_M24152_IG20:
-       cmp      r12d, 4
+       cmp      r14d, 4
        jl       G_M24152_IG26
        add      edi, dword ptr [rax]
        mov      eax, ecx
        and      eax, 3
-       mov      r12d, ecx
-       sar      r12d, 2
-       and      r12d, -4
-       or       eax, r12d
-       cmp      eax, 16
+       mov      r14d, ecx
+       sar      r14d, 2
+       and      r14d, -4
+       or       eax, r14d
+       mov      r14d, eax
+       lea      r12, [rbp-0x90]
+       mov      r12d, dword ptr [r12+0x08]
+       cmp      r14d, r12d
        jae      G_M24152_IG28
-       mov      eax, dword ptr [r15+4*rax+0x10]
-       shlx     r12d, edi, eax
+       lea      r12, [rbp-0x90]
+       mov      r14d, dword ptr [r12+4*r14+0x10]
+       shlx     r14d, edi, r14d
+       lea      r12, [rbp-0x90]
+       mov      eax, dword ptr [r12+4*rax+0x10]
        neg      eax
        add      eax, 32
        shrx     edi, edi, eax
-       or       edi, r12d
+       or       edi, r14d
        add      edi, esi
        inc      ecx
        cmp      ecx, 64
-       mov      dword ptr [rbp-0x44], r11d
-       mov      eax, edx
-       mov      edx, esi
+       mov      dword ptr [rbp-0x40], r9d
+       mov      eax, esi
        mov      esi, edi
-       mov      edi, r8d
-       mov      r8d, eax
-       mov      r12d, dword ptr [rbp-0x2C]
-       mov      r14, gword ptr [rbp-0x50]
+       mov      edi, r11d
+       mov      r11d, r10d
+       mov      r10d, eax
+       mov      r14d, dword ptr [rbp-0x2C]
        jl       G_M24152_IG11
-						;; size=100 bbWeight=15.84 PerfScore 269.28
+						;; size=131 bbWeight=16 PerfScore 348.00
 G_M24152_IG21:
-       mov      eax, edi
-       add      eax, dword ptr [rbp-0x30]
-       mov      dword ptr [rbp-0x30], eax
-       mov      ecx, esi
-       add      ecx, dword ptr [rbp-0x34]
-       mov      dword ptr [rbp-0x34], ecx
-       lea      edi, [r12-0x01]
-       mov      r9d, dword ptr [rbp-0x40]
-       cmp      r9d, edi
+       add      r13d, edi
+       mov      r12d, esi
+       add      r12d, dword ptr [rbp-0x30]
+       lea      edi, [r14-0x01]
+       mov      edx, dword ptr [rbp-0x3C]
+       cmp      edx, edi
        jge      SHORT G_M24152_IG23
-						;; size=30 bbWeight=4 PerfScore 37.00
+						;; size=21 bbWeight=4 PerfScore 21.00
 G_M24152_IG22:
-       add      edx, dword ptr [rbp-0x38]
-       mov      edi, edx
-       add      r8d, dword ptr [rbp-0x3C]
-       mov      esi, r8d
+       mov      eax, r10d
+       add      eax, dword ptr [rbp-0x34]
+       mov      ecx, r11d
+       add      ecx, dword ptr [rbp-0x38]
+       mov      edi, ecx
+       mov      dword ptr [rbp-0x34], eax
        mov      dword ptr [rbp-0x38], edi
-       mov      dword ptr [rbp-0x3C], esi
-						;; size=18 bbWeight=2 PerfScore 13.00
+						;; size=20 bbWeight=2 PerfScore 13.50
 G_M24152_IG23:
-       inc      r9d
-       cmp      r9d, r12d
+       inc      edx
+       cmp      edx, r14d
        jl       G_M24152_IG03
-						;; size=12 bbWeight=4 PerfScore 6.00
+						;; size=11 bbWeight=4 PerfScore 6.00
 G_M24152_IG24:
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        mov      esi, 6
        call     CORINFO_HELP_NEWARR_1_VC
-       mov      ebx, dword ptr [rbp-0x30]
-       mov      byte  ptr [rax+0x10], bl
-       mov      edi, ebx
+       mov      byte  ptr [rax+0x10], r13b
+       mov      edi, r13d
        shr      edi, 8
        mov      byte  ptr [rax+0x11], dil
-       mov      edi, ebx
+       mov      edi, r13d
        shr      edi, 16
        mov      byte  ptr [rax+0x12], dil
-       mov      edi, ebx
+       mov      edi, r13d
        shr      edi, 24
        mov      byte  ptr [rax+0x13], dil
-       mov      ebx, dword ptr [rbp-0x34]
-       mov      byte  ptr [rax+0x14], bl
-       mov      edi, ebx
+       mov      byte  ptr [rax+0x14], r12b
+       mov      edi, r12d
        shr      edi, 8
        mov      byte  ptr [rax+0x15], dil
-						;; size=68 bbWeight=1 PerfScore 12.50
+						;; size=68 bbWeight=1 PerfScore 10.50
 G_M24152_IG25:
        vzeroupper 
-       add      rsp, 40
+       add      rsp, 376
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=18 bbWeight=1 PerfScore 5.25
+						;; size=21 bbWeight=1 PerfScore 5.25
 G_M24152_IG26:
        mov      edi, 40
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M24152_IG27:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M24152_IG28:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 962, prolog size 22, PerfScore 879.06, instruction count 262, allocated bytes for code 962 (MethodHash=ada3a1a7) for method System.Runtime.Serialization.DataContracts.DataContract:ComputeHash(ubyte[]):ubyte[] (FullOpts)
+; Total bytes of code 1100, prolog size 28, PerfScore 1026.07, instruction count 275, allocated bytes for code 1100 (MethodHash=ada3a1a7) for method System.Runtime.Serialization.DataContracts.DataContract:ComputeHash(ubyte[]):ubyte[] (FullOpts)
 ; ============================================================
101 (19.54 % of base) - ILCompiler.Reflection.ReadyToRun.Arm64.UnwindInfo:.ctor(ubyte[],int):this
 ; Assembly listing for method ILCompiler.Reflection.ReadyToRun.Arm64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 36 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 23, 28.50)     ref  ->  rbx         this class-hnd single-def <ILCompiler.Reflection.ReadyToRun.Arm64.UnwindInfo>
 ;  V01 arg1         [V01,T07] (  5,  7.50)     ref  ->  r15         class-hnd single-def <ubyte[]>
 ;  V02 arg2         [V02    ] (  7,  9.50)     int  ->  [rbp-0x2C]  do-not-enreg[X] addr-exposed ld-addr-op single-def
 ;  V03 loc0         [V03,T08] (  3,  6   )     int  ->  r14         single-def
-;  V04 loc1         [V04,T05] ( 12, 16.50)     int  ->  [rbp-0x30] 
-;  V05 loc2         [V05,T09] (  3,  5.50)     ref  ->  r12         class-hnd exact single-def <ubyte[]>
+;  V04 loc1         [V04,T05] ( 12, 16.50)     int  ->  registers  
+;* V05 loc2         [V05    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact <ubyte[]>
 ;* V06 loc3         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;* V07 loc4         [V07,T16] (  0,  0   )     int  ->  zero-ref   
+;* V07 loc4         [V07,T15] (  0,  0   )     int  ->  zero-ref   
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V09 tmp1         [V09    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;* V10 tmp2         [V10    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V11 tmp3         [V11,T02] (  3, 24   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog>
-;  V12 tmp4         [V12,T06] (  2, 16   )     ref  ->  [rbp-0x40]  class-hnd spill-single-def "impAppendStmt" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog[]>
-;* V13 tmp5         [V13    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V14 tmp6         [V14    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V15 tmp7         [V15    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V09 tmp1         [V09    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewArr temp" <ubyte[]>
+;  V10 tmp2         [V10,T13] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog[]>
+;* V11 tmp3         [V11    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;* V12 tmp4         [V12    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;  V13 tmp5         [V13,T14] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog[]>
+;  V14 tmp6         [V14,T02] (  3, 24   )     ref  ->  [rbp-0x448]  class-hnd exact spill-single-def "NewObj constructor temp" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog>
+;  V15 tmp7         [V15,T06] (  2, 16   )     ref  ->  [rbp-0x450]  class-hnd spill-single-def "impAppendStmt" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog[]>
 ;* V16 tmp8         [V16    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp9         [V17    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V18 tmp10        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp12        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V21 tmp13        [V21,T14] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog[]>
-;* V22 tmp14        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog>
-;  V23 tmp15        [V23,T15] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog[]>
-;* V24 tmp16        [V24    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V25 tmp17        [V25,T11] (  2,  4   )     int  ->  rax         "Inlining Arg"
-;  V26 tmp18        [V26,T12] (  3,  3   )     int  ->  r15         "index expr"
-;  V27 tmp19        [V27,T04] (  3, 24   )     int  ->  rax         "index expr"
-;  V28 tmp20        [V28,T03] (  3, 24   )     ref  ->  rax         "arr expr"
-;  V29 cse0         [V29,T10] (  5,  5   )     int  ->  rax         "CSE #03: moderate"
-;  V30 cse1         [V30,T13] (  5,  2.50)     int  ->  registers   multi-def "CSE #02: moderate"
-;  V31 rat0         [V31,T01] (  8, 28.25)    long  ->  r13         "Widened IV V07"
+;* V21 tmp13        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V22 tmp14        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V23 tmp15        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V24 tmp16        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <ILCompiler.Reflection.ReadyToRun.Arm64.Epilog>
+;* V25 tmp17        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V26 tmp18        [V26,T10] (  2,  4   )     int  ->  rax         "Inlining Arg"
+;  V27 tmp19        [V27    ] (  6, 11   )  struct (1040) [rbp-0x440]  do-not-enreg[XSF] must-init addr-exposed "stack allocated array temp"
+;  V28 tmp20        [V28,T11] (  3,  3   )     int  ->  r15         "index expr"
+;  V29 tmp21        [V29,T04] (  3, 24   )     int  ->  rax         "index expr"
+;  V30 tmp22        [V30,T03] (  3, 24   )     ref  ->  rax         "arr expr"
+;  V31 cse0         [V31,T09] (  5,  5   )     int  ->  rax         "CSE #03: moderate"
+;  V32 cse1         [V32,T12] (  5,  2.50)     int  ->  registers   multi-def "CSE #02: moderate"
+;  V33 rat0         [V33,T01] (  8, 28.25)    long  ->  r13         "Widened IV V07"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 1064
 
 G_M35450_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 24
-       lea      rbp, [rsp+0x40]
+       sub      rsp, 0x428
+       lea      rbp, [rsp+0x450]
+       vxorps   xmm8, xmm8, xmm8
+       vmovdqa  xmmword ptr [rbp-0x440], xmm8
+       vmovdqa  xmmword ptr [rbp-0x430], xmm8
+       mov      rax, -0x3F0
+       vmovdqa  xmmword ptr [rbp+rax-0x30], xmm8
+       vmovdqa  xmmword ptr [rbp+rax-0x20], xmm8
+       vmovdqa  xmmword ptr [rbp+rax-0x10], xmm8
+       add      rax, 48
+       jne      SHORT  -5 instr
        mov      dword ptr [rbp-0x2C], edx
        mov      rbx, rdi
        mov      r15, rsi
-						;; size=28 bbWeight=1 PerfScore 8.25
+						;; size=89 bbWeight=1 PerfScore 20.08
 G_M35450_IG02:
        mov      r14d, dword ptr [rbp-0x2C]
        lea      rsi, [rbp-0x2C]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        call     [rax]ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        mov      r13d, eax
        mov      esi, r13d
        sar      esi, 27
        and      esi, 31
        mov      dword ptr [rbx+0x0C], esi
        mov      esi, r13d
        sar      esi, 22
        and      esi, 31
        mov      dword ptr [rbx+0x18], esi
        mov      esi, r13d
        sar      esi, 21
        and      esi, 1
        mov      dword ptr [rbx+0x1C], esi
        mov      esi, r13d
        sar      esi, 20
        and      esi, 1
        mov      dword ptr [rbx+0x20], esi
        mov      esi, r13d
        sar      esi, 18
        and      esi, 3
        mov      dword ptr [rbx+0x24], esi
        and      r13d, 0x3FFFF
        shl      r13d, 2
        mov      dword ptr [rbx+0x28], r13d
        cmp      dword ptr [rbx+0x0C], 0
        jne      SHORT G_M35450_IG04
 						;; size=107 bbWeight=1 PerfScore 21.00
 G_M35450_IG03:
        cmp      dword ptr [rbx+0x18], 0
        jne      SHORT G_M35450_IG04
        lea      rsi, [rbp-0x2C]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        call     [rax]ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        mov      r13d, eax
        mov      edi, r13d
        sar      edi, 16
        movzx    rdi, dil
        mov      dword ptr [rbx+0x2C], edi
        movzx    rdi, r13w
        mov      dword ptr [rbx+0x30], edi
 						;; size=48 bbWeight=0.50 PerfScore 5.75
 G_M35450_IG04:
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
-       mov      esi, 0x400
-       call     CORINFO_HELP_NEWARR_1_VC
-       mov      r12, rax
+       mov      qword ptr [rbp-0x440], rdi
+       mov      dword ptr [rbp-0x438], 0x400
        cmp      dword ptr [rbx+0x1C], 0
        je       SHORT G_M35450_IG06
-						;; size=29 bbWeight=1 PerfScore 5.75
+						;; size=33 bbWeight=1 PerfScore 6.25
 G_M35450_IG05:
        mov      rdi, 0xD1FFAB1E      ; ILCompiler.Reflection.ReadyToRun.Arm64.Epilog[]
        xor      esi, esi
        call     CORINFO_HELP_NEWARR_1_OBJ
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      r15d, dword ptr [rbx+0x18]
-       cmp      r15d, 0x400
+       lea      rsi, [rbp-0x440]
+       cmp      r15d, dword ptr [rsi+0x08]
        jae      G_M35450_IG11
-       mov      esi, r15d
-       mov      byte  ptr [r12+rsi+0x10], 1
+       lea      rsi, [rbp-0x440]
+       mov      edi, r15d
+       mov      byte  ptr [rsi+rdi+0x10], 1
        jmp      G_M35450_IG09
-						;; size=60 bbWeight=0.50 PerfScore 4.88
+						;; size=70 bbWeight=0.50 PerfScore 6.75
 G_M35450_IG06:
        mov      esi, dword ptr [rbx+0x18]
        mov      r13d, esi
        movsxd   rsi, r13d
        mov      rdi, 0xD1FFAB1E      ; ILCompiler.Reflection.ReadyToRun.Arm64.Epilog[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        test     r13d, r13d
        je       G_M35450_IG09
 						;; size=45 bbWeight=0.50 PerfScore 3.38
 G_M35450_IG07:
        xor      r13d, r13d
 						;; size=3 bbWeight=0.25 PerfScore 0.06
 G_M35450_IG08:
        lea      rsi, [rbp-0x2C]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        call     [rax]ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
-       mov      dword ptr [rbp-0x30], eax
+       mov      r12d, eax
        mov      rdi, 0xD1FFAB1E      ; ILCompiler.Reflection.ReadyToRun.Arm64.Epilog
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x38], rax
+       mov      gword ptr [rbp-0x448], rax
        mov      r8, gword ptr [rbx+0x10]
-       mov      gword ptr [rbp-0x40], r8
+       mov      gword ptr [rbp-0x450], r8
        mov      rdi, rax
        mov      esi, r13d
-       mov      edx, dword ptr [rbp-0x30]
+       mov      edx, r12d
        mov      ecx, r14d
        mov      r9, 0xD1FFAB1E      ; code for ILCompiler.Reflection.ReadyToRun.Arm64.Epilog:.ctor(int,int,uint):this
        call     [r9]ILCompiler.Reflection.ReadyToRun.Arm64.Epilog:.ctor(int,int,uint):this
        movsxd   rsi, r13d
-       mov      rdi, gword ptr [rbp-0x40]
-       mov      rdx, gword ptr [rbp-0x38]
+       mov      rdi, gword ptr [rbp-0x450]
+       mov      rdx, gword ptr [rbp-0x448]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rax, gword ptr [rbx+0x10]
        cmp      r13d, dword ptr [rax+0x08]
        jae      SHORT G_M35450_IG11
        mov      rax, gword ptr [rax+8*r13+0x10]
        mov      eax, dword ptr [rax+0x18]
-       cmp      eax, 0x400
+       lea      rcx, [rbp-0x440]
+       cmp      eax, dword ptr [rcx+0x08]
        jae      SHORT G_M35450_IG11
-       mov      byte  ptr [r12+rax+0x10], 1
+       lea      rcx, [rbp-0x440]
+       mov      byte  ptr [rcx+rax+0x10], 1
        inc      r13d
        movsxd   rax, r13d
        mov      ecx, dword ptr [rbx+0x18]
        cmp      rax, rcx
        jl       G_M35450_IG08
-						;; size=146 bbWeight=4 PerfScore 147.00
+						;; size=169 bbWeight=4 PerfScore 156.00
 G_M35450_IG09:
        mov      eax, dword ptr [rbp-0x2C]
        sub      eax, r14d
        mov      ecx, dword ptr [rbx+0x0C]
        lea      eax, [rax+4*rcx]
        mov      dword ptr [rbx+0x08], eax
        lea      ecx, [rax+0x03]
        and      ecx, -4
        sub      ecx, eax
        lea      eax, [rcx+rax+0x04]
        mov      dword ptr [rbx+0x08], eax
 						;; size=30 bbWeight=1 PerfScore 7.75
 G_M35450_IG10:
-       add      rsp, 24
+       add      rsp, 0x428
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
+						;; size=18 bbWeight=1 PerfScore 4.25
 G_M35450_IG11:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 517, prolog size 19, PerfScore 208.06, instruction count 138, allocated bytes for code 517 (MethodHash=71537585) for method ILCompiler.Reflection.ReadyToRun.Arm64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
+; Total bytes of code 618, prolog size 80, PerfScore 231.27, instruction count 150, allocated bytes for code 618 (MethodHash=71537585) for method ILCompiler.Reflection.ReadyToRun.Arm64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
 ; ============================================================
101 (19.54 % of base) - ILCompiler.Reflection.ReadyToRun.LoongArch64.UnwindInfo:.ctor(ubyte[],int):this
 ; Assembly listing for method ILCompiler.Reflection.ReadyToRun.LoongArch64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 36 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 23, 28.50)     ref  ->  rbx         this class-hnd single-def <ILCompiler.Reflection.ReadyToRun.LoongArch64.UnwindInfo>
 ;  V01 arg1         [V01,T07] (  5,  7.50)     ref  ->  r15         class-hnd single-def <ubyte[]>
 ;  V02 arg2         [V02    ] (  7,  9.50)     int  ->  [rbp-0x2C]  do-not-enreg[X] addr-exposed ld-addr-op single-def
 ;  V03 loc0         [V03,T08] (  3,  6   )     int  ->  r14         single-def
-;  V04 loc1         [V04,T05] ( 12, 16.50)     int  ->  [rbp-0x30] 
-;  V05 loc2         [V05,T09] (  3,  5.50)     ref  ->  r12         class-hnd exact single-def <ubyte[]>
+;  V04 loc1         [V04,T05] ( 12, 16.50)     int  ->  registers  
+;* V05 loc2         [V05    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact <ubyte[]>
 ;* V06 loc3         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;* V07 loc4         [V07,T16] (  0,  0   )     int  ->  zero-ref   
+;* V07 loc4         [V07,T15] (  0,  0   )     int  ->  zero-ref   
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V09 tmp1         [V09    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;* V10 tmp2         [V10    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V11 tmp3         [V11,T02] (  3, 24   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog>
-;  V12 tmp4         [V12,T06] (  2, 16   )     ref  ->  [rbp-0x40]  class-hnd spill-single-def "impAppendStmt" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog[]>
-;* V13 tmp5         [V13    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V14 tmp6         [V14    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V15 tmp7         [V15    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V09 tmp1         [V09    ] (  0,  0   )    long  ->  zero-ref    class-hnd exact "NewArr temp" <ubyte[]>
+;  V10 tmp2         [V10,T13] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog[]>
+;* V11 tmp3         [V11    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;* V12 tmp4         [V12    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;  V13 tmp5         [V13,T14] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "NewArr temp" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog[]>
+;  V14 tmp6         [V14,T02] (  3, 24   )     ref  ->  [rbp-0x448]  class-hnd exact spill-single-def "NewObj constructor temp" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog>
+;  V15 tmp7         [V15,T06] (  2, 16   )     ref  ->  [rbp-0x450]  class-hnd spill-single-def "impAppendStmt" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog[]>
 ;* V16 tmp8         [V16    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp9         [V17    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V18 tmp10        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp11        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp12        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V21 tmp13        [V21,T14] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog[]>
-;* V22 tmp14        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog>
-;  V23 tmp15        [V23,T15] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog[]>
-;* V24 tmp16        [V24    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V25 tmp17        [V25,T11] (  2,  4   )     int  ->  rax         "Inlining Arg"
-;  V26 tmp18        [V26,T12] (  3,  3   )     int  ->  r15         "index expr"
-;  V27 tmp19        [V27,T04] (  3, 24   )     int  ->  rax         "index expr"
-;  V28 tmp20        [V28,T03] (  3, 24   )     ref  ->  rax         "arr expr"
-;  V29 cse0         [V29,T10] (  5,  5   )     int  ->  rax         "CSE #03: moderate"
-;  V30 cse1         [V30,T13] (  5,  2.50)     int  ->  registers   multi-def "CSE #02: moderate"
-;  V31 rat0         [V31,T01] (  8, 28.25)    long  ->  r13         "Widened IV V07"
+;* V21 tmp13        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V22 tmp14        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V23 tmp15        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V24 tmp16        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog>
+;* V25 tmp17        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V26 tmp18        [V26,T10] (  2,  4   )     int  ->  rax         "Inlining Arg"
+;  V27 tmp19        [V27    ] (  6, 11   )  struct (1040) [rbp-0x440]  do-not-enreg[XSF] must-init addr-exposed "stack allocated array temp"
+;  V28 tmp20        [V28,T11] (  3,  3   )     int  ->  r15         "index expr"
+;  V29 tmp21        [V29,T04] (  3, 24   )     int  ->  rax         "index expr"
+;  V30 tmp22        [V30,T03] (  3, 24   )     ref  ->  rax         "arr expr"
+;  V31 cse0         [V31,T09] (  5,  5   )     int  ->  rax         "CSE #03: moderate"
+;  V32 cse1         [V32,T12] (  5,  2.50)     int  ->  registers   multi-def "CSE #02: moderate"
+;  V33 rat0         [V33,T01] (  8, 28.25)    long  ->  r13         "Widened IV V07"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 1064
 
 G_M61145_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 24
-       lea      rbp, [rsp+0x40]
+       sub      rsp, 0x428
+       lea      rbp, [rsp+0x450]
+       vxorps   xmm8, xmm8, xmm8
+       vmovdqa  xmmword ptr [rbp-0x440], xmm8
+       vmovdqa  xmmword ptr [rbp-0x430], xmm8
+       mov      rax, -0x3F0
+       vmovdqa  xmmword ptr [rbp+rax-0x30], xmm8
+       vmovdqa  xmmword ptr [rbp+rax-0x20], xmm8
+       vmovdqa  xmmword ptr [rbp+rax-0x10], xmm8
+       add      rax, 48
+       jne      SHORT  -5 instr
        mov      dword ptr [rbp-0x2C], edx
        mov      rbx, rdi
        mov      r15, rsi
-						;; size=28 bbWeight=1 PerfScore 8.25
+						;; size=89 bbWeight=1 PerfScore 20.08
 G_M61145_IG02:
        mov      r14d, dword ptr [rbp-0x2C]
        lea      rsi, [rbp-0x2C]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        call     [rax]ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        mov      r13d, eax
        mov      esi, r13d
        sar      esi, 27
        and      esi, 31
        mov      dword ptr [rbx+0x0C], esi
        mov      esi, r13d
        sar      esi, 22
        and      esi, 31
        mov      dword ptr [rbx+0x18], esi
        mov      esi, r13d
        sar      esi, 21
        and      esi, 1
        mov      dword ptr [rbx+0x1C], esi
        mov      esi, r13d
        sar      esi, 20
        and      esi, 1
        mov      dword ptr [rbx+0x20], esi
        mov      esi, r13d
        sar      esi, 18
        and      esi, 3
        mov      dword ptr [rbx+0x24], esi
        and      r13d, 0x3FFFF
        shl      r13d, 2
        mov      dword ptr [rbx+0x28], r13d
        cmp      dword ptr [rbx+0x0C], 0
        jne      SHORT G_M61145_IG04
 						;; size=107 bbWeight=1 PerfScore 21.00
 G_M61145_IG03:
        cmp      dword ptr [rbx+0x18], 0
        jne      SHORT G_M61145_IG04
        lea      rsi, [rbp-0x2C]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        call     [rax]ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        mov      r13d, eax
        mov      edi, r13d
        sar      edi, 16
        movzx    rdi, dil
        mov      dword ptr [rbx+0x2C], edi
        movzx    rdi, r13w
        mov      dword ptr [rbx+0x30], edi
 						;; size=48 bbWeight=0.50 PerfScore 5.75
 G_M61145_IG04:
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
-       mov      esi, 0x400
-       call     CORINFO_HELP_NEWARR_1_VC
-       mov      r12, rax
+       mov      qword ptr [rbp-0x440], rdi
+       mov      dword ptr [rbp-0x438], 0x400
        cmp      dword ptr [rbx+0x1C], 0
        je       SHORT G_M61145_IG06
-						;; size=29 bbWeight=1 PerfScore 5.75
+						;; size=33 bbWeight=1 PerfScore 6.25
 G_M61145_IG05:
        mov      rdi, 0xD1FFAB1E      ; ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog[]
        xor      esi, esi
        call     CORINFO_HELP_NEWARR_1_OBJ
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      r15d, dword ptr [rbx+0x18]
-       cmp      r15d, 0x400
+       lea      rsi, [rbp-0x440]
+       cmp      r15d, dword ptr [rsi+0x08]
        jae      G_M61145_IG11
-       mov      esi, r15d
-       mov      byte  ptr [r12+rsi+0x10], 1
+       lea      rsi, [rbp-0x440]
+       mov      edi, r15d
+       mov      byte  ptr [rsi+rdi+0x10], 1
        jmp      G_M61145_IG09
-						;; size=60 bbWeight=0.50 PerfScore 4.88
+						;; size=70 bbWeight=0.50 PerfScore 6.75
 G_M61145_IG06:
        mov      esi, dword ptr [rbx+0x18]
        mov      r13d, esi
        movsxd   rsi, r13d
        mov      rdi, 0xD1FFAB1E      ; ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        test     r13d, r13d
        je       G_M61145_IG09
 						;; size=45 bbWeight=0.50 PerfScore 3.38
 G_M61145_IG07:
        xor      r13d, r13d
 						;; size=3 bbWeight=0.25 PerfScore 0.06
 G_M61145_IG08:
        lea      rsi, [rbp-0x2C]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
        call     [rax]ILCompiler.Reflection.ReadyToRun.NativeReader:ReadInt32(ubyte[],byref):int
-       mov      dword ptr [rbp-0x30], eax
+       mov      r12d, eax
        mov      rdi, 0xD1FFAB1E      ; ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x38], rax
+       mov      gword ptr [rbp-0x448], rax
        mov      r8, gword ptr [rbx+0x10]
-       mov      gword ptr [rbp-0x40], r8
+       mov      gword ptr [rbp-0x450], r8
        mov      rdi, rax
        mov      esi, r13d
-       mov      edx, dword ptr [rbp-0x30]
+       mov      edx, r12d
        mov      ecx, r14d
        mov      r9, 0xD1FFAB1E      ; code for ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog:.ctor(int,int,uint):this
        call     [r9]ILCompiler.Reflection.ReadyToRun.LoongArch64.Epilog:.ctor(int,int,uint):this
        movsxd   rsi, r13d
-       mov      rdi, gword ptr [rbp-0x40]
-       mov      rdx, gword ptr [rbp-0x38]
+       mov      rdi, gword ptr [rbp-0x450]
+       mov      rdx, gword ptr [rbp-0x448]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rax, gword ptr [rbx+0x10]
        cmp      r13d, dword ptr [rax+0x08]
        jae      SHORT G_M61145_IG11
        mov      rax, gword ptr [rax+8*r13+0x10]
        mov      eax, dword ptr [rax+0x18]
-       cmp      eax, 0x400
+       lea      rcx, [rbp-0x440]
+       cmp      eax, dword ptr [rcx+0x08]
        jae      SHORT G_M61145_IG11
-       mov      byte  ptr [r12+rax+0x10], 1
+       lea      rcx, [rbp-0x440]
+       mov      byte  ptr [rcx+rax+0x10], 1
        inc      r13d
        movsxd   rax, r13d
        mov      ecx, dword ptr [rbx+0x18]
        cmp      rax, rcx
        jl       G_M61145_IG08
-						;; size=146 bbWeight=4 PerfScore 147.00
+						;; size=169 bbWeight=4 PerfScore 156.00
 G_M61145_IG09:
        mov      eax, dword ptr [rbp-0x2C]
        sub      eax, r14d
        mov      ecx, dword ptr [rbx+0x0C]
        lea      eax, [rax+4*rcx]
        mov      dword ptr [rbx+0x08], eax
        lea      ecx, [rax+0x03]
        and      ecx, -4
        sub      ecx, eax
        lea      eax, [rcx+rax+0x04]
        mov      dword ptr [rbx+0x08], eax
 						;; size=30 bbWeight=1 PerfScore 7.75
 G_M61145_IG10:
-       add      rsp, 24
+       add      rsp, 0x428
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=15 bbWeight=1 PerfScore 4.25
+						;; size=18 bbWeight=1 PerfScore 4.25
 G_M61145_IG11:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 517, prolog size 19, PerfScore 208.06, instruction count 138, allocated bytes for code 517 (MethodHash=f1741126) for method ILCompiler.Reflection.ReadyToRun.LoongArch64.UnwindInfo:.ctor(ubyte[],int):this (FullOpts)
+; Total bytes of code 618, prolog size 80, PerfScore 231.27, instruction count 150, allocated bytes for code 618 (MethodHash=f1741126) for method ILCompiler.Reflection.ReadyToRun.LoongArch64.UnwindInfo:.ctor(ubyte[],int):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/0b415cf8b0626f82884609de74fdbc79

@MihuBot
Copy link
Owner Author

MihuBot commented Dec 7, 2024

Top method improvements

-270 (-16.14 % of base) - System.Threading.Tasks.Task:WaitAllCore(System.ReadOnlySpan`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte
 ; Assembly listing for method System.Threading.Tasks.Task:WaitAllCore(System.ReadOnlySpan`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 28 single block inlinees; 22 inlinees without PGO data
+; 0 inlinees with PGO data; 25 single block inlinees; 20 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[System.Threading.Tasks.Task]>
 ;  V01 arg1         [V01,T28] (  5,  5.50)     int  ->  r15         single-def
 ;  V02 arg2         [V02    ] ( 10,  8   )  struct ( 8) [rbp-0x30]  do-not-enreg[XS] addr-exposed ld-addr-op single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T30] (  5,  7   )     ref  ->  r13         ld-addr-op class-hnd <System.Collections.Generic.List`1[System.Exception]>
-;  V04 loc1         [V04,T07] ( 19, 33   )     ref  ->  r12         ld-addr-op class-hnd <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V05 loc2         [V05,T04] ( 19, 82   )     ref  ->  [rbp-0x58]  ld-addr-op class-hnd <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V06 loc3         [V06,T31] (  5,  6   )   ubyte  ->  [rbp-0x34] 
-;  V07 loc4         [V07,T22] (  4, 11.50)   ubyte  ->  [rbp-0x38] 
-;  V08 loc5         [V08,T37] (  5,  4   )   ubyte  ->  [rbp-0x3C] 
-;  V09 loc6         [V09,T40] (  2,  2   )     int  ->  rdi        
+;  V03 loc0         [V03    ] (  3,  5   )     ref  ->  [rbp-0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.List`1[System.Exception]>
+;  V04 loc1         [V04,T07] ( 19, 33   )     ref  ->  r13         ld-addr-op class-hnd <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V05 loc2         [V05,T04] ( 19, 82   )     ref  ->  r12         ld-addr-op class-hnd <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V06 loc3         [V06,T30] (  5,  6   )   ubyte  ->  [rbp-0x3C] 
+;  V07 loc4         [V07,T21] (  4, 11.50)   ubyte  ->  [rbp-0x40] 
+;  V08 loc5         [V08,T36] (  5,  4   )   ubyte  ->  [rbp-0x44] 
+;  V09 loc6         [V09,T39] (  2,  2   )     int  ->  rdi        
 ;  V10 loc7         [V10,T08] ( 13, 32   )     ref  ->  [rbp-0x60]  class-hnd spill-single-def <System.Threading.Tasks.Task>
-;  V11 loc8         [V11,T14] (  5, 16   )   ubyte  ->  [rbp-0x40] 
+;  V11 loc8         [V11,T14] (  5, 16   )   ubyte  ->  [rbp-0x48] 
 ;* V12 loc9         [V12    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V13 loc10        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V14 loc11        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[System.Threading.Tasks.Task]>
 ;* V15 loc12        [V15,T45] (  0,  0   )     int  ->  zero-ref   
-;  V16 loc13        [V16,T23] (  3, 10   )     ref  ->  r12         class-hnd <System.Threading.Tasks.Task>
+;* V16 loc13        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V17 OutArgs      [V17    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V18 tmp1         [V18,T35] (  3,  6   )     int  ->  r10        
+;  V18 tmp1         [V18,T34] (  3,  6   )     int  ->   r9        
 ;* V19 tmp2         [V19,T46] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V20 tmp3         [V20,T38] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Threading.CancellationTokenSource>
+;  V20 tmp3         [V20,T37] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Threading.CancellationTokenSource>
 ;* V21 tmp4         [V21    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp5         [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V23 tmp6         [V23,T18] (  3, 12   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;* V24 tmp7         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V25 tmp8         [V25,T32] (  3,  6   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task[]>
-;  V26 tmp9         [V26,T25] (  4,  8   )     int  ->  r11         "Inline stloc first use temp"
-;* V27 tmp10        [V27    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V23 tmp6         [V23,T18] (  3, 12   )     ref  ->  r13         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V24 tmp7         [V24,T25] (  2,  8   )     ref  ->  rax         class-hnd exact "NewArr temp" <System.Threading.Tasks.Task[]>
+;* V25 tmp8         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V26 tmp9         [V26,T31] (  3,  6   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task[]>
+;  V27 tmp10        [V27,T22] (  4,  8   )     int  ->  r10         "Inline stloc first use temp"
 ;* V28 tmp11        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V29 tmp12        [V29,T19] (  3, 12   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;* V30 tmp13        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V31 tmp14        [V31,T33] (  3,  6   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task[]>
-;  V32 tmp15        [V32,T26] (  4,  8   )     int  ->  rsi         "Inline stloc first use temp"
-;  V33 tmp16        [V33,T20] (  3, 12   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;* V34 tmp17        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V35 tmp18        [V35,T34] (  3,  6   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task[]>
-;  V36 tmp19        [V36,T27] (  4,  8   )     int  ->  r10         "Inline stloc first use temp"
-;* V37 tmp20        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;* V38 tmp21        [V38    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
-;  V39 tmp22        [V39,T05] (  3, 48   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;* V40 tmp23        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V41 tmp24        [V41,T10] (  3, 24   )     ref  ->   r9         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task[]>
-;  V42 tmp25        [V42,T09] (  4, 32   )     int  ->  r10         "Inline stloc first use temp"
-;* V43 tmp26        [V43    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V44 tmp27        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;* V45 tmp28        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;* V46 tmp29        [V46    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
+;* V29 tmp12        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V30 tmp13        [V30,T19] (  3, 12   )     ref  ->  r13         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V31 tmp14        [V31,T26] (  2,  8   )     ref  ->  rax         class-hnd exact "NewArr temp" <System.Threading.Tasks.Task[]>
+;* V32 tmp15        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V33 tmp16        [V33,T32] (  3,  6   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task[]>
+;  V34 tmp17        [V34,T23] (  4,  8   )     int  ->  rsi         "Inline stloc first use temp"
+;  V35 tmp18        [V35,T20] (  3, 12   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V36 tmp19        [V36,T27] (  2,  8   )     ref  ->  rax         class-hnd exact "NewArr temp" <System.Threading.Tasks.Task[]>
+;* V37 tmp20        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V38 tmp21        [V38,T33] (  3,  6   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task[]>
+;  V39 tmp22        [V39,T24] (  4,  8   )     int  ->   r9         "Inline stloc first use temp"
+;* V40 tmp23        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;* V41 tmp24        [V41    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
+;  V42 tmp25        [V42,T05] (  3, 48   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V43 tmp26        [V43,T10] (  2, 32   )     ref  ->  rax         class-hnd exact "NewArr temp" <System.Threading.Tasks.Task[]>
+;* V44 tmp27        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V45 tmp28        [V45,T11] (  3, 24   )     ref  ->   r8         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task[]>
+;  V46 tmp29        [V46,T09] (  4, 32   )     int  ->   r9         "Inline stloc first use temp"
 ;* V47 tmp30        [V47    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V48 tmp31        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;* V49 tmp32        [V49,T47] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V50 tmp33        [V50,T39] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Threading.CancellationTokenSource>
-;  V51 tmp34        [V51,T17] (  4, 12   )     ref  ->  [rbp-0x78]  class-hnd spill-single-def "Inline stloc first use temp" <System.AggregateException>
-;* V52 tmp35        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.List`1[System.Exception]>
-;  V53 tmp36        [V53,T15] (  4, 16   )     ref  ->  r13         class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Exception]>
-;  V54 tmp37        [V54,T21] (  3, 12   )     int  ->  rsi         "Inlining Arg"
+;* V49 tmp32        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;* V50 tmp33        [V50    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
+;* V51 tmp34        [V51    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V52 tmp35        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;* V53 tmp36        [V53,T47] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V54 tmp37        [V54,T38] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.CancellationTokenSource>
 ;  V55 tmp38        [V55,T29] (  3,  5.50)   byref  ->  r14         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-;  V56 tmp39        [V56,T16] (  6, 10.50)     int  ->  rbx         single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;  V56 tmp39        [V56,T15] (  6, 10.50)     int  ->  rbx         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V57 tmp40        [V57    ] ( 10,  8   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed single-def "field V02._source (fldOffset=0x0)" P-DEP
-;  V58 tmp41        [V58,T02] (  8,109   )     ref  ->  r12         "field V12._list (fldOffset=0x0)" P-INDEP
-;  V59 tmp42        [V59,T03] (  8,104   )     ref  ->  [rbp-0x80]  "field V12._current (fldOffset=0x8)" P-INDEP
-;  V60 tmp43        [V60,T01] ( 12,181   )     int  ->  [rbp-0x44]  "field V12._index (fldOffset=0x10)" P-INDEP
-;  V61 tmp44        [V61,T06] (  4, 37   )     int  ->  [rbp-0x48]  "field V12._version (fldOffset=0x14)" P-INDEP
-;  V62 tmp45        [V62,T36] (  2,  4.50)   byref  ->  r14         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V63 tmp46        [V63,T24] (  4,  9   )     int  ->  rbx         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V64 tmp47        [V64,T41] (  3,  1.50)     ref  ->  r12         single-def "field V38._list (fldOffset=0x0)" P-INDEP
-;* V65 tmp48        [V65    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V38._current (fldOffset=0x8)" P-INDEP
-;* V66 tmp49        [V66,T48] (  0,  0   )     int  ->  zero-ref    "field V38._index (fldOffset=0x10)" P-INDEP
-;  V67 tmp50        [V67,T43] (  2,  1   )     int  ->  rax         "field V38._version (fldOffset=0x14)" P-INDEP
-;  V68 tmp51        [V68,T42] (  3,  1.50)     ref  ->  r12         single-def "field V46._list (fldOffset=0x0)" P-INDEP
-;* V69 tmp52        [V69    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V46._current (fldOffset=0x8)" P-INDEP
-;* V70 tmp53        [V70,T49] (  0,  0   )     int  ->  zero-ref    "field V46._index (fldOffset=0x10)" P-INDEP
-;  V71 tmp54        [V71,T44] (  2,  1   )     int  ->  rax         "field V46._version (fldOffset=0x14)" P-INDEP
+;  V58 tmp41        [V58,T02] (  8,109   )     ref  ->  r13         "field V12._list (fldOffset=0x0)" P-INDEP
+;  V59 tmp42        [V59,T03] (  8,104   )     ref  ->  [rbp-0x68]  "field V12._current (fldOffset=0x8)" P-INDEP
+;  V60 tmp43        [V60,T01] ( 12,181   )     int  ->  [rbp-0x4C]  "field V12._index (fldOffset=0x10)" P-INDEP
+;  V61 tmp44        [V61,T06] (  4, 37   )     int  ->  [rbp-0x50]  "field V12._version (fldOffset=0x14)" P-INDEP
+;  V62 tmp45        [V62,T35] (  2,  4.50)   byref  ->  r14         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V63 tmp46        [V63,T42] (  3,  1.25)     int  ->  rbx         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V64 tmp47        [V64,T40] (  3,  1.50)     ref  ->  r13         single-def "field V41._list (fldOffset=0x0)" P-INDEP
+;* V65 tmp48        [V65    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V41._current (fldOffset=0x8)" P-INDEP
+;* V66 tmp49        [V66,T48] (  0,  0   )     int  ->  zero-ref    "field V41._index (fldOffset=0x10)" P-INDEP
+;  V67 tmp50        [V67,T43] (  2,  1   )     int  ->  rax         "field V41._version (fldOffset=0x14)" P-INDEP
+;  V68 tmp51        [V68,T41] (  3,  1.50)     ref  ->  r13         single-def "field V50._list (fldOffset=0x0)" P-INDEP
+;* V69 tmp52        [V69    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V50._current (fldOffset=0x8)" P-INDEP
+;* V70 tmp53        [V70,T49] (  0,  0   )     int  ->  zero-ref    "field V50._index (fldOffset=0x10)" P-INDEP
+;  V71 tmp54        [V71,T44] (  2,  1   )     int  ->  rax         "field V50._version (fldOffset=0x14)" P-INDEP
 ;  V72 tmp55        [V72,T00] (  3,192   )     ref  ->  rcx         "arr expr"
-;  V73 tmp56        [V73,T11] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V74 rat0         [V74,T12] (  7, 22   )    long  ->  [rbp-0x50]  "Widened IV V09"
-;  V75 rat1         [V75,T13] (  6, 20.50)    long  ->  r15         "Widened IV V15"
+;  V73 tmp56        [V73,T12] (  3, 24   )     ref  ->  rdi         "arr expr"
+;  V74 rat0         [V74,T13] (  7, 22   )    long  ->  [rbp-0x58]  "Widened IV V09"
+;  V75 rat1         [V75,T16] (  4, 12.25)    long  ->  r15         "Strength reduced derived IV"
+;  V76 rat2         [V76,T17] (  4, 12.25)     int  ->  rbx         "Trip count IV"
 ;
-; Lcl frame size = 88
+; Lcl frame size = 72
 
 G_M22167_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 88
-       lea      rbp, [rsp+0x80]
+       sub      rsp, 72
+       lea      rbp, [rsp+0x70]
+       xor      eax, eax
+       mov      qword ptr [rbp-0x38], rax
        mov      gword ptr [rbp-0x30], rcx
        mov      r14, rdi
        mov      ebx, esi
        mov      r15d, edx
-						;; size=34 bbWeight=1 PerfScore 8.50
+						;; size=37 bbWeight=1 PerfScore 9.75
 G_M22167_IG02:
        cmp      r15d, -1
-       jl       G_M22167_IG53
+       jl       G_M22167_IG52
        cmp      gword ptr [rbp-0x30], 0
        je       SHORT G_M22167_IG04
 						;; size=17 bbWeight=1 PerfScore 4.25
 G_M22167_IG03:
        mov      rdi, gword ptr [rbp-0x30]
        cmp      dword ptr [rdi+0x20], 0
-       jne      G_M22167_IG52
+       jne      G_M22167_IG51
 						;; size=14 bbWeight=0.50 PerfScore 2.50
 G_M22167_IG04:
-       xor      r13, r13
-       xor      r12, r12
-       xor      rax, rax
-       mov      gword ptr [rbp-0x58], rax
-       xor      ecx, ecx
-       mov      dword ptr [rbp-0x34], ecx
-       xor      edx, edx
-       mov      dword ptr [rbp-0x38], edx
-       mov      dword ptr [rbp-0x3C], 1
-       lea      edi, [rbx-0x01]
-       mov      r8d, edi
-       test     r8d, r8d
-       jl       G_M22167_IG25
-						;; size=44 bbWeight=1 PerfScore 7.25
+       xor      rdi, rdi
+       mov      gword ptr [rbp-0x38], rdi
+						;; size=6 bbWeight=1 PerfScore 1.25
 G_M22167_IG05:
-       cmp      r8d, ebx
-       jae      G_M22167_IG54
-       mov      qword ptr [rbp-0x50], r8
-       mov      r9, gword ptr [r14+8*r8]
-       mov      gword ptr [rbp-0x60], r9
-       test     r9, r9
-       je       G_M22167_IG51
-       test     dword ptr [r9+0x34], 0xD1FFAB1E
-       setne    r10b
-       movzx    r10, r10b
-       test     r10d, r10d
-       jne      G_M22167_IG18
-						;; size=55 bbWeight=4 PerfScore 48.00
+       xor      r13, r13
+						;; size=3 bbWeight=1 PerfScore 0.25
 G_M22167_IG06:
-       cmp      r15d, -1
-       jne      G_M22167_IG14
-       cmp      gword ptr [rbp-0x30], 0
-       jne      G_M22167_IG14
-       mov      rdi, r9
-       mov      r10, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:WrappedTryRunInline():ubyte:this
-       call     [r10]System.Threading.Tasks.Task:WrappedTryRunInline():ubyte:this
-       test     eax, eax
-       jne      SHORT G_M22167_IG07
-       xor      r10d, r10d
-       mov      rax, gword ptr [rbp-0x60]
-       jmp      SHORT G_M22167_IG08
-						;; size=50 bbWeight=2 PerfScore 24.50
+       xor      r12, r12
+						;; size=3 bbWeight=1 PerfScore 0.25
 G_M22167_IG07:
+       mov      dword ptr [rbp-0x3C], edi
+						;; size=3 bbWeight=1 PerfScore 1.00
+G_M22167_IG08:
+       mov      dword ptr [rbp-0x40], edi
+       mov      dword ptr [rbp-0x44], 1
+       lea      edi, [rbx-0x01]
+       mov      esi, edi
+       test     esi, esi
+       jl       G_M22167_IG29
+						;; size=23 bbWeight=1 PerfScore 4.00
+G_M22167_IG09:
+       cmp      esi, ebx
+       jae      G_M22167_IG53
+       mov      qword ptr [rbp-0x58], rsi
+       mov      r8, gword ptr [r14+8*rsi]
+       mov      gword ptr [rbp-0x60], r8
+       test     r8, r8
+       je       G_M22167_IG50
+       test     dword ptr [r8+0x34], 0xD1FFAB1E
+       setne    r9b
+       movzx    r9, r9b
+       test     r9d, r9d
+       jne      G_M22167_IG22
+						;; size=54 bbWeight=4 PerfScore 48.00
+G_M22167_IG10:
+       cmp      r15d, -1
+       jne      G_M22167_IG18
+       cmp      gword ptr [rbp-0x30], 0
+       jne      G_M22167_IG18
+       mov      rdi, r8
+       mov      r9, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:WrappedTryRunInline():ubyte:this
+       call     [r9]System.Threading.Tasks.Task:WrappedTryRunInline():ubyte:this
+       test     eax, eax
+       jne      SHORT G_M22167_IG11
+       xor      r9d, r9d
+       mov      rax, gword ptr [rbp-0x60]
+       jmp      SHORT G_M22167_IG12
+						;; size=50 bbWeight=2 PerfScore 24.50
+G_M22167_IG11:
        mov      rax, gword ptr [rbp-0x60]
        test     dword ptr [rax+0x34], 0xD1FFAB1E
-       setne    r10b
-       movzx    r10, r10b
+       setne    r9b
+       movzx    r9, r9b
        mov      rax, gword ptr [rbp-0x60]
 						;; size=23 bbWeight=2 PerfScore 12.50
-G_M22167_IG08:
-       mov      ecx, r10d
-       mov      dword ptr [rbp-0x40], ecx
+G_M22167_IG12:
+       mov      ecx, r9d
+       mov      dword ptr [rbp-0x48], ecx
        test     ecx, ecx
-       je       SHORT G_M22167_IG10
+       je       SHORT G_M22167_IG14
 						;; size=10 bbWeight=2 PerfScore 5.00
-G_M22167_IG09:
-       mov      r9, rax
-       mov      r10d, dword ptr [rbp-0x40]
-       jmp      G_M22167_IG18
+G_M22167_IG13:
+       mov      r8, rax
+       mov      r9d, dword ptr [rbp-0x48]
+       jmp      G_M22167_IG22
 						;; size=12 bbWeight=1 PerfScore 3.25
-G_M22167_IG10:
-       test     r12, r12
-       jne      SHORT G_M22167_IG11
+G_M22167_IG14:
+       test     r13, r13
+       jne      SHORT G_M22167_IG15
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.Threading.Tasks.Task]
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
+       mov      r13, rax
        mov      esi, ebx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task[]
        call     CORINFO_HELP_NEWARR_1_OBJ
-       lea      rdi, bword ptr [r12+0x08]
+       lea      rdi, bword ptr [r13+0x08]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0x60]
-						;; size=57 bbWeight=2 PerfScore 14.00
-G_M22167_IG11:
-       inc      dword ptr [r12+0x14]
-       mov      rdi, gword ptr [r12+0x08]
-       mov      esi, dword ptr [r12+0x10]
+						;; size=56 bbWeight=2 PerfScore 14.00
+G_M22167_IG15:
+       inc      dword ptr [r13+0x14]
+       mov      rdi, gword ptr [r13+0x08]
+       mov      esi, dword ptr [r13+0x10]
        cmp      dword ptr [rdi+0x08], esi
-       ja       SHORT G_M22167_IG13
-						;; size=20 bbWeight=2 PerfScore 22.00
-G_M22167_IG12:
-       mov      r9, rax
-       jmp      G_M22167_IG16
+       ja       SHORT G_M22167_IG17
+						;; size=17 bbWeight=2 PerfScore 22.00
+G_M22167_IG16:
+       mov      r8, rax
+       jmp      G_M22167_IG20
 						;; size=8 bbWeight=1 PerfScore 2.25
-G_M22167_IG13:
+G_M22167_IG17:
        lea      edx, [rsi+0x01]
-       mov      dword ptr [r12+0x10], edx
+       mov      dword ptr [r13+0x10], edx
        movsxd   rsi, esi
        mov      rdx, rax
        mov      r8, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [r8]CORINFO_HELP_ARRADDR_ST
-       mov      r9, gword ptr [rbp-0x60]
-       mov      r10d, dword ptr [rbp-0x40]
-       jmp      G_M22167_IG18
-						;; size=40 bbWeight=2 PerfScore 18.50
-G_M22167_IG14:
+       mov      r8, gword ptr [rbp-0x60]
+       mov      r9d, dword ptr [rbp-0x48]
+       jmp      G_M22167_IG22
+						;; size=39 bbWeight=2 PerfScore 18.50
+G_M22167_IG18:
+       test     r13, r13
+       jne      SHORT G_M22167_IG19
+       mov      dword ptr [rbp-0x48], r9d
+       mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.Threading.Tasks.Task]
+       call     CORINFO_HELP_NEWSFAST
+       mov      r13, rax
+       mov      esi, ebx
+       mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task[]
+       call     CORINFO_HELP_NEWARR_1_OBJ
+       lea      rdi, bword ptr [r13+0x08]
+       mov      rsi, rax
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      r8, gword ptr [rbp-0x60]
+       mov      r9d, dword ptr [rbp-0x48]
+						;; size=64 bbWeight=2 PerfScore 18.00
+G_M22167_IG19:
+       inc      dword ptr [r13+0x14]
+       mov      rdi, gword ptr [r13+0x08]
+       mov      r10d, dword ptr [r13+0x10]
+       cmp      dword ptr [rdi+0x08], r10d
+       mov      dword ptr [rbp-0x48], r9d
+       ja       SHORT G_M22167_IG21
+						;; size=22 bbWeight=2 PerfScore 24.00
+G_M22167_IG20:
+       mov      rdi, r13
+       mov      rsi, r8
+       mov      r10, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
+       call     [r10]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
+       mov      r8, gword ptr [rbp-0x60]
+       mov      r9d, dword ptr [rbp-0x48]
+       jmp      SHORT G_M22167_IG22
+						;; size=29 bbWeight=2 PerfScore 15.50
+G_M22167_IG21:
+       lea      r11d, [r10+0x01]
+       mov      dword ptr [r13+0x10], r11d
+       movsxd   rsi, r10d
+       mov      rdx, r8
+       mov      r10, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [r10]CORINFO_HELP_ARRADDR_ST
+       mov      r8, gword ptr [rbp-0x60]
+       mov      r9d, dword ptr [rbp-0x48]
+						;; size=35 bbWeight=2 PerfScore 14.50
+G_M22167_IG22:
+       test     r9d, r9d
+       je       G_M22167_IG28
+						;; size=9 bbWeight=4 PerfScore 5.00
+G_M22167_IG23:
+       test     dword ptr [r8+0x34], 0xD1FFAB1E
+       jne      SHORT G_M22167_IG24
+       mov      edi, dword ptr [r8+0x34]
+       and      edi, 0xD1FFAB1E
+       cmp      edi, 0xD1FFAB1E
+       jne      SHORT G_M22167_IG25
+       mov      dword ptr [rbp-0x40], 1
+       jmp      SHORT G_M22167_IG25
+						;; size=37 bbWeight=2 PerfScore 21.00
+G_M22167_IG24:
+       mov      dword ptr [rbp-0x3C], 1
+						;; size=7 bbWeight=2 PerfScore 2.00
+G_M22167_IG25:
+       test     dword ptr [r8+0x34], 0xD1FFAB1E
+       je       G_M22167_IG28
+       mov      r8, gword ptr [rbp-0x60]
        test     r12, r12
-       jne      SHORT G_M22167_IG15
-       mov      dword ptr [rbp-0x40], r10d
+       jne      SHORT G_M22167_IG26
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.Threading.Tasks.Task]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
-       mov      esi, ebx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task[]
+       mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       mov      r9, gword ptr [rbp-0x60]
-       mov      r10d, dword ptr [rbp-0x40]
-						;; size=65 bbWeight=2 PerfScore 18.00
-G_M22167_IG15:
+       mov      r8, gword ptr [rbp-0x60]
+						;; size=78 bbWeight=2 PerfScore 24.00
+G_M22167_IG26:
        inc      dword ptr [r12+0x14]
        mov      rdi, gword ptr [r12+0x08]
-       mov      r11d, dword ptr [r12+0x10]
-       cmp      dword ptr [rdi+0x08], r11d
-       mov      dword ptr [rbp-0x40], r10d
-       ja       SHORT G_M22167_IG17
-						;; size=25 bbWeight=2 PerfScore 24.00
-G_M22167_IG16:
+       mov      r9d, dword ptr [r12+0x10]
+       cmp      dword ptr [rdi+0x08], r9d
+       ja       SHORT G_M22167_IG27
        mov      rdi, r12
-       mov      rsi, r9
-       mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
-       call     [r11]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
-       mov      r9, gword ptr [rbp-0x60]
-       mov      r10d, dword ptr [rbp-0x40]
-       jmp      SHORT G_M22167_IG18
-						;; size=29 bbWeight=2 PerfScore 15.50
-G_M22167_IG17:
-       lea      esi, [r11+0x01]
-       mov      dword ptr [r12+0x10], esi
-       movsxd   rsi, r11d
-       mov      rdx, r9
-       mov      r11, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
-       call     [r11]CORINFO_HELP_ARRADDR_ST
-       mov      r9, gword ptr [rbp-0x60]
-       mov      r10d, dword ptr [rbp-0x40]
-						;; size=36 bbWeight=2 PerfScore 14.50
-G_M22167_IG18:
-       test     r10d, r10d
-       je       G_M22167_IG24
-						;; size=9 bbWeight=4 PerfScore 5.00
-G_M22167_IG19:
-       test     dword ptr [r9+0x34], 0xD1FFAB1E
-       jne      SHORT G_M22167_IG20
-       mov      edi, dword ptr [r9+0x34]
-       and      edi, 0xD1FFAB1E
-       cmp      edi, 0xD1FFAB1E
-       jne      SHORT G_M22167_IG21
-       mov      dword ptr [rbp-0x38], 1
-       jmp      SHORT G_M22167_IG21
-						;; size=37 bbWeight=2 PerfScore 21.00
-G_M22167_IG20:
-       mov      dword ptr [rbp-0x34], 1
-						;; size=7 bbWeight=2 PerfScore 2.00
-G_M22167_IG21:
-       test     dword ptr [r9+0x34], 0xD1FFAB1E
-       je       G_M22167_IG24
-       mov      r9, gword ptr [rbp-0x60]
-       mov      rax, gword ptr [rbp-0x58]
-       test     rax, rax
-       jne      SHORT G_M22167_IG22
-       mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.Threading.Tasks.Task]
-       call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x68], rax
-       mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task[]
-       mov      esi, 1
-       call     CORINFO_HELP_NEWARR_1_OBJ
-       mov      rcx, gword ptr [rbp-0x68]
-       lea      rdi, bword ptr [rcx+0x08]
-       mov      rsi, rax
-       call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x68]
-       mov      r9, gword ptr [rbp-0x60]
-						;; size=90 bbWeight=2 PerfScore 31.50
-G_M22167_IG22:
-       inc      dword ptr [rax+0x14]
-       mov      rdi, gword ptr [rax+0x08]
-       mov      r10d, dword ptr [rax+0x10]
-       cmp      dword ptr [rdi+0x08], r10d
-       ja       SHORT G_M22167_IG23
-       mov      gword ptr [rbp-0x58], rax
-       mov      rdi, rax
-       mov      rsi, r9
-       mov      r9, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
-       call     [r9]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
-       jmp      SHORT G_M22167_IG24
-						;; size=42 bbWeight=2 PerfScore 35.50
-G_M22167_IG23:
-       lea      r11d, [r10+0x01]
-       mov      gword ptr [rbp-0x58], rax
-       mov      dword ptr [rax+0x10], r11d
-       movsxd   rsi, r10d
-       mov      rdx, r9
-       mov      r9, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
-       call     [r9]CORINFO_HELP_ARRADDR_ST
-						;; size=31 bbWeight=2 PerfScore 12.50
-G_M22167_IG24:
-       mov      r8, qword ptr [rbp-0x50]
-       dec      r8d
-       mov      rdi, r8
+       mov      rsi, r8
+       mov      r8, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
+       call     [r8]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
+       jmp      SHORT G_M22167_IG28
+						;; size=42 bbWeight=2 PerfScore 33.50
+G_M22167_IG27:
+       lea      r10d, [r9+0x01]
+       mov      dword ptr [r12+0x10], r10d
+       movsxd   rsi, r9d
+       mov      rdx, r8
+       mov      r8, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [r8]CORINFO_HELP_ARRADDR_ST
+						;; size=28 bbWeight=2 PerfScore 10.50
+G_M22167_IG28:
+       mov      rsi, qword ptr [rbp-0x58]
+       dec      esi
+       mov      rdi, rsi
        test     edi, edi
-       mov      r8, rdi
-       jge      G_M22167_IG05
-						;; size=21 bbWeight=4 PerfScore 12.00
-G_M22167_IG25:
-       test     r12, r12
+       mov      rsi, rdi
+       jge      G_M22167_IG09
+						;; size=20 bbWeight=4 PerfScore 12.00
+G_M22167_IG29:
+       test     r13, r13
        jne      G_M22167_IG40
 						;; size=9 bbWeight=1 PerfScore 1.25
-G_M22167_IG26:
-       mov      r15d, dword ptr [rbp-0x3C]
+G_M22167_IG30:
+       mov      r15d, dword ptr [rbp-0x44]
 						;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M22167_IG27:
+G_M22167_IG31:
        test     r15d, r15d
        je       G_M22167_IG46
 						;; size=9 bbWeight=1 PerfScore 1.25
-G_M22167_IG28:
-       mov      r12, gword ptr [rbp-0x58]
-       test     r12, r12
-       je       SHORT G_M22167_IG30
-       mov      eax, dword ptr [r12+0x14]
-       xor      edi, edi
-       xor      ecx, ecx
-						;; size=18 bbWeight=0.50 PerfScore 2.38
-G_M22167_IG29:
-       mov      dword ptr [rbp-0x48], eax
-       cmp      eax, dword ptr [r12+0x14]
-       jne      G_M22167_IG48
-       cmp      ecx, dword ptr [r12+0x10]
-       jae      SHORT G_M22167_IG30
-       mov      rdi, gword ptr [r12+0x08]
-       cmp      ecx, dword ptr [rdi+0x08]
-       jae      G_M22167_IG54
-       mov      edx, ecx
-       mov      rdi, gword ptr [rdi+8*rdx+0x10]
-       inc      ecx
-       mov      dword ptr [rbp-0x44], ecx
-       mov      rdx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
-       cmp      dword ptr [rdi], edi
-       call     [rdx]System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
-       test     eax, eax
-       mov      eax, dword ptr [rbp-0x48]
-       mov      ecx, dword ptr [rbp-0x44]
-       je       SHORT G_M22167_IG29
-						;; size=71 bbWeight=4 PerfScore 112.00
-G_M22167_IG30:
-       mov      r12d, dword ptr [rbp-0x34]
-       mov      eax, dword ptr [rbp-0x38]
-       or       eax, r12d
-       mov      dword ptr [rbp-0x34], r12d
-       je       G_M22167_IG46
-       cmp      dword ptr [rbp-0x34], 0
-       jne      SHORT G_M22167_IG31
-       cmp      gword ptr [rbp-0x30], 0
-       je       SHORT G_M22167_IG31
-       mov      rdi, gword ptr [rbp-0x30]
-       cmp      dword ptr [rdi+0x20], 0
-       jne      G_M22167_IG52
-						;; size=47 bbWeight=0.50 PerfScore 7.62
-G_M22167_IG31:
-       xor      r15d, r15d
-       test     ebx, ebx
-       jle      G_M22167_IG50
-       jmp      SHORT G_M22167_IG36
-						;; size=13 bbWeight=0.50 PerfScore 1.75
 G_M22167_IG32:
-       mov      rdi, 0xD1FFAB1E      ; global ptr
-       test     byte  ptr [rdi], 1
-       je       G_M22167_IG49
-						;; size=19 bbWeight=2 PerfScore 8.50
+       test     r12, r12
+       je       SHORT G_M22167_IG34
+       mov      r13, r12
+       mov      eax, dword ptr [r13+0x14]
+       xor      edi, edi
+       xor      r12d, r12d
+						;; size=17 bbWeight=0.50 PerfScore 2.00
 G_M22167_IG33:
-       mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.List`1[System.Exception]:s_emptyArray
-       mov      rsi, gword ptr [rdi]
-       lea      rdi, bword ptr [r13+0x08]
-       call     CORINFO_HELP_ASSIGN_REF
-						;; size=22 bbWeight=2 PerfScore 7.50
+       mov      dword ptr [rbp-0x50], eax
+       cmp      eax, dword ptr [r13+0x14]
+       jne      G_M22167_IG48
+       cmp      r12d, dword ptr [r13+0x10]
+       jae      SHORT G_M22167_IG34
+       mov      rdi, gword ptr [r13+0x08]
+       cmp      r12d, dword ptr [rdi+0x08]
+       jae      G_M22167_IG53
+       mov      ecx, r12d
+       mov      rcx, gword ptr [rdi+8*rcx+0x10]
+       mov      rdi, rcx
+       inc      r12d
+       mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
+       cmp      dword ptr [rdi], edi
+       call     [rcx]System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
+       test     eax, eax
+       mov      eax, dword ptr [rbp-0x50]
+       je       SHORT G_M22167_IG33
+						;; size=68 bbWeight=4 PerfScore 105.00
 G_M22167_IG34:
-       mov      r12, gword ptr [rbp-0x78]
-       mov      rsi, gword ptr [r12+0x70]
-       mov      rdi, r13
-       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.__Canon]):this
-       cmp      dword ptr [rdi], edi
-       call     [rax]System.Collections.Generic.List`1[System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.__Canon]):this
-						;; size=26 bbWeight=2 PerfScore 19.00
-G_M22167_IG35:
-       inc      r15d
-       cmp      r15d, ebx
-       jge      G_M22167_IG50
-						;; size=12 bbWeight=4 PerfScore 6.00
-G_M22167_IG36:
-       cmp      r15d, ebx
-       jae      G_M22167_IG54
-       mov      r12, gword ptr [r14+8*r15]
-       mov      rdi, r12
-       mov      esi, 1
-       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:GetExceptions(ubyte):System.AggregateException:this
-       cmp      dword ptr [rdi], edi
-       call     [rax]System.Threading.Tasks.Task:GetExceptions(ubyte):System.AggregateException:this
-       mov      gword ptr [rbp-0x78], rax
-       test     rax, rax
+       mov      r13d, dword ptr [rbp-0x3C]
+       mov      r12d, dword ptr [rbp-0x40]
+       or       r12d, r13d
+       mov      dword ptr [rbp-0x3C], r13d
+       je       G_M22167_IG46
+       cmp      dword ptr [rbp-0x3C], 0
+       jne      SHORT G_M22167_IG35
+       cmp      gword ptr [rbp-0x30], 0
        je       SHORT G_M22167_IG35
-						;; size=44 bbWeight=4 PerfScore 49.00
+       mov      rsi, gword ptr [rbp-0x30]
+       cmp      dword ptr [rsi+0x20], 0
+       jne      G_M22167_IG51
+						;; size=48 bbWeight=0.50 PerfScore 7.62
+G_M22167_IG35:
+       test     ebx, ebx
+       jle      G_M22167_IG49
+						;; size=8 bbWeight=0.50 PerfScore 0.62
+G_M22167_IG36:
+       xor      r15d, r15d
+						;; size=3 bbWeight=0.25 PerfScore 0.06
 G_M22167_IG37:
-       mov      rdi, r12
-       mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:UpdateExceptionObservedStatus():this
-       call     [rcx]System.Threading.Tasks.Task:UpdateExceptionObservedStatus():this
-       test     r13, r13
-       jne      SHORT G_M22167_IG34
-       mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.Exception]
-       call     CORINFO_HELP_NEWSFAST
-       mov      r13, rax
-       mov      r12, gword ptr [rbp-0x78]
-       mov      rsi, gword ptr [r12+0x70]
-       mov      esi, dword ptr [rsi+0x08]
-       test     esi, esi
-       je       G_M22167_IG32
-       movsxd   rsi, esi
-       mov      rdi, 0xD1FFAB1E      ; System.Exception[]
-       call     CORINFO_HELP_NEWARR_1_OBJ
-       lea      rdi, bword ptr [r13+0x08]
-       mov      rsi, rax
-       call     CORINFO_HELP_ASSIGN_REF
-       jmp      G_M22167_IG34
-						;; size=93 bbWeight=2 PerfScore 35.50
+       mov      rsi, gword ptr [r14+r15]
+       lea      rdi, [rbp-0x38]
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:AddExceptionsForCompletedTask(byref,System.Threading.Tasks.Task)
+       call     [rax]System.Threading.Tasks.Task:AddExceptionsForCompletedTask(byref,System.Threading.Tasks.Task)
+       add      r15, 8
+       dec      ebx
+       jne      SHORT G_M22167_IG37
+       jmp      G_M22167_IG49
+						;; size=33 bbWeight=4 PerfScore 37.00
 G_M22167_IG38:
-       mov      dword ptr [rbp-0x34], 1
+       mov      dword ptr [rbp-0x3C], 1
        jmp      G_M22167_IG44
 						;; size=12 bbWeight=2 PerfScore 6.00
 G_M22167_IG39:
-       mov      rcx, gword ptr [rbp-0x80]
+       mov      rcx, gword ptr [rbp-0x68]
        jmp      G_M22167_IG45
 						;; size=9 bbWeight=4 PerfScore 12.00
 G_M22167_IG40:
-       mov      rdi, r12
+       mov      rdi, r13
        mov      esi, r15d
        mov      rdx, gword ptr [rbp-0x30]
        mov      r8, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte
        call     [r8]System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte
        mov      r15d, eax
        test     r15d, r15d
-       je       G_M22167_IG27
-       mov      eax, dword ptr [r12+0x14]
+       je       G_M22167_IG31
+       mov      eax, dword ptr [r13+0x14]
        xor      edi, edi
        jmp      SHORT G_M22167_IG42
-						;; size=44 bbWeight=0.50 PerfScore 5.25
+						;; size=43 bbWeight=0.50 PerfScore 5.25
 G_M22167_IG41:
-       mov      dword ptr [rbp-0x44], edi
-       mov      dword ptr [rbp-0x48], eax
-       lea      r11d, [r10+0x01]
-       mov      gword ptr [rbp-0x58], r8
-       mov      dword ptr [r8+0x10], r11d
-       movsxd   rsi, r10d
-       mov      rdi, r9
+       mov      dword ptr [rbp-0x4C], edi
+       mov      dword ptr [rbp-0x50], eax
+       lea      r10d, [r9+0x01]
+       mov      dword ptr [r12+0x10], r10d
+       movsxd   rsi, r9d
+       mov      rdi, r8
        mov      rdx, rcx
        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rcx]CORINFO_HELP_ARRADDR_ST
-       mov      eax, dword ptr [rbp-0x48]
-       mov      edi, dword ptr [rbp-0x44]
-						;; size=45 bbWeight=8 PerfScore 84.00
+       mov      eax, dword ptr [rbp-0x50]
+       mov      edi, dword ptr [rbp-0x4C]
+						;; size=42 bbWeight=8 PerfScore 76.00
 G_M22167_IG42:
-       mov      dword ptr [rbp-0x48], eax
-       cmp      eax, dword ptr [r12+0x14]
+       mov      dword ptr [rbp-0x50], eax
+       cmp      eax, dword ptr [r13+0x14]
        jne      G_M22167_IG48
-       cmp      edi, dword ptr [r12+0x10]
-       jae      G_M22167_IG27
-       mov      rcx, gword ptr [r12+0x08]
+       cmp      edi, dword ptr [r13+0x10]
+       jae      G_M22167_IG31
+       mov      rcx, gword ptr [r13+0x08]
        cmp      edi, dword ptr [rcx+0x08]
-       jae      G_M22167_IG54
+       jae      G_M22167_IG53
        mov      edx, edi
        mov      rcx, gword ptr [rcx+8*rdx+0x10]
        inc      edi
-       mov      dword ptr [rbp-0x44], edi
+       mov      dword ptr [rbp-0x4C], edi
        test     dword ptr [rcx+0x34], 0xD1FFAB1E
        jne      G_M22167_IG38
-						;; size=64 bbWeight=32 PerfScore 720.00
+						;; size=61 bbWeight=32 PerfScore 720.00
 G_M22167_IG43:
        mov      edx, dword ptr [rcx+0x34]
        and      edx, 0xD1FFAB1E
        cmp      edx, 0xD1FFAB1E
        jne      SHORT G_M22167_IG44
-       mov      dword ptr [rbp-0x38], 1
+       mov      dword ptr [rbp-0x40], 1
 						;; size=24 bbWeight=8 PerfScore 36.00
 G_M22167_IG44:
        test     dword ptr [rcx+0x34], 0xD1FFAB1E
-       mov      gword ptr [rbp-0x80], rcx
-       mov      eax, dword ptr [rbp-0x48]
-       mov      edi, dword ptr [rbp-0x44]
+       mov      gword ptr [rbp-0x68], rcx
+       mov      eax, dword ptr [rbp-0x50]
+       mov      edi, dword ptr [rbp-0x4C]
        je       SHORT G_M22167_IG42
-       mov      r8, gword ptr [rbp-0x58]
-       test     r8, r8
+       test     r12, r12
        jne      G_M22167_IG39
-       mov      dword ptr [rbp-0x44], edi
-       mov      dword ptr [rbp-0x48], eax
+       mov      dword ptr [rbp-0x4C], edi
+       mov      dword ptr [rbp-0x50], eax
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.Threading.Tasks.Task]
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x70], rax
+       mov      r12, rax
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
-       mov      r8, gword ptr [rbp-0x70]
-       lea      rdi, bword ptr [r8+0x08]
+       lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       mov      r8, gword ptr [rbp-0x70]
-       mov      rax, r8
-       mov      r8, rax
-       mov      eax, dword ptr [rbp-0x48]
-       mov      rcx, gword ptr [rbp-0x80]
-       mov      edi, dword ptr [rbp-0x44]
-						;; size=113 bbWeight=8 PerfScore 178.00
+       mov      eax, dword ptr [rbp-0x50]
+       mov      rcx, gword ptr [rbp-0x68]
+       mov      edi, dword ptr [rbp-0x4C]
+						;; size=95 bbWeight=8 PerfScore 144.00
 G_M22167_IG45:
-       inc      dword ptr [r8+0x14]
-       mov      r9, gword ptr [r8+0x08]
-       mov      r10d, dword ptr [r8+0x10]
-       cmp      dword ptr [r9+0x08], r10d
+       inc      dword ptr [r12+0x14]
+       mov      r8, gword ptr [r12+0x08]
+       mov      r9d, dword ptr [r12+0x10]
+       cmp      dword ptr [r8+0x08], r9d
        ja       G_M22167_IG41
-       mov      dword ptr [rbp-0x44], edi
-       mov      dword ptr [rbp-0x48], eax
-       mov      gword ptr [rbp-0x58], r8
-       mov      rdi, r8
+       mov      dword ptr [rbp-0x4C], edi
+       mov      dword ptr [rbp-0x50], eax
+       mov      rdi, r12
        mov      rsi, rcx
        mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rcx]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
-       mov      eax, dword ptr [rbp-0x48]
-       mov      edi, dword ptr [rbp-0x44]
+       mov      eax, dword ptr [rbp-0x50]
+       mov      edi, dword ptr [rbp-0x4C]
        jmp      G_M22167_IG42
-						;; size=61 bbWeight=8 PerfScore 174.00
+						;; size=60 bbWeight=8 PerfScore 166.00
 G_M22167_IG46:
        mov      eax, r15d
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M22167_IG47:
-       add      rsp, 88
+       add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M22167_IG48:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
        call     [rax]System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M22167_IG49:
-       mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.Exception]
-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE
-       call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE
-       jmp      G_M22167_IG33
-						;; size=27 bbWeight=0 PerfScore 0.00
-G_M22167_IG50:
-       mov      rdi, r13
+       mov      rdi, gword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowAggregateException(System.Collections.Generic.List`1[System.Exception])
        call     [rax]System.ThrowHelper:ThrowAggregateException(System.Collections.Generic.List`1[System.Exception])
        int3     
-						;; size=16 bbWeight=0 PerfScore 0.00
-G_M22167_IG51:
+						;; size=17 bbWeight=0 PerfScore 0.00
+G_M22167_IG50:
        mov      edi, 47
        mov      esi, 51
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException(int,int)
        call     [rax]System.ThrowHelper:ThrowArgumentException(int,int)
        int3     
 						;; size=23 bbWeight=0 PerfScore 0.00
-G_M22167_IG52:
+G_M22167_IG51:
        lea      rdi, [rbp-0x30]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationToken:ThrowOperationCanceledException():this
        call     [rax]System.Threading.CancellationToken:ThrowOperationCanceledException():this
        int3     
 						;; size=17 bbWeight=0 PerfScore 0.00
-G_M22167_IG53:
+G_M22167_IG52:
        mov      edi, 60
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
-G_M22167_IG54:
+G_M22167_IG53:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1673, prolog size 34, PerfScore 1836.00, instruction count 399, allocated bytes for code 1673 (MethodHash=2986a968) for method System.Threading.Tasks.Task:WaitAllCore(System.ReadOnlySpan`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
+; Total bytes of code 1403, prolog size 37, PerfScore 1678.31, instruction count 342, allocated bytes for code 1403 (MethodHash=2986a968) for method System.Threading.Tasks.Task:WaitAllCore(System.ReadOnlySpan`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (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/66f9cd1d815eefc3fa1d144047a329ea

@MihuBot
Copy link
Owner Author

MihuBot commented Dec 7, 2024

@hez2010

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

No branches or pull requests

1 participant