MihuBot / runtime-utils

0 stars 0 forks source link

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

Open MihuBot opened 6 months ago

MihuBot commented 6 months ago

Build completed in 20 minutes.

Diffs

Diffs ``` Found 322 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38878121 Total bytes of diff: 38878086 Total bytes of delta: -35 (-0.00 % of base) Total relative delta: 1.17 diff is an improvement. relative diff is a regression. Top file regressions (bytes): 599 : System.Linq.dasm (0.05 % of base) 399 : System.Threading.RateLimiting.dasm (0.23 % of base) 62 : System.Reflection.Metadata.dasm (0.01 % of base) 35 : System.Net.HttpListener.dasm (0.03 % of base) 33 : Microsoft.VisualBasic.Core.dasm (0.01 % of base) 30 : System.Text.Json.dasm (0.00 % of base) 28 : System.Text.RegularExpressions.dasm (0.00 % of base) 10 : System.Linq.Expressions.dasm (0.00 % of base) 9 : Microsoft.Extensions.DependencyModel.dasm (0.01 % of base) 6 : System.Resources.Writer.dasm (0.06 % of base) 2 : System.Security.Claims.dasm (0.01 % of base) Top file improvements (bytes): -143 : System.Private.Xml.dasm (-0.00 % of base) -113 : System.Data.Common.dasm (-0.01 % of base) -96 : System.ObjectModel.dasm (-0.13 % of base) -80 : System.Threading.Tasks.Dataflow.dasm (-0.01 % of base) -75 : System.Reflection.Emit.dasm (-0.06 % of base) -52 : ILCompiler.Reflection.ReadyToRun.dasm (-0.02 % of base) -43 : System.Private.CoreLib.dasm (-0.00 % of base) -38 : System.Security.Cryptography.dasm (-0.00 % of base) -37 : System.Collections.dasm (-0.01 % of base) -33 : System.Formats.Cbor.dasm (-0.07 % of base) -30 : System.Net.Http.dasm (-0.00 % of base) -30 : Microsoft.CSharp.dasm (-0.01 % of base) -27 : System.Private.DataContractSerialization.dasm (-0.00 % of base) -27 : System.Composition.Convention.dasm (-0.02 % of base) -26 : System.ComponentModel.Composition.Registration.dasm (-0.02 % of base) -26 : Microsoft.Extensions.Configuration.dasm (-0.12 % of base) -25 : System.IO.Compression.dasm (-0.03 % of base) -24 : System.Diagnostics.DiagnosticSource.dasm (-0.01 % of base) -24 : System.Security.Cryptography.Pkcs.dasm (-0.01 % of base) -22 : Microsoft.Extensions.Hosting.dasm (-0.03 % of base) -21 : System.Configuration.ConfigurationManager.dasm (-0.01 % of base) -20 : System.Diagnostics.Process.dasm (-0.02 % of base) -16 : System.ComponentModel.Annotations.dasm (-0.03 % of base) -13 : System.ComponentModel.Composition.dasm (-0.00 % of base) -12 : Microsoft.Extensions.Configuration.Binder.dasm (-0.05 % of base) -12 : Microsoft.Extensions.Diagnostics.dasm (-0.06 % of base) -12 : System.Net.NetworkInformation.dasm (-0.02 % of base) -12 : System.IO.Packaging.dasm (-0.01 % of base) -10 : System.Runtime.Caching.dasm (-0.02 % of base) -10 : System.Memory.dasm (-0.00 % of base) -10 : Microsoft.Extensions.Options.DataAnnotations.dasm (-0.22 % of base) -10 : System.Net.Primitives.dasm (-0.01 % of base) -10 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.03 % of base) -10 : System.IO.FileSystem.Watcher.dasm (-0.04 % of base) -8 : System.Formats.Asn1.dasm (-0.01 % of base) -8 : runincontext.dasm (-0.05 % of base) -8 : System.Private.Xml.Linq.dasm (-0.00 % of base) -8 : System.Composition.Hosting.dasm (-0.01 % of base) -8 : Microsoft.Extensions.DependencyInjection.dasm (-0.01 % of base) -8 : Microsoft.Extensions.Logging.dasm (-0.02 % of base) -8 : System.ComponentModel.TypeConverter.dasm (-0.00 % of base) -8 : Microsoft.Extensions.Caching.Memory.dasm (-0.04 % of base) -6 : System.Net.Security.dasm (-0.00 % of base) -5 : System.Data.Odbc.dasm (-0.00 % of base) -4 : Microsoft.Extensions.Http.dasm (-0.01 % of base) -4 : System.Runtime.Serialization.Formatters.dasm (-0.00 % of base) -4 : System.Security.Cryptography.Cose.dasm (-0.01 % of base) -3 : Microsoft.Extensions.Options.dasm (-0.01 % 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.Resources.Extensions.dasm (-0.01 % of base) 63 total files with Code Size differences (52 improved, 11 regressed), 193 unchanged. Top method regressions (bytes): 108 (1.30 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts) 86 (63.24 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[short,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 84 (62.69 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[double,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 83 (47.98 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 83 (61.94 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[ubyte,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 81 (60.90 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[long,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 80 (61.07 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[int,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 66 (43.42 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[double,System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[int,System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[long,System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[short,System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % 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) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[ubyte,System.Nullable`1[int]]:MoveNext():this (FullOpts) 48 (8.16 % of base) : System.Net.HttpListener.dasm - System.Net.HttpEndPointManager:AddListener(System.Net.HttpListener) (FullOpts) 30 (0.44 % 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) 28 (14.58 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte: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) 21 (19.27 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts) 15 (2.84 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts) 15 (2.43 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XPathQueryGenerator+d__6:MoveNext():ubyte:this (FullOpts) 15 (3.45 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[double]:MoveNext():ubyte:this (FullOpts) 15 (3.50 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[int]:MoveNext():ubyte:this (FullOpts) 15 (3.50 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[long]:MoveNext():ubyte:this (FullOpts) 15 (3.48 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[short]:MoveNext():ubyte:this (FullOpts) 15 (3.51 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.__Canon]:MoveNext():ubyte:this (FullOpts) 15 (3.69 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 15 (3.30 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts) 15 (3.50 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[ubyte]:MoveNext():ubyte:this (FullOpts) 13 (0.59 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitSwitchBucket(System.Linq.Expressions.Compiler.LambdaCompiler+SwitchInfo,System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+SwitchLabel]):this (FullOpts) 11 (0.72 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:RemoveConfigurationSection(System.String,System.String):this (FullOpts) 10 (1.34 % 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) 10 (1.80 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsIdentity+d__38:MoveNext():ubyte:this (FullOpts) 9 (0.47 % 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) 9 (2.07 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager:UpdateImportIndex():this (FullOpts) 8 (1.08 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:FindBestMethod(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember],Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos,byref,byref):Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember:this (FullOpts) 8 (0.47 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.NewLateBinding:ResolveCall(Microsoft.VisualBasic.CompilerServices.Symbols+Container,System.String,System.Reflection.MemberInfo[],System.Object[],System.String[],System.Type[],int,ubyte,byref):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts) 8 (0.73 % of base) : System.Data.Common.dasm - System.Data.DataTable:EvaluateExpressions(System.Data.DataRow,int,System.Collections.Generic.List`1[System.Data.DataRow]):this (FullOpts) 7 (0.33 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts) 6 (0.22 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.DirectoryCatalog:Refresh():this (FullOpts) 6 (5.41 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityTagsCollection+Enumerator:MoveNext():ubyte:this (FullOpts) 6 (1.13 % of base) : System.Net.HttpListener.dasm - System.Net.ChunkStream:ReadFromChunks(ubyte[],int,int):int:this (FullOpts) 6 (0.10 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketHandle+d__22:MoveNext():this (FullOpts) 6 (0.38 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteProperties(System.Reflection.Emit.TypeBuilderImpl):this (FullOpts) 6 (0.18 % of base) : System.Resources.Writer.dasm - System.Resources.ResourceWriter:Generate():this (FullOpts) 6 (0.44 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStack+d__30:MoveNext():this (FullOpts) 5 (0.59 % 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) 5 (0.09 % 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) 4 (0.31 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:ReportOverloadResolutionFailure(System.String,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],System.Object[],System.String[],System.Type[],System.String,int,Microsoft.VisualBasic.CompilerServices.OverloadResolution+ArgumentDetector,Microsoft.VisualBasic.CompilerServices.OverloadResolution+CandidateProperty):System.Exception (FullOpts) 4 (0.26 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarReader+d__8:MoveNext():this (FullOpts) 4 (1.70 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts) 4 (1.66 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 4 (1.86 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts) 4 (0.64 % of base) : System.Net.Http.dasm - System.Net.Http.Metrics.HttpMetricsEnrichmentContext:RecordDurationWithEnrichment(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.Exception,System.TimeSpan,byref,System.Diagnostics.Metrics.Histogram`1[double]):this (FullOpts) 4 (0.85 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.ControlFlowBuilder:HasSmallExceptionRegions():ubyte:this (FullOpts) 4 (0.54 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+d__6:MoveNext():ubyte:this (FullOpts) 4 (0.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+d__8:MoveNext():ubyte:this (FullOpts) 3 (0.31 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (FullOpts) 2 (0.56 % of base) : System.Net.Security.dasm - Interop+Ssl:SerializeAlpnProtocolList(System.Collections.Generic.List`1[System.Net.Security.SslApplicationProtocol],System.Span`1[ubyte]) (FullOpts) 2 (0.15 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:AddNamesInInheritanceHierarchy(System.String,System.Collections.Generic.List`1[System.Type]) (FullOpts) 2 (0.65 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:FindBestMatch(System.Type,System.Type,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref) (FullOpts) 2 (0.29 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.LikeOperator:MatchRangeAfterAsterisk(System.String,int,byref,Microsoft.VisualBasic.CompilerServices.LikeOperator+LigatureInfo[],System.String,Microsoft.VisualBasic.CompilerServices.LikeOperator+LigatureInfo[],Microsoft.VisualBasic.CompilerServices.LikeOperator+PatternGroup,System.Globalization.CompareInfo,int):ubyte (FullOpts) 2 (0.12 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:BuildMembersTable(System.Collections.Generic.List`1[System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo]):System.Collections.Generic.Dictionary`2[System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.Reflection.MemberInfo[]]:this (FullOpts) 2 (0.70 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:BuildParametersTable(System.Collections.Generic.List`1[System.Lazy`1[System.Reflection.ParameterInfo]]):System.Collections.Generic.Dictionary`2[System.Lazy`1[System.Reflection.ParameterInfo],System.Reflection.ParameterInfo]:this (FullOpts) 2 (0.26 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:TryCloseGenericPart(System.Type[],byref):ubyte:this (FullOpts) 2 (0.10 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts) 2 (0.22 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcDataReader:internalGetBytes(int):System.Object:this (FullOpts) 2 (0.66 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts) 2 (0.14 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileMethodCallExpression(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.IArgumentProvider):this (FullOpts) 2 (0.14 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.CacheControlHeaderValue:TrySetCacheControlValues(System.Net.Http.Headers.CacheControlHeaderValue,System.Collections.Generic.List`1[System.Net.Http.Headers.NameValueHeaderValue]):ubyte (FullOpts) 2 (0.49 % 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) 2 (0.55 % 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) 2 (0.54 % 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) 2 (0.53 % 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) 2 (0.54 % 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) 2 (0.48 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[System.Numerics.Vector`1[float]](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) 2 (0.46 % 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) 2 (0.40 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.MetadataSignatureHelper:GetLocalSignature(System.Collections.Generic.List`1[System.Reflection.Emit.LocalBuilder],System.Reflection.Emit.ModuleBuilderImpl):System.Reflection.Metadata.BlobBuilder (FullOpts) 2 (0.52 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:FillMemberReferences(System.Reflection.Emit.ILGeneratorImpl):this (FullOpts) 2 (0.13 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteFields(System.Reflection.Emit.TypeBuilderImpl,System.Reflection.Metadata.BlobBuilder):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeClassLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.25 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDocumentTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.74 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEncLogTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts) 2 (1.15 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEncMapTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEventMapTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.35 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEventTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.23 % 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) 2 (0.56 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.54 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldRvaTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts) 2 (0.35 % 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) 2 (0.35 % 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) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeGenericParamConstraintTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.30 % 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) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeImportScopeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeInterfaceImplTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.42 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalConstantTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.41 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalVariableTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.30 % 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) 2 (0.30 % 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) Top method improvements (bytes): -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) -28 (-1.11 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodTypeInferrer:Fix(int):ubyte:this (FullOpts) -24 (-1.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslAstAnalyzer:Analyze(System.Xml.Xsl.Xslt.Compiler):int: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) -16 (-0.81 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts) -16 (-0.64 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder:BuildTypeAttributes(System.Type):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts) -14 (-0.37 % of base) : System.Data.Common.dasm - System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this (FullOpts) -12 (-0.98 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts) -10 (-0.54 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext:Match(Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase,System.String):this (FullOpts) -10 (-0.27 % 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) -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 (-0.54 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:GetDefaultXmlLocalName(System.Type):System.String (FullOpts) -10 (-0.43 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:Compile(System.Xml.Xsl.Xslt.Compiler):System.Xml.Xsl.Qil.QilExpression:this (FullOpts) -10 (-0.16 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:PrecompileProtoTemplatesHeaders():this (FullOpts) -9 (-1.21 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1[System.__Canon]:IntersectWithEnumerable(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (FullOpts) -9 (-1.78 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:b__0(System.Data.DataRow):ubyte:this (FullOpts) -9 (-2.16 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:b__2(System.Data.DataRow):ubyte:this (FullOpts) -8 (-0.66 % 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) -8 (-0.22 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:ToString():System.String:this (FullOpts) -8 (-0.32 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.UnwindInfo:ToString():System.String: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) -8 (-1.63 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DefaultMeterFactory:Dispose():this (FullOpts) -8 (-0.21 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:Init(System.Configuration.Internal.IInternalConfigRoot,System.Configuration.BaseConfigurationRecord,System.String,System.String):this (FullOpts) -8 (-0.28 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:InitConfigFromFile():this (FullOpts) -8 (-0.34 % 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) -8 (-0.92 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts) -8 (-1.48 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts) -8 (-0.81 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.AsnWriter:SortContents(ubyte[],int,int) (FullOpts) -8 (-0.93 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborReader:ReadIndefiniteLengthTextStringConcatenated():System.String:this (FullOpts) -8 (-2.31 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (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) -8 (-0.75 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:TryParseAndAddRawHeaderValue(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo,System.String,ubyte):ubyte (FullOpts) -8 (-1.36 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeBuilderImpl:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this (FullOpts) -8 (-2.99 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeBuilderImpl:IsInterfaceImplemented(System.Type):ubyte:this (FullOpts) -8 (-0.79 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:PopulateNamespaceTable():this (FullOpts) -8 (-1.21 % of base) : System.Runtime.Caching.dasm - System.Runtime.Caching.MemoryCache:CreateCacheEntryChangeMonitor(System.Collections.Generic.IEnumerable`1[System.String],System.String):System.Runtime.Caching.CacheEntryChangeMonitor:this (FullOpts) -8 (-0.70 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:GetDefaultName(System.Runtime.Serialization.CodeTypeReference,byref,byref) (FullOpts) -8 (-1.53 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContractSet:GetReferencedCollectionTypes():System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Object]:this (FullOpts) -8 (-0.78 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Pkcs12Builder:SealWithoutIntegrity():this (FullOpts) -8 (-1.28 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Pkcs12SafeBag:EncodeTo(System.Formats.Asn1.AsnWriter):this (FullOpts) -8 (-0.84 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.ChainPal:BuildChainCore(ubyte,System.Security.Cryptography.X509Certificates.ICertificatePal,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Security.Cryptography.OidCollection,System.Security.Cryptography.OidCollection,int,int,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.DateTime,System.TimeSpan,ubyte):System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor (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) -8 (-1.57 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:WriteTo(System.Text.Json.Utf8JsonWriter,System.Text.Json.JsonSerializerOptions):this (FullOpts) -8 (-0.92 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonObject:WriteTo(System.Text.Json.Utf8JsonWriter,System.Text.Json.JsonSerializerOptions):this (FullOpts) -8 (-0.75 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:ConfigureConstructorParameters():this (FullOpts) -8 (-2.73 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:DetermineIsCompatibleWithCurrentOptions():this (FullOpts) -8 (-2.05 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfoResolverChain:ToString():System.String:this (FullOpts) -8 (-0.59 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:TryGetTimeZone(System.String,ubyte,byref,byref,System.TimeZoneInfo+CachedData,ubyte):int (FullOpts) -8 (-0.65 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationWriter:WriteElements(System.Object,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,ubyte,ubyte):this (FullOpts) -8 (-1.07 % of base) : System.Private.Xml.dasm - System.Xml.XmlWriterSettings:GetObjectData(System.Xml.Xsl.Runtime.XmlQueryDataWriter):this (FullOpts) -8 (-1.01 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.MatcherBuilder:MatchPatternsWhosePriorityGreater(System.Xml.Xsl.Qil.QilIterator,System.Collections.Generic.List`1[System.Xml.Xsl.Xslt.Pattern],System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts) -8 (-0.59 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XPathPatternBuilder:BuildPredicates(System.Xml.Xsl.Qil.QilNode,System.Collections.Generic.List`1[System.Xml.Xsl.Qil.QilNode]):System.Xml.Xsl.Qil.QilNode:this (FullOpts) -8 (-1.87 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslAstRewriter:Rewrite(System.Xml.Xsl.Xslt.Compiler):this (FullOpts) -7 (-0.62 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcTransitionCall:ToString():System.String:this (FullOpts) -7 (-2.09 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationRoot:Dispose():this (FullOpts) -6 (-1.33 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.HostBuilder:InitializeServiceProvider():this (FullOpts) -6 (-2.76 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFactory:Dispose():this (FullOpts) -6 (-1.15 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:ResolveOverloadedCall(System.String,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],System.Object[],System.String[],System.Type[],int,ubyte,byref):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts) -6 (-1.35 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.AtomicComposition:FinalComplete():this (FullOpts) -6 (-0.65 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.ExportBuilder:BuildAttributes(System.Type,byref):this (FullOpts) -6 (-0.76 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.ExportConventionBuilder:BuildAttributes(System.Type,byref):this (FullOpts) -6 (-0.73 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.ImportConventionBuilder:BuildAttributes(System.Type,byref):this (FullOpts) -6 (-2.59 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionRecord:get_HasErrors():ubyte:this (FullOpts) -6 (-2.09 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionRecord:GetAllErrors():System.Collections.Generic.List`1[System.Configuration.ConfigurationException]:this (FullOpts) -6 (-0.16 % of base) : System.Data.Common.dasm - System.Data.XSDSchema:HandleDataSet(System.Xml.Schema.XmlSchemaElement,ubyte):this (FullOpts) -6 (-0.95 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborWriter:PatchIndefiniteLengthString(ubyte):this (FullOpts) -6 (-0.41 % of base) : System.IO.FileSystem.Watcher.dasm - System.IO.FileSystemWatcher+RunningInstance:ProcessEvent(System.IO.FileSystemWatcher+RunningInstance+NotifyEvent,byref,byref,byref):ubyte:this (FullOpts) -6 (-0.60 % of base) : System.Net.Http.dasm - System.Net.Http.MultipartContent:TryComputeLength(byref):ubyte:this (FullOpts) -6 (-1.72 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.ClientWebSocketOptions:AddSubProtocol(System.String):this (FullOpts) -6 (-0.31 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:AppendMetadata(System.Reflection.Metadata.Ecma335.MethodBodyStreamEncoder,System.Reflection.Metadata.BlobBuilder,byref):this (FullOpts) -6 (-1.20 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteInterfaceImplementations(System.Reflection.Emit.TypeBuilderImpl,System.Reflection.Metadata.TypeDefinitionHandle):this (FullOpts) -6 (-0.73 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.ChainPal:SaveIntermediateCertificates(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate2]) (FullOpts) -6 (-0.37 % of base) : System.Memory.dasm - System.Text.EncodingExtensions:GetBytes(System.Text.Encoding,byref):ubyte[] (FullOpts) -6 (-0.80 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:ConfigureProperties():this (FullOpts) -6 (-0.17 % 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) -6 (-2.05 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileGlobalVariables():this (FullOpts) -5 (-0.77 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:ReloadSources():this (FullOpts) -5 (-0.67 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborReader:TryReadIndefiniteLengthTextStringConcatenated(System.Span`1[ushort],byref):ubyte:this (FullOpts) -5 (-1.17 % 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) -5 (-1.07 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:ContainsProperty(System.String):ubyte:this (FullOpts) -5 (-0.86 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1[System.__Canon]:TryGetValue(System.String,byref):ubyte:this (FullOpts) -5 (-1.07 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+KeyCollection[System.__Canon]:CopyTo(System.String[],int):this (FullOpts) -5 (-1.07 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+ValueCollection[System.__Canon]:CopyTo(System.__Canon[],int):this (FullOpts) -5 (-0.51 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) -5 (-0.46 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:ConsumeReservedMessagesNonGreedy():this (FullOpts) -5 (-1.23 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Stylesheet:AddVarPar(System.Xml.Xsl.Xslt.VarPar):ubyte:this (FullOpts) -4 (-0.98 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:GetNumCouldBeLiveSlots(ubyte[],byref):uint:this (FullOpts) -4 (-0.53 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcSlotTable:ToString():System.String:this (FullOpts) -4 (-2.45 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunReader:CheckNonEmptyDebugInfo(ILCompiler.Reflection.ReadyToRun.RuntimeFunction):this (FullOpts) -4 (-0.25 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunReader:EnsureMethods():this (FullOpts) -4 (-0.61 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcSlotTable:ToString():System.String:this (FullOpts) -4 (-0.11 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.x86.InfoHdrSmall:ToString():System.String:this (FullOpts) -4 (-2.09 % of base) : System.Net.Security.dasm - Interop+Ssl:GetAlpnProtocolListSerializedLength(System.Collections.Generic.List`1[System.Net.Security.SslApplicationProtocol]):int (FullOpts) -4 (-0.82 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView:QueryDynamicObject(System.Object):System.Collections.Generic.IList`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]] (FullOpts) -4 (-0.32 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+GroupToArgsBinder:ReOrderArgsForNamedArguments(Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup,Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos):ubyte (FullOpts) -4 (-0.18 % 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) -4 (-1.11 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Sum():System.ValueTuple`2[long,long]:this (FullOpts) -4 (-0.35 % of base) : Microsoft.Extensions.Configuration.Binder.dasm - Microsoft.Extensions.Configuration.ConfigurationBinder:BindProperties(System.Object,Microsoft.Extensions.Configuration.IConfiguration,Microsoft.Extensions.Configuration.BinderOptions) (FullOpts) -4 (-1.41 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationBuilder:Build():Microsoft.Extensions.Configuration.IConfigurationRoot:this (FullOpts) Top method regressions (percentages): 86 (63.24 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[short,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 84 (62.69 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[double,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 83 (61.94 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[ubyte,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 80 (61.07 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[int,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 81 (60.90 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[long,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 83 (47.98 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 66 (43.42 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 21 (19.27 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts) 28 (14.58 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListSelectIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 48 (8.16 % of base) : System.Net.HttpListener.dasm - System.Net.HttpEndPointManager:AddListener(System.Net.HttpListener) (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) 6 (5.41 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityTagsCollection+Enumerator:MoveNext():ubyte:this (FullOpts) 15 (3.69 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 15 (3.51 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.__Canon]:MoveNext():ubyte:this (FullOpts) 15 (3.50 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[int]:MoveNext():ubyte:this (FullOpts) 15 (3.50 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[long]:MoveNext():ubyte:this (FullOpts) 15 (3.50 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[ubyte]:MoveNext():ubyte:this (FullOpts) 15 (3.48 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[short]:MoveNext():ubyte:this (FullOpts) 15 (3.45 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[double]:MoveNext():ubyte:this (FullOpts) 15 (3.30 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray+d__11`1[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts) 15 (2.84 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[double,System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[int,System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[long,System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[short,System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():this (FullOpts) 57 (2.47 % 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) 57 (2.47 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+d__23[ubyte,System.Nullable`1[int]]:MoveNext():this (FullOpts) 15 (2.43 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XPathQueryGenerator+d__6:MoveNext():ubyte:this (FullOpts) 9 (2.07 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager:UpdateImportIndex():this (FullOpts) 4 (1.86 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts) 10 (1.80 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsIdentity+d__38:MoveNext():ubyte:this (FullOpts) 4 (1.70 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts) 4 (1.66 % of base) : System.Linq.dasm - System.Linq.Enumerable+ListWhereSelectIterator`2[System.__Canon,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 10 (1.34 % 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) 108 (1.30 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts) 2 (1.15 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEncMapTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts) 6 (1.13 % of base) : System.Net.HttpListener.dasm - System.Net.ChunkStream:ReadFromChunks(ubyte[],int,int):int:this (FullOpts) 8 (1.08 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:FindBestMethod(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember],Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos,byref,byref):Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember:this (FullOpts) 4 (0.85 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.ControlFlowBuilder:HasSmallExceptionRegions():ubyte:this (FullOpts) 2 (0.74 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEncLogTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts) 8 (0.73 % of base) : System.Data.Common.dasm - System.Data.DataTable:EvaluateExpressions(System.Data.DataRow,int,System.Collections.Generic.List`1[System.Data.DataRow]):this (FullOpts) 11 (0.72 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:RemoveConfigurationSection(System.String,System.String):this (FullOpts) 2 (0.72 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.72 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.70 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:BuildParametersTable(System.Collections.Generic.List`1[System.Lazy`1[System.Reflection.ParameterInfo]]):System.Collections.Generic.Dictionary`2[System.Lazy`1[System.Reflection.ParameterInfo],System.Reflection.ParameterInfo]:this (FullOpts) 2 (0.66 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts) 2 (0.66 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeModuleRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.65 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:FindBestMatch(System.Type,System.Type,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref) (FullOpts) 4 (0.64 % of base) : System.Net.Http.dasm - System.Net.Http.Metrics.HttpMetricsEnrichmentContext:RecordDurationWithEnrichment(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.Exception,System.TimeSpan,byref,System.Diagnostics.Metrics.Histogram`1[double]):this (FullOpts) 13 (0.59 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitSwitchBucket(System.Linq.Expressions.Compiler.LambdaCompiler+SwitchInfo,System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+SwitchLabel]):this (FullOpts) 5 (0.59 % 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) 2 (0.56 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.56 % of base) : System.Net.Security.dasm - Interop+Ssl:SerializeAlpnProtocolList(System.Collections.Generic.List`1[System.Net.Security.SslApplicationProtocol],System.Span`1[ubyte]) (FullOpts) 2 (0.55 % 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) 2 (0.54 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldRvaTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts) 4 (0.54 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+d__6:MoveNext():ubyte:this (FullOpts) 2 (0.54 % 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) 2 (0.54 % 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) 2 (0.53 % 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) 2 (0.52 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:FillMemberReferences(System.Reflection.Emit.ILGeneratorImpl):this (FullOpts) 2 (0.49 % 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) 2 (0.48 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders:ReadStoreValues[System.Numerics.Vector`1[float]](System.Span`1[System.String],System.Object,System.Net.Http.Headers.HttpHeaderParser,byref) (FullOpts) 8 (0.47 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.NewLateBinding:ResolveCall(Microsoft.VisualBasic.CompilerServices.Symbols+Container,System.String,System.Reflection.MemberInfo[],System.Object[],System.String[],System.Type[],int,ubyte,byref):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts) 9 (0.47 % 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) 2 (0.46 % 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) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEventMapTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeGenericParamConstraintTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeImportScopeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeInterfaceImplTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDebugInformationTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeNestedClassTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializePropertyMapTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStateMachineMethodTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeClassLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 30 (0.44 % 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) 6 (0.44 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStack+d__30:MoveNext():this (FullOpts) 4 (0.43 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+d__8:MoveNext():ubyte:this (FullOpts) 2 (0.42 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalConstantTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.41 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalVariableTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.41 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeParamTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.40 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.MetadataSignatureHelper:GetLocalSignature(System.Collections.Generic.List`1[System.Reflection.Emit.LocalBuilder],System.Reflection.Emit.ModuleBuilderImpl):System.Reflection.Metadata.BlobBuilder (FullOpts) 6 (0.38 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:WriteProperties(System.Reflection.Emit.TypeBuilderImpl):this (FullOpts) 2 (0.36 % of base) : System.Runtime.Caching.dasm - System.Runtime.Caching.MemoryCacheEntry:UpdateUsage(System.DateTime,System.Runtime.Caching.CacheUsage):this (FullOpts) 2 (0.35 % 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) 2 (0.35 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEventTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 2 (0.35 % 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) 2 (0.35 % 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) 2 (0.35 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[int]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 2 (0.35 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[ubyte]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 2 (0.35 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[long]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 2 (0.35 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[short]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 2 (0.34 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[double]:ConsumeReservedMessagesGreedyBounded():this (FullOpts) 7 (0.33 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts) 2 (0.32 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodImplTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts) 4 (0.31 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:ReportOverloadResolutionFailure(System.String,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],System.Object[],System.String[],System.Type[],System.String,int,Microsoft.VisualBasic.CompilerServices.OverloadResolution+ArgumentDetector,Microsoft.VisualBasic.CompilerServices.OverloadResolution+CandidateProperty):System.Exception (FullOpts) 3 (0.31 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (FullOpts) 2 (0.31 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:ThrowJsonException_JsonRequiredPropertyMissing(System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Collections.BitArray) (FullOpts) 2 (0.30 % 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) Top method improvements (percentages): -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) -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) -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) -4 (-4.21 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:TranslateIndexToManifestConvention(int,System.String):int:this (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) -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) -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) -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) -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) -4 (-2.78 % of base) : System.Data.Common.dasm - System.Data.DataTable:EvaluateDependentExpressions(System.Data.DataColumn):this (FullOpts) -6 (-2.76 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.LoggerFactory:Dispose():this (FullOpts) -4 (-2.76 % of base) : System.Net.HttpListener.dasm - System.Net.ServiceNameStore:Contains(System.String):ubyte:this (FullOpts) -8 (-2.73 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:DetermineIsCompatibleWithCurrentOptions():this (FullOpts) -4 (-2.72 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Core.CompositionOperation:Complete():this (FullOpts) -4 (-2.65 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo:GetSingleParsedValue():System.Object:this (FullOpts) -4 (-2.65 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfoResolverChain:GetTypeInfo(System.Type,System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo:this (FullOpts) -4 (-2.61 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarReader:Dispose():this (FullOpts) -6 (-2.59 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionRecord:get_HasErrors():ubyte:this (FullOpts) -4 (-2.56 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.HostApplicationBuilder+HostBuilderAdapter+<>c__DisplayClass7_0:b__1(System.Object):this (FullOpts) -4 (-2.55 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts) -4 (-2.55 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializerOptions:GetConverterFromList(System.Type):System.Text.Json.Serialization.JsonConverter:this (FullOpts) -4 (-2.45 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunReader:CheckNonEmptyDebugInfo(ILCompiler.Reflection.ReadyToRun.RuntimeFunction):this (FullOpts) -4 (-2.44 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ReferenceCountedProviders+ActiveReferenceCountedProviders:Dispose():this (FullOpts) -4 (-2.44 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfoResolverChain:System.Text.Json.Serialization.Metadata.IBuiltInJsonTypeInfoResolver.IsCompatibleWithOptions(System.Text.Json.JsonSerializerOptions):ubyte:this (FullOpts) -8 (-2.31 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts) -2 (-2.27 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[int]:MoveNext():ubyte:this (FullOpts) -4 (-2.26 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.CertCollectionLoader:MoveTo(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this (FullOpts) -4 (-2.25 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:FindTypeBuilderWithName(System.String,ubyte):System.Reflection.Emit.TypeBuilderImpl:this (FullOpts) -2 (-2.22 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[ubyte]:MoveNext():ubyte:this (FullOpts) -4 (-2.22 % 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) -2 (-2.20 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[long]:MoveNext():ubyte:this (FullOpts) -2 (-2.20 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) -9 (-2.16 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:b__2(System.Data.DataRow):ubyte:this (FullOpts) -2 (-2.15 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[double]:MoveNext():ubyte:this (FullOpts) -2 (-2.13 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[short]:MoveNext():ubyte:this (FullOpts) -4 (-2.13 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionRecord:ClearResult():this (FullOpts) -4 (-2.11 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[int]:b__2(System.Data.DataRow):ubyte:this (FullOpts) -4 (-2.09 % of base) : System.Net.Security.dasm - Interop+Ssl:GetAlpnProtocolListSerializedLength(System.Collections.Generic.List`1[System.Net.Security.SslApplicationProtocol]):int (FullOpts) -4 (-2.09 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[long]:b__2(System.Data.DataRow):ubyte:this (FullOpts) -6 (-2.09 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionRecord:GetAllErrors():System.Collections.Generic.List`1[System.Configuration.ConfigurationException]:this (FullOpts) -7 (-2.09 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationRoot:Dispose():this (FullOpts) -4 (-2.08 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[double]:b__2(System.Data.DataRow):ubyte:this (FullOpts) -4 (-2.08 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[short]:b__2(System.Data.DataRow):ubyte:this (FullOpts) -4 (-2.08 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[ubyte]:b__2(System.Data.DataRow):ubyte:this (FullOpts) -4 (-2.08 % of base) : System.IO.FileSystem.Watcher.dasm - System.IO.FileSystemWatcher+RunningInstance:RemoveWatchedDirectoryUnlocked(System.IO.FileSystemWatcher+RunningInstance+WatchedDirectory,ubyte):this (FullOpts) -4 (-2.05 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaImporter:ImportKnownTypes(System.Xml.XmlQualifiedName):this (FullOpts) -6 (-2.05 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileGlobalVariables():this (FullOpts) -8 (-2.05 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfoResolverChain:ToString():System.String:this (FullOpts) -4 (-2.03 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.HostBuilder:InitializeHostConfiguration():this (FullOpts) -3 (-2.03 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:IsConvInTable(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.UdConvInfo],Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,ubyte,ubyte):ubyte (FullOpts) -3 (-2.01 % of base) : Microsoft.Extensions.Options.dasm - Microsoft.Extensions.Options.OptionsMonitor`1[System.__Canon]:Dispose():this (FullOpts) -4 (-1.99 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509ExtensionCollection:get_Item(System.String):System.Security.Cryptography.X509Certificates.X509Extension:this (FullOpts) -4 (-1.96 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultHttpClientFactory+<>c__DisplayClass17_0:g__Configure|0(Microsoft.Extensions.Http.HttpMessageHandlerBuilder):this (FullOpts) -4 (-1.94 % 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) -4 (-1.94 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityTagsCollection:get_Keys():System.Collections.Generic.ICollection`1[System.String]:this (FullOpts) -4 (-1.93 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityTagsCollection:get_Values():System.Collections.Generic.ICollection`1[System.Object]:this (FullOpts) -4 (-1.90 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1[System.__Canon]:GetCount():int:this (FullOpts) -4 (-1.89 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.Validator:TryValidateValue(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection`1[System.ComponentModel.DataAnnotations.ValidationResult],System.Collections.Generic.IEnumerable`1[System.ComponentModel.DataAnnotations.ValidationAttribute]):ubyte (FullOpts) -8 (-1.87 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslAstRewriter:Rewrite(System.Xml.Xsl.Xslt.Compiler):this (FullOpts) -2 (-1.85 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1+Enumerator[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this (FullOpts) -4 (-1.83 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.CoseMultiSignMessage:.ctor(System.Security.Cryptography.Cose.CoseHeaderMap,System.Security.Cryptography.Cose.CoseHeaderMap,ubyte[],System.Collections.Generic.List`1[System.Security.Cryptography.Cose.CoseSignature],ubyte[],ubyte):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) -4 (-1.79 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.Scope:GetAllLocals():System.Collections.Generic.List`1[System.Reflection.Emit.LocalBuilder]:this (FullOpts) -9 (-1.78 % of base) : System.Data.Common.dasm - System.Data.EnumerableRowCollection`1+<>c__DisplayClass16_0[System.__Canon]:b__0(System.Data.DataRow):ubyte:this (FullOpts) -4 (-1.76 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParser:GetDeclaringType(System.String,System.Collections.Generic.List`1[int],System.Reflection.Metadata.AssemblyNameInfo):System.Reflection.Metadata.TypeName (FullOpts) -4 (-1.74 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.TypeNameParser:GetDeclaringType(System.String,System.Collections.Generic.List`1[int],System.Reflection.Metadata.AssemblyNameInfo):System.Reflection.Metadata.TypeName (FullOpts) -6 (-1.72 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.ClientWebSocketOptions:AddSubProtocol(System.String):this (FullOpts) -8 (-1.63 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.DefaultMeterFactory:Dispose():this (FullOpts) -4 (-1.62 % of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.SerializationEvents:AddOnDelegate(System.Object,System.Runtime.Serialization.SerializationEventHandler,System.Collections.Generic.List`1[System.Reflection.MethodInfo]):System.Runtime.Serialization.SerializationEventHandler (FullOpts) -4 (-1.61 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.UnixIPInterfaceProperties:GetUnicastAddresses(System.Net.NetworkInformation.UnixNetworkInterface):System.Net.NetworkInformation.UnicastIPAddressInformationCollection (FullOpts) -4 (-1.61 % of base) : runincontext.dasm - TestRunner:VerifyAssembliesUnloaded(System.Collections.Generic.List`1[System.WeakReference]):ubyte:this (FullOpts) -4 (-1.60 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.HostBuilder:InitializeAppConfiguration():this (FullOpts) -4 (-1.60 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.Validator:TryValidateProperty(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,System.Collections.Generic.ICollection`1[System.ComponentModel.DataAnnotations.ValidationResult]):ubyte (FullOpts) -4 (-1.59 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:get_EditPositions():System.Collections.IEnumerator:this (FullOpts) -10 (-1.58 % of base) : System.IO.Compression.dasm - System.IO.Compression.ZipArchive:WriteFile():this (FullOpts) -24 (-1.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XslAstAnalyzer:Analyze(System.Xml.Xsl.Xslt.Compiler):int:this (FullOpts) -8 (-1.57 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:WriteTo(System.Text.Json.Utf8JsonWriter,System.Text.Json.JsonSerializerOptions):this (FullOpts) -4 (-1.54 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[double,System.Nullable`1[int]]:CreateDictionary():this (FullOpts) -4 (-1.54 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.PackagePart:Close():this (FullOpts) -4 (-1.53 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[int,System.Nullable`1[int]]:CreateDictionary():this (FullOpts) -4 (-1.53 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[short,System.Nullable`1[int]]:CreateDictionary():this (FullOpts) -4 (-1.53 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:CreateDictionary():this (FullOpts) -8 (-1.53 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContractSet:GetReferencedCollectionTypes():System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.Object]:this (FullOpts) -4 (-1.53 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.KeyedCollection`2[long,System.Nullable`1[int]]:CreateDictionary():this (FullOpts) -4 (-1.49 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:PopulateTokensForTypesAndItsMembers():this (FullOpts) -8 (-1.48 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts) -4 (-1.47 % of base) : System.Memory.dasm - System.Text.EncodingExtensions+<>c:b__8_0(System.Span`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`2[ushort[],int]]):this (FullOpts) 492 total methods with Code Size differences (355 improved, 137 regressed), 239766 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 6 months ago

Top method regressions

86 (63.24 % of base) - System.Linq.Enumerable+ListSelectIterator`2[short,System.Nullable`1[int]]:MoveNext():ubyte:this ```diff ; Assembly listing for method System.Linq.Enumerable+ListSelectIterator`2[short,System.Nullable`1[int]]:MoveNext():ubyte: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; 4 single block inlinees; 0 inlinees without PGO data +; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 15, 9 ) ref -> rbx this class-hnd single-def -; V01 loc0 [V01,T02] ( 3, 2.50) int -> rdi +; V01 loc0 [V01,T04] ( 3, 2.50) int -> rdi ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" -; V04 tmp2 [V04,T03] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" +; V04 tmp2 [V04,T06] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -;* V06 tmp4 [V06 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V07 tmp5 [V07,T04] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP -;* V08 tmp6 [V08,T06] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x8)" P-INDEP -; V09 tmp7 [V09,T05] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0xc)" P-INDEP -;* V10 tmp8 [V10,T07] ( 0, 0 ) short -> zero-ref "field V05._current (fldOffset=0x10)" P-INDEP -; V11 rat0 [V11,T01] ( 3, 3 ) ref -> rax "delegate invoke call" +;* V06 tmp4 [V06,T10] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V07 tmp5 [V07,T01] ( 8, 8 ) byref -> r15 single-def "Inlining Arg" +; V08 tmp6 [V08,T05] ( 4, 2 ) ref -> rsi class-hnd single-def "Inline stloc first use temp" +; V09 tmp7 [V09,T03] ( 5, 2.50) int -> rdi "Inline stloc first use temp" +; V10 tmp8 [V10,T07] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" +;* V11 tmp9 [V11 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V12 tmp10 [V12,T08] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP +;* V13 tmp11 [V13,T14] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x8)" P-INDEP +; V14 tmp12 [V14,T11] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0xc)" P-INDEP +;* V15 tmp13 [V15,T15] ( 0, 0 ) short -> zero-ref "field V05._current (fldOffset=0x10)" P-INDEP +; V16 cse0 [V16,T12] ( 2, 1 ) int -> rax "CSE #01: moderate" +; V17 cse1 [V17,T13] ( 2, 1 ) int -> rax "CSE #02: moderate" +; V18 cse2 [V18,T09] ( 3, 1.50) ref -> r14 "CSE #03: moderate" +; V19 rat0 [V19,T02] ( 3, 3 ) ref -> rax "delegate invoke call" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M40584_IG01: push rbp push r15 + push r14 push rbx - lea rbp, [rsp+0x10] + push rax + lea rbp, [rsp+0x20] mov rbx, rdi - ;; size=12 bbWeight=1 PerfScore 3.75 + ;; size=15 bbWeight=1 PerfScore 5.75 G_M40584_IG02: mov edi, dword ptr [rbx+0x0C] cmp edi, 1 je SHORT G_M40584_IG04 ;; size=8 bbWeight=1 PerfScore 3.25 G_M40584_IG03: cmp edi, 2 je SHORT G_M40584_IG05 - jmp SHORT G_M40584_IG08 - ;; size=7 bbWeight=0.50 PerfScore 1.62 + jmp G_M40584_IG08 + ;; size=10 bbWeight=0.50 PerfScore 1.62 G_M40584_IG04: mov rsi, gword ptr [rbx+0x18] mov r15d, dword ptr [rsi+0x14] lea rdi, bword ptr [rbx+0x28] call CORINFO_HELP_ASSIGN_REF - xor edi, edi - mov dword ptr [rbx+0x30], edi + xor esi, esi + mov dword ptr [rbx+0x30], esi mov dword ptr [rbx+0x34], r15d mov word ptr [rbx+0x38], 0 mov dword ptr [rbx+0x0C], 2 ;; size=39 bbWeight=0.50 PerfScore 4.88 G_M40584_IG05: - lea rdi, bword ptr [rbx+0x28] - mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[short]:MoveNext():ubyte:this - call [rax]System.Collections.Generic.List`1+Enumerator[short]:MoveNext():ubyte:this - test eax, eax - je SHORT G_M40584_IG07 + lea r15, bword ptr [rbx+0x28] + mov r14, gword ptr [r15] + mov rsi, r14 + mov edi, dword ptr [r15+0x08] + mov eax, dword ptr [r15+0x0C] + cmp eax, dword ptr [rsi+0x14] + jne SHORT G_M40584_IG10 + cmp edi, dword ptr [rsi+0x10] + jae SHORT G_M40584_IG07 + mov rsi, gword ptr [rsi+0x08] + mov eax, dword ptr [rsi+0x08] + cmp eax, edi + jbe SHORT G_M40584_IG07 + mov eax, edi + movsx rsi, word ptr [rsi+2*rax+0x10] + mov word ptr [r15+0x10], si + inc edi + mov dword ptr [r15+0x08], edi movsx rsi, word ptr [rbx+0x38] mov rax, gword ptr [rbx+0x20] mov rdi, gword ptr [rax+0x08] call [rax+0x18]System.Func`2[short,System.Nullable`1[int]]:Invoke(short):System.Nullable`1[int]:this mov qword ptr [rbx+0x10], rax mov eax, 1 - ;; size=45 bbWeight=0.50 PerfScore 8.62 + ;; size=83 bbWeight=0.50 PerfScore 19.38 G_M40584_IG06: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M40584_IG07: + mov eax, dword ptr [r14+0x10] + inc eax + mov dword ptr [r15+0x08], eax + mov word ptr [r15+0x10], 0 xor eax, eax mov qword ptr [rbx+0x10], rax mov dword ptr [rbx+0x0C], -1 - ;; size=13 bbWeight=0.50 PerfScore 1.12 + ;; size=30 bbWeight=0.50 PerfScore 3.25 G_M40584_IG08: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M40584_IG09: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 +G_M40584_IG10: + 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 136, prolog size 9, PerfScore 25.88, instruction count 43, allocated bytes for code 136 (MethodHash=35c96177) for method System.Linq.Enumerable+ListSelectIterator`2[short,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) +; Total bytes of code 222, prolog size 12, PerfScore 41.50, instruction count 69, allocated bytes for code 222 (MethodHash=35c96177) for method System.Linq.Enumerable+ListSelectIterator`2[short,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) ```
84 (62.69 % of base) - System.Linq.Enumerable+ListSelectIterator`2[double,System.Nullable`1[int]]:MoveNext():ubyte:this ```diff ; Assembly listing for method System.Linq.Enumerable+ListSelectIterator`2[double,System.Nullable`1[int]]:MoveNext():ubyte: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; 4 single block inlinees; 0 inlinees without PGO data +; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 15, 9 ) ref -> rbx this class-hnd single-def -; V01 loc0 [V01,T02] ( 3, 2.50) int -> rdi +; V01 loc0 [V01,T04] ( 3, 2.50) int -> rdi ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" -; V04 tmp2 [V04,T03] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" +; V04 tmp2 [V04,T06] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -;* V06 tmp4 [V06 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V07 tmp5 [V07,T04] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP -;* V08 tmp6 [V08,T07] ( 0, 0 ) double -> zero-ref "field V05._current (fldOffset=0x8)" P-INDEP -;* V09 tmp7 [V09,T06] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x10)" P-INDEP -; V10 tmp8 [V10,T05] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0x14)" P-INDEP -; V11 rat0 [V11,T01] ( 3, 3 ) ref -> rax "delegate invoke call" +;* V06 tmp4 [V06,T10] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V07 tmp5 [V07,T01] ( 8, 8 ) byref -> r15 single-def "Inlining Arg" +; V08 tmp6 [V08,T05] ( 4, 2 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" +; V09 tmp7 [V09,T03] ( 5, 2.50) int -> rax "Inline stloc first use temp" +; V10 tmp8 [V10,T07] ( 3, 1.50) ref -> rdi class-hnd single-def "Inline stloc first use temp" +;* V11 tmp9 [V11 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V12 tmp10 [V12,T08] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP +;* V13 tmp11 [V13,T15] ( 0, 0 ) double -> zero-ref "field V05._current (fldOffset=0x8)" P-INDEP +;* V14 tmp12 [V14,T14] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x10)" P-INDEP +; V15 tmp13 [V15,T11] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0x14)" P-INDEP +; V16 cse0 [V16,T12] ( 2, 1 ) int -> rcx "CSE #01: moderate" +; V17 cse1 [V17,T13] ( 2, 1 ) int -> rcx "CSE #02: moderate" +; V18 cse2 [V18,T09] ( 3, 1.50) ref -> r14 "CSE #03: moderate" +; V19 rat0 [V19,T02] ( 3, 3 ) ref -> rax "delegate invoke call" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M53199_IG01: push rbp push r15 + push r14 push rbx - lea rbp, [rsp+0x10] + push rax + lea rbp, [rsp+0x20] mov rbx, rdi - ;; size=12 bbWeight=1 PerfScore 3.75 + ;; size=15 bbWeight=1 PerfScore 5.75 G_M53199_IG02: mov edi, dword ptr [rbx+0x0C] cmp edi, 1 je SHORT G_M53199_IG04 ;; size=8 bbWeight=1 PerfScore 3.25 G_M53199_IG03: cmp edi, 2 je SHORT G_M53199_IG06 - jmp SHORT G_M53199_IG09 - ;; size=7 bbWeight=0.50 PerfScore 1.62 + jmp G_M53199_IG10 + ;; size=10 bbWeight=0.50 PerfScore 1.62 G_M53199_IG04: mov rsi, gword ptr [rbx+0x18] mov r15d, dword ptr [rsi+0x14] lea rdi, bword ptr [rbx+0x28] call CORINFO_HELP_ASSIGN_REF xor edi, edi mov qword ptr [rbx+0x30], rdi ;; size=23 bbWeight=0.50 PerfScore 3.38 G_M53199_IG05: mov dword ptr [rbx+0x38], edi mov dword ptr [rbx+0x3C], r15d mov dword ptr [rbx+0x0C], 2 ;; size=14 bbWeight=0.50 PerfScore 1.50 G_M53199_IG06: - lea rdi, bword ptr [rbx+0x28] - mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[double]:MoveNext():ubyte:this - call [rax]System.Collections.Generic.List`1+Enumerator[double]:MoveNext():ubyte:this - test eax, eax - je SHORT G_M53199_IG08 + lea r15, bword ptr [rbx+0x28] + mov r14, gword ptr [r15] + mov rdi, r14 + mov eax, dword ptr [r15+0x10] + mov ecx, dword ptr [r15+0x14] + cmp ecx, dword ptr [rdi+0x14] + jne SHORT G_M53199_IG12 + cmp eax, dword ptr [rdi+0x10] + jae SHORT G_M53199_IG08 + mov rdi, gword ptr [rdi+0x08] + mov ecx, dword ptr [rdi+0x08] + cmp ecx, eax + jbe SHORT G_M53199_IG08 + mov ecx, eax + vmovsd xmm0, qword ptr [rdi+8*rcx+0x10] + vmovsd qword ptr [r15+0x08], xmm0 + inc eax + mov dword ptr [r15+0x10], eax mov rax, gword ptr [rbx+0x20] vmovsd xmm0, qword ptr [rbx+0x30] mov rdi, gword ptr [rax+0x08] call [rax+0x18]System.Func`2[double,System.Nullable`1[int]]:Invoke(double):System.Nullable`1[int]:this mov qword ptr [rbx+0x10], rax mov eax, 1 - ;; size=45 bbWeight=0.50 PerfScore 8.62 + ;; size=84 bbWeight=0.50 PerfScore 19.88 G_M53199_IG07: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M53199_IG08: + mov eax, dword ptr [r14+0x10] + inc eax + mov dword ptr [r15+0x10], eax xor eax, eax + mov qword ptr [r15+0x08], rax + ;; size=16 bbWeight=0.50 PerfScore 2.25 +G_M53199_IG09: mov qword ptr [rbx+0x10], rax mov dword ptr [rbx+0x0C], -1 - ;; size=13 bbWeight=0.50 PerfScore 1.12 -G_M53199_IG09: + ;; size=11 bbWeight=0.50 PerfScore 1.00 +G_M53199_IG10: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 -G_M53199_IG10: +G_M53199_IG11: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 +G_M53199_IG12: + 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 134, prolog size 9, PerfScore 25.88, instruction count 43, allocated bytes for code 134 (MethodHash=2d523030) for method System.Linq.Enumerable+ListSelectIterator`2[double,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) +; Total bytes of code 218, prolog size 12, PerfScore 42.00, instruction count 69, allocated bytes for code 218 (MethodHash=2d523030) for method System.Linq.Enumerable+ListSelectIterator`2[double,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) ```
83 (47.98 % of base) - System.Linq.Enumerable+ListSelectIterator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():ubyte:this ```diff ; Assembly listing for method System.Linq.Enumerable+ListSelectIterator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():ubyte: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; 4 single block inlinees; 0 inlinees without PGO data +; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 12, 7.50) ref -> rbx this class-hnd single-def -; V01 loc0 [V01,T04] ( 3, 2.50) int -> rdi +; V01 loc0 [V01,T06] ( 3, 2.50) int -> rdi ; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" ;* V04 tmp2 [V04 ] ( 0, 0 ) simd32 -> zero-ref "spilled call-like call argument" -; V05 tmp3 [V05,T02] ( 3, 3 ) ref -> rsi class-hnd single-def "Inlining Arg" +; V05 tmp3 [V05,T03] ( 3, 3 ) ref -> rsi class-hnd single-def "Inlining Arg" ;* V06 tmp4 [V06 ] ( 0, 0 ) struct (48) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" -;* V07 tmp5 [V07 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V08 tmp6 [V08 ] ( 0, 0 ) ref -> zero-ref single-def "V06.[000..008)" -;* V09 tmp7 [V09 ] ( 0, 0 ) int -> zero-ref "V06.[008..012)" -; V10 tmp8 [V10,T05] ( 2, 1 ) int -> r15 "V06.[012..016)" -;* V11 tmp9 [V11 ] ( 0, 0 ) simd32 -> zero-ref "V06.[016..048)" -; V12 tmp10 [V12,T01] ( 5, 5 ) byref -> r14 single-def "Spilling address for field-by-field copy" -; V13 rat0 [V13,T03] ( 3, 3 ) ref -> rax "delegate invoke call" +;* V07 tmp5 [V07,T10] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V08 tmp6 [V08,T01] ( 8, 8 ) byref -> r15 single-def "Inlining Arg" +; V09 tmp7 [V09,T07] ( 4, 2 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" +; V10 tmp8 [V10,T05] ( 5, 2.50) int -> rax "Inline stloc first use temp" +; V11 tmp9 [V11,T08] ( 3, 1.50) ref -> rdi class-hnd exact single-def "Inline stloc first use temp" +;* V12 tmp10 [V12 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V13 tmp11 [V13 ] ( 0, 0 ) ref -> zero-ref single-def "V06.[000..008)" +;* V14 tmp12 [V14 ] ( 0, 0 ) int -> zero-ref "V06.[008..012)" +; V15 tmp13 [V15,T11] ( 2, 1 ) int -> r15 "V06.[012..016)" +;* V16 tmp14 [V16 ] ( 0, 0 ) simd32 -> zero-ref "V06.[016..048)" +; V17 tmp15 [V17,T02] ( 5, 5 ) byref -> r14 single-def "Spilling address for field-by-field copy" +; V18 cse0 [V18,T12] ( 2, 1 ) int -> rcx "CSE #02: moderate" +; V19 cse1 [V19,T13] ( 2, 1 ) int -> rcx "CSE #03: moderate" +; V20 cse2 [V20,T09] ( 3, 1.50) ref -> r14 "CSE #04: moderate" +; V21 rat0 [V21,T04] ( 3, 3 ) ref -> rax "delegate invoke call" ; ; Lcl frame size = 40 G_M59033_IG01: push rbp push r15 push r14 push rbx sub rsp, 40 lea rbp, [rsp+0x40] mov rbx, rdi ;; size=18 bbWeight=1 PerfScore 5.00 G_M59033_IG02: mov edi, dword ptr [rbx+0x0C] cmp edi, 1 je SHORT G_M59033_IG04 ;; size=8 bbWeight=1 PerfScore 3.25 G_M59033_IG03: cmp edi, 2 je SHORT G_M59033_IG05 - jmp SHORT G_M59033_IG08 - ;; size=7 bbWeight=0.50 PerfScore 1.62 + jmp G_M59033_IG08 + ;; size=10 bbWeight=0.50 PerfScore 1.62 G_M59033_IG04: mov rsi, gword ptr [rbx+0x18] mov r15d, dword ptr [rsi+0x14] lea r14, bword ptr [rbx+0x28] mov rdi, r14 call CORINFO_HELP_ASSIGN_REF xor edi, edi mov dword ptr [r14+0x08], edi mov dword ptr [r14+0x0C], r15d vxorps ymm0, ymm0, ymm0 vmovups ymmword ptr [r14+0x10], ymm0 mov dword ptr [rbx+0x0C], 2 ;; size=47 bbWeight=0.50 PerfScore 5.67 G_M59033_IG05: - lea rdi, bword ptr [rbx+0x28] - mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this - call [rax]System.Collections.Generic.List`1+Enumerator[System.Numerics.Vector`1[float]]:MoveNext():ubyte:this - test eax, eax - je SHORT G_M59033_IG07 + lea r15, bword ptr [rbx+0x28] + mov r14, gword ptr [r15] + mov rdi, r14 + mov eax, dword ptr [r15+0x08] + mov ecx, dword ptr [r15+0x0C] + cmp ecx, dword ptr [rdi+0x14] + jne G_M59033_IG10 + cmp eax, dword ptr [rdi+0x10] + jae SHORT G_M59033_IG07 + mov rdi, gword ptr [rdi+0x08] + mov ecx, dword ptr [rdi+0x08] + cmp ecx, eax + jbe SHORT G_M59033_IG07 + mov ecx, eax + shl rcx, 5 + vmovups ymm0, ymmword ptr [rdi+rcx+0x10] + vmovups ymmword ptr [r15+0x10], ymm0 + inc eax + mov dword ptr [r15+0x08], eax vmovups ymm0, ymmword ptr [rbx+0x38] vmovups ymmword ptr [rsp], ymm0 mov rax, gword ptr [rbx+0x20] mov rdi, gword ptr [rax+0x08] call [rax+0x18]System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Invoke(System.Numerics.Vector`1[float]):System.Nullable`1[int]:this mov qword ptr [rbx+0x10], rax mov eax, 1 - ;; size=50 bbWeight=0.50 PerfScore 9.62 + ;; size=97 bbWeight=0.50 PerfScore 21.62 G_M59033_IG06: vzeroupper add rsp, 40 pop rbx pop r14 pop r15 pop rbp ret ;; size=14 bbWeight=0.50 PerfScore 2.12 G_M59033_IG07: + mov eax, dword ptr [r14+0x10] + inc eax + mov dword ptr [r15+0x08], eax + vxorps ymm0, ymm0, ymm0 + vmovups ymmword ptr [r15+0x10], ymm0 xor eax, eax mov qword ptr [rbx+0x10], rax mov dword ptr [rbx+0x0C], -1 - ;; size=13 bbWeight=0.50 PerfScore 1.12 + ;; size=33 bbWeight=0.50 PerfScore 3.92 G_M59033_IG08: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M59033_IG09: vzeroupper add rsp, 40 pop rbx pop r14 pop r15 pop rbp ret ;; size=14 bbWeight=0.50 PerfScore 2.12 +G_M59033_IG10: + 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 173, prolog size 15, PerfScore 30.67, instruction count 54, allocated bytes for code 173 (MethodHash=81f71966) for method System.Linq.Enumerable+ListSelectIterator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) +; Total bytes of code 256, prolog size 15, PerfScore 45.46, instruction count 76, allocated bytes for code 256 (MethodHash=81f71966) for method System.Linq.Enumerable+ListSelectIterator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) ```
83 (61.94 % of base) - System.Linq.Enumerable+ListSelectIterator`2[ubyte,System.Nullable`1[int]]:MoveNext():ubyte:this ```diff ; Assembly listing for method System.Linq.Enumerable+ListSelectIterator`2[ubyte,System.Nullable`1[int]]:MoveNext():ubyte: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; 4 single block inlinees; 0 inlinees without PGO data +; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 15, 9 ) ref -> rbx this class-hnd single-def -; V01 loc0 [V01,T02] ( 3, 2.50) int -> rdi +; V01 loc0 [V01,T04] ( 3, 2.50) int -> rdi ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" -; V04 tmp2 [V04,T03] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" +; V04 tmp2 [V04,T06] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -;* V06 tmp4 [V06 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V07 tmp5 [V07,T04] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP -;* V08 tmp6 [V08,T06] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x8)" P-INDEP -; V09 tmp7 [V09,T05] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0xc)" P-INDEP -;* V10 tmp8 [V10,T07] ( 0, 0 ) ubyte -> zero-ref "field V05._current (fldOffset=0x10)" P-INDEP -; V11 rat0 [V11,T01] ( 3, 3 ) ref -> rax "delegate invoke call" +;* V06 tmp4 [V06,T10] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V07 tmp5 [V07,T01] ( 8, 8 ) byref -> r15 single-def "Inlining Arg" +; V08 tmp6 [V08,T05] ( 4, 2 ) ref -> rsi class-hnd single-def "Inline stloc first use temp" +; V09 tmp7 [V09,T03] ( 5, 2.50) int -> rdi "Inline stloc first use temp" +; V10 tmp8 [V10,T07] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" +;* V11 tmp9 [V11 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V12 tmp10 [V12,T08] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP +;* V13 tmp11 [V13,T14] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x8)" P-INDEP +; V14 tmp12 [V14,T11] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0xc)" P-INDEP +;* V15 tmp13 [V15,T15] ( 0, 0 ) ubyte -> zero-ref "field V05._current (fldOffset=0x10)" P-INDEP +; V16 cse0 [V16,T12] ( 2, 1 ) int -> rax "CSE #01: moderate" +; V17 cse1 [V17,T13] ( 2, 1 ) int -> rax "CSE #02: moderate" +; V18 cse2 [V18,T09] ( 3, 1.50) ref -> r14 "CSE #03: moderate" +; V19 rat0 [V19,T02] ( 3, 3 ) ref -> rax "delegate invoke call" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M28421_IG01: push rbp push r15 + push r14 push rbx - lea rbp, [rsp+0x10] + push rax + lea rbp, [rsp+0x20] mov rbx, rdi - ;; size=12 bbWeight=1 PerfScore 3.75 + ;; size=15 bbWeight=1 PerfScore 5.75 G_M28421_IG02: mov edi, dword ptr [rbx+0x0C] cmp edi, 1 je SHORT G_M28421_IG04 ;; size=8 bbWeight=1 PerfScore 3.25 G_M28421_IG03: cmp edi, 2 je SHORT G_M28421_IG05 - jmp SHORT G_M28421_IG08 - ;; size=7 bbWeight=0.50 PerfScore 1.62 + jmp G_M28421_IG08 + ;; size=10 bbWeight=0.50 PerfScore 1.62 G_M28421_IG04: mov rsi, gword ptr [rbx+0x18] mov r15d, dword ptr [rsi+0x14] lea rdi, bword ptr [rbx+0x28] call CORINFO_HELP_ASSIGN_REF - xor edi, edi - mov dword ptr [rbx+0x30], edi + xor esi, esi + mov dword ptr [rbx+0x30], esi mov dword ptr [rbx+0x34], r15d mov byte ptr [rbx+0x38], 0 mov dword ptr [rbx+0x0C], 2 ;; size=37 bbWeight=0.50 PerfScore 4.88 G_M28421_IG05: - lea rdi, bword ptr [rbx+0x28] - mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[ubyte]:MoveNext():ubyte:this - call [rax]System.Collections.Generic.List`1+Enumerator[ubyte]:MoveNext():ubyte:this - test eax, eax - je SHORT G_M28421_IG07 + lea r15, bword ptr [rbx+0x28] + mov r14, gword ptr [r15] + mov rsi, r14 + mov edi, dword ptr [r15+0x08] + mov eax, dword ptr [r15+0x0C] + cmp eax, dword ptr [rsi+0x14] + jne SHORT G_M28421_IG10 + cmp edi, dword ptr [rsi+0x10] + jae SHORT G_M28421_IG07 + mov rsi, gword ptr [rsi+0x08] + mov eax, dword ptr [rsi+0x08] + cmp eax, edi + jbe SHORT G_M28421_IG07 + mov eax, edi + movzx rsi, byte ptr [rsi+rax+0x10] + mov byte ptr [r15+0x10], sil + inc edi + mov dword ptr [r15+0x08], edi movzx rsi, byte ptr [rbx+0x38] mov rax, gword ptr [rbx+0x20] mov rdi, gword ptr [rax+0x08] call [rax+0x18]System.Func`2[ubyte,System.Nullable`1[int]]:Invoke(ubyte):System.Nullable`1[int]:this mov qword ptr [rbx+0x10], rax mov eax, 1 - ;; size=45 bbWeight=0.50 PerfScore 7.62 + ;; size=82 bbWeight=0.50 PerfScore 17.38 G_M28421_IG06: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M28421_IG07: + mov eax, dword ptr [r14+0x10] + inc eax + mov dword ptr [r15+0x08], eax + mov byte ptr [r15+0x10], 0 xor eax, eax mov qword ptr [rbx+0x10], rax mov dword ptr [rbx+0x0C], -1 - ;; size=13 bbWeight=0.50 PerfScore 1.12 + ;; size=28 bbWeight=0.50 PerfScore 3.25 G_M28421_IG08: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M28421_IG09: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 +G_M28421_IG10: + 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 134, prolog size 9, PerfScore 24.88, instruction count 43, allocated bytes for code 134 (MethodHash=777090fa) for method System.Linq.Enumerable+ListSelectIterator`2[ubyte,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) +; Total bytes of code 217, prolog size 12, PerfScore 39.50, instruction count 69, allocated bytes for code 217 (MethodHash=777090fa) for method System.Linq.Enumerable+ListSelectIterator`2[ubyte,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) ```
81 (60.90 % of base) - System.Linq.Enumerable+ListSelectIterator`2[long,System.Nullable`1[int]]:MoveNext():ubyte:this ```diff ; Assembly listing for method System.Linq.Enumerable+ListSelectIterator`2[long,System.Nullable`1[int]]:MoveNext():ubyte: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; 4 single block inlinees; 0 inlinees without PGO data +; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 15, 9 ) ref -> rbx this class-hnd single-def -; V01 loc0 [V01,T02] ( 3, 2.50) int -> rdi +; V01 loc0 [V01,T04] ( 3, 2.50) int -> rdi ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" -; V04 tmp2 [V04,T03] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" +; V04 tmp2 [V04,T06] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -;* V06 tmp4 [V06 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V07 tmp5 [V07,T04] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP -;* V08 tmp6 [V08,T06] ( 0, 0 ) long -> zero-ref "field V05._current (fldOffset=0x8)" P-INDEP -;* V09 tmp7 [V09,T07] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x10)" P-INDEP -; V10 tmp8 [V10,T05] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0x14)" P-INDEP -; V11 rat0 [V11,T01] ( 3, 3 ) ref -> rax "delegate invoke call" +;* V06 tmp4 [V06,T10] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V07 tmp5 [V07,T01] ( 8, 8 ) byref -> r15 single-def "Inlining Arg" +; V08 tmp6 [V08,T05] ( 4, 2 ) ref -> rsi class-hnd single-def "Inline stloc first use temp" +; V09 tmp7 [V09,T03] ( 5, 2.50) int -> rdi "Inline stloc first use temp" +; V10 tmp8 [V10,T07] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" +;* V11 tmp9 [V11 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V12 tmp10 [V12,T08] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP +;* V13 tmp11 [V13,T14] ( 0, 0 ) long -> zero-ref "field V05._current (fldOffset=0x8)" P-INDEP +;* V14 tmp12 [V14,T15] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x10)" P-INDEP +; V15 tmp13 [V15,T11] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0x14)" P-INDEP +; V16 cse0 [V16,T12] ( 2, 1 ) int -> rax "CSE #01: moderate" +; V17 cse1 [V17,T13] ( 2, 1 ) int -> rax "CSE #02: moderate" +; V18 cse2 [V18,T09] ( 3, 1.50) ref -> r14 "CSE #03: moderate" +; V19 rat0 [V19,T02] ( 3, 3 ) ref -> rax "delegate invoke call" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M39536_IG01: push rbp push r15 + push r14 push rbx - lea rbp, [rsp+0x10] + push rax + lea rbp, [rsp+0x20] mov rbx, rdi - ;; size=12 bbWeight=1 PerfScore 3.75 + ;; size=15 bbWeight=1 PerfScore 5.75 G_M39536_IG02: mov edi, dword ptr [rbx+0x0C] cmp edi, 1 je SHORT G_M39536_IG04 ;; size=8 bbWeight=1 PerfScore 3.25 G_M39536_IG03: cmp edi, 2 je SHORT G_M39536_IG06 - jmp SHORT G_M39536_IG09 - ;; size=7 bbWeight=0.50 PerfScore 1.62 + jmp G_M39536_IG10 + ;; size=10 bbWeight=0.50 PerfScore 1.62 G_M39536_IG04: mov rsi, gword ptr [rbx+0x18] mov r15d, dword ptr [rsi+0x14] lea rdi, bword ptr [rbx+0x28] call CORINFO_HELP_ASSIGN_REF - xor edi, edi - mov qword ptr [rbx+0x30], rdi + xor esi, esi + mov qword ptr [rbx+0x30], rsi ;; size=23 bbWeight=0.50 PerfScore 3.38 G_M39536_IG05: - mov dword ptr [rbx+0x38], edi + mov dword ptr [rbx+0x38], esi mov dword ptr [rbx+0x3C], r15d mov dword ptr [rbx+0x0C], 2 ;; size=14 bbWeight=0.50 PerfScore 1.50 G_M39536_IG06: - lea rdi, bword ptr [rbx+0x28] - mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[long]:MoveNext():ubyte:this - call [rax]System.Collections.Generic.List`1+Enumerator[long]:MoveNext():ubyte:this - test eax, eax - je SHORT G_M39536_IG08 + lea r15, bword ptr [rbx+0x28] + mov r14, gword ptr [r15] + mov rsi, r14 + mov edi, dword ptr [r15+0x10] + mov eax, dword ptr [r15+0x14] + cmp eax, dword ptr [rsi+0x14] + jne SHORT G_M39536_IG12 + cmp edi, dword ptr [rsi+0x10] + jae SHORT G_M39536_IG08 + mov rsi, gword ptr [rsi+0x08] + mov eax, dword ptr [rsi+0x08] + cmp eax, edi + jbe SHORT G_M39536_IG08 + mov eax, edi + mov rsi, qword ptr [rsi+8*rax+0x10] + mov qword ptr [r15+0x08], rsi + inc edi + mov dword ptr [r15+0x10], edi mov rax, gword ptr [rbx+0x20] mov rsi, qword ptr [rbx+0x30] mov rdi, gword ptr [rax+0x08] call [rax+0x18]System.Func`2[long,System.Nullable`1[int]]:Invoke(long):System.Nullable`1[int]:this mov qword ptr [rbx+0x10], rax mov eax, 1 - ;; size=44 bbWeight=0.50 PerfScore 7.62 + ;; size=80 bbWeight=0.50 PerfScore 17.38 G_M39536_IG07: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M39536_IG08: + mov eax, dword ptr [r14+0x10] + inc eax + mov dword ptr [r15+0x10], eax xor eax, eax + mov qword ptr [r15+0x08], rax + ;; size=16 bbWeight=0.50 PerfScore 2.25 +G_M39536_IG09: mov qword ptr [rbx+0x10], rax mov dword ptr [rbx+0x0C], -1 - ;; size=13 bbWeight=0.50 PerfScore 1.12 -G_M39536_IG09: + ;; size=11 bbWeight=0.50 PerfScore 1.00 +G_M39536_IG10: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 -G_M39536_IG10: +G_M39536_IG11: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 +G_M39536_IG12: + 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 133, prolog size 9, PerfScore 24.88, instruction count 43, allocated bytes for code 133 (MethodHash=f75d658f) for method System.Linq.Enumerable+ListSelectIterator`2[long,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) +; Total bytes of code 214, prolog size 12, PerfScore 39.50, instruction count 69, allocated bytes for code 214 (MethodHash=f75d658f) for method System.Linq.Enumerable+ListSelectIterator`2[long,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) ```
80 (61.07 % of base) - System.Linq.Enumerable+ListSelectIterator`2[int,System.Nullable`1[int]]:MoveNext():ubyte:this ```diff ; Assembly listing for method System.Linq.Enumerable+ListSelectIterator`2[int,System.Nullable`1[int]]:MoveNext():ubyte: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; 4 single block inlinees; 0 inlinees without PGO data +; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 15, 9 ) ref -> rbx this class-hnd single-def -; V01 loc0 [V01,T02] ( 3, 2.50) int -> rdi +; V01 loc0 [V01,T04] ( 3, 2.50) int -> rdi ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" -; V04 tmp2 [V04,T03] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" +; V04 tmp2 [V04,T06] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -;* V06 tmp4 [V06 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V07 tmp5 [V07,T04] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP -;* V08 tmp6 [V08,T06] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x8)" P-INDEP -; V09 tmp7 [V09,T05] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0xc)" P-INDEP -;* V10 tmp8 [V10,T07] ( 0, 0 ) int -> zero-ref "field V05._current (fldOffset=0x10)" P-INDEP -; V11 rat0 [V11,T01] ( 3, 3 ) ref -> rax "delegate invoke call" +;* V06 tmp4 [V06,T10] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V07 tmp5 [V07,T01] ( 8, 8 ) byref -> r15 single-def "Inlining Arg" +; V08 tmp6 [V08,T05] ( 4, 2 ) ref -> rsi class-hnd single-def "Inline stloc first use temp" +; V09 tmp7 [V09,T03] ( 5, 2.50) int -> rdi "Inline stloc first use temp" +; V10 tmp8 [V10,T07] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" +;* V11 tmp9 [V11 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +; V12 tmp10 [V12,T08] ( 3, 1.50) ref -> rsi single-def "field V05._list (fldOffset=0x0)" P-INDEP +;* V13 tmp11 [V13,T14] ( 0, 0 ) int -> zero-ref "field V05._index (fldOffset=0x8)" P-INDEP +; V14 tmp12 [V14,T11] ( 2, 1 ) int -> r15 "field V05._version (fldOffset=0xc)" P-INDEP +;* V15 tmp13 [V15,T15] ( 0, 0 ) int -> zero-ref "field V05._current (fldOffset=0x10)" P-INDEP +; V16 cse0 [V16,T12] ( 2, 1 ) int -> rax "CSE #01: moderate" +; V17 cse1 [V17,T13] ( 2, 1 ) int -> rax "CSE #02: moderate" +; V18 cse2 [V18,T09] ( 3, 1.50) ref -> r14 "CSE #03: moderate" +; V19 rat0 [V19,T02] ( 3, 3 ) ref -> rax "delegate invoke call" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M56329_IG01: push rbp push r15 + push r14 push rbx - lea rbp, [rsp+0x10] + push rax + lea rbp, [rsp+0x20] mov rbx, rdi - ;; size=12 bbWeight=1 PerfScore 3.75 + ;; size=15 bbWeight=1 PerfScore 5.75 G_M56329_IG02: mov edi, dword ptr [rbx+0x0C] cmp edi, 1 je SHORT G_M56329_IG04 ;; size=8 bbWeight=1 PerfScore 3.25 G_M56329_IG03: cmp edi, 2 je SHORT G_M56329_IG06 - jmp SHORT G_M56329_IG09 - ;; size=7 bbWeight=0.50 PerfScore 1.62 + jmp G_M56329_IG10 + ;; size=10 bbWeight=0.50 PerfScore 1.62 G_M56329_IG04: mov rsi, gword ptr [rbx+0x18] mov r15d, dword ptr [rsi+0x14] lea rdi, bword ptr [rbx+0x28] call CORINFO_HELP_ASSIGN_REF - xor edi, edi - mov dword ptr [rbx+0x30], edi + xor esi, esi + mov dword ptr [rbx+0x30], esi mov dword ptr [rbx+0x34], r15d ;; size=26 bbWeight=0.50 PerfScore 3.88 G_M56329_IG05: - mov dword ptr [rbx+0x38], edi + mov dword ptr [rbx+0x38], esi mov dword ptr [rbx+0x0C], 2 ;; size=10 bbWeight=0.50 PerfScore 1.00 G_M56329_IG06: - lea rdi, bword ptr [rbx+0x28] - mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[int]:MoveNext():ubyte:this - call [rax]System.Collections.Generic.List`1+Enumerator[int]:MoveNext():ubyte:this - test eax, eax - je SHORT G_M56329_IG08 + lea r15, bword ptr [rbx+0x28] + mov r14, gword ptr [r15] + mov rsi, r14 + mov edi, dword ptr [r15+0x08] + mov eax, dword ptr [r15+0x0C] + cmp eax, dword ptr [rsi+0x14] + jne SHORT G_M56329_IG12 + cmp edi, dword ptr [rsi+0x10] + jae SHORT G_M56329_IG08 + mov rsi, gword ptr [rsi+0x08] + mov eax, dword ptr [rsi+0x08] + cmp eax, edi + jbe SHORT G_M56329_IG08 + mov eax, edi + mov esi, dword ptr [rsi+4*rax+0x10] + mov dword ptr [r15+0x10], esi + inc edi + mov dword ptr [r15+0x08], edi mov rax, gword ptr [rbx+0x20] mov esi, dword ptr [rbx+0x38] mov rdi, gword ptr [rax+0x08] call [rax+0x18]System.Func`2[int,System.Nullable`1[int]]:Invoke(int):System.Nullable`1[int]:this mov qword ptr [rbx+0x10], rax mov eax, 1 - ;; size=43 bbWeight=0.50 PerfScore 7.62 + ;; size=78 bbWeight=0.50 PerfScore 17.38 G_M56329_IG07: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M56329_IG08: + mov eax, dword ptr [r14+0x10] + inc eax + mov dword ptr [r15+0x08], eax xor eax, eax + mov dword ptr [r15+0x10], eax + ;; size=16 bbWeight=0.50 PerfScore 2.25 +G_M56329_IG09: mov qword ptr [rbx+0x10], rax mov dword ptr [rbx+0x0C], -1 - ;; size=13 bbWeight=0.50 PerfScore 1.12 -G_M56329_IG09: + ;; size=11 bbWeight=0.50 PerfScore 1.00 +G_M56329_IG10: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 -G_M56329_IG10: +G_M56329_IG11: + add rsp, 8 pop rbx + pop r14 pop r15 pop rbp ret - ;; size=5 bbWeight=0.50 PerfScore 1.25 + ;; size=11 bbWeight=0.50 PerfScore 1.62 +G_M56329_IG12: + 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 131, prolog size 9, PerfScore 24.88, instruction count 43, allocated bytes for code 131 (MethodHash=8eec23f6) for method System.Linq.Enumerable+ListSelectIterator`2[int,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) +; Total bytes of code 211, prolog size 12, PerfScore 39.50, instruction count 69, allocated bytes for code 211 (MethodHash=8eec23f6) for method System.Linq.Enumerable+ListSelectIterator`2[int,System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) ```
66 (43.42 % of base) - System.Linq.Enumerable+ListSelectIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():ubyte:this ```diff ; Assembly listing for method System.Linq.Enumerable+ListSelectIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():ubyte: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; 4 single block inlinees; 0 inlinees without PGO data +; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 12, 7.50) ref -> rbx this class-hnd single-def -; V01 loc0 [V01,T04] ( 3, 2.50) int -> rdi +; V01 loc0 [V01,T06] ( 3, 2.50) int -> rdi ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" -; V05 tmp3 [V05,T02] ( 3, 3 ) ref -> rsi class-hnd single-def "Inlining Arg" -;* V06 tmp4 [V06,T06] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" -;* V07 tmp5 [V07 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V08 tmp6 [V08 ] ( 0, 0 ) ubyte -> zero-ref "field V04.hasValue (fldOffset=0x0)" P-INDEP -;* V09 tmp7 [V09 ] ( 0, 0 ) int -> zero-ref "field V04.value (fldOffset=0x4)" P-INDEP -;* V10 tmp8 [V10 ] ( 0, 0 ) ref -> zero-ref single-def "V06.[000..008)" -;* V11 tmp9 [V11 ] ( 0, 0 ) int -> zero-ref "V06.[008..012)" -; V12 tmp10 [V12,T05] ( 2, 1 ) int -> r15 "V06.[012..016)" -; V13 tmp11 [V13,T01] ( 5, 5 ) byref -> r14 single-def "Spilling address for field-by-field copy" -; V14 rat0 [V14,T03] ( 3, 3 ) ref -> rax "delegate invoke call" +; V05 tmp3 [V05,T03] ( 3, 3 ) ref -> rsi class-hnd single-def "Inlining Arg" +;* V06 tmp4 [V06,T14] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" +;* V07 tmp5 [V07,T10] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V08 tmp6 [V08,T01] ( 8, 8 ) byref -> r15 single-def "Inlining Arg" +; V09 tmp7 [V09,T07] ( 4, 2 ) ref -> rsi class-hnd single-def "Inline stloc first use temp" +; V10 tmp8 [V10,T05] ( 5, 2.50) int -> rdi "Inline stloc first use temp" +; V11 tmp9 [V11,T08] ( 3, 1.50) ref -> rsi class-hnd exact single-def "Inline stloc first use temp" +;* V12 tmp10 [V12 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" +;* V13 tmp11 [V13 ] ( 0, 0 ) ubyte -> zero-ref "field V04.hasValue (fldOffset=0x0)" P-INDEP +;* V14 tmp12 [V14 ] ( 0, 0 ) int -> zero-ref "field V04.value (fldOffset=0x4)" P-INDEP +;* V15 tmp13 [V15 ] ( 0, 0 ) ref -> zero-ref single-def "V06.[000..008)" +;* V16 tmp14 [V16 ] ( 0, 0 ) int -> zero-ref "V06.[008..012)" +; V17 tmp15 [V17,T11] ( 2, 1 ) int -> r15 "V06.[012..016)" +; V18 tmp16 [V18,T02] ( 5, 5 ) byref -> r14 single-def "Spilling address for field-by-field copy" +; V19 cse0 [V19,T12] ( 2, 1 ) int -> rax "CSE #02: moderate" +; V20 cse1 [V20,T13] ( 2, 1 ) int -> rax "CSE #03: moderate" +; V21 cse2 [V21,T09] ( 3, 1.50) ref -> r14 "CSE #04: moderate" +; V22 rat0 [V22,T04] ( 3, 3 ) ref -> rax "delegate invoke call" ; ; Lcl frame size = 8 G_M47236_IG01: push rbp push r15 push r14 push rbx push rax lea rbp, [rsp+0x20] mov rbx, rdi ;; size=15 bbWeight=1 PerfScore 5.75 G_M47236_IG02: mov edi, dword ptr [rbx+0x0C] cmp edi, 1 je SHORT G_M47236_IG04 ;; size=8 bbWeight=1 PerfScore 3.25 G_M47236_IG03: cmp edi, 2 je SHORT G_M47236_IG06 - jmp SHORT G_M47236_IG09 - ;; size=7 bbWeight=0.50 PerfScore 1.62 + jmp G_M47236_IG10 + ;; size=10 bbWeight=0.50 PerfScore 1.62 G_M47236_IG04: mov rsi, gword ptr [rbx+0x18] mov r15d, dword ptr [rsi+0x14] lea r14, bword ptr [rbx+0x28] mov rdi, r14 call CORINFO_HELP_ASSIGN_REF - xor edi, edi - mov dword ptr [r14+0x08], edi + xor esi, esi + mov dword ptr [r14+0x08], esi mov dword ptr [r14+0x0C], r15d ;; size=30 bbWeight=0.50 PerfScore 4.00 G_M47236_IG05: - mov qword ptr [r14+0x10], rdi + mov qword ptr [r14+0x10], rsi mov dword ptr [rbx+0x0C], 2 ;; size=11 bbWeight=0.50 PerfScore 1.00 G_M47236_IG06: - lea rdi, bword ptr [rbx+0x28] - mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this - call [rax]System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this - test eax, eax - je SHORT G_M47236_IG08 + lea r15, bword ptr [rbx+0x28] + mov r14, gword ptr [r15] + mov rsi, r14 + mov edi, dword ptr [r15+0x08] + mov eax, dword ptr [r15+0x0C] + cmp eax, dword ptr [rsi+0x14] + jne SHORT G_M47236_IG12 + cmp edi, dword ptr [rsi+0x10] + jae SHORT G_M47236_IG08 + mov rsi, gword ptr [rsi+0x08] + mov eax, dword ptr [rsi+0x08] + cmp eax, edi + jbe SHORT G_M47236_IG08 + mov eax, edi + mov rsi, qword ptr [rsi+8*rax+0x10] + mov qword ptr [r15+0x10], rsi + inc edi + mov dword ptr [r15+0x08], edi mov rax, gword ptr [rbx+0x20] mov rsi, qword ptr [rbx+0x38] mov rdi, gword ptr [rax+0x08] call [rax+0x18]System.Func`2[System.Nullable`1[int],System.Nullable`1[int]]:Invoke(System.Nullable`1[int]):System.Nullable`1[int]:this mov qword ptr [rbx+0x10], rax mov eax, 1 - ;; size=44 bbWeight=0.50 PerfScore 7.62 + ;; size=80 bbWeight=0.50 PerfScore 17.38 G_M47236_IG07: add rsp, 8 pop rbx pop r14 pop r15 pop rbp ret ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M47236_IG08: + mov eax, dword ptr [r14+0x10] + inc eax + mov dword ptr [r15+0x08], eax xor eax, eax + mov qword ptr [r15+0x10], rax + ;; size=16 bbWeight=0.50 PerfScore 2.25 +G_M47236_IG09: mov qword ptr [rbx+0x10], rax mov dword ptr [rbx+0x0C], -1 - ;; size=13 bbWeight=0.50 PerfScore 1.12 -G_M47236_IG09: + ;; size=11 bbWeight=0.50 PerfScore 1.00 +G_M47236_IG10: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 -G_M47236_IG10: +G_M47236_IG11: add rsp, 8 pop rbx pop r14 pop r15 pop rbp ret ;; size=11 bbWeight=0.50 PerfScore 1.62 +G_M47236_IG12: + 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 152, prolog size 12, PerfScore 27.75, instruction count 50, allocated bytes for code 152 (MethodHash=dc7c477b) for method System.Linq.Enumerable+ListSelectIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) +; Total bytes of code 218, prolog size 12, PerfScore 39.62, instruction count 70, allocated bytes for code 218 (MethodHash=dc7c477b) for method System.Linq.Enumerable+ListSelectIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext():ubyte: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/f6744f5a2ad1f18c390757c574825a4a

MihuBot commented 6 months ago

Top method improvements

-24 (-1.58 % of base) - System.Xml.Xsl.Xslt.XslAstAnalyzer:Analyze(System.Xml.Xsl.Xslt.Compiler):int:this ```diff ; Assembly listing for method System.Xml.Xsl.Xslt.XslAstAnalyzer:Analyze(System.Xml.Xsl.Xslt.Compiler):int:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 43 single block inlinees; 13 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T01] ( 24, 46 ) ref -> rbx this class-hnd single-def ; V01 arg1 [V01,T08] ( 11, 26 ) ref -> r15 class-hnd single-def -; V02 loc0 [V02,T38] ( 8, 13 ) int -> r14 +; V02 loc0 [V02,T32] ( 8, 13 ) int -> r14 ;* V03 loc1 [V03 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op ;* V04 loc2 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V05 loc3 [V05 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op ;* V06 loc4 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V07 loc5 [V07 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op ;* V08 loc6 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V09 loc7 [V09 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op ;* V10 loc8 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V11 loc9 [V11 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op ;* V12 loc10 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd ;* V13 loc11 [V13 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op ;* V14 loc12 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd ; V15 loc13 [V15,T05] ( 7, 38 ) ref -> [rbp-0x98] do-not-enreg[Z] class-hnd EH-live ; V16 loc14 [V16,T03] ( 4, 40 ) ref -> rax class-hnd ; V17 loc15 [V17,T06] ( 4, 32 ) ref -> rdi class-hnd exact -; V18 loc16 [V18,T24] ( 5, 20 ) int -> r13 +; V18 loc16 [V18,T18] ( 5, 20 ) int -> r13 ; V19 loc17 [V19 ] ( 9, 18 ) struct (40) [rbp-0x50] do-not-enreg[XS] must-init addr-exposed ld-addr-op ;* V20 loc18 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ; V21 loc19 [V21,T15] ( 3, 24 ) ref -> r12 class-hnd exact ;* V22 loc20 [V22,T90] ( 0, 0 ) int -> zero-ref ;* V23 loc21 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;# V24 OutArgs [V24 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V25 tmp1 [V25,T79] ( 3, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" ; V26 tmp2 [V26,T62] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" ; V27 tmp3 [V27,T80] ( 3, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" ; V28 tmp4 [V28,T84] ( 2, 4 ) ref -> r13 class-hnd exact single-def "Inlining Arg" ; V29 tmp5 [V29,T81] ( 3, 6 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" ; V30 tmp6 [V30,T85] ( 2, 4 ) ref -> r14 class-hnd single-def "Inlining Arg" ;* V31 tmp7 [V31 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -; V32 tmp8 [V32,T42] ( 3, 12 ) ref -> rdi class-hnd exact "Inlining Arg" -; V33 tmp9 [V33,T43] ( 3, 12 ) ref -> rcx class-hnd exact "Inlining Arg" +; V32 tmp8 [V32,T36] ( 3, 12 ) ref -> rdi class-hnd exact "Inlining Arg" +; V33 tmp9 [V33,T37] ( 3, 12 ) ref -> rcx class-hnd exact "Inlining Arg" ;* V34 tmp10 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" ;* V35 tmp11 [V35,T68] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V36 tmp12 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; V37 tmp13 [V37,T32] ( 2, 16 ) ref -> r14 class-hnd single-def "Inlining Arg" -;* V38 tmp14 [V38 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -; V39 tmp15 [V39,T44] ( 3, 12 ) ref -> rdi class-hnd exact "Inlining Arg" -; V40 tmp16 [V40,T45] ( 3, 12 ) ref -> rcx class-hnd exact "Inlining Arg" -;* V41 tmp17 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" -;* V42 tmp18 [V42,T69] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V43 tmp19 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; V44 tmp20 [V44,T33] ( 2, 16 ) ref -> r14 class-hnd single-def "Inlining Arg" -;* V45 tmp21 [V45 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -;* V46 tmp22 [V46,T70] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V47 tmp23 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; V48 tmp24 [V48,T34] ( 2, 16 ) ref -> r14 class-hnd single-def "Inlining Arg" +;* V37 tmp13 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" +; V38 tmp14 [V38,T38] ( 3, 12 ) ref -> rdx class-hnd "Inline stloc first use temp" +; V39 tmp15 [V39,T26] ( 2, 16 ) ref -> r14 class-hnd single-def "Inlining Arg" +;* V40 tmp16 [V40 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" +; V41 tmp17 [V41,T39] ( 3, 12 ) ref -> rdi class-hnd exact "Inlining Arg" +; V42 tmp18 [V42,T40] ( 3, 12 ) ref -> rcx class-hnd exact "Inlining Arg" +;* V43 tmp19 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" +;* V44 tmp20 [V44,T69] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V45 tmp21 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" +;* V46 tmp22 [V46 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" +; V47 tmp23 [V47,T41] ( 3, 12 ) ref -> rdx class-hnd "Inline stloc first use temp" +; V48 tmp24 [V48,T27] ( 2, 16 ) ref -> r14 class-hnd single-def "Inlining Arg" ;* V49 tmp25 [V49 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -;* V50 tmp26 [V50,T71] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V50 tmp26 [V50,T70] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V51 tmp27 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; V52 tmp28 [V52,T35] ( 2, 16 ) ref -> r13 class-hnd single-def "Inlining Arg" -;* V53 tmp29 [V53 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -;* V54 tmp30 [V54,T72] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V55 tmp31 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; V56 tmp32 [V56,T36] ( 2, 16 ) ref -> r13 class-hnd single-def "Inlining Arg" -;* V57 tmp33 [V57 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" -;* V58 tmp34 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" -; V59 tmp35 [V59,T86] ( 2, 4 ) ref -> r11 class-hnd "Inline stloc first use temp" -; V60 tmp36 [V60,T66] ( 4, 8 ) ref -> r11 -;* V61 tmp37 [V61,T73] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V62 tmp38 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; V63 tmp39 [V63,T82] ( 3, 6 ) ref -> rdi class-hnd single-def "Inlining Arg" -; V64 tmp40 [V64,T89] ( 2, 4 ) struct (40) [rbp-0x78] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" -; V65 tmp41 [V65,T31] ( 4, 17 ) ref -> r14 single-def "field V03._list (fldOffset=0x0)" P-INDEP -; V66 tmp42 [V66,T39] ( 3, 8 ) ref -> r8 "field V03._current (fldOffset=0x8)" P-INDEP -; V67 tmp43 [V67,T14] ( 6, 21 ) int -> r12 "field V03._index (fldOffset=0x10)" P-INDEP -; V68 tmp44 [V68,T65] ( 2, 9 ) int -> r13 "field V03._version (fldOffset=0x14)" P-INDEP -; V69 tmp45 [V69,T25] ( 4, 20 ) ref -> r14 single-def "field V05._list (fldOffset=0x0)" P-INDEP -; V70 tmp46 [V70,T40] ( 3, 8 ) ref -> r8 "field V05._current (fldOffset=0x8)" P-INDEP -; V71 tmp47 [V71,T09] ( 6, 24 ) int -> r12 "field V05._index (fldOffset=0x10)" P-INDEP -; V72 tmp48 [V72,T57] ( 2, 12 ) int -> r13 "field V05._version (fldOffset=0x14)" P-INDEP -; V73 tmp49 [V73,T26] ( 4, 20 ) ref -> r14 single-def "field V07._list (fldOffset=0x0)" P-INDEP -; V74 tmp50 [V74,T37] ( 4, 10 ) ref -> [rbp-0xA0] spill-single-def "field V07._current (fldOffset=0x8)" P-INDEP -; V75 tmp51 [V75,T10] ( 6, 24 ) int -> r12 "field V07._index (fldOffset=0x10)" P-INDEP -; V76 tmp52 [V76,T58] ( 2, 12 ) int -> r13 "field V07._version (fldOffset=0x14)" P-INDEP -; V77 tmp53 [V77,T27] ( 4, 20 ) ref -> r14 single-def "field V09._list (fldOffset=0x0)" P-INDEP -; V78 tmp54 [V78,T63] ( 2, 6 ) ref -> rsi "field V09._current (fldOffset=0x8)" P-INDEP -; V79 tmp55 [V79,T11] ( 6, 24 ) int -> r12 "field V09._index (fldOffset=0x10)" P-INDEP -; V80 tmp56 [V80,T59] ( 2, 12 ) int -> r13 "field V09._version (fldOffset=0x14)" P-INDEP -; V81 tmp57 [V81,T28] ( 4, 20 ) ref -> r13 single-def "field V11._list (fldOffset=0x0)" P-INDEP -; V82 tmp58 [V82,T41] ( 3, 8 ) ref -> [rbp-0xA8] spill-single-def "field V11._current (fldOffset=0x8)" P-INDEP -; V83 tmp59 [V83,T12] ( 6, 24 ) int -> [rbp-0x7C] "field V11._index (fldOffset=0x10)" P-INDEP -; V84 tmp60 [V84,T60] ( 2, 12 ) int -> r12 "field V11._version (fldOffset=0x14)" P-INDEP -; V85 tmp61 [V85,T29] ( 4, 20 ) ref -> r13 single-def "field V13._list (fldOffset=0x0)" P-INDEP -; V86 tmp62 [V86,T64] ( 2, 6 ) ref -> r11 "field V13._current (fldOffset=0x8)" P-INDEP -; V87 tmp63 [V87,T13] ( 6, 24 ) int -> [rbp-0x80] "field V13._index (fldOffset=0x10)" P-INDEP -; V88 tmp64 [V88,T61] ( 2, 12 ) int -> r12 "field V13._version (fldOffset=0x14)" P-INDEP -; V89 tmp65 [V89,T30] ( 2, 20 ) ref -> r13 "field V20.key (fldOffset=0x0)" P-INDEP -; V90 tmp66 [V90,T67] ( 2, 8 ) ref -> rsi "field V20.value (fldOffset=0x8)" P-INDEP -; V91 tmp67 [V91,T96] ( 3, 3 ) ref -> r14 single-def "field V31._list (fldOffset=0x0)" P-INDEP -;* V92 tmp68 [V92 ] ( 0, 0 ) ref -> zero-ref single-def "field V31._current (fldOffset=0x8)" P-INDEP -;* V93 tmp69 [V93,T100] ( 0, 0 ) int -> zero-ref "field V31._index (fldOffset=0x10)" P-INDEP -; V94 tmp70 [V94,T98] ( 2, 2 ) int -> r13 "field V31._version (fldOffset=0x14)" P-INDEP -; V95 tmp71 [V95,T46] ( 3, 12 ) ref -> r14 single-def "field V38._list (fldOffset=0x0)" P-INDEP -;* V96 tmp72 [V96 ] ( 0, 0 ) ref -> zero-ref single-def "field V38._current (fldOffset=0x8)" P-INDEP -;* V97 tmp73 [V97,T91] ( 0, 0 ) int -> zero-ref "field V38._index (fldOffset=0x10)" P-INDEP -; V98 tmp74 [V98,T74] ( 2, 8 ) int -> r13 "field V38._version (fldOffset=0x14)" P-INDEP -; V99 tmp75 [V99,T47] ( 3, 12 ) ref -> r14 single-def "field V45._list (fldOffset=0x0)" P-INDEP -;* V100 tmp76 [V100 ] ( 0, 0 ) ref -> zero-ref single-def "field V45._current (fldOffset=0x8)" P-INDEP -;* V101 tmp77 [V101,T92] ( 0, 0 ) int -> zero-ref "field V45._index (fldOffset=0x10)" P-INDEP -; V102 tmp78 [V102,T75] ( 2, 8 ) int -> r13 "field V45._version (fldOffset=0x14)" P-INDEP -; V103 tmp79 [V103,T48] ( 3, 12 ) ref -> r14 single-def "field V49._list (fldOffset=0x0)" P-INDEP -;* V104 tmp80 [V104 ] ( 0, 0 ) ref -> zero-ref single-def "field V49._current (fldOffset=0x8)" P-INDEP -;* V105 tmp81 [V105,T93] ( 0, 0 ) int -> zero-ref "field V49._index (fldOffset=0x10)" P-INDEP -; V106 tmp82 [V106,T76] ( 2, 8 ) int -> r13 "field V49._version (fldOffset=0x14)" P-INDEP -; V107 tmp83 [V107,T49] ( 3, 12 ) ref -> r13 single-def "field V53._list (fldOffset=0x0)" P-INDEP -;* V108 tmp84 [V108 ] ( 0, 0 ) ref -> zero-ref single-def "field V53._current (fldOffset=0x8)" P-INDEP -;* V109 tmp85 [V109,T94] ( 0, 0 ) int -> zero-ref "field V53._index (fldOffset=0x10)" P-INDEP -; V110 tmp86 [V110,T77] ( 2, 8 ) int -> r12 "field V53._version (fldOffset=0x14)" P-INDEP -; V111 tmp87 [V111,T50] ( 3, 12 ) ref -> r13 single-def "field V57._list (fldOffset=0x0)" P-INDEP -;* V112 tmp88 [V112 ] ( 0, 0 ) ref -> zero-ref single-def "field V57._current (fldOffset=0x8)" P-INDEP -;* V113 tmp89 [V113,T95] ( 0, 0 ) int -> zero-ref "field V57._index (fldOffset=0x10)" P-INDEP -; V114 tmp90 [V114,T78] ( 2, 8 ) int -> r12 "field V57._version (fldOffset=0x14)" P-INDEP -;* V115 tmp91 [V115 ] ( 0, 0 ) ref -> zero-ref single-def "V64.[000..008)" -; V116 tmp92 [V116,T99] ( 2, 2 ) int -> rsi "V64.[008..012)" -;* V117 tmp93 [V117 ] ( 0, 0 ) int -> zero-ref "V64.[012..016)" -;* V118 tmp94 [V118 ] ( 0, 0 ) int -> zero-ref "V64.[016..020)" -; V119 tmp95 [V119,T16] ( 3, 24 ) ref -> rdx "arr expr" -; V120 tmp96 [V120,T17] ( 3, 24 ) ref -> rdx "arr expr" -; V121 tmp97 [V121,T18] ( 3, 24 ) ref -> rdi "arr expr" -; V122 tmp98 [V122,T19] ( 3, 24 ) ref -> rdi "arr expr" -; V123 tmp99 [V123,T20] ( 3, 24 ) ref -> rsi "arr expr" -; V124 tmp100 [V124,T21] ( 3, 24 ) ref -> r11 "arr expr" -; V125 tmp101 [V125,T83] ( 3, 6 ) ref -> rdi single-def "arr expr" -; V126 tmp102 [V126,T87] ( 2, 4 ) ref -> rsi single-def "argument with side effect" -; V127 tmp103 [V127,T88] ( 2, 4 ) ref -> rax single-def "argument with side effect" -; V128 PSPSym [V128,T101] ( 1, 1 ) long -> [rbp-0xB0] do-not-enreg[V] "PSPSym" -; V129 cse0 [V129,T22] ( 3, 24 ) int -> r11 "CSE #12: moderate" -; V130 cse1 [V130,T04] ( 3, 40 ) int -> rdi "CSE #11: aggressive" -; V131 cse2 [V131,T51] ( 2, 8 ) int -> rdx "CSE #02: conservative" -; V132 cse3 [V132,T52] ( 2, 8 ) int -> rdx "CSE #04: conservative" -; V133 cse4 [V133,T53] ( 2, 8 ) int -> rdi "CSE #06: conservative" -; V134 cse5 [V134,T54] ( 2, 8 ) int -> rdi "CSE #08: conservative" -; V135 cse6 [V135,T55] ( 2, 8 ) int -> rsi "CSE #10: conservative" -; V136 cse7 [V136,T56] ( 2, 8 ) int -> r11 "CSE #14: conservative" -; V137 cse8 [V137,T97] ( 3, 3 ) ref -> rdi "CSE #17: conservative" -; V138 cse9 [V138,T23] ( 3, 24 ) int -> [rbp-0x84] spill-single-def "CSE #15: moderate" -; V139 rat0 [V139,T00] ( 5, 68 ) long -> [rbp-0x90] "Widened IV V22" -; V140 rat1 [V140,T02] ( 3, 48 ) ref -> rdi "replacement local" -; V141 rat2 [V141,T07] ( 3, 32 ) long -> rcx "CSE for expectedClsNode" +;* V52 tmp28 [V52 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" +; V53 tmp29 [V53,T42] ( 3, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" +; V54 tmp30 [V54,T28] ( 2, 16 ) ref -> r14 class-hnd single-def "Inlining Arg" +;* V55 tmp31 [V55 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" +;* V56 tmp32 [V56,T71] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V57 tmp33 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" +;* V58 tmp34 [V58 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" +; V59 tmp35 [V59,T43] ( 3, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" +; V60 tmp36 [V60,T29] ( 2, 16 ) ref -> r13 class-hnd single-def "Inlining Arg" +;* V61 tmp37 [V61 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" +;* V62 tmp38 [V62,T72] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V63 tmp39 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" +;* V64 tmp40 [V64 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" +; V65 tmp41 [V65,T44] ( 3, 12 ) ref -> rsi class-hnd "Inline stloc first use temp" +; V66 tmp42 [V66,T30] ( 2, 16 ) ref -> r13 class-hnd single-def "Inlining Arg" +;* V67 tmp43 [V67 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" +;* V68 tmp44 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" +; V69 tmp45 [V69,T86] ( 2, 4 ) ref -> r11 class-hnd "Inline stloc first use temp" +; V70 tmp46 [V70,T66] ( 4, 8 ) ref -> r11 +;* V71 tmp47 [V71,T73] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V72 tmp48 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" +;* V73 tmp49 [V73 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" +; V74 tmp50 [V74,T45] ( 3, 12 ) ref -> r11 class-hnd "Inline stloc first use temp" +; V75 tmp51 [V75,T82] ( 3, 6 ) ref -> rdi class-hnd single-def "Inlining Arg" +; V76 tmp52 [V76,T89] ( 2, 4 ) struct (40) [rbp-0x78] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" +; V77 tmp53 [V77,T25] ( 4, 17 ) ref -> r14 single-def "field V03._list (fldOffset=0x0)" P-INDEP +; V78 tmp54 [V78,T33] ( 3, 8 ) ref -> r8 "field V03._current (fldOffset=0x8)" P-INDEP +; V79 tmp55 [V79,T14] ( 6, 21 ) int -> r12 "field V03._index (fldOffset=0x10)" P-INDEP +; V80 tmp56 [V80,T65] ( 2, 9 ) int -> r13 "field V03._version (fldOffset=0x14)" P-INDEP +; V81 tmp57 [V81,T19] ( 4, 20 ) ref -> r14 single-def "field V05._list (fldOffset=0x0)" P-INDEP +; V82 tmp58 [V82,T34] ( 3, 8 ) ref -> r8 "field V05._current (fldOffset=0x8)" P-INDEP +; V83 tmp59 [V83,T09] ( 6, 24 ) int -> r12 "field V05._index (fldOffset=0x10)" P-INDEP +; V84 tmp60 [V84,T57] ( 2, 12 ) int -> r13 "field V05._version (fldOffset=0x14)" P-INDEP +; V85 tmp61 [V85,T20] ( 4, 20 ) ref -> r14 single-def "field V07._list (fldOffset=0x0)" P-INDEP +; V86 tmp62 [V86,T31] ( 4, 10 ) ref -> [rbp-0xA0] spill-single-def "field V07._current (fldOffset=0x8)" P-INDEP +; V87 tmp63 [V87,T10] ( 6, 24 ) int -> r12 "field V07._index (fldOffset=0x10)" P-INDEP +; V88 tmp64 [V88,T58] ( 2, 12 ) int -> r13 "field V07._version (fldOffset=0x14)" P-INDEP +; V89 tmp65 [V89,T21] ( 4, 20 ) ref -> r14 single-def "field V09._list (fldOffset=0x0)" P-INDEP +; V90 tmp66 [V90,T63] ( 2, 6 ) ref -> rsi "field V09._current (fldOffset=0x8)" P-INDEP +; V91 tmp67 [V91,T11] ( 6, 24 ) int -> r12 "field V09._index (fldOffset=0x10)" P-INDEP +; V92 tmp68 [V92,T59] ( 2, 12 ) int -> r13 "field V09._version (fldOffset=0x14)" P-INDEP +; V93 tmp69 [V93,T22] ( 4, 20 ) ref -> r13 single-def "field V11._list (fldOffset=0x0)" P-INDEP +; V94 tmp70 [V94,T35] ( 3, 8 ) ref -> [rbp-0xA8] spill-single-def "field V11._current (fldOffset=0x8)" P-INDEP +; V95 tmp71 [V95,T12] ( 6, 24 ) int -> [rbp-0x7C] "field V11._index (fldOffset=0x10)" P-INDEP +; V96 tmp72 [V96,T60] ( 2, 12 ) int -> r12 "field V11._version (fldOffset=0x14)" P-INDEP +; V97 tmp73 [V97,T23] ( 4, 20 ) ref -> r13 single-def "field V13._list (fldOffset=0x0)" P-INDEP +; V98 tmp74 [V98,T64] ( 2, 6 ) ref -> r11 "field V13._current (fldOffset=0x8)" P-INDEP +; V99 tmp75 [V99,T13] ( 6, 24 ) int -> [rbp-0x80] "field V13._index (fldOffset=0x10)" P-INDEP +; V100 tmp76 [V100,T61] ( 2, 12 ) int -> r12 "field V13._version (fldOffset=0x14)" P-INDEP +; V101 tmp77 [V101,T24] ( 2, 20 ) ref -> r13 "field V20.key (fldOffset=0x0)" P-INDEP +; V102 tmp78 [V102,T67] ( 2, 8 ) ref -> rsi "field V20.value (fldOffset=0x8)" P-INDEP +; V103 tmp79 [V103,T96] ( 3, 3 ) ref -> r14 single-def "field V31._list (fldOffset=0x0)" P-INDEP +;* V104 tmp80 [V104 ] ( 0, 0 ) ref -> zero-ref single-def "field V31._current (fldOffset=0x8)" P-INDEP +;* V105 tmp81 [V105,T100] ( 0, 0 ) int -> zero-ref "field V31._index (fldOffset=0x10)" P-INDEP +; V106 tmp82 [V106,T98] ( 2, 2 ) int -> r13 "field V31._version (fldOffset=0x14)" P-INDEP +; V107 tmp83 [V107,T46] ( 3, 12 ) ref -> r14 single-def "field V40._list (fldOffset=0x0)" P-INDEP +;* V108 tmp84 [V108 ] ( 0, 0 ) ref -> zero-ref single-def "field V40._current (fldOffset=0x8)" P-INDEP +;* V109 tmp85 [V109,T91] ( 0, 0 ) int -> zero-ref "field V40._index (fldOffset=0x10)" P-INDEP +; V110 tmp86 [V110,T74] ( 2, 8 ) int -> r13 "field V40._version (fldOffset=0x14)" P-INDEP +; V111 tmp87 [V111,T47] ( 3, 12 ) ref -> r14 single-def "field V49._list (fldOffset=0x0)" P-INDEP +;* V112 tmp88 [V112 ] ( 0, 0 ) ref -> zero-ref single-def "field V49._current (fldOffset=0x8)" P-INDEP +;* V113 tmp89 [V113,T92] ( 0, 0 ) int -> zero-ref "field V49._index (fldOffset=0x10)" P-INDEP +; V114 tmp90 [V114,T75] ( 2, 8 ) int -> r13 "field V49._version (fldOffset=0x14)" P-INDEP +; V115 tmp91 [V115,T48] ( 3, 12 ) ref -> r14 single-def "field V55._list (fldOffset=0x0)" P-INDEP +;* V116 tmp92 [V116 ] ( 0, 0 ) ref -> zero-ref single-def "field V55._current (fldOffset=0x8)" P-INDEP +;* V117 tmp93 [V117,T93] ( 0, 0 ) int -> zero-ref "field V55._index (fldOffset=0x10)" P-INDEP +; V118 tmp94 [V118,T76] ( 2, 8 ) int -> r13 "field V55._version (fldOffset=0x14)" P-INDEP +; V119 tmp95 [V119,T49] ( 3, 12 ) ref -> r13 single-def "field V61._list (fldOffset=0x0)" P-INDEP +;* V120 tmp96 [V120 ] ( 0, 0 ) ref -> zero-ref single-def "field V61._current (fldOffset=0x8)" P-INDEP +;* V121 tmp97 [V121,T94] ( 0, 0 ) int -> zero-ref "field V61._index (fldOffset=0x10)" P-INDEP +; V122 tmp98 [V122,T77] ( 2, 8 ) int -> r12 "field V61._version (fldOffset=0x14)" P-INDEP +; V123 tmp99 [V123,T50] ( 3, 12 ) ref -> r13 single-def "field V67._list (fldOffset=0x0)" P-INDEP +;* V124 tmp100 [V124 ] ( 0, 0 ) ref -> zero-ref single-def "field V67._current (fldOffset=0x8)" P-INDEP +;* V125 tmp101 [V125,T95] ( 0, 0 ) int -> zero-ref "field V67._index (fldOffset=0x10)" P-INDEP +; V126 tmp102 [V126,T78] ( 2, 8 ) int -> r12 "field V67._version (fldOffset=0x14)" P-INDEP +;* V127 tmp103 [V127 ] ( 0, 0 ) ref -> zero-ref single-def "V76.[000..008)" +; V128 tmp104 [V128,T99] ( 2, 2 ) int -> rsi "V76.[008..012)" +;* V129 tmp105 [V129 ] ( 0, 0 ) int -> zero-ref "V76.[012..016)" +;* V130 tmp106 [V130 ] ( 0, 0 ) int -> zero-ref "V76.[016..020)" +; V131 tmp107 [V131,T83] ( 3, 6 ) ref -> rdi single-def "arr expr" +; V132 tmp108 [V132,T87] ( 2, 4 ) ref -> rsi single-def "argument with side effect" +; V133 tmp109 [V133,T88] ( 2, 4 ) ref -> rax single-def "argument with side effect" +; V134 PSPSym [V134,T101] ( 1, 1 ) long -> [rbp-0xB0] do-not-enreg[V] "PSPSym" +; V135 cse0 [V135,T16] ( 3, 24 ) int -> r11 "CSE #17: moderate" +; V136 cse1 [V136,T04] ( 3, 40 ) int -> rdi "CSE #16: aggressive" +; V137 cse2 [V137,T51] ( 2, 8 ) int -> rdx "CSE #03: conservative" +; V138 cse3 [V138,T52] ( 2, 8 ) int -> rdx "CSE #06: conservative" +; V139 cse4 [V139,T53] ( 2, 8 ) int -> rdi "CSE #09: conservative" +; V140 cse5 [V140,T54] ( 2, 8 ) int -> rdi "CSE #12: conservative" +; V141 cse6 [V141,T55] ( 2, 8 ) int -> rsi "CSE #15: conservative" +; V142 cse7 [V142,T56] ( 2, 8 ) int -> r11 "CSE #20: conservative" +; V143 cse8 [V143,T97] ( 3, 3 ) ref -> rdi "CSE #23: conservative" +; V144 cse9 [V144,T17] ( 3, 24 ) int -> [rbp-0x84] spill-single-def "CSE #21: moderate" +; V145 rat0 [V145,T00] ( 5, 68 ) long -> [rbp-0x90] "Widened IV V22" +; V146 rat1 [V146,T02] ( 3, 48 ) ref -> rdi "replacement local" +; V147 rat2 [V147,T07] ( 3, 32 ) long -> rcx "CSE for expectedClsNode" ; ; Lcl frame size = 136 G_M43812_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 136 lea rbp, [rsp+0xB0] xor eax, eax mov qword ptr [rbp-0x78], rax vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x70], ymm8 vmovdqu ymmword ptr [rbp-0x50], ymm8 mov qword ptr [rbp-0x30], rax mov qword ptr [rbp-0xB0], rsp mov rbx, rdi mov r15, rsi ;; size=63 bbWeight=1 PerfScore 14.83 G_M43812_IG02: lea rdi, bword ptr [rbx+0x10] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.Xml.Xsl.Xslt.VarPar] call CORINFO_HELP_NEWSFAST mov r14, rax mov rdi, r14 mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:.ctor():this call [rax]System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:.ctor():this lea rdi, bword ptr [rbx+0x08] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.Xslt.XslAstAnalyzer+XPathAnalyzer call CORINFO_HELP_NEWSFAST mov r14, rax mov r13, gword ptr [rbx+0x08] mov rdi, 0xD1FFAB1E ; System.Xml.Xsl.XPath.XPathParser`1[int] call CORINFO_HELP_NEWSFAST mov r12, rax mov rdi, 0xD1FFAB1E ; System.Collections.Generic.Stack`1[int] call CORINFO_HELP_NEWSFAST mov rdi, 0xD1FFAB1E ; 'System.Int32[]' mov gword ptr [rax+0x08], rdi lea rdi, bword ptr [r12+0x18] mov rsi, rax call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r14+0x08] mov rsi, r12 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r14+0x18] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r14+0x10] mov rsi, r13 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [rbx+0x18] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF mov r14, gword ptr [r15+0x48] mov r13d, dword ptr [r14+0x14] xor r12d, r12d jmp SHORT G_M43812_IG04 ;; size=200 bbWeight=1 PerfScore 31.00 G_M43812_IG03: mov rdi, gword ptr [rbx+0x08] mov rcx, gword ptr [r8+0x18] cmp byte ptr [rdi], dil mov rdx, gword ptr [rcx+0x30] mov rcx, gword ptr [rcx+0x38] mov esi, 64 mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:AddRecord(int,System.String,System.String,System.__Canon):this call [rax]System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:AddRecord(int,System.String,System.String,System.__Canon):this ;; size=36 bbWeight=2 PerfScore 29.00 G_M43812_IG04: cmp r13d, dword ptr [r14+0x14] jne G_M43812_IG55 ;; size=10 bbWeight=8 PerfScore 32.00 G_M43812_IG05: mov edx, dword ptr [r14+0x10] cmp r12d, edx jae SHORT G_M43812_IG06 mov rdx, gword ptr [r14+0x08] - cmp r12d, dword ptr [rdx+0x08] - jae G_M43812_IG54 + cmp dword ptr [rdx+0x08], r12d + jbe SHORT G_M43812_IG06 mov ecx, r12d mov r8, gword ptr [rdx+8*rcx+0x10] inc r12d jmp SHORT G_M43812_IG03 - ;; size=36 bbWeight=4 PerfScore 55.00 + ;; size=32 bbWeight=4 PerfScore 55.00 G_M43812_IG06: mov r14, gword ptr [r15+0x50] mov r13d, dword ptr [r14+0x14] xor r12d, r12d jmp SHORT G_M43812_IG08 ;; size=13 bbWeight=4 PerfScore 25.00 G_M43812_IG07: mov rdi, gword ptr [rbx+0x08] mov rcx, gword ptr [r8+0x18] cmp byte ptr [rdi], dil mov rdx, gword ptr [rcx+0x30] mov rcx, gword ptr [rcx+0x38] mov esi, 64 mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:AddRecord(int,System.String,System.String,System.__Canon):this call [rax]System.Xml.Xsl.Xslt.CompilerScopeManager`1[System.__Canon]:AddRecord(int,System.String,System.String,System.__Canon):this ;; size=36 bbWeight=2 PerfScore 29.00 G_M43812_IG08: cmp r13d, dword ptr [r14+0x14] jne G_M43812_IG55 ;; size=10 bbWeight=8 PerfScore 32.00 G_M43812_IG09: mov edx, dword ptr [r14+0x10] cmp r12d, edx jae SHORT G_M43812_IG10 mov rdx, gword ptr [r14+0x08] - cmp r12d, dword ptr [rdx+0x08] - jae G_M43812_IG54 + cmp dword ptr [rdx+0x08], r12d + jbe SHORT G_M43812_IG10 mov ecx, r12d mov r8, gword ptr [rdx+8*rcx+0x10] inc r12d jmp SHORT G_M43812_IG07 - ;; size=36 bbWeight=4 PerfScore 55.00 + ;; size=32 bbWeight=4 PerfScore 55.00 G_M43812_IG10: mov r14, gword ptr [r15+0x48] mov r13d, dword ptr [r14+0x14] xor r12d, r12d jmp SHORT G_M43812_IG12 ;; size=13 bbWeight=4 PerfScore 25.00 G_M43812_IG11: mov rdi, rbx mov rsi, rax mov rcx, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer:Visit(System.Xml.Xsl.Xslt.XslNode):int:this call [rcx]System.Xml.Xsl.Xslt.XslAstAnalyzer:Visit(System.Xml.Xsl.Xslt.XslNode):int:this mov rdi, gword ptr [rbp-0xA0] or dword ptr [rdi+0x38], 63 ;; size=29 bbWeight=2 PerfScore 15.50 G_M43812_IG12: cmp r13d, dword ptr [r14+0x14] jne G_M43812_IG55 ;; size=10 bbWeight=8 PerfScore 32.00 G_M43812_IG13: mov edi, dword ptr [r14+0x10] cmp r12d, edi jae SHORT G_M43812_IG14 mov rdi, gword ptr [r14+0x08] - cmp r12d, dword ptr [rdi+0x08] - jae G_M43812_IG54 + cmp dword ptr [rdi+0x08], r12d + jbe SHORT G_M43812_IG14 mov esi, r12d mov rax, gword ptr [rdi+8*rsi+0x10] mov gword ptr [rbp-0xA0], rax inc r12d jmp SHORT G_M43812_IG11 - ;; size=43 bbWeight=4 PerfScore 59.00 + ;; size=39 bbWeight=4 PerfScore 59.00 G_M43812_IG14: mov r14, gword ptr [r15+0x50] mov r13d, dword ptr [r14+0x14] xor r12d, r12d jmp SHORT G_M43812_IG16 ;; size=13 bbWeight=4 PerfScore 25.00 G_M43812_IG15: mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer:Visit(System.Xml.Xsl.Xslt.XslNode):int:this call [rax]System.Xml.Xsl.Xslt.XslAstAnalyzer:Visit(System.Xml.Xsl.Xslt.XslNode):int:this ;; size=15 bbWeight=2 PerfScore 7.00 G_M43812_IG16: cmp r13d, dword ptr [r14+0x14] jne G_M43812_IG55 ;; size=10 bbWeight=8 PerfScore 32.00 G_M43812_IG17: mov edi, dword ptr [r14+0x10] cmp r12d, edi jae SHORT G_M43812_IG18 mov rdi, gword ptr [r14+0x08] - cmp r12d, dword ptr [rdi+0x08] - jae G_M43812_IG54 + cmp dword ptr [rdi+0x08], r12d + jbe SHORT G_M43812_IG18 mov esi, r12d mov rsi, gword ptr [rdi+8*rsi+0x10] inc r12d jmp SHORT G_M43812_IG15 - ;; size=36 bbWeight=4 PerfScore 55.00 + ;; size=32 bbWeight=4 PerfScore 55.00 G_M43812_IG18: xor r14d, r14d mov r13, gword ptr [r15+0x70] mov r12d, dword ptr [r13+0x14] xor edi, edi jmp SHORT G_M43812_IG20 ;; size=15 bbWeight=4 PerfScore 26.00 G_M43812_IG19: lea rdi, bword ptr [rbx+0x20] mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov rdi, rbx mov rsi, gword ptr [rbp-0xA8] mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer:Visit(System.Xml.Xsl.Xslt.XslNode):int:this call [rax]System.Xml.Xsl.Xslt.XslAstAnalyzer:Visit(System.Xml.Xsl.Xslt.XslNode):int:this or r14d, eax mov edi, dword ptr [rbp-0x7C] ;; size=40 bbWeight=2 PerfScore 15.00 G_M43812_IG20: cmp r12d, dword ptr [r13+0x14] jne G_M43812_IG55 ;; size=10 bbWeight=8 PerfScore 32.00 G_M43812_IG21: mov esi, dword ptr [r13+0x10] cmp edi, esi jae SHORT G_M43812_IG22 mov rsi, gword ptr [r13+0x08] - cmp edi, dword ptr [rsi+0x08] - jae G_M43812_IG54 + cmp dword ptr [rsi+0x08], edi + jbe SHORT G_M43812_IG22 mov eax, edi mov rax, gword ptr [rsi+8*rax+0x10] mov gword ptr [rbp-0xA8], rax inc edi mov dword ptr [rbp-0x7C], edi jmp SHORT G_M43812_IG19 - ;; size=42 bbWeight=4 PerfScore 63.00 + ;; size=38 bbWeight=4 PerfScore 63.00 G_M43812_IG22: mov r13, gword ptr [r15+0x70] mov r12d, dword ptr [r13+0x14] xor edi, edi jmp G_M43812_IG32 ;; size=15 bbWeight=4 PerfScore 25.00 G_M43812_IG23: mov r11, gword ptr [r11+0x28] test r11, r11 jne SHORT G_M43812_IG24 mov r11, 0xD1FFAB1E ; const ptr mov r11, gword ptr [r11] ;; size=22 bbWeight=2 PerfScore 11.00 G_M43812_IG24: mov rdi, r11 mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this call [r11]System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this mov gword ptr [rbp-0x98], rax ;; size=23 bbWeight=2 PerfScore 9.00 G_M43812_IG25: mov rdi, gword ptr [rbp-0x98] mov r11, 0xD1FFAB1E ; function address call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this test eax, eax je SHORT G_M43812_IG31 ;; size=24 bbWeight=2 PerfScore 11.00 G_M43812_IG26: mov rdi, gword ptr [rbp-0x98] mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this call [r11]System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this mov edi, dword ptr [rax+0x30] cmp edi, 26 je SHORT G_M43812_IG30 ;; size=28 bbWeight=16 PerfScore 120.00 G_M43812_IG27: cmp edi, 22 jne SHORT G_M43812_IG31 mov rdi, rax mov rcx, 0xD1FFAB1E ; System.Xml.Xsl.Xslt.VarPar cmp qword ptr [rdi], rcx je SHORT G_M43812_IG29 ;; size=23 bbWeight=8 PerfScore 46.00 G_M43812_IG28: mov rsi, rax mov rdi, rcx mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS call [rax]CORINFO_HELP_CHKCASTCLASS int3 ;; size=19 bbWeight=0 PerfScore 0.00 G_M43812_IG29: mov r11d, dword ptr [rdi+0x38] test r11d, 0x2000 je SHORT G_M43812_IG30 or r11d, dword ptr [rdi+0x3C] mov dword ptr [rdi+0x38], r11d ;; size=21 bbWeight=8 PerfScore 58.00 G_M43812_IG30: mov rdi, gword ptr [rbp-0x98] mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this test eax, eax jne SHORT G_M43812_IG26 ;; size=24 bbWeight=16 PerfScore 88.00 G_M43812_IG31: mov rdi, gword ptr [rbp-0x98] mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this call [r11]System.IDisposable:Dispose():this mov edi, dword ptr [rbp-0x80] ;; size=23 bbWeight=2 PerfScore 10.50 G_M43812_IG32: cmp r12d, dword ptr [r13+0x14] jne G_M43812_IG55 ;; size=10 bbWeight=8 PerfScore 32.00 G_M43812_IG33: mov r11d, dword ptr [r13+0x10] cmp edi, r11d jae SHORT G_M43812_IG34 mov r11, gword ptr [r13+0x08] - cmp edi, dword ptr [r11+0x08] - jae G_M43812_IG54 + cmp dword ptr [r11+0x08], edi + jbe SHORT G_M43812_IG34 mov eax, edi mov r11, gword ptr [r11+8*rax+0x10] inc edi mov dword ptr [rbp-0x80], edi jmp G_M43812_IG23 - ;; size=40 bbWeight=4 PerfScore 59.00 + ;; size=36 bbWeight=4 PerfScore 59.00 G_M43812_IG34: mov r13d, 32 ;; size=6 bbWeight=4 PerfScore 1.00 G_M43812_IG35: mov rdi, gword ptr [rbx+0x50] mov esi, r13d mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer+Graph`1[System.__Canon]:PropagateFlag(int):this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Xslt.XslAstAnalyzer+Graph`1[System.__Canon]:PropagateFlag(int):this sar r13d, 1 jne SHORT G_M43812_IG35 ;; size=26 bbWeight=4 PerfScore 40.00 G_M43812_IG36: xor rdi, rdi mov gword ptr [rbx+0x50], rdi mov rdi, gword ptr [rbx+0x40] mov esi, dword ptr [rdi+0x44] vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [rbp-0x60], xmm0 ;; size=22 bbWeight=1 PerfScore 6.58 G_M43812_IG37: vmovdqu ymm0, ymmword ptr [rbp-0x78] vmovdqu ymmword ptr [rbp-0x50], ymm0 mov rax, qword ptr [rbp-0x58] mov qword ptr [rbp-0x30], rax ;; size=18 bbWeight=1 PerfScore 7.00 G_M43812_IG38: mov gword ptr [rbp-0x50], rdi mov dword ptr [rbp-0x48], esi xor edi, edi mov dword ptr [rbp-0x44], edi mov dword ptr [rbp-0x40], 2 lea rdi, [rbp-0x50] mov rsi, 0xD1FFAB1E ; System.Collections.Generic.Dictionary`2+Enumerator[System.Xml.Xsl.Xslt.Template,System.Xml.Xsl.Xslt.Stylesheet] mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this call [rax]System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this test eax, eax je SHORT G_M43812_IG42 ;; size=49 bbWeight=1 PerfScore 9.50 G_M43812_IG39: mov r13, gword ptr [rbp-0x38] mov rsi, gword ptr [rbp-0x30] mov r12, gword ptr [rsi+0x08] xor eax, eax mov ecx, dword ptr [r12+0x08] mov dword ptr [rbp-0x84], ecx test ecx, ecx jle SHORT G_M43812_IG41 ;; size=29 bbWeight=4 PerfScore 34.00 G_M43812_IG40: mov qword ptr [rbp-0x90], rax mov rsi, gword ptr [r12+8*rax+0x10] mov rdi, rbx mov rdx, r13 mov r8, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer:AddImportDependencies(System.Xml.Xsl.Xslt.Stylesheet,System.Xml.Xsl.Xslt.Template):this call [r8]System.Xml.Xsl.Xslt.XslAstAnalyzer:AddImportDependencies(System.Xml.Xsl.Xslt.Stylesheet,System.Xml.Xsl.Xslt.Template):this mov rdi, qword ptr [rbp-0x90] inc edi mov esi, dword ptr [rbp-0x84] cmp esi, edi mov rax, rdi jg SHORT G_M43812_IG40 ;; size=53 bbWeight=16 PerfScore 168.00 G_M43812_IG41: lea rdi, [rbp-0x50] mov rsi, 0xD1FFAB1E ; System.Collections.Generic.Dictionary`2+Enumerator[System.Xml.Xsl.Xslt.Template,System.Xml.Xsl.Xslt.Stylesheet] mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this call [rax]System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this test eax, eax jne SHORT G_M43812_IG39 ;; size=30 bbWeight=4 PerfScore 21.00 G_M43812_IG42: xor rdi, rdi mov gword ptr [rbx+0x40], rdi test r14d, 256 je SHORT G_M43812_IG44 ;; size=15 bbWeight=1 PerfScore 2.50 G_M43812_IG43: mov rdi, gword ptr [rbx+0x30] mov esi, 256 mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer+Graph`1[System.__Canon]:PropagateFlag(int):this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Xslt.XslAstAnalyzer+Graph`1[System.__Canon]:PropagateFlag(int):this ;; size=23 bbWeight=0.50 PerfScore 4.25 G_M43812_IG44: test r14d, 512 je SHORT G_M43812_IG46 ;; size=9 bbWeight=1 PerfScore 1.25 G_M43812_IG45: mov rdi, gword ptr [rbx+0x30] mov esi, 512 mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer+Graph`1[System.__Canon]:PropagateFlag(int):this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Xslt.XslAstAnalyzer+Graph`1[System.__Canon]:PropagateFlag(int):this ;; size=23 bbWeight=0.50 PerfScore 4.25 G_M43812_IG46: test r14d, 0x400 je SHORT G_M43812_IG48 ;; size=9 bbWeight=1 PerfScore 1.25 G_M43812_IG47: mov rdi, gword ptr [rbx+0x30] mov esi, 0x400 mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer+Graph`1[System.__Canon]:PropagateFlag(int):this cmp dword ptr [rdi], edi call [rax]System.Xml.Xsl.Xslt.XslAstAnalyzer+Graph`1[System.__Canon]:PropagateFlag(int):this ;; size=23 bbWeight=0.50 PerfScore 4.25 G_M43812_IG48: test r14d, 0x4000 je SHORT G_M43812_IG50 ;; size=9 bbWeight=1 PerfScore 1.25 G_M43812_IG49: mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer:PropagateSideEffectsFlag():this call [rax]System.Xml.Xsl.Xslt.XslAstAnalyzer:PropagateSideEffectsFlag():this ;; size=15 bbWeight=0.50 PerfScore 1.75 G_M43812_IG50: xor rdi, rdi mov gword ptr [rbx+0x30], rdi ;; size=6 bbWeight=1 PerfScore 1.25 G_M43812_IG51: mov gword ptr [rbx+0x38], rdi ;; size=4 bbWeight=1 PerfScore 1.00 G_M43812_IG52: mov gword ptr [rbx+0x48], rdi mov rdi, gword ptr [r15+0x30] mov rsi, gword ptr [rdi+0x10] mov rdi, gword ptr [rdi+0x08] cmp dword ptr [rdi+0x08], 0 jbe SHORT G_M43812_IG54 mov rax, gword ptr [rdi+0x10] mov rdi, rsi mov rsi, rax mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Xslt.XslAstAnalyzer:FillModeFlags(System.Collections.Generic.Dictionary`2[System.Xml.Xsl.Qil.QilName,int],System.Xml.Xsl.Xslt.Stylesheet) call [rax]System.Xml.Xsl.Xslt.XslAstAnalyzer:FillModeFlags(System.Collections.Generic.Dictionary`2[System.Xml.Xsl.Qil.QilName,int],System.Xml.Xsl.Xslt.Stylesheet) mov eax, r14d ;; size=47 bbWeight=1 PerfScore 17.00 G_M43812_IG53: vzeroupper add rsp, 136 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=21 bbWeight=1 PerfScore 5.25 G_M43812_IG54: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 G_M43812_IG55: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion() call [rax]System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M43812_IG56: push rbp push r15 push r14 push r13 push r12 push rbx push rax mov rbp, qword ptr [rdi] mov qword ptr [rsp], rbp lea rbp, [rbp+0xB0] ;; size=25 bbWeight=0 PerfScore 0.00 G_M43812_IG57: cmp gword ptr [rbp-0x98], 0 je SHORT G_M43812_IG58 mov rdi, gword ptr [rbp-0x98] mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this call [r11]System.IDisposable:Dispose():this ;; size=30 bbWeight=0 PerfScore 0.00 G_M43812_IG58: nop ;; size=1 bbWeight=0 PerfScore 0.00 G_M43812_IG59: vzeroupper add rsp, 8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1518, prolog size 63, PerfScore 1491.17, instruction count 372, allocated bytes for code 1518 (MethodHash=d62954db) for method System.Xml.Xsl.Xslt.XslAstAnalyzer:Analyze(System.Xml.Xsl.Xslt.Compiler):int:this (FullOpts) +; Total bytes of code 1494, prolog size 63, PerfScore 1491.17, instruction count 372, allocated bytes for code 1494 (MethodHash=d62954db) for method System.Xml.Xsl.Xslt.XslAstAnalyzer:Analyze(System.Xml.Xsl.Xslt.Compiler):int: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/bb7dd09d46a40e8256e3fbfdea665f2e

MihuBot commented 6 months ago

@MihaZupan