MihuBot / runtime-utils

0 stars 0 forks source link

[X64] MihaZupan/runtime/list-enum #360

Open MihuBot opened 2 months ago

MihuBot commented 2 months ago

Build completed in 20 minutes.

Diffs

Diffs ``` Found 323 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38877003 Total bytes of diff: 38875585 Total bytes of delta: -1418 (-0.00 % of base) Total relative delta: -5.66 diff is an improvement. relative diff is an improvement. Top file regressions (bytes): 1103 : System.Threading.Tasks.Dataflow.dasm (0.08 % of base) 606 : System.Reflection.Metadata.dasm (0.11 % of base) 285 : System.Data.Common.dasm (0.02 % of base) 251 : Microsoft.CSharp.dasm (0.07 % of base) 145 : System.ComponentModel.Composition.dasm (0.03 % of base) 134 : Microsoft.Extensions.DependencyInjection.dasm (0.17 % of base) 110 : System.Text.RegularExpressions.dasm (0.01 % of base) 83 : System.Configuration.ConfigurationManager.dasm (0.02 % of base) 64 : System.Resources.Writer.dasm (0.66 % of base) 53 : System.Memory.dasm (0.02 % of base) 44 : System.Resources.Extensions.dasm (0.13 % of base) 39 : Microsoft.Extensions.DependencyModel.dasm (0.05 % of base) 37 : System.Linq.Expressions.dasm (0.00 % of base) 34 : Microsoft.Extensions.Caching.Memory.dasm (0.16 % of base) 34 : System.Collections.dasm (0.01 % of base) 33 : Microsoft.VisualBasic.Core.dasm (0.01 % of base) 31 : System.Formats.Asn1.dasm (0.04 % of base) 28 : runincontext.dasm (0.18 % of base) 26 : Microsoft.Extensions.Options.dasm (0.08 % of base) 25 : System.Composition.Convention.dasm (0.02 % of base) 17 : Microsoft.Extensions.Options.DataAnnotations.dasm (0.37 % of base) 13 : Microsoft.Extensions.Hosting.dasm (0.02 % of base) 5 : System.Data.Odbc.dasm (0.00 % of base) 2 : System.Security.Claims.dasm (0.01 % of base) Top file improvements (bytes): -1161 : System.Text.Json.dasm (-0.09 % of base) -913 : System.Threading.RateLimiting.dasm (-0.53 % of base) -729 : System.Linq.dasm (-0.06 % of base) -425 : System.Reflection.Emit.dasm (-0.35 % of base) -276 : System.ObjectModel.dasm (-0.37 % of base) -224 : System.Private.CoreLib.dasm (-0.00 % of base) -164 : System.Private.Xml.dasm (-0.00 % of base) -107 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.37 % of base) -91 : System.Diagnostics.DiagnosticSource.dasm (-0.04 % of base) -73 : System.Net.Http.dasm (-0.01 % of base) -54 : System.Security.Cryptography.Pkcs.dasm (-0.01 % of base) -49 : System.IO.FileSystem.Watcher.dasm (-0.17 % of base) -37 : System.Net.WebSockets.Client.dasm (-0.16 % of base) -36 : System.Private.DataContractSerialization.dasm (-0.00 % of base) -26 : Microsoft.Extensions.Configuration.dasm (-0.12 % of base) -25 : System.IO.Compression.dasm (-0.03 % of base) -24 : ILCompiler.Reflection.ReadyToRun.dasm (-0.01 % of base) -20 : System.Diagnostics.Process.dasm (-0.02 % of base) -17 : System.ComponentModel.Composition.Registration.dasm (-0.02 % of base) -16 : System.ComponentModel.Annotations.dasm (-0.03 % of base) -13 : System.Net.HttpListener.dasm (-0.01 % of base) -13 : System.Security.Cryptography.dasm (-0.00 % of base) -12 : System.IO.Packaging.dasm (-0.01 % of base) -12 : Microsoft.Extensions.Diagnostics.dasm (-0.06 % of base) -12 : System.Net.NetworkInformation.dasm (-0.02 % of base) -12 : Microsoft.Extensions.Configuration.Binder.dasm (-0.05 % of base) -10 : System.Net.Primitives.dasm (-0.01 % of base) -10 : System.Runtime.Caching.dasm (-0.02 % of base) -8 : System.Composition.Hosting.dasm (-0.01 % of base) -8 : Microsoft.Extensions.Logging.dasm (-0.02 % of base) -8 : System.ComponentModel.TypeConverter.dasm (-0.00 % of base) -8 : System.Private.Xml.Linq.dasm (-0.00 % of base) -6 : System.Net.Security.dasm (-0.00 % of base) -4 : Microsoft.Extensions.Http.dasm (-0.01 % of base) -4 : System.Security.Cryptography.Cose.dasm (-0.01 % of base) -4 : System.Runtime.Serialization.Formatters.dasm (-0.00 % of base) -3 : System.Net.Quic.dasm (-0.00 % of base) -2 : System.Reflection.MetadataLoadContext.dasm (-0.00 % of base) -2 : System.Composition.TypedParts.dasm (-0.00 % of base) -2 : System.Formats.Cbor.dasm (-0.00 % of base) 64 total files with Code Size differences (40 improved, 24 regressed), 192 unchanged. Top method regressions (bytes): 306 (8.57 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g__FindPrefixesCore|0_1(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.StringBuilder],ubyte):ubyte (FullOpts) 157 (5.66 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.DirectoryCatalog:Refresh():this (FullOpts) 138 (4.24 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:AdjustCallArgumentsForParams(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,byref):this (FullOpts) 138 (12.84 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain:AppendResolutionPath(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier):this (FullOpts) 138 (10.57 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeAssemblyRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 118 (7.77 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslAstAnalyzer:Analyze(System.Xml.Xsl.Xslt.Compiler):int:this (FullOpts) 106 (5.50 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:AppendMetadata(System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder,System.Reflection.Metadata.BlobBuilder,byref):this (FullOpts) 105 (8.65 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:GetLiveSlotsAtSafepoints(ubyte[],byref):System.Collections.Generic.List`1[System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcSlot]]:this (FullOpts) 101 (16.92 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[double]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 98 (3.87 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodTypeInferrer:Fix(int):ubyte:this (FullOpts) 90 (4.17 % of base) : System.Data.Common.dasm - System.Data.DataColumnCollection:CanRemove(System.Data.DataColumn,ubyte):ubyte:this (FullOpts) 90 (15.62 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[int]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 90 (15.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[long]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 90 (15.54 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[short]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 90 (15.60 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[ubyte]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 75 (6.64 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 72 (9.80 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[double]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 72 (9.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[int]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 72 (9.78 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[long]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 72 (9.77 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[short]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 72 (9.80 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ubyte]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 69 (9.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[double]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 69 (8.39 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Numerics.Vector`1[float]]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 66 (7.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Nullable`1[int]]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 64 (1.88 % of base) : System.Resources.Writer.dasm - System.Resources.ResourceWriter:Generate():this (FullOpts) 64 (8.23 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Nullable`1[int]]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 63 (1.68 % of base) : System.Data.Common.dasm - System.Data.XSDSchema:HandleDataSet(System.Xml.Schema.XmlSchemaElement,ubyte):this (FullOpts) 62 (8.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[int]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 62 (8.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[long]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 62 (8.31 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[short]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 62 (8.32 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[ubyte]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 60 (2.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts) 59 (6.11 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalScopeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 59 (5.18 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:MergeDuplicateNamespaces(System.Collections.Generic.Dictionary`2[System.Reflection.Metadata.NamespaceDefinitionHandle,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder],byref) (FullOpts) 57 (27.14 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1[System.__Canon]:GetCount():int:this (FullOpts) 57 (3.52 % of base) : System.Memory.dasm - System.Text.EncodingExtensions:GetBytes(System.Text.Encoding,byref):ubyte[] (FullOpts) 55 (5.71 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Numerics.Vector`1[float]]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 54 (4.94 % of base) : System.Data.Common.dasm - System.Data.DataTable:EvaluateExpressions(System.Data.DataRow,int,System.Collections.Generic.List`1[System.Data.DataRow]):this (FullOpts) 54 (5.54 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (FullOpts) 52 (2.95 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract:BindGenericParameters(System.Runtime.Serialization.DataContracts.DataContract[],System.Collections.Generic.Dictionary`2[System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.DataContracts.DataContract]):System.Runtime.Serialization.DataContracts.DataContract:this (FullOpts) 49 (0.85 % 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) 48 (4.17 % of base) : System.Net.Http.dasm - System.Net.Http.Http3Connection:OnServerGoAway(long):this (FullOpts) 47 (2.85 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:Abort(System.Exception):this (FullOpts) 45 (1.58 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:InitConfigFromFile():this (FullOpts) 44 (1.33 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts) 42 (2.00 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:TryEmitSwitchInstruction(System.Linq.Expressions.SwitchExpression,int):ubyte:this (FullOpts) 41 (1.50 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:InvokeApplyFunction(System.Xml.Xsl.Xslt.StylesheetLevel,System.Xml.Xsl.Qil.QilName,System.Collections.Generic.IList`1[System.Xml.Xsl.Xslt.XslNode]):System.Xml.Xsl.Qil.QilNode:this (FullOpts) 39 (2.03 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:TryResolveAssemblyPaths(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List`1[System.String]):ubyte:this (FullOpts) 39 (2.56 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:RemoveConfigurationSection(System.String,System.String):this (FullOpts) 38 (1.74 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Compact(long,System.Func`2[Microsoft.Extensions.Caching.Memory.CacheEntry,long],Microsoft.Extensions.Caching.Memory.MemoryCache+CoherentState):this (FullOpts) 37 (3.51 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts) 32 (0.87 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:ToString():System.String:this (FullOpts) 32 (1.65 % of base) : runincontext.dasm - TestRunner:ExecuteAndUnload(System.Collections.Generic.List`1[System.WeakReference],byref,byref):int:this (FullOpts) 31 (2.56 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.HostApplicationBuilder+HostBuilderAdapter:ApplyChanges():this (FullOpts) 31 (3.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:BuildAttributes(System.Type,byref):this (FullOpts) 31 (3.15 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.AsnWriter:SortContents(ubyte[],int,int) (FullOpts) 30 (3.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeExportedTypeTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 28 (2.08 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:GetImportScopeHandle(System.Collections.Generic.List`1[System.String],System.Reflection.Metadata.ImportScopeHandle):System.Reflection.Metadata.ImportScopeHandle:this (FullOpts) 27 (5.82 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts) 26 (17.45 % of base) : Microsoft.Extensions.Options.dasm - Microsoft.Extensions.Options.OptionsMonitor`1[System.__Canon]:Dispose():this (FullOpts) 26 (5.43 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[System.Numerics.Vector`1[float]]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):this (FullOpts) 26 (3.47 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborReader:TryReadIndefiniteLengthTextStringConcatenated(System.Span`1[ushort],byref):ubyte:this (FullOpts) 25 (1.19 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts) 25 (13.02 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[double]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 25 (13.16 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[int]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 25 (13.09 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[long]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 25 (13.02 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[short]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 25 (13.02 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[ubyte]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 23 (3.48 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeGenericParamTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 23 (1.19 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportCollectionDataContract(System.Runtime.Serialization.DataContracts.CollectionDataContract,System.Xml.Schema.XmlSchema):this (FullOpts) 22 (10.68 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.Numerics.Vector`1[float]]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 22 (3.84 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 22 (3.85 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFileTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 22 (3.82 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializePropertyTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 21 (19.27 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts) 21 (11.67 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.Nullable`1[int]]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 20 (2.68 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeImplMapTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 19 (4.41 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[System.__Canon]:CompleteOncePossible():this (FullOpts) 18 (1.37 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:AddNamesInInheritanceHierarchy(System.String,System.Collections.Generic.List`1[System.Type]) (FullOpts) 18 (2.25 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDocumentTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 17 (0.46 % of base) : Microsoft.Extensions.Options.DataAnnotations.dasm - Microsoft.Extensions.Options.DataAnnotationValidateOptions`1[System.__Canon]:TryValidateOptions(System.Object,System.String,System.Collections.Generic.List`1[System.ComponentModel.DataAnnotations.ValidationResult],byref,byref):ubyte (FullOpts) 17 (4.02 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[long]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[long]):this (FullOpts) 17 (2.58 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeManifestResourceTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 17 (1.30 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract+ClassDataContractCriticalHelper:SetIfMembersHaveConflict(System.Collections.Generic.List`1[System.Runtime.Serialization.DataContracts.DataMember]):this (FullOpts) 16 (0.67 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],System.DateTimeOffset,ubyte,int):System.Diagnostics.Activity:this (FullOpts) 15 (0.39 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:Init(System.Configuration.Internal.IInternalConfigRoot,System.Configuration.BaseConfigurationRecord,System.String,System.String):this (FullOpts) 15 (2.43 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XPathQueryGenerator+d__6:MoveNext():ubyte:this (FullOpts) 14 (4.13 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[double]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 14 (4.20 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[int]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 14 (4.18 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[long]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 14 (4.14 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[short]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 14 (4.00 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.Numerics.Vector`1[float]]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 14 (4.15 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[ubyte]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 12 (1.79 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMemberRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 10 (2.37 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[int]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[int]):this (FullOpts) 10 (1.17 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.DebugDirectoryBuilder:Serialize(System.Reflection.Metadata.BlobBuilder,System.Reflection.PortableExecutable.SectionLocation,int):this (FullOpts) 10 (1.80 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsIdentity+d__38:MoveNext():ubyte:this (FullOpts) 9 (2.10 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[short]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[short]):this (FullOpts) 9 (2.07 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager:UpdateImportIndex():this (FullOpts) 9 (0.46 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts) Top method improvements (bytes): -510 (-7.54 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g__TryFindRawFixedSets|3_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (FullOpts) (2 methods) -180 (-8.55 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileKeys():this (FullOpts) -159 (-9.96 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteProperties(System.Reflection.Emit.TypeBuilderImpl):this (FullOpts) -129 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[System.__Canon,System.Nullable`1[int]]:MoveNext():this (FullOpts) -127 (-7.99 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteFields(System.Reflection.Emit.TypeBuilderImpl,System.Reflection.Metadata.BlobBuilder):this (FullOpts) -118 (-1.42 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[double,System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[int,System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[long,System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[short,System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[ubyte,System.Nullable`1[int]]:MoveNext():this (FullOpts) -107 (-5.73 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext:Match(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase,System.String):this (FullOpts) -104 (-12.28 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts) -100 (-4.53 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteMethods(System.Collections.Generic.List`1[System.Reflection.Emit.MethodBuilderImpl],System.Collections.Generic.List`1[System.Reflection.Emit.GenericTypeParameterBuilderImpl],System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder):this (FullOpts) -96 (-6.42 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteEvents(System.Reflection.Emit.TypeBuilderImpl):this (FullOpts) -93 (-3.09 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts) -92 (-2.41 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this (FullOpts) -85 (-76.58 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityTagsCollection+Enumerator:MoveNext():ubyte:this (FullOpts) -79 (-18.16 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[double]:MoveNext():ubyte:this (FullOpts) -77 (-18.03 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.__Canon]:MoveNext():ubyte:this (FullOpts) -76 (-17.76 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[int]:MoveNext():ubyte:this (FullOpts) -76 (-17.72 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[long]:MoveNext():ubyte:this (FullOpts) -76 (-17.63 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[short]:MoveNext():ubyte:this (FullOpts) -76 (-18.72 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -76 (-17.72 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[ubyte]:MoveNext():ubyte:this (FullOpts) -75 (-16.48 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts) -67 (-3.78 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:WaitAllCore(System.ReadOnlySpan`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts) -62 (-21.38 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -59 (-14.11 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+KeyCollection+d__14[System.__Canon]:MoveNext():ubyte:this (FullOpts) -59 (-14.11 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+KeyCollection+d__9[System.__Canon]:MoveNext():ubyte:this (FullOpts) -59 (-14.11 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+ValueCollection+d__14[System.__Canon]:MoveNext():ubyte:this (FullOpts) -59 (-14.11 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+ValueCollection+d__9[System.__Canon]:MoveNext():ubyte:this (FullOpts) -55 (-5.08 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:ConsumeReservedMessagesNonGreedy():this (FullOpts) -54 (-22.78 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[double]:MoveNext():ubyte:this (FullOpts) -54 (-20.00 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts) -54 (-21.86 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[double,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -54 (-10.23 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts) -51 (-5.23 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) -50 (-21.65 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[short]:MoveNext():ubyte:this (FullOpts) -50 (-20.49 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[short,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -48 (-2.99 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:GetCustomAttributes(System.Reflection.MemberInfo,System.Collections.Generic.IEnumerable`1[System.Object]):System.Collections.Generic.IEnumerable`1[System.Object]:this (FullOpts) -48 (-18.53 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -47 (-21.08 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[ubyte]:MoveNext():ubyte:this (FullOpts) -47 (-19.67 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[ubyte,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -46 (-3.26 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.ConventionBuilder:GetCustomAttributes(System.Type,System.Reflection.MemberInfo):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts) -46 (-8.95 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon][],int):this (FullOpts) -45 (-3.08 % of base) : System.IO.FileSystem.Watcher.dasm - System.IO.FileSystemWatcher+RunningInstance:ProcessEvent(System.IO.FileSystemWatcher+RunningInstance+NotifyEvent,byref,byref,byref):ubyte:this (FullOpts) -45 (-20.27 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[long]:MoveNext():ubyte:this (FullOpts) -45 (-19.07 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[long,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -45 (-17.58 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -45 (-10.51 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:Contains(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):ubyte:this (FullOpts) -45 (-9.64 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:ContainsProperty(System.String):ubyte:this (FullOpts) -45 (-7.73 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:TryGetValue(System.String,byref):ubyte:this (FullOpts) -44 (-14.38 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[double,System.Nullable`1[int]]:Contains(double):ubyte:this (FullOpts) -44 (-20.09 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[int]:MoveNext():ubyte:this (FullOpts) -44 (-18.80 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[int,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -42 (-3.05 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (FullOpts) -38 (-5.12 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[System.__Canon]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (FullOpts) -37 (-1.77 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:ParseModeListAttribute(int):System.Xml.Xsl.Qil.QilName:this (FullOpts) -36 (-12.12 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[int,System.Nullable`1[int]]:Contains(int):ubyte:this (FullOpts) -36 (-12.08 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[long,System.Nullable`1[int]]:Contains(long):ubyte:this (FullOpts) -34 (-1.17 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Pkcs12Builder:SealWithMac(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int):this (FullOpts) -32 (-6.31 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:b__0(System.Data.DataRow):ubyte:this (FullOpts) -32 (-7.69 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:b__2(System.Data.DataRow):ubyte:this (FullOpts) -31 (-0.54 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketHandle+d__22:MoveNext():this (FullOpts) -30 (-10.03 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[short,System.Nullable`1[int]]:Contains(short):ubyte:this (FullOpts) -30 (-10.03 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:Contains(ubyte):ubyte:this (FullOpts) -30 (-0.48 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:PrecompileProtoTemplatesHeaders():this (FullOpts) -29 (-1.26 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:Compile(System.Xml.Xsl.Xslt.Compiler):System.Xml.Xsl.Qil.QilExpression:this (FullOpts) -27 (-5.77 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:FindValue(System.__Canon):System.Nullable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this (FullOpts) -22 (-1.20 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:GetDefaultXmlLocalName(System.Type):System.String (FullOpts) -22 (-4.70 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+KeyCollection[System.__Canon]:CopyTo(System.String[],int):this (FullOpts) -22 (-4.70 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+ValueCollection[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts) -21 (-0.59 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.InfoHdrSmall:ToString():System.String:this (FullOpts) -20 (-8.51 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts) -20 (-8.30 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -20 (-0.60 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (FullOpts) -18 (-5.28 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Contains(System.Nullable`1[int]):ubyte:this (FullOpts) -18 (-4.81 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[short](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -18 (-3.21 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[System.__Canon](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -18 (-4.18 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[ubyte](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -18 (-3.47 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts) -17 (-4.58 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[long](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -16 (-4.76 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts) -16 (-4.37 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[int](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -15 (-4.03 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[System.Nullable`1[int]](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -14 (-0.61 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateEncodedMembersElement(System.Xml.Serialization.XmlMembersMapping):System.Object[]:this (FullOpts) -12 (-0.98 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts) -12 (-1.68 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts) -11 (-3.54 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]:CreateDictionary():this (FullOpts) -10 (-1.58 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchive:WriteFile():this (FullOpts) -10 (-0.89 % of base) : System.Net.Primitives.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts) -10 (-2.46 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[double](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -9 (-2.28 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]:Contains(System.__Canon):ubyte:this (FullOpts) -9 (-2.05 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]:TryGetValue(System.__Canon,byref):ubyte:this (FullOpts) -9 (-3.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:CreateDictionary():this (FullOpts) -9 (-0.47 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts) -8 (-1.81 % of base) : Microsoft.Extensions.Configuration.Binder.dasm - Microsoft.Extensions.Configuration.ConfigurationBinder:DoAllParametersHaveEquivalentProperties(System.Reflection.ParameterInfo[],System.Collections.Generic.List`1[System.Reflection.PropertyInfo],byref):ubyte (FullOpts) Top method regressions (percentages): 57 (27.14 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1[System.__Canon]:GetCount():int:this (FullOpts) 21 (19.27 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts) 26 (17.45 % of base) : Microsoft.Extensions.Options.dasm - Microsoft.Extensions.Options.OptionsMonitor`1[System.__Canon]:Dispose():this (FullOpts) 101 (16.92 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[double]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 90 (15.62 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[int]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 90 (15.60 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[ubyte]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 90 (15.57 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[long]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 90 (15.54 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[short]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 25 (13.16 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[int]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 25 (13.09 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[long]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 25 (13.02 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[double]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 25 (13.02 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[short]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 25 (13.02 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[ubyte]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 138 (12.84 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain:AppendResolutionPath(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier):this (FullOpts) 21 (11.67 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.Nullable`1[int]]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 22 (10.68 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.Numerics.Vector`1[float]]:b__2(System.Data.DataRow):ubyte:this (FullOpts) 138 (10.57 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeAssemblyRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 72 (9.82 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[int]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 72 (9.80 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[double]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 72 (9.80 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[ubyte]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 72 (9.78 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[long]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 72 (9.77 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexMatcher`1[short]:CreateNewCapturingTransition(int,int,int):System.ValueTuple`2[int,System.Text.RegularExpressions.Symbolic.DerivativeEffect[]][]:this (FullOpts) 69 (9.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[double]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 105 (8.65 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:GetLiveSlotsAtSafepoints(ubyte[],byref):System.Collections.Generic.List`1[System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcSlot]]:this (FullOpts) 306 (8.57 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g__FindPrefixesCore|0_1(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.StringBuilder],ubyte):ubyte (FullOpts) 69 (8.39 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Numerics.Vector`1[float]]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 62 (8.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[int]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 62 (8.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[long]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 62 (8.32 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[ubyte]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 62 (8.31 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[short]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 64 (8.23 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Nullable`1[int]]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 118 (7.77 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslAstAnalyzer:Analyze(System.Xml.Xsl.Xslt.Compiler):int:this (FullOpts) 66 (7.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Nullable`1[int]]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 75 (6.64 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 59 (6.11 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalScopeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 27 (5.82 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts) 55 (5.71 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.Numerics.Vector`1[float]]:ConsumeReservedMessagesNonGreedy():this (FullOpts) 157 (5.66 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.DirectoryCatalog:Refresh():this (FullOpts) 54 (5.54 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (FullOpts) 106 (5.50 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:AppendMetadata(System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder,System.Reflection.Metadata.BlobBuilder,byref):this (FullOpts) 26 (5.43 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[System.Numerics.Vector`1[float]]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):this (FullOpts) 59 (5.18 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:MergeDuplicateNamespaces(System.Collections.Generic.Dictionary`2[System.Reflection.Metadata.NamespaceDefinitionHandle,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder],byref) (FullOpts) 54 (4.94 % of base) : System.Data.Common.dasm - System.Data.DataTable:EvaluateExpressions(System.Data.DataRow,int,System.Collections.Generic.List`1[System.Data.DataRow]):this (FullOpts) 19 (4.41 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[System.__Canon]:CompleteOncePossible():this (FullOpts) 138 (4.24 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:AdjustCallArgumentsForParams(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,byref):this (FullOpts) 14 (4.20 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[int]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 14 (4.18 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[long]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 90 (4.17 % of base) : System.Data.Common.dasm - System.Data.DataColumnCollection:CanRemove(System.Data.DataColumn,ubyte):ubyte:this (FullOpts) 48 (4.17 % of base) : System.Net.Http.dasm - System.Net.Http.Http3Connection:OnServerGoAway(long):this (FullOpts) 14 (4.15 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[ubyte]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 14 (4.14 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[short]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 14 (4.13 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[double]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 17 (4.02 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[long]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[long]):this (FullOpts) 14 (4.00 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.Numerics.Vector`1[float]]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 98 (3.87 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodTypeInferrer:Fix(int):ubyte:this (FullOpts) 22 (3.85 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFileTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 22 (3.84 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 22 (3.82 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializePropertyTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 57 (3.52 % of base) : System.Memory.dasm - System.Text.EncodingExtensions:GetBytes(System.Text.Encoding,byref):ubyte[] (FullOpts) 37 (3.51 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts) 23 (3.48 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeGenericParamTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 26 (3.47 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborReader:TryReadIndefiniteLengthTextStringConcatenated(System.Span`1[ushort],byref):ubyte:this (FullOpts) 30 (3.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeExportedTypeTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 31 (3.37 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:BuildAttributes(System.Type,byref):this (FullOpts) 31 (3.15 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.AsnWriter:SortContents(ubyte[],int,int) (FullOpts) 52 (2.95 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract:BindGenericParameters(System.Runtime.Serialization.DataContracts.DataContract[],System.Collections.Generic.Dictionary`2[System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.DataContracts.DataContract]):System.Runtime.Serialization.DataContracts.DataContract:this (FullOpts) 47 (2.85 % of base) : System.Net.Http.dasm - System.Net.Http.Http2Connection:Abort(System.Exception):this (FullOpts) 9 (2.82 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.Nullable`1[int]]:b__0(System.Data.DataRow):ubyte:this (FullOpts) 20 (2.68 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeImplMapTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 17 (2.58 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeManifestResourceTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 31 (2.56 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.HostApplicationBuilder+HostBuilderAdapter:ApplyChanges():this (FullOpts) 39 (2.56 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:RemoveConfigurationSection(System.String,System.String):this (FullOpts) 15 (2.43 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XPathQueryGenerator+d__6:MoveNext():ubyte:this (FullOpts) 60 (2.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts) 10 (2.37 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[int]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[int]):this (FullOpts) 18 (2.25 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDocumentTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[double,System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[int,System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[long,System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[short,System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[System.__Canon,System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[System.Nullable`1[int],System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[System.Numerics.Vector`1[float],System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[ubyte,System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.SourceCore`1[double]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.SourceCore`1[int]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.SourceCore`1[long]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.SourceCore`1[short]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.__Canon]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Numerics.Vector`1[float]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.24 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.SourceCore`1[ubyte]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts) 9 (2.10 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[short]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[short]):this (FullOpts) 28 (2.08 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:GetImportScopeHandle(System.Collections.Generic.List`1[System.String],System.Reflection.Metadata.ImportScopeHandle):System.Reflection.Metadata.ImportScopeHandle:this (FullOpts) 9 (2.07 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager:UpdateImportIndex():this (FullOpts) 39 (2.03 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:TryResolveAssemblyPaths(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List`1[System.String]):ubyte:this (FullOpts) 42 (2.00 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:TryEmitSwitchInstruction(System.Linq.Expressions.SwitchExpression,int):ubyte:this (FullOpts) 64 (1.88 % of base) : System.Resources.Writer.dasm - System.Resources.ResourceWriter:Generate():this (FullOpts) 4 (1.86 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts) 8 (1.86 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[double]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[double]):this (FullOpts) Top method improvements (percentages): -85 (-76.58 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityTagsCollection+Enumerator:MoveNext():ubyte:this (FullOpts) -54 (-22.78 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[double]:MoveNext():ubyte:this (FullOpts) -54 (-21.86 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[double,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -50 (-21.65 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[short]:MoveNext():ubyte:this (FullOpts) -62 (-21.38 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -47 (-21.08 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[ubyte]:MoveNext():ubyte:this (FullOpts) -50 (-20.49 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[short,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -45 (-20.27 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[long]:MoveNext():ubyte:this (FullOpts) -44 (-20.09 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[int]:MoveNext():ubyte:this (FullOpts) -54 (-20.00 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts) -47 (-19.67 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[ubyte,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -45 (-19.07 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[long,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -44 (-18.80 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[int,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -76 (-18.72 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -48 (-18.53 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -79 (-18.16 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[double]:MoveNext():ubyte:this (FullOpts) -77 (-18.03 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.__Canon]:MoveNext():ubyte:this (FullOpts) -76 (-17.76 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[int]:MoveNext():ubyte:this (FullOpts) -76 (-17.72 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[long]:MoveNext():ubyte:this (FullOpts) -76 (-17.72 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[ubyte]:MoveNext():ubyte:this (FullOpts) -76 (-17.63 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[short]:MoveNext():ubyte:this (FullOpts) -45 (-17.58 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -75 (-16.48 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts) -44 (-14.38 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[double,System.Nullable`1[int]]:Contains(double):ubyte:this (FullOpts) -59 (-14.11 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+KeyCollection+d__14[System.__Canon]:MoveNext():ubyte:this (FullOpts) -59 (-14.11 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+KeyCollection+d__9[System.__Canon]:MoveNext():ubyte:this (FullOpts) -59 (-14.11 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+ValueCollection+d__14[System.__Canon]:MoveNext():ubyte:this (FullOpts) -59 (-14.11 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+ValueCollection+d__9[System.__Canon]:MoveNext():ubyte:this (FullOpts) -104 (-12.28 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts) -36 (-12.12 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[int,System.Nullable`1[int]]:Contains(int):ubyte:this (FullOpts) -36 (-12.08 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[long,System.Nullable`1[int]]:Contains(long):ubyte:this (FullOpts) -45 (-10.51 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:Contains(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):ubyte:this (FullOpts) -54 (-10.23 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts) -30 (-10.03 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[short,System.Nullable`1[int]]:Contains(short):ubyte:this (FullOpts) -30 (-10.03 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:Contains(ubyte):ubyte:this (FullOpts) -159 (-9.96 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteProperties(System.Reflection.Emit.TypeBuilderImpl):this (FullOpts) -45 (-9.64 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:ContainsProperty(System.String):ubyte:this (FullOpts) -46 (-8.95 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon][],int):this (FullOpts) -180 (-8.55 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileKeys():this (FullOpts) -20 (-8.51 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts) -20 (-8.30 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -127 (-7.99 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteFields(System.Reflection.Emit.TypeBuilderImpl,System.Reflection.Metadata.BlobBuilder):this (FullOpts) -45 (-7.73 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:TryGetValue(System.String,byref):ubyte:this (FullOpts) -32 (-7.69 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:b__2(System.Data.DataRow):ubyte:this (FullOpts) -510 (-7.54 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g__TryFindRawFixedSets|3_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (FullOpts) (2 methods) -4 (-6.67 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipGenericExtraField:TotalSize(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]):int (FullOpts) -96 (-6.42 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteEvents(System.Reflection.Emit.TypeBuilderImpl):this (FullOpts) -32 (-6.31 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:b__0(System.Data.DataRow):ubyte:this (FullOpts) -4 (-5.80 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:PopulateMethodDefinitionHandles(System.Collections.Generic.List`1[System.Reflection.Emit.MethodBuilderImpl]):this (FullOpts) -27 (-5.77 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:FindValue(System.__Canon):System.Nullable`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this (FullOpts) -107 (-5.73 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext:Match(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase,System.String):this (FullOpts) -4 (-5.56 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:PopulateEventDefinitionHandles(System.Collections.Generic.List`1[System.Reflection.Emit.EventBuilderImpl]):this (FullOpts) -4 (-5.56 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:PopulateFieldDefinitionHandles(System.Collections.Generic.List`1[System.Reflection.Emit.FieldBuilderImpl]):this (FullOpts) -4 (-5.56 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:PopulatePropertyDefinitionHandles(System.Collections.Generic.List`1[System.Reflection.Emit.PropertyBuilderImpl]):this (FullOpts) -18 (-5.28 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Contains(System.Nullable`1[int]):ubyte:this (FullOpts) -51 (-5.23 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) -38 (-5.12 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[System.__Canon]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (FullOpts) -55 (-5.08 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:ConsumeReservedMessagesNonGreedy():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[double,System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[int,System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[long,System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[short,System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():this (FullOpts) -112 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[ubyte,System.Nullable`1[int]]:MoveNext():this (FullOpts) -129 (-4.86 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[System.__Canon,System.Nullable`1[int]]:MoveNext():this (FullOpts) -18 (-4.81 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[short](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -16 (-4.76 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts) -22 (-4.70 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+KeyCollection[System.__Canon]:CopyTo(System.String[],int):this (FullOpts) -22 (-4.70 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+ValueCollection[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts) -17 (-4.58 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[long](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -100 (-4.53 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteMethods(System.Collections.Generic.List`1[System.Reflection.Emit.MethodBuilderImpl],System.Collections.Generic.List`1[System.Reflection.Emit.GenericTypeParameterBuilderImpl],System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder):this (FullOpts) -16 (-4.37 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[int](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -4 (-4.21 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateIndexToManifestConvention(int,System.String):int:this (FullOpts) -18 (-4.18 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[ubyte](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -15 (-4.03 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[System.Nullable`1[int]](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -4 (-3.96 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.UnixNetworkInterface:Supports(int):ubyte:this (FullOpts) -67 (-3.78 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:WaitAllCore(System.ReadOnlySpan`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts) -4 (-3.74 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Core.CompositionOperation:RunAndClearActions():this (FullOpts) -4 (-3.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts) -4 (-3.57 % of base) : System.Net.Security.dasm - System.Security.Authentication.ExtendedProtection.ServiceNameCollection:AddIfNew(System.Collections.Generic.List`1[System.String]):this (FullOpts) -11 (-3.54 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]:CreateDictionary():this (FullOpts) -18 (-3.47 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts) -46 (-3.26 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.ConventionBuilder:GetCustomAttributes(System.Type,System.Reflection.MemberInfo):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts) -9 (-3.23 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:CreateDictionary():this (FullOpts) -18 (-3.21 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[System.__Canon](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) -4 (-3.12 % of base) : System.Runtime.Caching.dasm - System.Runtime.Caching.MemoryCacheEntryChangeMonitor:Dispose(ubyte):this (FullOpts) -8 (-3.11 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddElementStatus(Interop+Crypto+X509VerifyStatusCode,System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts) -93 (-3.09 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts) -45 (-3.08 % of base) : System.IO.FileSystem.Watcher.dasm - System.IO.FileSystemWatcher+RunningInstance:ProcessEvent(System.IO.FileSystemWatcher+RunningInstance+NotifyEvent,byref,byref,byref):ubyte:this (FullOpts) -4 (-3.08 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.CompositionException:WritePaths(System.Text.StringBuilder,System.Collections.Generic.List`1[System.Collections.Generic.Stack`1[System.ComponentModel.Composition.CompositionError]]) (FullOpts) -8 (-3.07 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.CacheControlHeaderParser:GetParsedValueLength(System.String,int,System.Object,byref):int:this (FullOpts) -42 (-3.05 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (FullOpts) -48 (-2.99 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.RegistrationBuilder:GetCustomAttributes(System.Reflection.MemberInfo,System.Collections.Generic.IEnumerable`1[System.Object]):System.Collections.Generic.IEnumerable`1[System.Object]:this (FullOpts) -8 (-2.99 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeBuilderImpl:IsInterfaceImplemented(System.Type):ubyte:this (FullOpts) -3 (-2.97 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:ClearWithoutEvents():this (FullOpts) -3 (-2.97 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:ClearWithoutEvents():this (FullOpts) -4 (-2.96 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts) -4 (-2.88 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackagePart:Flush():this (FullOpts) -3 (-2.80 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:DisposeRegistrations():this (FullOpts) 516 total methods with Code Size differences (329 improved, 187 regressed), 239716 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 2 months ago

Top method regressions

138 (12.84 % of base) - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain:AppendResolutionPath(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier):this ```diff ; Assembly listing for method Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain:AppendResolutionPath(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 20 single block inlinees; 16 inlinees without PGO data +; 0 inlinees with PGO data; 20 single block inlinees; 14 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T30] ( 3, 3 ) ref -> r14 this class-hnd single-def -; V01 arg1 [V01,T00] ( 21, 40.50) ref -> rbx class-hnd single-def +; V00 this [V00,T21] ( 3, 3 ) ref -> r15 this class-hnd single-def +; V01 arg1 [V01,T00] ( 21, 41.50) ref -> rbx class-hnd single-def ;* V02 arg2 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def ;* V03 loc0 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def -;* V04 loc1 [V04 ] ( 0, 0 ) struct (48) zero-ref do-not-enreg[SF] ld-addr-op +; V04 loc1 [V04 ] ( 8, 17 ) struct (48) [rbp-0x50] do-not-enreg[XS] must-init addr-exposed ld-addr-op ;* V05 loc2 [V05 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op ;* V06 loc3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V07 loc4 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd ;* V08 loc5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V10 tmp1 [V10,T14] ( 5, 10 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" -; V11 tmp2 [V11,T31] ( 2, 4 ) ref -> rsi class-hnd single-def "dup spill" +; V10 tmp1 [V10,T07] ( 5, 10 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" +; V11 tmp2 [V11,T22] ( 2, 4 ) ref -> rsi class-hnd single-def "dup spill" ;* V12 tmp3 [V12 ] ( 0, 0 ) ref -> zero-ref single-def -; V13 tmp4 [V13,T38] ( 4, 3.50) ref -> rsi +; V13 tmp4 [V13,T31] ( 4, 3.50) ref -> rsi ;* V14 tmp5 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" -; V15 tmp6 [V15,T29] ( 5, 5 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" -; V16 tmp7 [V16,T39] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" c> -;* V17 tmp8 [V17 ] ( 0, 0 ) struct (48) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" +; V15 tmp6 [V15,T20] ( 5, 5 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" +; V16 tmp7 [V16,T32] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" c> +; V17 tmp8 [V17,T28] ( 2, 4 ) struct (48) [rbp-0x80] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" ;* V18 tmp9 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V19 tmp10 [V19 ] ( 6, 12 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" +; V19 tmp10 [V19 ] ( 6, 12 ) ref -> [rbp-0x88] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" ;* V20 tmp11 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V21 tmp12 [V21 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" -; V22 tmp13 [V22 ] ( 6, 12 ) struct ( 8) [rbp-0x38] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" -; V23 tmp14 [V23,T32] ( 2, 4 ) ref -> rax class-hnd exact "Inline stloc first use temp" -; V24 tmp15 [V24,T06] ( 8, 16 ) ref -> rax -; V25 tmp16 [V25,T19] ( 3, 6 ) ref -> rax +; V22 tmp13 [V22 ] ( 6, 12 ) struct ( 8) [rbp-0x90] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" +; V23 tmp14 [V23,T23] ( 2, 4 ) ref -> rax class-hnd exact "Inline stloc first use temp" +; V24 tmp15 [V24,T01] ( 8, 16 ) ref -> rax +; V25 tmp16 [V25,T11] ( 3, 6 ) ref -> rax ;* V26 tmp17 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V27 tmp18 [V27 ] ( 6, 12 ) ref -> [rbp-0x40] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" +; V27 tmp18 [V27 ] ( 6, 12 ) ref -> [rbp-0x98] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" ;* V28 tmp19 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V29 tmp20 [V29 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" -; V30 tmp21 [V30 ] ( 6, 12 ) struct ( 8) [rbp-0x48] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" -; V31 tmp22 [V31,T33] ( 2, 4 ) ref -> rax class-hnd exact "Inline stloc first use temp" -; V32 tmp23 [V32,T07] ( 8, 16 ) ref -> rax -; V33 tmp24 [V33,T20] ( 3, 6 ) ref -> rax -; V34 tmp25 [V34,T25] ( 3, 6 ) int -> rsi "Inline stloc first use temp" -; V35 tmp26 [V35,T21] ( 3, 6 ) ref -> rax class-hnd "Inline stloc first use temp" +; V30 tmp21 [V30 ] ( 6, 12 ) struct ( 8) [rbp-0xA0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" +; V31 tmp22 [V31,T24] ( 2, 4 ) ref -> rax class-hnd exact "Inline stloc first use temp" +; V32 tmp23 [V32,T02] ( 8, 16 ) ref -> rax +; V33 tmp24 [V33,T12] ( 3, 6 ) ref -> rax +; V34 tmp25 [V34,T16] ( 3, 6 ) int -> rsi "Inline stloc first use temp" +; V35 tmp26 [V35,T13] ( 3, 6 ) ref -> rax class-hnd "Inline stloc first use temp" ;* V36 tmp27 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V37 tmp28 [V37 ] ( 6, 12 ) ref -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" +; V37 tmp28 [V37 ] ( 6, 12 ) ref -> [rbp-0xA8] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" ;* V38 tmp29 [V38 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" -; V39 tmp30 [V39 ] ( 6, 12 ) struct ( 8) [rbp-0x58] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" -; V40 tmp31 [V40,T34] ( 2, 4 ) ref -> rax class-hnd exact "Inline stloc first use temp" -; V41 tmp32 [V41,T08] ( 8, 16 ) ref -> rax -; V42 tmp33 [V42,T22] ( 3, 6 ) ref -> rax +; V39 tmp30 [V39 ] ( 6, 12 ) struct ( 8) [rbp-0xB0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" +; V40 tmp31 [V40,T25] ( 2, 4 ) ref -> rax class-hnd exact "Inline stloc first use temp" +; V41 tmp32 [V41,T03] ( 8, 16 ) ref -> rax +; V42 tmp33 [V42,T14] ( 3, 6 ) ref -> rax ;* V43 tmp34 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V44 tmp35 [V44,T26] ( 3, 6 ) int -> rsi "Inline stloc first use temp" -; V45 tmp36 [V45,T23] ( 3, 6 ) ref -> rax class-hnd "Inline stloc first use temp" -; V46 tmp37 [V46,T24] ( 3, 6 ) ref -> rdi class-hnd "Inline stloc first use temp" -; V47 tmp38 [V47,T16] ( 4, 8 ) int -> rdx "Inline stloc first use temp" -; V48 tmp39 [V48,T12] ( 3, 12 ) byref -> rsi "Inlining Arg" -; V49 tmp40 [V49,T35] ( 2, 4 ) byref -> rdi "Inline stloc first use temp" -;* V50 tmp41 [V50,T17] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V51 tmp42 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; V52 tmp43 [V52,T04] ( 4, 18 ) ref -> rsi class-hnd exact single-def "Inlining Arg" -; V53 tmp44 [V53,T40] ( 1, 1 ) ref -> rdx single-def "field V02.k__BackingField (fldOffset=0x0)" P-INDEP -; V54 tmp45 [V54,T18] ( 2, 5 ) ref -> r15 single-def "field V02.k__BackingField (fldOffset=0x8)" P-INDEP -;* V55 tmp46 [V55 ] ( 0, 0 ) ref -> zero-ref "field V06.k__BackingField (fldOffset=0x0)" P-INDEP -;* V56 tmp47 [V56 ] ( 0, 0 ) ref -> zero-ref "field V06.k__BackingField (fldOffset=0x8)" P-INDEP -;* V57 tmp48 [V57 ] ( 0, 0 ) ref -> zero-ref "field V08.k__BackingField (fldOffset=0x0)" P-INDEP -;* V58 tmp49 [V58 ] ( 0, 0 ) int -> zero-ref "field V08.k__BackingField (fldOffset=0x8)" P-INDEP -;* V59 tmp50 [V59,T42] ( 0, 0 ) ubyte -> zero-ref "field V21.k__BackingField (fldOffset=0x0)" P-INDEP -;* V60 tmp51 [V60,T43] ( 0, 0 ) ubyte -> zero-ref "field V21.k__BackingField (fldOffset=0x1)" P-INDEP -;* V61 tmp52 [V61,T44] ( 0, 0 ) ubyte -> zero-ref "field V21.k__BackingField (fldOffset=0x2)" P-INDEP -;* V62 tmp53 [V62,T45] ( 0, 0 ) ushort -> zero-ref "field V21.k__BackingField (fldOffset=0x4)" P-INDEP -;* V63 tmp54 [V63,T46] ( 0, 0 ) ubyte -> zero-ref "field V29.k__BackingField (fldOffset=0x0)" P-INDEP -;* V64 tmp55 [V64,T47] ( 0, 0 ) ubyte -> zero-ref "field V29.k__BackingField (fldOffset=0x1)" P-INDEP -;* V65 tmp56 [V65,T48] ( 0, 0 ) ubyte -> zero-ref "field V29.k__BackingField (fldOffset=0x2)" P-INDEP -;* V66 tmp57 [V66,T49] ( 0, 0 ) ushort -> zero-ref "field V29.k__BackingField (fldOffset=0x4)" P-INDEP -;* V67 tmp58 [V67,T50] ( 0, 0 ) ubyte -> zero-ref "field V38.k__BackingField (fldOffset=0x0)" P-INDEP -;* V68 tmp59 [V68,T51] ( 0, 0 ) ubyte -> zero-ref "field V38.k__BackingField (fldOffset=0x1)" P-INDEP -;* V69 tmp60 [V69,T52] ( 0, 0 ) ubyte -> zero-ref "field V38.k__BackingField (fldOffset=0x2)" P-INDEP -;* V70 tmp61 [V70,T53] ( 0, 0 ) ushort -> zero-ref "field V38.k__BackingField (fldOffset=0x4)" P-INDEP -; V71 tmp62 [V71,T05] ( 4, 17 ) ref -> r13 single-def "V04.[000..008)" -; V72 tmp63 [V72,T01] ( 6, 21 ) int -> r12 "V04.[008..012)" -; V73 tmp64 [V73,T15] ( 2, 9 ) int -> r14 single-def "V04.[012..016)" -;* V74 tmp65 [V74 ] ( 0, 0 ) ref -> zero-ref "V04.[016..024)" -; V75 tmp66 [V75,T10] ( 4, 10 ) ref -> [rbp-0x60] spill-single-def "V04.[024..032)" -; V76 tmp67 [V76,T11] ( 4, 10 ) ref -> [rbp-0x68] spill-single-def "V04.[032..040)" -;* V77 tmp68 [V77 ] ( 0, 0 ) int -> zero-ref "V04.[040..044)" -;* V78 tmp69 [V78 ] ( 0, 0 ) ref -> zero-ref single-def "V17.[000..008)" -;* V79 tmp70 [V79 ] ( 0, 0 ) int -> zero-ref single-def "V17.[008..012)" -; V80 tmp71 [V80,T41] ( 2, 2 ) int -> r14 single-def "V17.[012..016)" -;* V81 tmp72 [V81 ] ( 0, 0 ) ref -> zero-ref single-def "V17.[016..024)" -;* V82 tmp73 [V82 ] ( 0, 0 ) ref -> zero-ref single-def "V17.[024..032)" -;* V83 tmp74 [V83 ] ( 0, 0 ) ref -> zero-ref single-def "V17.[032..040)" -;* V84 tmp75 [V84 ] ( 0, 0 ) int -> zero-ref single-def "V17.[040..044)" -;* V85 tmp76 [V85 ] ( 0, 0 ) ref -> zero-ref "V05.[000..008)" -;* V86 tmp77 [V86 ] ( 0, 0 ) ref -> zero-ref "V05.[008..016)" -;* V87 tmp78 [V87 ] ( 0, 0 ) ref -> zero-ref "V05.[016..024)" -;* V88 tmp79 [V88 ] ( 0, 0 ) int -> zero-ref "V05.[024..028)" -; V89 tmp80 [V89,T02] ( 3, 24 ) byref -> rdi "Spilling address for field-by-field copy" -; V90 tmp81 [V90,T03] ( 3, 24 ) ref -> rdi "arr expr" -;* V91 cse0 [V91,T54] ( 0, 0 ) long -> zero-ref "CSE #01: conservative" -; V92 cse1 [V92,T13] ( 2, 8 ) int -> rdi "CSE #10: moderate" -; V93 cse2 [V93,T09] ( 2, 16 ) int -> rdi "CSE #09: aggressive" -; V94 cse3 [V94,T27] ( 3, 6 ) int -> rdi "CSE #05: moderate" -; V95 cse4 [V95,T28] ( 3, 6 ) int -> rdi "CSE #07: moderate" -; V96 cse5 [V96,T36] ( 2, 4 ) int -> rcx "CSE #04: moderate" -; V97 cse6 [V97,T37] ( 2, 4 ) int -> rcx "CSE #06: moderate" +; V44 tmp35 [V44,T17] ( 3, 6 ) int -> rsi "Inline stloc first use temp" +; V45 tmp36 [V45,T15] ( 3, 6 ) ref -> rax class-hnd "Inline stloc first use temp" +; V46 tmp37 [V46,T09] ( 3, 10 ) ref -> rdi class-hnd "Inline stloc first use temp" +; V47 tmp38 [V47,T06] ( 4, 12 ) int -> rdx "Inline stloc first use temp" +; V48 tmp39 [V48,T04] ( 3, 16 ) byref -> rsi "Inlining Arg" +; V49 tmp40 [V49,T26] ( 2, 4 ) byref -> rdi "Inline stloc first use temp" +; V50 tmp41 [V50,T10] ( 4, 6 ) ref -> rsi class-hnd exact single-def "Inlining Arg" +; V51 tmp42 [V51,T33] ( 1, 1 ) ref -> rdx single-def "field V02.k__BackingField (fldOffset=0x0)" P-INDEP +; V52 tmp43 [V52,T27] ( 2, 2 ) ref -> r14 single-def "field V02.k__BackingField (fldOffset=0x8)" P-INDEP +;* V53 tmp44 [V53 ] ( 0, 0 ) ref -> zero-ref "field V06.k__BackingField (fldOffset=0x0)" P-INDEP +;* V54 tmp45 [V54 ] ( 0, 0 ) ref -> zero-ref "field V06.k__BackingField (fldOffset=0x8)" P-INDEP +;* V55 tmp46 [V55 ] ( 0, 0 ) ref -> zero-ref "field V08.k__BackingField (fldOffset=0x0)" P-INDEP +;* V56 tmp47 [V56 ] ( 0, 0 ) int -> zero-ref "field V08.k__BackingField (fldOffset=0x8)" P-INDEP +;* V57 tmp48 [V57,T35] ( 0, 0 ) ubyte -> zero-ref "field V21.k__BackingField (fldOffset=0x0)" P-INDEP +;* V58 tmp49 [V58,T36] ( 0, 0 ) ubyte -> zero-ref "field V21.k__BackingField (fldOffset=0x1)" P-INDEP +;* V59 tmp50 [V59,T37] ( 0, 0 ) ubyte -> zero-ref "field V21.k__BackingField (fldOffset=0x2)" P-INDEP +;* V60 tmp51 [V60,T38] ( 0, 0 ) ushort -> zero-ref "field V21.k__BackingField (fldOffset=0x4)" P-INDEP +;* V61 tmp52 [V61,T39] ( 0, 0 ) ubyte -> zero-ref "field V29.k__BackingField (fldOffset=0x0)" P-INDEP +;* V62 tmp53 [V62,T40] ( 0, 0 ) ubyte -> zero-ref "field V29.k__BackingField (fldOffset=0x1)" P-INDEP +;* V63 tmp54 [V63,T41] ( 0, 0 ) ubyte -> zero-ref "field V29.k__BackingField (fldOffset=0x2)" P-INDEP +;* V64 tmp55 [V64,T42] ( 0, 0 ) ushort -> zero-ref "field V29.k__BackingField (fldOffset=0x4)" P-INDEP +;* V65 tmp56 [V65,T43] ( 0, 0 ) ubyte -> zero-ref "field V38.k__BackingField (fldOffset=0x0)" P-INDEP +;* V66 tmp57 [V66,T44] ( 0, 0 ) ubyte -> zero-ref "field V38.k__BackingField (fldOffset=0x1)" P-INDEP +;* V67 tmp58 [V67,T45] ( 0, 0 ) ubyte -> zero-ref "field V38.k__BackingField (fldOffset=0x2)" P-INDEP +;* V68 tmp59 [V68,T46] ( 0, 0 ) ushort -> zero-ref "field V38.k__BackingField (fldOffset=0x4)" P-INDEP +;* V69 tmp60 [V69 ] ( 0, 0 ) ref -> zero-ref single-def "V17.[000..008)" +;* V70 tmp61 [V70 ] ( 0, 0 ) int -> zero-ref single-def "V17.[008..012)" +; V71 tmp62 [V71,T34] ( 2, 2 ) int -> rdi single-def "V17.[012..016)" +;* V72 tmp63 [V72 ] ( 0, 0 ) ref -> zero-ref "V05.[000..008)" +; V73 tmp64 [V73,T08] ( 4, 10 ) ref -> r13 "V05.[008..016)" +; V74 tmp65 [V74,T05] ( 4, 12 ) ref -> r15 "V05.[016..024)" +;* V75 tmp66 [V75 ] ( 0, 0 ) int -> zero-ref "V05.[024..028)" +;* V76 cse0 [V76,T47] ( 0, 0 ) long -> zero-ref "CSE #01: conservative" +; V77 cse1 [V77,T18] ( 3, 6 ) int -> rdi "CSE #05: moderate" +; V78 cse2 [V78,T19] ( 3, 6 ) int -> rdi "CSE #07: moderate" +; V79 cse3 [V79,T29] ( 2, 4 ) int -> rcx "CSE #04: moderate" +; V80 cse4 [V80,T30] ( 2, 4 ) int -> rcx "CSE #06: moderate" ; -; Lcl frame size = 72 +; Lcl frame size = 144 G_M63242_IG01: push rbp push r15 push r14 push r13 - push r12 push rbx - sub rsp, 72 - lea rbp, [rsp+0x70] - xor eax, eax - mov qword ptr [rbp-0x58], rax + sub rsp, 144 + lea rbp, [rsp+0xB0] vxorps xmm8, xmm8, xmm8 + vmovdqu ymmword ptr [rbp-0xB0], ymm8 + vmovdqu ymmword ptr [rbp-0x90], ymm8 + vmovdqu ymmword ptr [rbp-0x70], ymm8 vmovdqu ymmword ptr [rbp-0x50], ymm8 - mov qword ptr [rbp-0x30], rax - mov r14, rdi + vmovdqa xmmword ptr [rbp-0x30], xmm8 + mov r15, rdi mov rbx, rsi - mov r15, rcx - ;; size=48 bbWeight=1 PerfScore 12.08 + mov r14, rcx + ;; size=68 bbWeight=1 PerfScore 16.83 G_M63242_IG02: mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]] call CORINFO_HELP_NEWSFAST mov r13, rax - mov rsi, gword ptr [r14+0x08] + mov rsi, gword ptr [r15+0x08] mov rdi, r13 mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]:.ctor(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]):this call [rax]System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]:.ctor(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]):this mov rdi, 0xD1FFAB1E ; global ptr test byte ptr [rdi], 1 - je G_M63242_IG38 + je G_M63242_IG40 ;; size=56 bbWeight=1 PerfScore 11.25 G_M63242_IG03: mov rdi, 0xD1FFAB1E ; data for Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+<>c:<>9__6_0 mov rsi, gword ptr [rdi] test rsi, rsi jne SHORT G_M63242_IG05 ;; size=18 bbWeight=1 PerfScore 3.50 G_M63242_IG04: mov rdi, 0xD1FFAB1E ; System.Comparison`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]] call CORINFO_HELP_NEWSFAST - mov r14, rax + mov r15, rax mov rdi, 0xD1FFAB1E ; data for Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+<>c:<>9 mov rsi, gword ptr [rdi] test rsi, rsi - je G_M63242_IG39 - lea rdi, bword ptr [r14+0x08] + je G_M63242_IG41 + lea rdi, bword ptr [r15+0x08] call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; code for Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+<>c:b__6_0(System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo],System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]):int:this - mov qword ptr [r14+0x18], rdi + mov qword ptr [r15+0x18], rdi mov rdi, 0xD1FFAB1E ; data for Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+<>c:<>9__6_0 - mov rsi, r14 + mov rsi, r15 call CORINFO_HELP_ASSIGN_REF - mov rsi, r14 + mov rsi, r15 ;; size=84 bbWeight=0.50 PerfScore 4.75 G_M63242_IG05: mov rdi, r13 mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]:Sort(System.Comparison`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]):this call [rax]System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]:Sort(System.Comparison`1[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]):this - mov r14d, dword ptr [r13+0x14] - xor r12d, r12d - jmp G_M63242_IG31 - ;; size=27 bbWeight=1 PerfScore 7.75 + mov edi, dword ptr [r13+0x14] + vxorps ymm0, ymm0, ymm0 + vmovdqu ymmword ptr [rbp-0x70], ymm0 + ;; size=28 bbWeight=1 PerfScore 6.83 G_M63242_IG06: - test rcx, rcx - je SHORT G_M63242_IG07 - mov rdi, rax - mov rsi, rcx - mov rdx, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte - call [rdx]System.Type:op_Equality(System.Type,System.Type):ubyte - test eax, eax - mov rax, gword ptr [rbp-0x60] - je G_M63242_IG13 - ;; size=35 bbWeight=2 PerfScore 14.50 + vmovdqu ymm0, ymmword ptr [rbp-0x80] + vmovdqu ymmword ptr [rbp-0x50], ymm0 + vmovdqu xmm0, xmmword ptr [rbp-0x60] + vmovdqu xmmword ptr [rbp-0x30], xmm0 + ;; size=20 bbWeight=1 PerfScore 9.00 G_M63242_IG07: - xor rdi, rdi - mov gword ptr [rbp-0x30], rdi - ;; size=6 bbWeight=2 PerfScore 2.50 + mov gword ptr [rbp-0x50], r13 + xor eax, eax + mov dword ptr [rbp-0x48], eax + mov dword ptr [rbp-0x44], edi + lea rdi, [rbp-0x50] + mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]:MoveNext():ubyte:this + call [rax]System.Collections.Generic.List`1+Enumerator[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]:MoveNext():ubyte:this + test eax, eax + je G_M63242_IG36 + ;; size=36 bbWeight=1 PerfScore 8.25 G_M63242_IG08: - mov dword ptr [rbp-0x38], edi - mov word ptr [rbp-0x34], di - ;; size=7 bbWeight=2 PerfScore 4.00 + mov r13, gword ptr [rbp-0x38] + mov r15, gword ptr [rbp-0x30] + test r15, r15 + je SHORT G_M63242_IG10 + ;; size=13 bbWeight=4 PerfScore 13.00 G_M63242_IG09: - mov gword ptr [rbp-0x30], rdi - mov byte ptr [rbp-0x38], 1 - mov byte ptr [rbp-0x37], 1 - mov byte ptr [rbp-0x36], 0 - mov word ptr [rbp-0x34], 43 - lea rdi, [rbp-0x30] - lea rdx, [rbp-0x38] - mov rsi, rax + mov rdi, r13 + mov rsi, r15 + mov rax, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte + call [rax]System.Type:op_Equality(System.Type,System.Type):ubyte + test eax, eax + je G_M63242_IG16 + ;; size=26 bbWeight=2 PerfScore 10.00 +G_M63242_IG10: + xor rdi, rdi + mov gword ptr [rbp-0x88], rdi + ;; size=9 bbWeight=2 PerfScore 2.50 +G_M63242_IG11: + mov dword ptr [rbp-0x90], edi + mov word ptr [rbp-0x8C], di + ;; size=13 bbWeight=2 PerfScore 4.00 +G_M63242_IG12: + mov gword ptr [rbp-0x88], rdi + mov byte ptr [rbp-0x90], 1 + mov byte ptr [rbp-0x8F], 1 + mov byte ptr [rbp-0x8E], 0 + mov word ptr [rbp-0x8C], 43 + lea rdi, [rbp-0x88] + lea rdx, [rbp-0x90] + mov rsi, r13 mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Internal.TypeNameHelper:ProcessType(byref,System.Type,byref):System.String call [rax]Microsoft.Extensions.Internal.TypeNameHelper:ProcessType(byref,System.Type,byref):System.String test rax, rax - jne SHORT G_M63242_IG12 - cmp gword ptr [rbp-0x30], 0 - jne SHORT G_M63242_IG10 + jne SHORT G_M63242_IG15 + cmp gword ptr [rbp-0x88], 0 + jne SHORT G_M63242_IG13 xor rax, rax - jmp SHORT G_M63242_IG11 - ;; size=61 bbWeight=2 PerfScore 32.00 -G_M63242_IG10: - mov rdi, gword ptr [rbp-0x30] + jmp SHORT G_M63242_IG14 + ;; size=85 bbWeight=2 PerfScore 32.00 +G_M63242_IG13: + mov rdi, gword ptr [rbp-0x88] mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this cmp dword ptr [rdi], edi call [rax]System.Text.StringBuilder:ToString():System.String:this - ;; size=18 bbWeight=2 PerfScore 14.50 -G_M63242_IG11: + ;; size=21 bbWeight=2 PerfScore 14.50 +G_M63242_IG14: test rax, rax - jne SHORT G_M63242_IG12 + jne SHORT G_M63242_IG15 mov rax, 0xD1FFAB1E ; '' ;; size=15 bbWeight=2 PerfScore 3.00 -G_M63242_IG12: +G_M63242_IG15: xor rsi, rsi - mov gword ptr [rbp-0x30], rsi + mov gword ptr [rbp-0x88], rsi cmp byte ptr [rbx], bl test rax, rax - je G_M63242_IG29 + je G_M63242_IG32 lea rsi, bword ptr [rax+0x0C] mov edx, dword ptr [rax+0x08] mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(byref,int):this call [rax]System.Text.StringBuilder:Append(byref,int):this - jmp G_M63242_IG29 - ;; size=44 bbWeight=2 PerfScore 27.00 -G_M63242_IG13: + jmp G_M63242_IG32 + ;; size=47 bbWeight=2 PerfScore 27.00 +G_M63242_IG16: xor rdi, rdi - mov gword ptr [rbp-0x40], rdi - ;; size=6 bbWeight=2 PerfScore 2.50 -G_M63242_IG14: - mov dword ptr [rbp-0x48], edi - mov word ptr [rbp-0x44], di - ;; size=7 bbWeight=2 PerfScore 4.00 -G_M63242_IG15: - mov gword ptr [rbp-0x40], rdi - mov byte ptr [rbp-0x48], 1 - mov byte ptr [rbp-0x47], 1 - mov byte ptr [rbp-0x46], 0 - mov word ptr [rbp-0x44], 43 - lea rdi, [rbp-0x40] - lea rdx, [rbp-0x48] - mov rsi, rax + mov gword ptr [rbp-0x98], rdi + ;; size=9 bbWeight=2 PerfScore 2.50 +G_M63242_IG17: + mov dword ptr [rbp-0xA0], edi + mov word ptr [rbp-0x9C], di + ;; size=13 bbWeight=2 PerfScore 4.00 +G_M63242_IG18: + mov gword ptr [rbp-0x98], rdi + mov byte ptr [rbp-0xA0], 1 + mov byte ptr [rbp-0x9F], 1 + mov byte ptr [rbp-0x9E], 0 + mov word ptr [rbp-0x9C], 43 + lea rdi, [rbp-0x98] + lea rdx, [rbp-0xA0] + mov rsi, r13 mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Internal.TypeNameHelper:ProcessType(byref,System.Type,byref):System.String call [rax]Microsoft.Extensions.Internal.TypeNameHelper:ProcessType(byref,System.Type,byref):System.String test rax, rax - jne SHORT G_M63242_IG18 - cmp gword ptr [rbp-0x40], 0 - jne SHORT G_M63242_IG16 + jne SHORT G_M63242_IG21 + cmp gword ptr [rbp-0x98], 0 + jne SHORT G_M63242_IG19 xor rax, rax - jmp SHORT G_M63242_IG17 - ;; size=61 bbWeight=2 PerfScore 32.00 -G_M63242_IG16: - mov rdi, gword ptr [rbp-0x40] + jmp SHORT G_M63242_IG20 + ;; size=85 bbWeight=2 PerfScore 32.00 +G_M63242_IG19: + mov rdi, gword ptr [rbp-0x98] mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this cmp dword ptr [rdi], edi call [rax]System.Text.StringBuilder:ToString():System.String:this - ;; size=18 bbWeight=2 PerfScore 14.50 -G_M63242_IG17: + ;; size=21 bbWeight=2 PerfScore 14.50 +G_M63242_IG20: test rax, rax - jne SHORT G_M63242_IG18 + jne SHORT G_M63242_IG21 mov rax, 0xD1FFAB1E ; '' ;; size=15 bbWeight=2 PerfScore 3.00 -G_M63242_IG18: +G_M63242_IG21: xor rsi, rsi - mov gword ptr [rbp-0x40], rsi + mov gword ptr [rbp-0x98], rsi cmp byte ptr [rbx], bl test rax, rax - je SHORT G_M63242_IG19 + je SHORT G_M63242_IG22 lea rsi, bword ptr [rax+0x0C] mov edx, dword ptr [rax+0x08] mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(byref,int):this call [rax]System.Text.StringBuilder:Append(byref,int):this - ;; size=35 bbWeight=2 PerfScore 23.00 -G_M63242_IG19: + ;; size=38 bbWeight=2 PerfScore 23.00 +G_M63242_IG22: mov edi, dword ptr [rbx+0x18] mov esi, edi mov rax, gword ptr [rbx+0x08] mov ecx, dword ptr [rax+0x08] cmp ecx, esi - jbe SHORT G_M63242_IG20 + jbe SHORT G_M63242_IG23 mov word ptr [rax+2*rsi+0x10], 40 inc edi mov dword ptr [rbx+0x18], edi - jmp SHORT G_M63242_IG21 + jmp SHORT G_M63242_IG24 ;; size=30 bbWeight=2 PerfScore 23.50 -G_M63242_IG20: +G_M63242_IG23: mov rdi, rbx mov esi, 40 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this ;; size=20 bbWeight=2 PerfScore 7.50 -G_M63242_IG21: +G_M63242_IG24: xor rdi, rdi - mov gword ptr [rbp-0x50], rdi - ;; size=6 bbWeight=2 PerfScore 2.50 -G_M63242_IG22: - mov dword ptr [rbp-0x58], edi - mov word ptr [rbp-0x54], di - ;; size=7 bbWeight=2 PerfScore 4.00 -G_M63242_IG23: - mov gword ptr [rbp-0x50], rdi - mov byte ptr [rbp-0x58], 1 - mov byte ptr [rbp-0x57], 1 - mov byte ptr [rbp-0x56], 0 - mov word ptr [rbp-0x54], 43 - lea rdi, [rbp-0x50] - lea rdx, [rbp-0x58] - mov rsi, gword ptr [rbp-0x68] + mov gword ptr [rbp-0xA8], rdi + ;; size=9 bbWeight=2 PerfScore 2.50 +G_M63242_IG25: + mov dword ptr [rbp-0xB0], edi + mov word ptr [rbp-0xAC], di + ;; size=13 bbWeight=2 PerfScore 4.00 +G_M63242_IG26: + mov gword ptr [rbp-0xA8], rdi + mov byte ptr [rbp-0xB0], 1 + mov byte ptr [rbp-0xAF], 1 + mov byte ptr [rbp-0xAE], 0 + mov word ptr [rbp-0xAC], 43 + lea rdi, [rbp-0xA8] + lea rdx, [rbp-0xB0] + mov rsi, r15 mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Internal.TypeNameHelper:ProcessType(byref,System.Type,byref):System.String call [rax]Microsoft.Extensions.Internal.TypeNameHelper:ProcessType(byref,System.Type,byref):System.String test rax, rax - jne SHORT G_M63242_IG26 - cmp gword ptr [rbp-0x50], 0 - jne SHORT G_M63242_IG24 + jne SHORT G_M63242_IG29 + cmp gword ptr [rbp-0xA8], 0 + jne SHORT G_M63242_IG27 xor rax, rax - jmp SHORT G_M63242_IG25 - ;; size=62 bbWeight=2 PerfScore 33.50 -G_M63242_IG24: - mov rdi, gword ptr [rbp-0x50] + jmp SHORT G_M63242_IG28 + ;; size=85 bbWeight=2 PerfScore 32.00 +G_M63242_IG27: + mov rdi, gword ptr [rbp-0xA8] mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this cmp dword ptr [rdi], edi call [rax]System.Text.StringBuilder:ToString():System.String:this - ;; size=18 bbWeight=2 PerfScore 14.50 -G_M63242_IG25: + ;; size=21 bbWeight=2 PerfScore 14.50 +G_M63242_IG28: test rax, rax - jne SHORT G_M63242_IG26 + jne SHORT G_M63242_IG29 mov rax, 0xD1FFAB1E ; '' ;; size=15 bbWeight=2 PerfScore 3.00 -G_M63242_IG26: +G_M63242_IG29: xor rsi, rsi - mov gword ptr [rbp-0x50], rsi + mov gword ptr [rbp-0xA8], rsi test rax, rax - je SHORT G_M63242_IG27 + je SHORT G_M63242_IG30 lea rsi, bword ptr [rax+0x0C] mov edx, dword ptr [rax+0x08] mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(byref,int):this call [rax]System.Text.StringBuilder:Append(byref,int):this - ;; size=33 bbWeight=2 PerfScore 17.00 -G_M63242_IG27: + ;; size=36 bbWeight=2 PerfScore 17.00 +G_M63242_IG30: mov edi, dword ptr [rbx+0x18] mov esi, edi mov rax, gword ptr [rbx+0x08] mov ecx, dword ptr [rax+0x08] cmp ecx, esi - jbe SHORT G_M63242_IG28 + jbe SHORT G_M63242_IG31 mov word ptr [rax+2*rsi+0x10], 41 inc edi mov dword ptr [rbx+0x18], edi - jmp SHORT G_M63242_IG29 + jmp SHORT G_M63242_IG32 ;; size=30 bbWeight=2 PerfScore 23.50 -G_M63242_IG28: +G_M63242_IG31: mov rdi, rbx mov esi, 41 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this ;; size=20 bbWeight=2 PerfScore 7.50 -G_M63242_IG29: +G_M63242_IG32: mov rsi, 0xD1FFAB1E mov rdi, gword ptr [rbx+0x08] mov edx, dword ptr [rbx+0x18] lea eax, [rdx+0x04] cmp dword ptr [rdi+0x08], eax - jb SHORT G_M63242_IG30 + jb SHORT G_M63242_IG34 + ;; size=25 bbWeight=4 PerfScore 35.00 +G_M63242_IG33: movsxd rax, edx lea rdi, bword ptr [rdi+2*rax+0x10] mov rax, qword ptr [rsi] mov qword ptr [rdi], rax add edx, 4 mov dword ptr [rbx+0x18], edx - jmp SHORT G_M63242_IG31 - ;; size=47 bbWeight=2 PerfScore 32.50 -G_M63242_IG30: + jmp SHORT G_M63242_IG35 + ;; size=22 bbWeight=2 PerfScore 15.00 +G_M63242_IG34: mov rdi, rbx mov edx, 4 mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(byref,int):this call [rax]System.Text.StringBuilder:AppendWithExpansion(byref,int):this ;; size=20 bbWeight=2 PerfScore 7.50 -G_M63242_IG31: - mov edi, dword ptr [r13+0x14] - cmp r14d, edi - jne G_M63242_IG40 - ;; size=13 bbWeight=8 PerfScore 26.00 -G_M63242_IG32: - mov edi, dword ptr [r13+0x10] - cmp r12d, edi - jae SHORT G_M63242_IG33 - mov rdi, gword ptr [r13+0x08] - cmp r12d, dword ptr [rdi+0x08] - jae SHORT G_M63242_IG37 - mov esi, r12d - shl rsi, 5 - lea rdi, bword ptr [rdi+rsi+0x10] - mov rax, gword ptr [rdi+0x08] - mov gword ptr [rbp-0x60], rax - mov rcx, gword ptr [rdi+0x10] - mov gword ptr [rbp-0x68], rcx - inc r12d - jmp G_M63242_IG06 - ;; size=55 bbWeight=4 PerfScore 77.00 -G_M63242_IG33: - mov rdi, r15 +G_M63242_IG35: + lea rdi, [rbp-0x50] + mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]:MoveNext():ubyte:this + call [rax]System.Collections.Generic.List`1+Enumerator[System.Collections.Generic.KeyValuePair`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]]:MoveNext():ubyte:this + test eax, eax + jne G_M63242_IG08 + ;; size=24 bbWeight=4 PerfScore 20.00 +G_M63242_IG36: + mov rdi, r14 mov esi, 1 xor edx, edx mov ecx, 1 mov r8d, 43 mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Internal.TypeNameHelper:GetTypeDisplayName(System.Type,ubyte,ubyte,ubyte,ushort):System.String call [rax]Microsoft.Extensions.Internal.TypeNameHelper:GetTypeDisplayName(System.Type,ubyte,ubyte,ubyte,ushort):System.String mov rsi, rax cmp byte ptr [rbx], bl test rsi, rsi - je SHORT G_M63242_IG35 - ;; size=43 bbWeight=4 PerfScore 36.00 -G_M63242_IG34: + je SHORT G_M63242_IG38 + ;; size=43 bbWeight=1 PerfScore 9.00 +G_M63242_IG37: mov edx, dword ptr [rsi+0x08] add rsi, 12 mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(byref,int):this call [rax]System.Text.StringBuilder:Append(byref,int):this ;; size=22 bbWeight=0.50 PerfScore 2.88 -G_M63242_IG35: +G_M63242_IG38: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M63242_IG36: - add rsp, 72 +G_M63242_IG39: + vzeroupper + add rsp, 144 pop rbx - pop r12 pop r13 pop r14 pop r15 pop rbp ret - ;; size=15 bbWeight=1 PerfScore 4.25 -G_M63242_IG37: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -G_M63242_IG38: + ;; size=19 bbWeight=1 PerfScore 4.75 +G_M63242_IG40: mov rdi, 0xD1FFAB1E mov esi, 53 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M63242_IG03 ;; size=25 bbWeight=0 PerfScore 0.00 -G_M63242_IG39: +G_M63242_IG41: mov rax, 0xD1FFAB1E ; code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance() call [rax]System.MulticastDelegate:ThrowNullThisInDelegateToInstance() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M63242_IG40: - 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 -; Total bytes of code 1075, prolog size 39, PerfScore 538.71, instruction count 271, allocated bytes for code 1075 (MethodHash=06a108f5) for method Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain:AppendResolutionPath(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier):this (FullOpts) +; Total bytes of code 1213, prolog size 59, PerfScore 474.79, instruction count 267, allocated bytes for code 1213 (MethodHash=06a108f5) for method Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain:AppendResolutionPath(System.Text.StringBuilder,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier):this (FullOpts) ```

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

Note: some changes were skipped as they were likely noise.

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

MihuBot commented 2 months ago

Top method improvements

-180 (-8.55 % of base) - System.Xml.Xsl.Xslt.QilGenerator:CompileKeys():this ```diff ; Assembly listing for method System.Xml.Xsl.Xslt.QilGenerator:CompileKeys():this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data -; 0 inlinees with PGO data; 99 single block inlinees; 13 inlinees without PGO data +; 0 inlinees with PGO data; 99 single block inlinees; 11 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 22,149 ) ref -> rbx this class-hnd single-def -; V01 loc0 [V01,T29] ( 5, 43 ) int -> r15 -;* V02 loc1 [V02 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op -;* V03 loc2 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact +; V00 this [V00,T01] ( 22,277 ) ref -> rbx this class-hnd single-def +; V01 loc0 [V01,T63] ( 5, 15 ) int -> r15 +; V02 loc1 [V02 ] ( 7, 42 ) struct (24) [rbp-0x40] do-not-enreg[XS] must-init addr-exposed ld-addr-op +; V03 loc2 [V03,T08] ( 9,144 ) ref -> r14 class-hnd exact ;* V04 loc3 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V05 loc4 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact -; V06 loc5 [V06,T31] ( 4, 32 ) ref -> [rbp-0x30] class-hnd spill-single-def +; V06 loc5 [V06,T51] ( 4, 48 ) ref -> [rbp-0x48] class-hnd spill-single-def ;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V08 loc7 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V10 tmp1 [V10,T34] ( 2, 32 ) ref -> [rbp-0x38] class-hnd exact spill-single-def "non-inline candidate call" -; V11 tmp2 [V11,T35] ( 2, 32 ) ref -> [rbp-0x40] class-hnd exact spill-single-def "non-inline candidate call" -; V12 tmp3 [V12,T36] ( 2, 32 ) ref -> [rbp-0x48] class-hnd exact spill-single-def "non-inline candidate call" -; V13 tmp4 [V13,T37] ( 2, 32 ) ref -> [rbp-0x50] class-hnd exact spill-single-def "non-inline candidate call" -; V14 tmp5 [V14,T38] ( 2, 32 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "non-inline candidate call" -; V15 tmp6 [V15,T18] ( 3, 48 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "non-inline candidate call" -; V16 tmp7 [V16,T39] ( 2, 32 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "impAppendStmt" +; V10 tmp1 [V10,T27] ( 2, 64 ) ref -> [rbp-0x50] class-hnd exact spill-single-def "non-inline candidate call" +; V11 tmp2 [V11,T28] ( 2, 64 ) ref -> r13 class-hnd exact "non-inline candidate call" +; V12 tmp3 [V12,T29] ( 2, 64 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "non-inline candidate call" +; V13 tmp4 [V13,T30] ( 2, 64 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "non-inline candidate call" +; V14 tmp5 [V14,T31] ( 2, 64 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "non-inline candidate call" +; V15 tmp6 [V15,T23] ( 3, 80 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "non-inline candidate call" +; V16 tmp7 [V16,T32] ( 2, 64 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "impAppendStmt" ;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" -; V18 tmp9 [V18,T19] ( 3, 48 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "impAppendStmt" -; V19 tmp10 [V19,T40] ( 2, 32 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "impAppendStmt" -; V20 tmp11 [V20,T41] ( 2, 32 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "impAppendStmt" -; V21 tmp12 [V21,T42] ( 2, 32 ) ref -> [rbp-0x88] class-hnd exact spill-single-def "impAppendStmt" -; V22 tmp13 [V22,T13] ( 5, 80 ) ref -> [rbp-0x90] class-hnd "impAppendStmt" +; V18 tmp9 [V18,T24] ( 3, 80 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "impAppendStmt" +; V19 tmp10 [V19,T33] ( 2, 64 ) ref -> [rbp-0x88] class-hnd exact spill-single-def "impAppendStmt" +; V20 tmp11 [V20,T34] ( 2, 64 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "impAppendStmt" +; V21 tmp12 [V21,T35] ( 2, 64 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "impAppendStmt" +; V22 tmp13 [V22,T10] ( 5,128 ) ref -> r13 class-hnd "impAppendStmt" ;* V23 tmp14 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V24 tmp15 [V24,T71] ( 2, 8 ) ref -> rax class-hnd "Inlining Arg" +; V24 tmp15 [V24,T64] ( 2, 8 ) ref -> rax class-hnd "Inlining Arg" ;* V25 tmp16 [V25 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" ;* V26 tmp17 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V27 tmp18 [V27,T43] ( 2, 32 ) ref -> rdi class-hnd exact "Inlining Arg" -; V28 tmp19 [V28,T44] ( 2, 32 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "Inlining Arg" +; V27 tmp18 [V27,T36] ( 2, 64 ) ref -> rdi class-hnd exact "Inlining Arg" +; V28 tmp19 [V28,T37] ( 2, 64 ) ref -> r12 class-hnd exact "Inlining Arg" ;* V29 tmp20 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V30 tmp21 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V31 tmp22 [V31,T02] ( 8,128 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "NewObj constructor temp" +; V31 tmp22 [V31,T02] ( 8,256 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "NewObj constructor temp" ;* V32 tmp23 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V33 tmp24 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -; V34 tmp25 [V34,T20] ( 3, 48 ) byref -> rdi "Inlining Arg" -; V35 tmp26 [V35,T45] ( 2, 32 ) ref -> rsi class-hnd "Inlining Arg" -; V36 tmp27 [V36,T46] ( 2, 32 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "Inlining Arg" +; V34 tmp25 [V34,T14] ( 3, 96 ) byref -> rdi "Inlining Arg" +; V35 tmp26 [V35,T38] ( 2, 64 ) ref -> rsi class-hnd "Inlining Arg" +; V36 tmp27 [V36,T39] ( 2, 64 ) ref -> r13 class-hnd exact "Inlining Arg" ;* V37 tmp28 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V38 tmp29 [V38,T03] ( 8,128 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "NewObj constructor temp" +; V38 tmp29 [V38,T04] ( 8,224 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "NewObj constructor temp" ;* V39 tmp30 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V40 tmp31 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V41 tmp32 [V41,T47] ( 2, 32 ) ref -> rax class-hnd "Inlining Arg" -; V42 tmp33 [V42,T21] ( 3, 48 ) byref -> rdi "Inlining Arg" -; V43 tmp34 [V43,T48] ( 2, 32 ) ref -> rsi class-hnd "Inlining Arg" -; V44 tmp35 [V44,T63] ( 3, 24 ) ref -> rax class-hnd "Inline return value spill temp" -; V45 tmp36 [V45,T14] ( 4, 64 ) ref -> rax class-hnd "Inlining Arg" -; V46 tmp37 [V46,T49] ( 2, 32 ) ref -> [rbp-0xB8] class-hnd exact spill-single-def "Inlining Arg" +; V41 tmp32 [V41,T40] ( 2, 64 ) ref -> rax class-hnd "Inlining Arg" +; V42 tmp33 [V42,T15] ( 3, 96 ) byref -> rdi "Inlining Arg" +; V43 tmp34 [V43,T41] ( 2, 64 ) ref -> rsi class-hnd "Inlining Arg" +; V44 tmp35 [V44,T56] ( 3, 32 ) ref -> rax class-hnd "Inline return value spill temp" +; V45 tmp36 [V45,T22] ( 4, 80 ) ref -> rax class-hnd "Inlining Arg" +; V46 tmp37 [V46,T42] ( 2, 64 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "Inlining Arg" ;* V47 tmp38 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V48 tmp39 [V48,T05] ( 7,112 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "NewObj constructor temp" +; V48 tmp39 [V48,T05] ( 7,224 ) ref -> [rbp-0xB8] class-hnd exact spill-single-def "NewObj constructor temp" ;* V49 tmp40 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V50 tmp41 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V51 tmp42 [V51,T50] ( 2, 32 ) ref -> rax class-hnd "Inlining Arg" -; V52 tmp43 [V52,T51] ( 2, 32 ) ref -> rdi class-hnd exact "Inlining Arg" -; V53 tmp44 [V53,T52] ( 2, 32 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "Inlining Arg" +; V51 tmp42 [V51,T43] ( 2, 64 ) ref -> rax class-hnd "Inlining Arg" +; V52 tmp43 [V52,T44] ( 2, 64 ) ref -> rdi class-hnd exact "Inlining Arg" +; V53 tmp44 [V53,T45] ( 2, 64 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "Inlining Arg" ;* V54 tmp45 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V55 tmp46 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V56 tmp47 [V56,T04] ( 8,128 ) ref -> [rbp-0xD0] class-hnd exact spill-single-def "NewObj constructor temp" +; V56 tmp47 [V56,T03] ( 8,256 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "NewObj constructor temp" ;* V57 tmp48 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V58 tmp49 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V59 tmp50 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V60 tmp51 [V60,T16] ( 6, 48 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "Inline stloc first use temp" +; V60 tmp51 [V60,T12] ( 6, 96 ) ref -> [rbp-0xD0] class-hnd exact spill-single-def "Inline stloc first use temp" ;* V61 tmp52 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V62 tmp53 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V63 tmp54 [V63,T11] ( 6, 96 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "NewObj constructor temp" +; V63 tmp54 [V63,T07] ( 6,192 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "NewObj constructor temp" ;* V64 tmp55 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V65 tmp56 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V66 tmp57 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V67 tmp58 [V67,T68] ( 2, 16 ) ref -> rsi class-hnd "Inline return value spill temp" +; V67 tmp58 [V67,T57] ( 2, 32 ) ref -> rsi class-hnd "Inline return value spill temp" ;* V68 tmp59 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V69 tmp60 [V69,T06] ( 7,112 ) ref -> [rbp-0xE8] class-hnd exact spill-single-def "NewObj constructor temp" +; V69 tmp60 [V69,T06] ( 7,224 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "NewObj constructor temp" ;* V70 tmp61 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V71 tmp62 [V71 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V72 tmp63 [V72,T53] ( 2, 32 ) ref -> rax class-hnd "Inlining Arg" -; V73 tmp64 [V73,T22] ( 3, 48 ) ref -> [rbp-0xF0] class-hnd spill-single-def "Inlining Arg" +; V72 tmp63 [V72,T46] ( 2, 64 ) ref -> rax class-hnd "Inlining Arg" +; V73 tmp64 [V73,T26] ( 3, 64 ) ref -> [rbp-0xE8] class-hnd spill-single-def "Inlining Arg" ;* V74 tmp65 [V74 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V75 tmp66 [V75,T07] ( 7,112 ) ref -> [rbp-0xF8] class-hnd exact spill-single-def "NewObj constructor temp" +; V75 tmp66 [V75,T11] ( 7,112 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def "NewObj constructor temp" ;* V76 tmp67 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V77 tmp68 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V78 tmp69 [V78,T54] ( 2, 32 ) ref -> rax class-hnd "Inlining Arg" +; V78 tmp69 [V78,T58] ( 2, 32 ) ref -> rax class-hnd "Inlining Arg" ;* V79 tmp70 [V79 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V80 tmp71 [V80,T55] ( 2, 32 ) ref -> [rbp-0x100] class-hnd spill-single-def "Inlining Arg" -; V81 tmp72 [V81,T56] ( 2, 32 ) ref -> [rbp-0x108] class-hnd exact spill-single-def "non-inline candidate call" +; V80 tmp71 [V80,T47] ( 2, 64 ) ref -> [rbp-0xF8] class-hnd spill-single-def "Inlining Arg" +; V81 tmp72 [V81,T48] ( 2, 64 ) ref -> [rbp-0x100] class-hnd exact spill-single-def "non-inline candidate call" ;* V82 tmp73 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V83 tmp74 [V83,T57] ( 2, 32 ) ref -> [rbp-0x110] class-hnd spill-single-def "Inlining Arg" -; V84 tmp75 [V84,T00] ( 12,192 ) ref -> [rbp-0x118] class-hnd exact spill-single-def "NewObj constructor temp" +; V83 tmp74 [V83,T49] ( 2, 64 ) ref -> [rbp-0x108] class-hnd spill-single-def "Inlining Arg" +; V84 tmp75 [V84,T00] ( 12,384 ) ref -> [rbp-0x110] class-hnd exact spill-single-def "NewObj constructor temp" ;* V85 tmp76 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" ;* V86 tmp77 [V86 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" -; V87 tmp78 [V87,T10] ( 7, 96 ) ref -> [rbp-0x120] class-hnd "Inlining Arg" -; V88 tmp79 [V88,T69] ( 2, 16 ) ref -> rsi class-hnd "Inline return value spill temp" +; V87 tmp78 [V87,T09] ( 7,144 ) ref -> r13 class-hnd "Inlining Arg" +; V88 tmp79 [V88,T62] ( 2, 16 ) ref -> r13 class-hnd "Inline return value spill temp" ;* V89 tmp80 [V89 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V90 tmp81 [V90,T32] ( 4, 32 ) ref -> [rbp-0x128] class-hnd exact spill-single-def "Inline stloc first use temp" +; V90 tmp81 [V90,T55] ( 4, 32 ) ref -> [rbp-0x118] class-hnd exact spill-single-def "Inline stloc first use temp" ;* V91 tmp82 [V91 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" -; V92 tmp83 [V92,T58] ( 2, 32 ) byref -> rdi "Inlining Arg" -; V93 tmp84 [V93,T59] ( 2, 32 ) byref -> rsi "Inlining Arg" +; V92 tmp83 [V92,T59] ( 2, 32 ) byref -> rdi "Inlining Arg" +; V93 tmp84 [V93,T60] ( 2, 32 ) byref -> rsi "Inlining Arg" ;* V94 tmp85 [V94 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -; V95 tmp86 [V95,T23] ( 3, 48 ) ref -> rdi class-hnd exact "Inlining Arg" -;* V96 tmp87 [V96,T61] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V97 tmp88 [V97 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -;* V98 tmp89 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V99 tmp90 [V99,T72] ( 3, 6 ) byref -> rbx single-def "Inlining Arg" -; V100 tmp91 [V100,T15] ( 4, 50 ) ref -> r14 "field V02._list (fldOffset=0x0)" P-INDEP -; V101 tmp92 [V101,T09] ( 9, 80 ) ref -> [rbp-0x130] spill-single-def "field V02._current (fldOffset=0x8)" P-INDEP -; V102 tmp93 [V102,T08] ( 6, 82 ) int -> r12 "field V02._index (fldOffset=0x10)" P-INDEP -; V103 tmp94 [V103,T67] ( 2, 18 ) int -> r13 "field V02._version (fldOffset=0x14)" P-INDEP -; V104 tmp95 [V104,T73] ( 3, 6 ) ref -> r14 "field V25._list (fldOffset=0x0)" P-INDEP -;* V105 tmp96 [V105 ] ( 0, 0 ) ref -> zero-ref "field V25._current (fldOffset=0x8)" P-INDEP -;* V106 tmp97 [V106,T75] ( 0, 0 ) int -> zero-ref "field V25._index (fldOffset=0x10)" P-INDEP -; V107 tmp98 [V107,T74] ( 2, 4 ) int -> r13 "field V25._version (fldOffset=0x14)" P-INDEP -; V108 tmp99 [V108,T12] ( 3, 96 ) ref -> rdi "arr expr" -; V109 tmp100 [V109,T24] ( 3, 48 ) ref -> rdi "argument with side effect" -; V110 tmp101 [V110,T25] ( 3, 48 ) ref -> rax "argument with side effect" -; V111 tmp102 [V111,T26] ( 3, 48 ) ref -> rdi "argument with side effect" -; V112 tmp103 [V112,T27] ( 3, 48 ) ref -> rax "argument with side effect" -; V113 tmp104 [V113,T60] ( 2, 32 ) ref -> rsi "argument with side effect" -; V114 cse0 [V114,T70] ( 2, 16 ) ref -> rdi "CSE #10: conservative" -; V115 cse1 [V115,T64] ( 3, 24 ) ref -> [rbp-0x138] spill-single-def "CSE #01: conservative" -; V116 cse2 [V116,T65] ( 3, 24 ) ref -> [rbp-0x140] spill-single-def "CSE #07: conservative" -; V117 cse3 [V117,T17] ( 6, 48 ) ref -> rdi "CSE #09: moderate" -; V118 cse4 [V118,T30] ( 5, 40 ) ref -> rdi "CSE #04: moderate" -; V119 cse5 [V119,T33] ( 4, 32 ) ref -> [rbp-0x148] spill-single-def "CSE #08: conservative" -; V120 cse6 [V120,T62] ( 2, 32 ) int -> rdi "CSE #13: moderate" -; V121 cse7 [V121,T28] ( 2, 32 ) int -> rdi "CSE #14: moderate" -; V122 cse8 [V122,T66] ( 3, 24 ) ref -> rax "CSE #02: conservative" +; V95 tmp86 [V95,T16] ( 3, 96 ) ref -> rdi class-hnd exact "Inlining Arg" +;* V96 tmp87 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V97 tmp88 [V97,T65] ( 3, 6 ) byref -> rbx single-def "Inlining Arg" +; V98 tmp89 [V98 ] ( 3, 20 ) ref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V02._list (fldOffset=0x0)" P-DEP +; V99 tmp90 [V99 ] ( 4, 36 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V02._current (fldOffset=0x8)" P-DEP +; V100 tmp91 [V100 ] ( 3, 20 ) int -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V02._index (fldOffset=0x10)" P-DEP +; V101 tmp92 [V101 ] ( 3, 20 ) int -> [rbp-0x2C] do-not-enreg[X] addr-exposed "field V02._version (fldOffset=0x14)" P-DEP +; V102 tmp93 [V102,T66] ( 3, 6 ) ref -> rax "field V25._list (fldOffset=0x0)" P-INDEP +;* V103 tmp94 [V103,T68] ( 0, 0 ) ref -> zero-ref "field V25._current (fldOffset=0x8)" P-INDEP +;* V104 tmp95 [V104,T69] ( 0, 0 ) int -> zero-ref "field V25._index (fldOffset=0x10)" P-INDEP +; V105 tmp96 [V105,T67] ( 2, 4 ) int -> rdi "field V25._version (fldOffset=0x14)" P-INDEP +; V106 tmp97 [V106,T17] ( 3, 96 ) ref -> rdi "argument with side effect" +; V107 tmp98 [V107,T18] ( 3, 96 ) ref -> rax "argument with side effect" +; V108 tmp99 [V108,T19] ( 3, 96 ) ref -> rdi "argument with side effect" +; V109 tmp100 [V109,T20] ( 3, 96 ) ref -> rax "argument with side effect" +; V110 tmp101 [V110,T50] ( 2, 64 ) ref -> rsi "argument with side effect" +; V111 cse0 [V111,T61] ( 2, 32 ) ref -> rdi "CSE #10: conservative" +; V112 cse1 [V112,T52] ( 3, 48 ) ref -> r13 "CSE #01: conservative" +; V113 cse2 [V113,T53] ( 3, 48 ) ref -> [rbp-0x120] spill-single-def "CSE #07: conservative" +; V114 cse3 [V114,T13] ( 6, 96 ) ref -> rdi "CSE #09: moderate" +; V115 cse4 [V115,T21] ( 5, 80 ) ref -> rdi "CSE #04: moderate" +; V116 cse5 [V116,T25] ( 4, 64 ) ref -> [rbp-0x128] spill-single-def "CSE #08: conservative" +; V117 cse6 [V117,T54] ( 3, 48 ) ref -> r13 "CSE #02: conservative" ; -; Lcl frame size = 296 +; Lcl frame size = 264 G_M6951_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 296 - lea rbp, [rsp+0x150] + sub rsp, 264 + lea rbp, [rsp+0x130] + vxorps xmm8, xmm8, xmm8 + vmovdqa xmmword ptr [rbp-0x40], xmm8 + xor eax, eax + mov qword ptr [rbp-0x30], rax mov rbx, rdi - ;; size=28 bbWeight=1 PerfScore 7.00 + ;; size=44 bbWeight=1 PerfScore 10.58 G_M6951_IG02: xor r15d, r15d - jmp G_M6951_IG19 + jmp G_M6951_IG21 ;; size=8 bbWeight=1 PerfScore 2.25 G_M6951_IG03: mov rdi, gword ptr [rbx+0x78] mov rdi, gword ptr [rdi+0x68] mov rdi, gword ptr [rdi+0x08] mov esi, r15d mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this call [r11]System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this - mov r14, rax - mov r13d, dword ptr [r14+0x14] - xor r12d, r12d - jmp G_M6951_IG17 - ;; size=43 bbWeight=2 PerfScore 28.00 + mov edi, dword ptr [rax+0x14] + mov gword ptr [rbp-0x40], rax + xor rsi, rsi + mov gword ptr [rbp-0x38], rsi + ;; size=41 bbWeight=2 PerfScore 27.50 G_M6951_IG04: + mov dword ptr [rbp-0x30], esi + mov dword ptr [rbp-0x2C], edi + lea rdi, [rbp-0x40] + mov rsi, 0xD1FFAB1E ; System.Collections.Generic.List`1+Enumerator[System.Xml.Xsl.Xslt.Key] + mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this + call [rax]System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this + test eax, eax + je G_M6951_IG20 + ;; size=40 bbWeight=2 PerfScore 14.50 +G_M6951_IG05: + mov r14, gword ptr [rbp-0x38] lea rdi, bword ptr [rbx+0xB8] - mov rsi, rax + mov rsi, r14 call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x130] - mov edi, dword ptr [rax+0x34] + mov edi, dword ptr [r14+0x34] mov dword ptr [rbx+0xF0], edi mov rdi, gword ptr [rbx+0x08] - mov rsi, gword ptr [rax+0x10] - mov rcx, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:EnterScope(System.Xml.Xsl.Xslt.NsDecl):ubyte:this + mov rsi, gword ptr [r14+0x10] + mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:EnterScope(System.Xml.Xsl.Xslt.NsDecl):ubyte:this cmp dword ptr [rdi], edi - call [rcx]System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:EnterScope(System.Xml.Xsl.Xslt.NsDecl):ubyte:this + call [rax]System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:EnterScope(System.Xml.Xsl.Xslt.NsDecl):ubyte:this test eax, eax - je SHORT G_M6951_IG05 + je SHORT G_M6951_IG07 + ;; size=55 bbWeight=16 PerfScore 276.00 +G_M6951_IG06: mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.QilGenerator:BuildDebuggerNamespaces():System.Xml.Xsl.Qil.QilList:this call [rax]System.Xml.Xsl.Xslt.QilGenerator:BuildDebuggerNamespaces():System.Xml.Xsl.Qil.QilList:this - ;; size=72 bbWeight=8 PerfScore 166.00 -G_M6951_IG05: + ;; size=15 bbWeight=8 PerfScore 28.00 +G_M6951_IG07: mov rdi, gword ptr [rbx+0x20] mov rax, 0xD1FFAB1E ; const ptr - mov rax, gword ptr [rax] - mov gword ptr [rbp-0x138], rax - mov gword ptr [rbp-0x98], rax + mov r13, gword ptr [rax] + mov r12, r13 mov rdi, gword ptr [rdi+0x08] cmp byte ptr [rdi], dil mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Qil.QilParameter call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0xA0], rax mov dword ptr [rax+0x20], 16 xor rdi, rdi mov gword ptr [rax+0x30], rdi - ;; size=73 bbWeight=8 PerfScore 126.00 -G_M6951_IG06: + ;; size=62 bbWeight=16 PerfScore 224.00 +G_M6951_IG08: mov gword ptr [rax+0x38], rdi lea rdi, bword ptr [rax+0x08] - mov rsi, gword ptr [rbp-0x98] + mov rsi, r12 call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0xA0] - lea rdi, bword ptr [rax+0x08] - mov rsi, gword ptr [rbp-0x138] + mov r12, gword ptr [rbp-0xA0] + lea rdi, bword ptr [r12+0x08] + mov rsi, r13 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [rbx+0x100] mov dword ptr [rdi+0x10], 3 lea rdi, bword ptr [rdi+0x08] - mov rsi, gword ptr [rbp-0xA0] + mov rsi, r12 call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbx+0x20] - mov gword ptr [rbp-0x38], rax - mov gword ptr [rbp-0x40], rax - mov rdx, gword ptr [rbp-0x130] - mov rsi, gword ptr [rdx+0x40] + mov r13, gword ptr [rbx+0x20] + mov gword ptr [rbp-0x50], r13 + mov rsi, gword ptr [r14+0x40] mov rdi, rbx - mov r8, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.QilGenerator:CompileKeyMatch(System.String):System.Xml.Xsl.Qil.QilNode:this - call [r8]System.Xml.Xsl.Xslt.QilGenerator:CompileKeyMatch(System.String):System.Xml.Xsl.Qil.QilNode:this + mov rcx, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.QilGenerator:CompileKeyMatch(System.String):System.Xml.Xsl.Qil.QilNode:this + call [rcx]System.Xml.Xsl.Xslt.QilGenerator:CompileKeyMatch(System.String):System.Xml.Xsl.Qil.QilNode:this mov rsi, rax - mov rdi, gword ptr [rbp-0x40] - mov rdi, gword ptr [rdi+0x08] + mov rdi, gword ptr [r13+0x08] mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilFactory:OptimizeBarrier(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilUnary:this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Qil.QilFactory:OptimizeBarrier(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilUnary:this - mov gword ptr [rbp-0xA8], rax - mov rdi, gword ptr [rbp-0x38] + mov r13, rax + mov rdi, gword ptr [rbp-0x50] mov rdi, gword ptr [rdi+0x08] cmp byte ptr [rdi], dil mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Qil.QilIterator call CORINFO_HELP_NEWSFAST - mov gword ptr [rbp-0xB0], rax + mov gword ptr [rbp-0xA8], rax mov dword ptr [rax+0x20], 14 lea rdi, bword ptr [rax+0x30] - mov rsi, gword ptr [rbp-0xA8] + mov rsi, r13 call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0xB0] - mov rdi, gword ptr [rax+0x30] - mov rcx, qword ptr [rdi] - mov rcx, qword ptr [rcx+0x40] - call [rcx+0x20]System.Xml.Xsl.Qil.QilNode:get_XmlType():System.Xml.Xsl.XmlQueryType:this + mov r13, gword ptr [rbp-0xA8] + mov rdi, gword ptr [r13+0x30] + mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x40] + call [rax+0x20]System.Xml.Xsl.Qil.QilNode:get_XmlType():System.Xml.Xsl.XmlQueryType:this mov rdi, rax mov rax, qword ptr [rax] - ;; size=227 bbWeight=8 PerfScore 448.00 -G_M6951_IG07: mov rax, qword ptr [rax+0x60] call [rax+0x30]System.Xml.Xsl.XmlQueryType:get_Prime():System.Xml.Xsl.XmlQueryType:this - mov rcx, gword ptr [rbp-0xB0] - lea rdi, bword ptr [rcx+0x08] + lea rdi, bword ptr [r13+0x08] mov rsi, rax + ;; size=206 bbWeight=16 PerfScore 880.00 +G_M6951_IG09: call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [rbx+0x100] mov dword ptr [rdi+0x10], 3 lea rdi, bword ptr [rdi+0x08] - mov rsi, gword ptr [rbp-0xB0] + mov rsi, r13 call CORINFO_HELP_ASSIGN_REF mov rax, gword ptr [rbx+0x20] - mov gword ptr [rbp-0x48], rax + mov gword ptr [rbp-0x58], rax mov rdi, rbx - mov rsi, gword ptr [rbp-0x130] + mov rsi, r14 mov rcx, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.QilGenerator:CompileKeyUse(System.Xml.Xsl.Xslt.Key):System.Xml.Xsl.Qil.QilNode:this call [rcx]System.Xml.Xsl.Xslt.QilGenerator:CompileKeyUse(System.Xml.Xsl.Xslt.Key):System.Xml.Xsl.Qil.QilNode:this mov rsi, rax - mov rdi, gword ptr [rbp-0x48] + mov rdi, gword ptr [rbp-0x58] mov rdi, gword ptr [rdi+0x08] mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilFactory:For(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilIterator:this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Qil.QilFactory:For(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilIterator:this - mov gword ptr [rbp-0x30], rax + mov gword ptr [rbp-0x48], rax mov rdi, gword ptr [rbx+0x20] - mov gword ptr [rbp-0x50], rdi - mov gword ptr [rbp-0x58], rdi mov gword ptr [rbp-0x60], rdi + mov gword ptr [rbp-0x68], rdi + mov gword ptr [rbp-0x70], rdi mov rsi, rax mov r9, 0xD1FFAB1E ; code for System.Xml.Xsl.XPath.XPathQilFactory:ConvertToString(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this cmp dword ptr [rdi], edi call [r9]System.Xml.Xsl.XPath.XPathQilFactory:ConvertToString(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this - mov rdi, gword ptr [rbp-0x60] + mov rdi, gword ptr [rbp-0x70] cmp byte ptr [rdi+0x10], 0 - jne SHORT G_M6951_IG08 - mov rsi, gword ptr [rbp-0x30] + jne SHORT G_M6951_IG11 + ;; size=130 bbWeight=16 PerfScore 608.00 +G_M6951_IG10: + mov rsi, gword ptr [rbp-0x48] cmp rax, gword ptr [rsi+0x30] - jne SHORT G_M6951_IG08 - jmp SHORT G_M6951_IG09 - ;; size=171 bbWeight=8 PerfScore 426.00 -G_M6951_IG08: + jne SHORT G_M6951_IG11 + jmp SHORT G_M6951_IG12 + ;; size=12 bbWeight=8 PerfScore 56.00 +G_M6951_IG11: mov rdi, gword ptr [rdi+0x08] - mov rsi, gword ptr [rbp-0x30] + mov rsi, gword ptr [rbp-0x48] mov rdx, rax mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilFactory:Loop(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilLoop:this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Qil.QilFactory:Loop(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilLoop:this ;; size=25 bbWeight=8 PerfScore 76.00 -G_M6951_IG09: - mov rdi, gword ptr [rbp-0x58] +G_M6951_IG12: + mov rdi, gword ptr [rbp-0x68] mov rdi, gword ptr [rdi+0x08] mov rsi, rax mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilFactory:OptimizeBarrier(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilUnary:this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Qil.QilFactory:OptimizeBarrier(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilUnary:this - mov gword ptr [rbp-0xB8], rax - mov rdi, gword ptr [rbp-0x50] + mov gword ptr [rbp-0xB0], rax + mov rdi, gword ptr [rbp-0x60] mov rdi, gword ptr [rdi+0x08] cmp byte ptr [rdi], dil mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Qil.QilIterator call CORINFO_HELP_NEWSFAST - mov gword ptr [rbp-0xC0], rax + mov gword ptr [rbp-0xB8], rax mov dword ptr [rax+0x20], 14 lea rdi, bword ptr [rax+0x30] - mov rsi, gword ptr [rbp-0xB8] + mov rsi, gword ptr [rbp-0xB0] call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0xC0] + mov rax, gword ptr [rbp-0xB8] mov rdi, gword ptr [rax+0x30] mov rcx, qword ptr [rdi] mov rcx, qword ptr [rcx+0x40] call [rcx+0x20]System.Xml.Xsl.Qil.QilNode:get_XmlType():System.Xml.Xsl.XmlQueryType:this mov rdi, rax mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x60] call [rax+0x30]System.Xml.Xsl.XmlQueryType:get_Prime():System.Xml.Xsl.XmlQueryType:this - mov rcx, gword ptr [rbp-0xC0] + mov rcx, gword ptr [rbp-0xB8] lea rdi, bword ptr [rcx+0x08] mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov rax, gword ptr [rbx+0x20] - mov gword ptr [rbp-0x148], rax + mov gword ptr [rbp-0x128], rax mov rdi, rax mov rcx, 0xD1FFAB1E ; const ptr mov rcx, gword ptr [rcx] - mov gword ptr [rbp-0x140], rcx - mov gword ptr [rbp-0xC8], rcx + mov gword ptr [rbp-0x120], rcx + mov gword ptr [rbp-0xC0], rcx mov rdi, gword ptr [rdi+0x08] cmp byte ptr [rdi], dil mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Qil.QilParameter call CORINFO_HELP_NEWSFAST - mov gword ptr [rbp-0xD0], rax + mov gword ptr [rbp-0xC8], rax mov dword ptr [rax+0x20], 16 xor rdi, rdi mov gword ptr [rax+0x30], rdi - ;; size=224 bbWeight=8 PerfScore 474.00 -G_M6951_IG10: + ;; size=224 bbWeight=16 PerfScore 948.00 +G_M6951_IG13: mov gword ptr [rax+0x38], rdi lea rdi, bword ptr [rax+0x08] - mov rsi, gword ptr [rbp-0xC8] + mov rsi, gword ptr [rbp-0xC0] call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0xD0] + mov rax, gword ptr [rbp-0xC8] lea rdi, bword ptr [rax+0x08] - mov rsi, gword ptr [rbp-0x140] + mov rsi, gword ptr [rbp-0x120] call CORINFO_HELP_ASSIGN_REF - mov rdi, gword ptr [rbp-0x148] - mov gword ptr [rbp-0x68], rdi + mov rdi, gword ptr [rbp-0x128] + mov gword ptr [rbp-0x78], rdi mov rdi, gword ptr [rdi+0x08] mov rcx, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilFactory:FormalParameterList():System.Xml.Xsl.Qil.QilList:this cmp dword ptr [rdi], edi call [rcx]System.Xml.Xsl.Qil.QilFactory:FormalParameterList():System.Xml.Xsl.Qil.QilList:this - mov gword ptr [rbp-0xD8], rax - mov esi, dword ptr [rax+0x24] - mov rdi, rax - mov rdx, gword ptr [rbp-0xA0] - mov rcx, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilList:Insert(int,System.Xml.Xsl.Qil.QilNode):this - call [rcx]System.Xml.Xsl.Qil.QilList:Insert(int,System.Xml.Xsl.Qil.QilNode):this - mov rax, gword ptr [rbp-0xD8] + mov gword ptr [rbp-0xD0], rax mov esi, dword ptr [rax+0x24] mov rdi, rax - mov rdx, gword ptr [rbp-0xD0] + mov rdx, r12 mov rcx, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilList:Insert(int,System.Xml.Xsl.Qil.QilNode):this call [rcx]System.Xml.Xsl.Qil.QilList:Insert(int,System.Xml.Xsl.Qil.QilNode):this + mov r12, gword ptr [rbp-0xD0] + mov esi, dword ptr [r12+0x24] + mov rdi, r12 + mov rdx, gword ptr [rbp-0xC8] + mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilList:Insert(int,System.Xml.Xsl.Qil.QilNode):this + call [rax]System.Xml.Xsl.Qil.QilList:Insert(int,System.Xml.Xsl.Qil.QilNode):this mov rdi, gword ptr [rbx+0x20] - mov gword ptr [rbp-0x70], rdi - mov gword ptr [rbp-0x78], rdi mov gword ptr [rbp-0x80], rdi mov gword ptr [rbp-0x88], rdi + mov gword ptr [rbp-0x90], rdi + mov gword ptr [rbp-0x98], rdi mov rdi, gword ptr [rdi+0x08] cmp byte ptr [rdi], dil mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Qil.QilBinary call CORINFO_HELP_NEWSFAST - mov gword ptr [rbp-0xE0], rax + mov gword ptr [rbp-0xD8], rax mov dword ptr [rax+0x20], 52 lea rdi, bword ptr [rax+0x28] - mov rsi, gword ptr [rbp-0xC0] + mov rsi, gword ptr [rbp-0xB8] call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0xE0] + mov rax, gword ptr [rbp-0xD8] lea rdi, bword ptr [rax+0x30] - mov rsi, gword ptr [rbp-0xD0] + mov rsi, gword ptr [rbp-0xC8] call CORINFO_HELP_ASSIGN_REF - ;; size=234 bbWeight=8 PerfScore 420.00 -G_M6951_IG11: mov rdi, 0xD1FFAB1E ; const ptr + ;; size=248 bbWeight=16 PerfScore 832.00 +G_M6951_IG14: mov rsi, gword ptr [rdi] - mov rax, gword ptr [rbp-0xE0] + mov rax, gword ptr [rbp-0xD8] lea rdi, bword ptr [rax+0x08] call CORINFO_HELP_ASSIGN_REF - mov rdi, gword ptr [rbp-0x88] + mov rdi, gword ptr [rbp-0x98] movsx rdi, byte ptr [rdi+0x10] mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Qil.QilLoop call CORINFO_HELP_NEWSFAST mov rsi, rax - mov gword ptr [rbp-0xE8], rsi + mov gword ptr [rbp-0xE0], rsi mov dword ptr [rsi+0x20], 61 lea rdi, bword ptr [rsi+0x28] - mov rsi, gword ptr [rbp-0xC0] + mov rsi, gword ptr [rbp-0xB8] call CORINFO_HELP_ASSIGN_REF - mov rsi, gword ptr [rbp-0xE8] - lea rdi, bword ptr [rsi+0x30] mov rsi, gword ptr [rbp-0xE0] + lea rdi, bword ptr [rsi+0x30] + mov rsi, gword ptr [rbp-0xD8] call CORINFO_HELP_ASSIGN_REF - mov rdi, gword ptr [rbp-0xE8] + mov rdi, gword ptr [rbp-0xE0] mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilTypeChecker:CheckFilter(System.Xml.Xsl.Qil.QilLoop):System.Xml.Xsl.XmlQueryType call [rax]System.Xml.Xsl.Qil.QilTypeChecker:CheckFilter(System.Xml.Xsl.Qil.QilLoop):System.Xml.Xsl.XmlQueryType - mov rsi, gword ptr [rbp-0xE8] + mov rsi, gword ptr [rbp-0xE0] lea rdi, bword ptr [rsi+0x08] mov rsi, rax call CORINFO_HELP_ASSIGN_REF - mov rsi, gword ptr [rbp-0xE8] - mov rdi, gword ptr [rbp-0x80] + mov rsi, gword ptr [rbp-0xE0] + mov rdi, gword ptr [rbp-0x90] mov rdi, gword ptr [rdi+0x08] mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilFactory:IsEmpty(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilUnary:this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Qil.QilFactory:IsEmpty(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilUnary:this mov rsi, rax - mov rdi, gword ptr [rbp-0x78] + mov rdi, gword ptr [rbp-0x88] mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilPatternFactory:Not(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Qil.QilPatternFactory:Not(System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this - mov gword ptr [rbp-0xF0], rax - mov rdi, gword ptr [rbp-0x70] + mov gword ptr [rbp-0xE8], rax + mov rdi, gword ptr [rbp-0x80] cmp byte ptr [rdi+0x10], 0 - jne SHORT G_M6951_IG13 + jne SHORT G_M6951_IG16 + ;; size=213 bbWeight=16 PerfScore 796.00 +G_M6951_IG15: cmp dword ptr [rax+0x20], 18 - ;; size=221 bbWeight=8 PerfScore 424.00 -G_M6951_IG12: - jne SHORT G_M6951_IG13 - mov rax, gword ptr [rbp-0xB0] - mov rcx, gword ptr [rax+0x30] - mov gword ptr [rbp-0x90], rcx - jmp G_M6951_IG14 - ;; size=25 bbWeight=8 PerfScore 56.00 -G_M6951_IG13: + jne SHORT G_M6951_IG16 + mov r13, gword ptr [r13+0x30] + jmp SHORT G_M6951_IG17 + ;; size=12 bbWeight=8 PerfScore 64.00 +G_M6951_IG16: mov rdi, gword ptr [rdi+0x08] cmp byte ptr [rdi], dil mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Qil.QilLoop call CORINFO_HELP_NEWSFAST - mov rcx, rax - mov gword ptr [rbp-0xF8], rcx - mov dword ptr [rcx+0x20], 61 - lea rdi, bword ptr [rcx+0x28] - mov rsi, gword ptr [rbp-0xB0] + mov gword ptr [rbp-0xF0], rax + mov dword ptr [rax+0x20], 61 + lea rdi, bword ptr [rax+0x28] + mov rsi, r13 call CORINFO_HELP_ASSIGN_REF - mov rcx, gword ptr [rbp-0xF8] - lea rdi, bword ptr [rcx+0x30] - mov rsi, gword ptr [rbp-0xF0] + mov r13, gword ptr [rbp-0xF0] + lea rdi, bword ptr [r13+0x30] + mov rsi, gword ptr [rbp-0xE8] call CORINFO_HELP_ASSIGN_REF - mov rdi, gword ptr [rbp-0xF8] + mov rdi, r13 mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilTypeChecker:CheckFilter(System.Xml.Xsl.Qil.QilLoop):System.Xml.Xsl.XmlQueryType call [rax]System.Xml.Xsl.Qil.QilTypeChecker:CheckFilter(System.Xml.Xsl.Qil.QilLoop):System.Xml.Xsl.XmlQueryType - mov rcx, gword ptr [rbp-0xF8] - lea rdi, bword ptr [rcx+0x08] + lea rdi, bword ptr [r13+0x08] mov rsi, rax call CORINFO_HELP_ASSIGN_REF - mov rcx, gword ptr [rbp-0xF8] - mov gword ptr [rbp-0x90], rcx - ;; size=130 bbWeight=8 PerfScore 188.00 -G_M6951_IG14: + ;; size=98 bbWeight=8 PerfScore 150.00 +G_M6951_IG17: mov rdi, gword ptr [rbx+0x20] mov rdi, gword ptr [rdi+0x08] mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilFactory:False():System.Xml.Xsl.Qil.QilNode:this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Qil.QilFactory:False():System.Xml.Xsl.Qil.QilNode:this - mov gword ptr [rbp-0x100], rax - mov rdi, gword ptr [rbp-0x68] + mov gword ptr [rbp-0xF8], rax + mov rdi, gword ptr [rbp-0x78] mov rcx, gword ptr [rdi+0x08] - mov gword ptr [rbp-0x108], rcx - mov rdi, gword ptr [rbp-0x90] - mov gword ptr [rbp-0x90], rdi - mov rdx, qword ptr [rdi] + mov gword ptr [rbp-0x100], rcx + mov rdi, r13 + mov rdx, qword ptr [r13] mov rdx, qword ptr [rdx+0x40] call [rdx+0x20]System.Xml.Xsl.Qil.QilNode:get_XmlType():System.Xml.Xsl.XmlQueryType:this - mov gword ptr [rbp-0x110], rax - mov rdi, gword ptr [rbp-0x108] + mov gword ptr [rbp-0x108], rax + mov rdi, gword ptr [rbp-0x100] cmp byte ptr [rdi], dil mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Qil.QilFunction call CORINFO_HELP_NEWSFAST - mov gword ptr [rbp-0x118], rax + mov gword ptr [rbp-0x110], rax mov dword ptr [rax+0x20], 65 lea rdi, bword ptr [rax+0x30] - mov rsi, gword ptr [rbp-0xD8] + mov rsi, r12 call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x118] - lea rdi, bword ptr [rax+0x38] - mov rsi, gword ptr [rbp-0x90] + mov r12, gword ptr [rbp-0x110] + lea rdi, bword ptr [r12+0x38] + mov rsi, r13 call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x118] - lea rdi, bword ptr [rax+0x40] - mov rsi, gword ptr [rbp-0x100] + lea rdi, bword ptr [r12+0x40] + mov rsi, gword ptr [rbp-0xF8] call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x118] - lea rdi, bword ptr [rax+0x08] - mov rsi, gword ptr [rbp-0x110] + lea rdi, bword ptr [r12+0x08] + mov rsi, gword ptr [rbp-0x108] call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x118] - mov rsi, gword ptr [rax+0x08] - lea rdi, bword ptr [rax+0x08] + mov rsi, gword ptr [r12+0x08] + lea rdi, bword ptr [r12+0x08] call CORINFO_HELP_ASSIGN_REF - mov rdi, gword ptr [rbp-0x130] + mov rdi, r14 mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.Key:GetDebugName():System.String:this call [rax]System.Xml.Xsl.Xslt.Key:GetDebugName():System.String:this - ;; size=238 bbWeight=8 PerfScore 434.00 -G_M6951_IG15: - mov rsi, rax - cmp dword ptr [rsi+0x08], 0x3E8 - jle SHORT G_M6951_IG16 - mov gword ptr [rbp-0x120], rsi - cmp dword ptr [rsi+0x08], 0x3E8 - jb G_M6951_IG24 + mov r13, rax + cmp dword ptr [r13+0x08], 0x3E8 + jle SHORT G_M6951_IG19 + ;; size=213 bbWeight=16 PerfScore 824.00 +G_M6951_IG18: + cmp dword ptr [r13+0x08], 0x3E8 + jb G_M6951_IG25 mov edi, 0x3E8 call System.String:FastAllocateString(int):System.String - mov gword ptr [rbp-0x128], rax + mov gword ptr [rbp-0x118], rax cmp byte ptr [rax], al lea rdi, bword ptr [rax+0x0C] - mov rsi, gword ptr [rbp-0x120] - add rsi, 12 + lea rsi, bword ptr [r13+0x0C] mov edx, 0x7D0 mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong) - mov rsi, gword ptr [rbp-0x128] - mov rax, rsi - mov rsi, rax - ;; size=96 bbWeight=8 PerfScore 170.00 -G_M6951_IG16: - mov rax, gword ptr [rbp-0x118] - lea rdi, bword ptr [rax+0x28] + mov r13, gword ptr [rbp-0x118] + ;; size=65 bbWeight=8 PerfScore 118.00 +G_M6951_IG19: + lea rdi, bword ptr [r12+0x28] + mov rsi, r13 call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x130] - mov rsi, gword ptr [rax+0x08] - mov rdi, gword ptr [rbp-0x118] - mov rcx, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.QilGenerator:SetLineInfo(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.ISourceLineInfo):System.Xml.Xsl.Qil.QilNode - call [rcx]System.Xml.Xsl.Xslt.QilGenerator:SetLineInfo(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.ISourceLineInfo):System.Xml.Xsl.Qil.QilNode - mov rdi, gword ptr [rbp-0x130] - lea rdi, bword ptr [rdi+0x50] - mov rsi, gword ptr [rbp-0x118] + mov rsi, gword ptr [r14+0x08] + mov rdi, r12 + mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.QilGenerator:SetLineInfo(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.ISourceLineInfo):System.Xml.Xsl.Qil.QilNode + call [rax]System.Xml.Xsl.Xslt.QilGenerator:SetLineInfo(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.ISourceLineInfo):System.Xml.Xsl.Qil.QilNode + lea rdi, bword ptr [r14+0x50] + mov rsi, r12 call CORINFO_HELP_ASSIGN_REF mov rdi, gword ptr [rbx+0x80] mov esi, dword ptr [rdi+0x24] - mov rdx, gword ptr [rbp-0x118] + mov rdx, r12 mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Qil.QilList:Insert(int,System.Xml.Xsl.Qil.QilNode):this call [rax]System.Xml.Xsl.Qil.QilList:Insert(int,System.Xml.Xsl.Qil.QilNode):this mov rdi, gword ptr [rbx+0x08] mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:ExitScope():this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:ExitScope():this - ;; size=116 bbWeight=8 PerfScore 238.00 -G_M6951_IG17: - mov edi, dword ptr [r14+0x14] - cmp r13d, edi - jne G_M6951_IG25 - mov edi, dword ptr [r14+0x10] - cmp r12d, edi - jae SHORT G_M6951_IG18 - mov rdi, gword ptr [r14+0x08] - cmp r12d, dword ptr [rdi+0x08] - jae SHORT G_M6951_IG23 - mov esi, r12d - mov rax, gword ptr [rdi+8*rsi+0x10] - mov gword ptr [rbp-0x130], rax - inc r12d - jmp G_M6951_IG04 - ;; size=55 bbWeight=16 PerfScore 288.00 -G_M6951_IG18: + lea rdi, [rbp-0x40] + mov rsi, 0xD1FFAB1E ; System.Collections.Generic.List`1+Enumerator[System.Xml.Xsl.Xslt.Key] + mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this + call [rax]System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this + test eax, eax + jne G_M6951_IG05 + ;; size=121 bbWeight=16 PerfScore 480.00 +G_M6951_IG20: inc r15d - ;; size=3 bbWeight=16 PerfScore 4.00 -G_M6951_IG19: + ;; size=3 bbWeight=2 PerfScore 0.50 +G_M6951_IG21: mov rdi, gword ptr [rbx+0x78] mov rdi, gword ptr [rdi+0x68] mov rdi, gword ptr [rdi+0x08] mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this call [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this cmp eax, r15d jg G_M6951_IG03 ;; size=34 bbWeight=8 PerfScore 84.00 -G_M6951_IG20: +G_M6951_IG22: add rbx, 256 xor edi, edi mov dword ptr [rbx+0x10], edi ;; size=12 bbWeight=1 PerfScore 1.50 -G_M6951_IG21: +G_M6951_IG23: mov gword ptr [rbx+0x08], rdi ;; size=4 bbWeight=1 PerfScore 1.00 -G_M6951_IG22: - add rsp, 296 +G_M6951_IG24: + add rsp, 264 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=1 PerfScore 4.25 -G_M6951_IG23: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -G_M6951_IG24: - mov rsi, gword ptr [rbp-0x120] - mov rdi, rsi +G_M6951_IG25: + mov rdi, r13 xor esi, esi mov edx, 0x3E8 mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this int3 - ;; size=30 bbWeight=0 PerfScore 0.00 -G_M6951_IG25: - 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 + ;; size=23 bbWeight=0 PerfScore 0.00 -; Total bytes of code 2106, prolog size 25, PerfScore 4066.00, instruction count 428, allocated bytes for code 2106 (MethodHash=43e1e4d8) for method System.Xml.Xsl.Xslt.QilGenerator:CompileKeys():this (FullOpts) +; Total bytes of code 1926, prolog size 41, PerfScore 6506.08, instruction count 405, allocated bytes for code 1926 (MethodHash=43e1e4d8) for method System.Xml.Xsl.Xslt.QilGenerator:CompileKeys():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/145f6b7c20cb95ddfeaed043d9518d75

MihuBot commented 2 months ago

@MihaZupan