MihuBot / runtime-utils

0 stars 0 forks source link

[JitDiff X64] [EgorBo] JIT: Skip more covariance checks #584

Open MihuBot opened 3 months ago

MihuBot commented 3 months ago

Job completed in 19 minutes. https://github.com/dotnet/runtime/pull/107116

Diffs

Diffs ``` Found 317 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 39340963 Total bytes of diff: 39338659 Total bytes of delta: -2304 (-0.01 % of base) Total relative delta: -3.88 diff is an improvement. relative diff is an improvement. Top file regressions (bytes): 428 : System.Text.RegularExpressions.dasm (0.06 % of base) 262 : System.Collections.dasm (0.06 % of base) 73 : System.Linq.Expressions.dasm (0.01 % of base) 48 : System.Data.Common.dasm (0.00 % of base) 26 : System.Diagnostics.Process.dasm (0.03 % of base) 25 : System.Text.Encoding.CodePages.dasm (0.03 % of base) 24 : System.Threading.RateLimiting.dasm (0.01 % of base) 17 : System.Data.Odbc.dasm (0.01 % of base) 16 : System.Resources.Extensions.dasm (0.03 % of base) 16 : System.Reflection.Metadata.dasm (0.00 % of base) 13 : System.Net.Security.dasm (0.01 % of base) 11 : System.ComponentModel.Composition.dasm (0.00 % of base) 9 : System.Formats.Nrbf.dasm (0.02 % of base) 9 : System.Configuration.ConfigurationManager.dasm (0.00 % of base) 9 : Microsoft.CSharp.dasm (0.00 % of base) 1 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (0.00 % of base) Top file improvements (bytes): -2078 : System.Private.Xml.dasm (-0.05 % of base) -456 : System.Composition.TypedParts.dasm (-0.95 % of base) -267 : System.Private.CoreLib.dasm (-0.00 % of base) -152 : System.Linq.Queryable.dasm (-0.04 % of base) -145 : System.Threading.Tasks.Dataflow.dasm (-0.01 % of base) -41 : System.ComponentModel.Annotations.dasm (-0.08 % of base) -39 : System.Diagnostics.DiagnosticSource.dasm (-0.01 % of base) -37 : System.Private.DataContractSerialization.dasm (-0.00 % of base) -24 : System.Net.Requests.dasm (-0.02 % of base) -12 : System.Text.Json.dasm (-0.00 % of base) -11 : Microsoft.Extensions.Http.dasm (-0.02 % of base) -8 : System.Net.Quic.dasm (-0.01 % of base) -8 : System.Net.Http.dasm (-0.00 % of base) -8 : System.Composition.Hosting.dasm (-0.01 % of base) -3 : System.Numerics.Tensors.dasm (-0.00 % of base) -1 : System.Collections.Immutable.dasm (-0.00 % of base) -1 : System.IO.Packaging.dasm (-0.00 % of base) 33 total files with Code Size differences (17 improved, 16 regressed), 226 unchanged. Top method regressions (bytes): 97 (6.79 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:g__ReduceSingleLetterAndNestedAlternations|42_0():this (FullOpts) 89 (4.40 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.UnaryExpression:ReduceIndex():System.Linq.Expressions.Expression:this (FullOpts) 68 (3.17 % of base) : System.Private.Xml.dasm - System.Xml.Schema.ParticleContentValidator:BuildTransitionTable(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[],int):int[][]:this (FullOpts) 61 (3.00 % of base) : System.Data.Common.dasm - System.Data.XmlDataLoader:LoadTopMostTable(System.Data.DataTable):this (FullOpts) 56 (3.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceConcatenationWithAdjacentStrings():this (FullOpts) 40 (7.71 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[int]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[int]):ubyte:this (FullOpts) 40 (7.68 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[long]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[long]):ubyte:this (FullOpts) 40 (7.60 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[short]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[short]):ubyte:this (FullOpts) 40 (7.68 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[System.Nullable`1[int]]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[System.Nullable`1[int]]):ubyte:this (FullOpts) 40 (7.60 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[ubyte]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[ubyte]):ubyte:this (FullOpts) 31 (5.72 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[double]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[double]):ubyte:this (FullOpts) 31 (5.36 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[System.Numerics.Vector`1[float]]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts) 29 (4.15 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:RearrangeNamedArguments(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.MethPropWithInst,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos):Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray (FullOpts) 26 (1.12 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (FullOpts) (2 methods) 25 (3.52 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.BaseCodePageEncoding:GetEncodings(System.Text.CodePagesEncodingProvider):System.Text.EncodingInfo[] (FullOpts) 23 (2.50 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) (FullOpts) 22 (1.35 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.CompositionContainer:.ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,int,System.ComponentModel.Composition.Hosting.ExportProvider[]):this (FullOpts) 22 (0.63 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPipePayloadDecoder:DecodePayload(byref,System.ReadOnlySpan`1[ubyte]):System.Object[] (FullOpts) 17 (6.09 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcParameterCollection:Replace(int,System.Object):this (FullOpts) 16 (1.02 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParser:ParseNextTypeName(ubyte,byref):System.Reflection.Metadata.TypeName:this (FullOpts) 16 (2.84 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.BinaryFormat.Deserializer.Deserializer:Deserialize():System.Object:this (FullOpts) 15 (7.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReplaceChild(int,System.Text.RegularExpressions.RegexNode):this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:this (FullOpts) 15 (4.82 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.Compiler:ResolvePrefixes(System.String):System.String[]:this (FullOpts) 14 (0.77 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.AsyncStreamReader+d__16:MoveNext():this (FullOpts) 14 (4.27 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:EnumDatePatterns(System.String,ushort,int,byref):ubyte (FullOpts) 14 (6.33 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:get_DefinedTypes():System.Collections.Generic.IEnumerable`1[System.Reflection.TypeInfo]:this (FullOpts) 13 (0.39 % of base) : System.Net.Security.dasm - System.Net.Security.SslStreamCertificateContext+<>c__DisplayClass42_0+<g__FetchOcspAsyncCore|0>d:MoveNext():this (FullOpts) 13 (0.92 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:g__ExtractCommonPrefixOneNotoneSet|42_1(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:this (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:this (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:this (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:this (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:this (FullOpts) 13 (0.77 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double] (FullOpts) 13 (0.75 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts) 13 (0.75 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts) 13 (0.75 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts) 13 (0.75 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts) 12 (1.78 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.AsyncStreamReader:MoveLinesFromStringBuilderToMessageQueue():this (FullOpts) 9 (1.97 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionRecord:AddLocationInputImpl(System.Configuration.SectionInput,ubyte):this (FullOpts) 9 (2.39 % of base) : System.Formats.Nrbf.dasm - System.Formats.Nrbf.ArraySingleObjectRecord:ToArray(ubyte):System.Object[]:this (FullOpts) 9 (1.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.TemplateAction:AnalyzePriority(System.Xml.Xsl.XsltOld.Compiler):this (FullOpts) 8 (5.26 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:Replace(int,System.Data.Common.DataColumnMapping):this (FullOpts) 8 (5.26 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:Replace(int,System.Data.Common.DataTableMapping):this (FullOpts) 7 (1.08 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:WriteToAllListeners(System.Diagnostics.Tracing.EventWrittenEventArgs,int,ulong):this (FullOpts) 7 (1.06 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.InterleavedZipPackagePartStream+PieceDirectory:UpdatePhysicalEndIfNecessary():this (FullOpts) 7 (0.45 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceAtomic():System.Text.RegularExpressions.RegexNode:this (FullOpts) 7 (1.20 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceExpressionConditional():System.Text.RegularExpressions.RegexNode:this (FullOpts) 6 (0.45 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.ConcurrencyLimiter:AcquireAsyncCore(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Threading.RateLimiting.RateLimitLease]:this (FullOpts) 6 (0.44 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.FixedWindowRateLimiter:AcquireAsyncCore(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Threading.RateLimiting.RateLimitLease]:this (FullOpts) 6 (0.44 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.SlidingWindowRateLimiter:AcquireAsyncCore(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Threading.RateLimiting.RateLimitLease]:this (FullOpts) 6 (0.44 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.TokenBucketRateLimiter:AcquireAsyncCore(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Threading.RateLimiting.RateLimitLease]:this (FullOpts) 2 (0.11 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:FinalOptimize():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods) 1 (0.27 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:ReflectionFactoryCanonicalSpan(System.Reflection.ConstructorInvoker,Microsoft.Extensions.DependencyInjection.ActivatorUtilities+FactoryParameterContext[],System.Type,System.IServiceProvider,System.Object[]):System.Object (FullOpts) Top method improvements (bytes): -176 (-3.22 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts) -176 (-2.98 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__183:MoveNext():this (FullOpts) -160 (-2.85 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__174:MoveNext():this (FullOpts) -141 (-2.90 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanSubsetContent():int:this (FullOpts) -109 (-2.70 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseSubset():this (FullOpts) -96 (-2.51 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__184:MoveNext():this (FullOpts) -90 (-2.88 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanAttlist6():int:this (FullOpts) -80 (-2.22 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseElementOnlyContent(System.Xml.Schema.ParticleContentValidator,int):this (FullOpts) -80 (-1.77 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__164:MoveNext():this (FullOpts) -75 (-8.89 % of base) : System.Private.CoreLib.dasm - System.Threading.TimerQueueTimer:get_DisplayString():System.String:this (FullOpts) -48 (-0.99 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__159:MoveNext():this (FullOpts) -45 (-2.47 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseNotationDecl():this (FullOpts) -42 (-2.02 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__193:MoveNext():this (FullOpts) -42 (-2.16 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__178:MoveNext():this (FullOpts) -42 (-2.23 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__186:MoveNext():this (FullOpts) -41 (-6.05 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.CustomValidationAttribute:IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext):System.ComponentModel.DataAnnotations.ValidationResult:this (FullOpts) -39 (-2.87 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DsesFilterAndTransform:CreateTransform(System.Diagnostics.DiagnosticSourceEventSource,System.String,int,int,System.Diagnostics.DsesFilterAndTransform):System.Diagnostics.DsesFilterAndTransform (FullOpts) -39 (-2.18 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanCondSection1():int:this (FullOpts) -39 (-2.91 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanDoctype1():int:this (FullOpts) -39 (-2.93 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanEntity2():int:this (FullOpts) -39 (-3.09 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanNotation1():int:this (FullOpts) -37 (-3.87 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContractSet:InternalAdd(System.Xml.XmlQualifiedName,System.Runtime.Serialization.DataContracts.DataContract):this (FullOpts) -32 (-10.70 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-11.85 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-11.81 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-11.76 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-10.36 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-9.82 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-10.74 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-11.76 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -30 (-4.93 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryOutput:WriteNamespaceDeclaration(System.String,System.String):this (FullOpts) -29 (-1.00 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__160:MoveNext():this (FullOpts) -26 (-1.39 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseAttlistDecl():this (FullOpts) -26 (-1.77 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseEntityDecl():this (FullOpts) -26 (-2.38 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseInDocumentDtd(ubyte):this (FullOpts) -26 (-2.14 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanElement1():int:this (FullOpts) -26 (-2.36 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanElement2():int:this (FullOpts) -26 (-2.13 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanQName(ubyte):this (FullOpts) -26 (-1.75 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__179:MoveNext():this (FullOpts) -26 (-1.89 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__180:MoveNext():this (FullOpts) -26 (-1.43 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__189:MoveNext():this (FullOpts) -22 (-1.06 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__155:MoveNext():this (FullOpts) -22 (-1.05 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__197:MoveNext():this (FullOpts) -22 (-1.11 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemas:GetSchemaItem(System.Xml.Schema.XmlSchemaObject,System.String,System.String):System.String (FullOpts) -20 (-2.59 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:ReportBogus(Microsoft.CSharp.RuntimeBinder.Semantics.SymWithType):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts) -19 (-8.88 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.88 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.27 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.27 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.22 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.22 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-9.84 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-9.55 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.60 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.37 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.48 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.48 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.88 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.27 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.22 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-9.55 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.37 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.48 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.88 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.27 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.22 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-9.55 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.37 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.48 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[double,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[int,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[long,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[short,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[ubyte,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -16 (-4.62 % of base) : System.Data.Common.dasm - System.Data.DataRelation:.ctor(System.String,System.Data.DataColumn,System.Data.DataColumn,ubyte):this (FullOpts) -16 (-1.37 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this (FullOpts) -16 (-8.08 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.NewInstruction:ToString():System.String:this (FullOpts) -16 (-0.62 % of base) : System.Net.Requests.dasm - System.Net.FtpControlStream:PipelineCallback(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,ubyte,byref):int:this (FullOpts) -16 (-0.43 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseAttlistType(System.Xml.Schema.SchemaAttDef,System.Xml.Schema.SchemaElementDecl,ubyte):this (FullOpts) -16 (-0.55 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseElementMixedContent(System.Xml.Schema.ParticleContentValidator,int):this (FullOpts) -16 (-0.55 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanLiteral(int):int:this (FullOpts) -16 (-0.45 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__166:MoveNext():this (FullOpts) -16 (-0.36 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__185:MoveNext():this (FullOpts) -13 (-0.13 % of base) : System.Data.Common.dasm - System.Data.XmlTreeGen:SchemaTree(System.Xml.XmlDocument,System.Xml.XmlWriter,System.Data.DataSet,System.Data.DataTable,ubyte):this (FullOpts) -13 (-0.60 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:GetToken(ubyte):int:this (FullOpts) -13 (-1.59 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:HandleEntityReference(System.Xml.XmlQualifiedName,ubyte,ubyte,ubyte):ubyte:this (FullOpts) -13 (-3.48 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:OnUnexpectedError():this (FullOpts) -13 (-1.25 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseAttlistDefault(System.Xml.Schema.SchemaAttDef,ubyte):this (FullOpts) -13 (-0.72 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseCondSection():this (FullOpts) -13 (-0.81 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseElementDecl():this (FullOpts) Top method regressions (percentages): 40 (7.71 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[int]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[int]):ubyte:this (FullOpts) 40 (7.68 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[long]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[long]):ubyte:this (FullOpts) 40 (7.68 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[System.Nullable`1[int]]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[System.Nullable`1[int]]):ubyte:this (FullOpts) 40 (7.60 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[short]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[short]):ubyte:this (FullOpts) 40 (7.60 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[ubyte]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[ubyte]):ubyte:this (FullOpts) 15 (7.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReplaceChild(int,System.Text.RegularExpressions.RegexNode):this (FullOpts) 97 (6.79 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:g__ReduceSingleLetterAndNestedAlternations|42_0():this (FullOpts) 14 (6.33 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:get_DefinedTypes():System.Collections.Generic.IEnumerable`1[System.Reflection.TypeInfo]:this (FullOpts) 17 (6.09 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcParameterCollection:Replace(int,System.Object):this (FullOpts) 31 (5.72 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[double]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[double]):ubyte:this (FullOpts) 31 (5.36 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[System.Numerics.Vector`1[float]]:BreadthFirstTreeWalk(System.Collections.Generic.TreeWalkPredicate`1[System.Numerics.Vector`1[float]]):ubyte:this (FullOpts) 8 (5.26 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:Replace(int,System.Data.Common.DataColumnMapping):this (FullOpts) 8 (5.26 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:Replace(int,System.Data.Common.DataTableMapping):this (FullOpts) 15 (4.82 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.Compiler:ResolvePrefixes(System.String):System.String[]:this (FullOpts) 89 (4.40 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.UnaryExpression:ReduceIndex():System.Linq.Expressions.Expression:this (FullOpts) 14 (4.27 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:EnumDatePatterns(System.String,ushort,int,byref):ubyte (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:this (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:this (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:this (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:this (FullOpts) 13 (4.21 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte]:Alternate(System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:this (FullOpts) 29 (4.15 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:RearrangeNamedArguments(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.MethPropWithInst,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos):Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray (FullOpts) 56 (3.73 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceConcatenationWithAdjacentStrings():this (FullOpts) 25 (3.52 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.BaseCodePageEncoding:GetEncodings(System.Text.CodePagesEncodingProvider):System.Text.EncodingInfo[] (FullOpts) 68 (3.17 % of base) : System.Private.Xml.dasm - System.Xml.Schema.ParticleContentValidator:BuildTransitionTable(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[],int):int[][]:this (FullOpts) 61 (3.00 % of base) : System.Data.Common.dasm - System.Data.XmlDataLoader:LoadTopMostTable(System.Data.DataTable):this (FullOpts) 16 (2.84 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.BinaryFormat.Deserializer.Deserializer:Deserialize():System.Object:this (FullOpts) 23 (2.50 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) (FullOpts) 9 (2.39 % of base) : System.Formats.Nrbf.dasm - System.Formats.Nrbf.ArraySingleObjectRecord:ToArray(ubyte):System.Object[]:this (FullOpts) 9 (1.97 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionRecord:AddLocationInputImpl(System.Configuration.SectionInput,ubyte):this (FullOpts) 12 (1.78 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.AsyncStreamReader:MoveLinesFromStringBuilderToMessageQueue():this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:this (FullOpts) 15 (1.36 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:StripEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short]):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:this (FullOpts) 22 (1.35 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.CompositionContainer:.ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,int,System.ComponentModel.Composition.Hosting.ExportProvider[]):this (FullOpts) 7 (1.20 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceExpressionConditional():System.Text.RegularExpressions.RegexNode:this (FullOpts) 9 (1.17 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.TemplateAction:AnalyzePriority(System.Xml.Xsl.XsltOld.Compiler):this (FullOpts) 26 (1.12 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (FullOpts) (2 methods) 7 (1.08 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:WriteToAllListeners(System.Diagnostics.Tracing.EventWrittenEventArgs,int,ulong):this (FullOpts) 7 (1.06 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.InterleavedZipPackagePartStream+PieceDirectory:UpdatePhysicalEndIfNecessary():this (FullOpts) 16 (1.02 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParser:ParseNextTypeName(ubyte,byref):System.Reflection.Metadata.TypeName:this (FullOpts) 13 (0.92 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:g__ExtractCommonPrefixOneNotoneSet|42_1(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (FullOpts) 13 (0.77 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double] (FullOpts) 14 (0.77 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.AsyncStreamReader+d__16:MoveNext():this (FullOpts) 13 (0.75 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int] (FullOpts) 13 (0.75 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long] (FullOpts) 13 (0.75 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte] (FullOpts) 13 (0.75 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:CreateAlternate(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],ubyte,ubyte):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short] (FullOpts) 22 (0.63 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPipePayloadDecoder:DecodePayload(byref,System.ReadOnlySpan`1[ubyte]):System.Object[] (FullOpts) 6 (0.45 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.ConcurrencyLimiter:AcquireAsyncCore(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Threading.RateLimiting.RateLimitLease]:this (FullOpts) 7 (0.45 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceAtomic():System.Text.RegularExpressions.RegexNode:this (FullOpts) 6 (0.44 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.SlidingWindowRateLimiter:AcquireAsyncCore(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Threading.RateLimiting.RateLimitLease]:this (FullOpts) 6 (0.44 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.FixedWindowRateLimiter:AcquireAsyncCore(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Threading.RateLimiting.RateLimitLease]:this (FullOpts) 6 (0.44 % of base) : System.Threading.RateLimiting.dasm - System.Threading.RateLimiting.TokenBucketRateLimiter:AcquireAsyncCore(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Threading.RateLimiting.RateLimitLease]:this (FullOpts) 13 (0.39 % of base) : System.Net.Security.dasm - System.Net.Security.SslStreamCertificateContext+<>c__DisplayClass42_0+<g__FetchOcspAsyncCore|0>d:MoveNext():this (FullOpts) 1 (0.27 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:ReflectionFactoryCanonicalSpan(System.Reflection.ConstructorInvoker,Microsoft.Extensions.DependencyInjection.ActivatorUtilities+FactoryParameterContext[],System.Type,System.IServiceProvider,System.Object[]):System.Object (FullOpts) 2 (0.11 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:FinalOptimize():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods) Top method improvements (percentages): -32 (-11.85 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-11.81 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-11.76 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-11.76 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-10.74 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-10.70 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-10.36 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.27 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.27 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.27 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.27 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[int,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.22 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.22 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.22 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.22 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[long,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[short,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-10.16 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[ubyte,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-9.84 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -32 (-9.82 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-9.55 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-9.55 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-9.55 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[System.__Canon,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -75 (-8.89 % of base) : System.Private.CoreLib.dasm - System.Threading.TimerQueueTimer:get_DisplayString():System.String:this (FullOpts) -19 (-8.88 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.88 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.88 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.88 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[double,System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.60 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.48 % of base) : System.Linq.Queryable.dasm - <>f__AnonymousType0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.48 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.48 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.48 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.37 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType0`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.37 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType1`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -19 (-8.37 % of base) : System.Composition.TypedParts.dasm - <>f__AnonymousType2`2[System.Nullable`1[int],System.Nullable`1[int]]:ToString():System.String:this (FullOpts) -16 (-8.08 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.NewInstruction:ToString():System.String:this (FullOpts) -41 (-6.05 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.CustomValidationAttribute:IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext):System.ComponentModel.DataAnnotations.ValidationResult:this (FullOpts) -30 (-4.93 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlQueryOutput:WriteNamespaceDeclaration(System.String,System.String):this (FullOpts) -16 (-4.62 % of base) : System.Data.Common.dasm - System.Data.DataRelation:.ctor(System.String,System.Data.DataColumn,System.Data.DataColumn,ubyte):this (FullOpts) -37 (-3.87 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContractSet:InternalAdd(System.Xml.XmlQualifiedName,System.Runtime.Serialization.DataContracts.DataContract):this (FullOpts) -13 (-3.64 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:Throw(int,System.String):this (FullOpts) -13 (-3.48 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:OnUnexpectedError():this (FullOpts) -176 (-3.22 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanAttlist2():int:this (FullOpts) -11 (-3.19 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.SocketsHttpHandlerBuilderExtensions+<>c__DisplayClass0_0:b__1(Microsoft.Extensions.Http.HttpMessageHandlerBuilder):this (FullOpts) -39 (-3.09 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanNotation1():int:this (FullOpts) -176 (-2.98 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__183:MoveNext():this (FullOpts) -39 (-2.93 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanEntity2():int:this (FullOpts) -39 (-2.91 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanDoctype1():int:this (FullOpts) -141 (-2.90 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanSubsetContent():int:this (FullOpts) -90 (-2.88 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanAttlist6():int:this (FullOpts) -39 (-2.87 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DsesFilterAndTransform:CreateTransform(System.Diagnostics.DiagnosticSourceEventSource,System.String,int,int,System.Diagnostics.DsesFilterAndTransform):System.Diagnostics.DsesFilterAndTransform (FullOpts) -160 (-2.85 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__174:MoveNext():this (FullOpts) -11 (-2.81 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ExportServices:CreateStronglyTypedLazyFactory(System.Type,System.Type):System.Func`2[System.ComponentModel.Composition.Primitives.Export,System.Object] (FullOpts) -109 (-2.70 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseSubset():this (FullOpts) -13 (-2.63 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanDoctype2():int:this (FullOpts) -20 (-2.59 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:ReportBogus(Microsoft.CSharp.RuntimeBinder.Semantics.SymWithType):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts) -13 (-2.54 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanElement4():int:this (FullOpts) -8 (-2.53 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:Throw(System.String,System.String,int,int):this (FullOpts) -96 (-2.51 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__184:MoveNext():this (FullOpts) -45 (-2.47 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseNotationDecl():this (FullOpts) -26 (-2.38 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseInDocumentDtd(ubyte):this (FullOpts) -26 (-2.36 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanElement2():int:this (FullOpts) -13 (-2.28 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanElement5():int:this (FullOpts) -8 (-2.28 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:Throw(int,System.String,System.String):this (FullOpts) -42 (-2.23 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__186:MoveNext():this (FullOpts) -80 (-2.22 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseElementOnlyContent(System.Xml.Schema.ParticleContentValidator,int):this (FullOpts) -12 (-2.21 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:CreatePropertyUsingReflection(System.Type,System.Type):System.Text.Json.Serialization.Metadata.JsonPropertyInfo:this (FullOpts) -39 (-2.18 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanCondSection1():int:this (FullOpts) -42 (-2.16 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__178:MoveNext():this (FullOpts) -26 (-2.14 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanElement1():int:this (FullOpts) -26 (-2.13 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanQName(ubyte):this (FullOpts) -42 (-2.02 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__193:MoveNext():this (FullOpts) -26 (-1.89 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__180:MoveNext():this (FullOpts) -8 (-1.83 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.CurrentScope.CurrentScopeExportDescriptorProvider:GetExportDescriptors(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise]:this (FullOpts) -8 (-1.80 % of base) : System.IO.Packaging.dasm - System.IO.Packaging.ZipPackagePartPiece:Create(System.IO.Compression.ZipArchive,System.IO.Packaging.PackUriHelper+ValidatedPartUri,System.String,int,ubyte):System.IO.Packaging.ZipPackagePartPiece (FullOpts) -26 (-1.77 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseEntityDecl():this (FullOpts) -80 (-1.77 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__164:MoveNext():this (FullOpts) -26 (-1.75 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__179:MoveNext():this (FullOpts) -13 (-1.59 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:HandleEntityReference(System.Xml.XmlQualifiedName,ubyte,ubyte,ubyte):ubyte:this (FullOpts) -13 (-1.58 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanNmtoken():this (FullOpts) -8 (-1.54 % of base) : System.Net.Http.dasm - System.Net.Http.PreAuthCredentialCache:GetCredential(System.Uri,System.String):System.Nullable`1[System.ValueTuple`2[System.Uri,System.Net.NetworkCredential]]:this (FullOpts) -26 (-1.43 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__189:MoveNext():this (FullOpts) -26 (-1.39 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseAttlistDecl():this (FullOpts) -16 (-1.37 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this (FullOpts) -11 (-1.31 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:PushExternalEntityOrSubset(System.String,System.String,System.Uri,System.String):this (FullOpts) -13 (-1.25 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ParseAttlistDefault(System.Xml.Schema.SchemaAttDef,ubyte):this (FullOpts) -22 (-1.11 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemas:GetSchemaItem(System.Xml.Schema.XmlSchemaObject,System.String,System.String):System.String (FullOpts) -13 (-1.06 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanCondSection3():int:this (FullOpts) -22 (-1.06 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__155:MoveNext():this (FullOpts) -22 (-1.05 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+d__197:MoveNext():this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[double,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[int,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[long,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -19 (-1.04 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[short,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) 185 total methods with Code Size differences (126 improved, 59 regressed), 231882 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 3 months ago

Top method regressions

97 (6.79 % of base) - System.Text.RegularExpressions.RegexNode:g__ReduceSingleLetterAndNestedAlternations|42_0():this ```diff ; Assembly listing for method System.Text.RegularExpressions.RegexNode:g__ReduceSingleLetterAndNestedAlternations|42_0():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; 32 single block inlinees; 12 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T19] ( 5, 21 ) ref -> rbx this class-hnd single-def +; V00 this [V00,T18] ( 5, 21 ) ref -> rbx this class-hnd single-def ; V01 loc0 [V01,T05] ( 6, 39 ) ubyte -> r15 ; V02 loc1 [V02,T06] ( 6, 39 ) ubyte -> r14 ; V03 loc2 [V03,T20] ( 4, 19 ) int -> r13 -; V04 loc3 [V04,T13] ( 4, 26 ) int -> rdx -; V05 loc4 [V05,T55] ( 4, 2.75) int -> rdx -; V06 loc5 [V06,T04] ( 16, 45 ) int -> [rbp-0x2C] -; V07 loc6 [V07,T09] ( 11, 32 ) ref -> [rbp-0x60] class-hnd exact spill-single-def -; V08 loc7 [V08,T22] ( 8, 16 ) ref -> [rbp-0x68] class-hnd exact spill-single-def -; V09 loc8 [V09,T11] ( 14, 30.50) ref -> r12 class-hnd single-def -; V10 loc9 [V10,T17] ( 5, 24 ) ref -> [rbp-0x70] class-hnd spill-single-def -;* V11 loc10 [V11,T57] ( 0, 0 ) int -> zero-ref -; V12 loc11 [V12,T44] ( 3, 6 ) ref -> [rbp-0x78] class-hnd exact spill-single-def -; V13 loc12 [V13,T03] ( 3, 48 ) ubyte -> rsi +; V04 loc3 [V04,T12] ( 4, 26 ) int -> r10 +; V05 loc4 [V05,T59] ( 4, 2.75) int -> rdx +; V06 loc5 [V06,T04] ( 17, 47 ) int -> [rbp-0x2C] +; V07 loc6 [V07,T09] ( 11, 32 ) ref -> [rbp-0x68] class-hnd exact spill-single-def +; V08 loc7 [V08,T22] ( 8, 16 ) ref -> [rbp-0x70] class-hnd exact spill-single-def +; V09 loc8 [V09,T19] ( 10, 22.50) ref -> r12 class-hnd single-def +; V10 loc9 [V10,T16] ( 5, 24 ) ref -> [rbp-0x78] class-hnd spill-single-def +;* V11 loc10 [V11,T61] ( 0, 0 ) int -> zero-ref +; V12 loc11 [V12,T48] ( 3, 6 ) ref -> [rbp-0x80] class-hnd exact spill-single-def +; V13 loc12 [V13,T03] ( 3, 48 ) ubyte -> r10 ;* V14 loc13 [V14 ] ( 0, 0 ) ubyte -> zero-ref -; V15 loc14 [V15,T23] ( 8, 16 ) ref -> [rbp-0x80] class-hnd +; V15 loc14 [V15,T23] ( 8, 16 ) ref -> [rbp-0x88] class-hnd ;* V16 loc15 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;# V17 OutArgs [V17 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V18 tmp1 [V18,T10] ( 3, 32 ) int -> rdi ;* V19 tmp2 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" -; V20 tmp3 [V20,T48] ( 3, 6 ) int -> rdi -;* V21 tmp4 [V21,T58] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V22 tmp5 [V22,T14] ( 6, 24 ) ref -> rdi class-hnd exact "Inlining Arg" -; V23 tmp6 [V23,T49] ( 3, 6 ) ubyte -> r14 "Inline return value spill temp" -; V24 tmp7 [V24,T15] ( 6, 24 ) ref -> rdi class-hnd exact "Inlining Arg" -; V25 tmp8 [V25,T31] ( 2, 8 ) ushort -> [rbp-0x30] spill-single-def "Inlining Arg" +; V20 tmp3 [V20,T52] ( 3, 6 ) int -> rdi +;* V21 tmp4 [V21,T62] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V22 tmp5 [V22,T13] ( 6, 24 ) ref -> rdi class-hnd exact "Inlining Arg" +; V23 tmp6 [V23,T53] ( 3, 6 ) ubyte -> r14 "Inline return value spill temp" +; V24 tmp7 [V24,T14] ( 6, 24 ) ref -> rdi class-hnd exact "Inlining Arg" +; V25 tmp8 [V25,T33] ( 2, 8 ) ushort -> [rbp-0x30] spill-single-def "Inlining Arg" ;* V26 tmp9 [V26 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" ;* V27 tmp10 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" -; V28 tmp11 [V28,T39] ( 2, 8 ) ref -> rdi class-hnd "dup spill" +; V28 tmp11 [V28,T41] ( 2, 8 ) ref -> rdi class-hnd "dup spill" ; V29 tmp12 [V29,T21] ( 9, 18 ) ref -> rdi -; V30 tmp13 [V30,T25] ( 4, 16 ) ref -> [rbp-0x88] class-hnd exact spill-single-def "NewObj constructor temp" +; V30 tmp13 [V30,T25] ( 4, 16 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "NewObj constructor temp" ;* V31 tmp14 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" -; V32 tmp15 [V32,T45] ( 3, 6 ) ref -> r8 class-hnd exact "Inline stloc first use temp" -; V33 tmp16 [V33,T36] ( 4, 8 ) int -> r9 "Inline stloc first use temp" +; V32 tmp15 [V32,T49] ( 3, 6 ) ref -> r8 class-hnd exact "Inline stloc first use temp" +; V33 tmp16 [V33,T38] ( 4, 8 ) int -> r9 "Inline stloc first use temp" ;* V34 tmp17 [V34 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" ;* V35 tmp18 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V36 tmp19 [V36,T32] ( 2, 8 ) ushort -> [rbp-0x34] spill-single-def "Inlining Arg" +; V36 tmp19 [V36,T34] ( 2, 8 ) ushort -> [rbp-0x34] spill-single-def "Inlining Arg" ;* V37 tmp20 [V37 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" -; V38 tmp21 [V38,T12] ( 7, 28 ) ref -> rdi class-hnd "impAppendStmt" -; V39 tmp22 [V39,T40] ( 2, 8 ) ref -> rdi class-hnd "dup spill" -; V40 tmp23 [V40,T35] ( 4, 8 ) ref -> rdi -; V41 tmp24 [V41,T27] ( 3, 12 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "NewObj constructor temp" -; V42 tmp25 [V42,T46] ( 3, 6 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "Inline stloc first use temp" -; V43 tmp26 [V43,T47] ( 3, 6 ) ref -> r8 class-hnd exact "Inline stloc first use temp" -; V44 tmp27 [V44,T37] ( 4, 8 ) int -> r9 "Inline stloc first use temp" +; V38 tmp21 [V38,T11] ( 7, 28 ) ref -> rdi class-hnd "impAppendStmt" +; V39 tmp22 [V39,T42] ( 2, 8 ) ref -> rdi class-hnd "dup spill" +; V40 tmp23 [V40,T37] ( 4, 8 ) ref -> rdi +; V41 tmp24 [V41,T30] ( 3, 12 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "NewObj constructor temp" +; V42 tmp25 [V42,T50] ( 3, 6 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "Inline stloc first use temp" +; V43 tmp26 [V43,T51] ( 3, 6 ) ref -> r8 class-hnd exact "Inline stloc first use temp" +; V44 tmp27 [V44,T39] ( 4, 8 ) int -> r9 "Inline stloc first use temp" ;* V45 tmp28 [V45 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" ;* V46 tmp29 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V47 tmp30 [V47,T41] ( 2, 8 ) ref -> rax class-hnd exact "Inlining Arg" -;* V48 tmp31 [V48,T59] ( 0, 0 ) ushort -> zero-ref "field V26.Item1 (fldOffset=0x0)" P-INDEP -; V49 tmp32 [V49,T33] ( 5, 10 ) ushort -> rdx "field V26.Item2 (fldOffset=0x2)" P-INDEP +; V47 tmp30 [V47,T43] ( 2, 8 ) ref -> rax class-hnd exact "Inlining Arg" +;* V48 tmp31 [V48,T63] ( 0, 0 ) ushort -> zero-ref "field V26.Item1 (fldOffset=0x0)" P-INDEP +; V49 tmp32 [V49,T35] ( 5, 10 ) ushort -> rdx "field V26.Item2 (fldOffset=0x2)" P-INDEP ;* V50 tmp33 [V50 ] ( 0, 0 ) ushort -> zero-ref "field V34.Item1 (fldOffset=0x0)" P-INDEP ;* V51 tmp34 [V51 ] ( 0, 0 ) ushort -> zero-ref "field V34.Item2 (fldOffset=0x2)" P-INDEP -;* V52 tmp35 [V52,T60] ( 0, 0 ) ushort -> zero-ref "field V37.Item1 (fldOffset=0x0)" P-INDEP -; V53 tmp36 [V53,T53] ( 2, 4 ) ushort -> rdx "field V37.Item2 (fldOffset=0x2)" P-INDEP -; V54 tmp37 [V54,T54] ( 2, 4 ) ushort -> rdx "field V45.Item1 (fldOffset=0x0)" P-INDEP -; V55 tmp38 [V55,T34] ( 5, 10 ) ushort -> rdx "field V45.Item2 (fldOffset=0x2)" P-INDEP -; V56 tmp39 [V56,T18] ( 3, 24 ) ref -> rdi "arr expr" -; V57 tmp40 [V57,T01] ( 3, 96 ) ref -> rdi "arr expr" -; V58 tmp41 [V58,T28] ( 3, 12 ) ref -> rdi "arr expr" -; V59 tmp42 [V59,T16] ( 6, 24 ) struct ( 8) [rbp-0x40] do-not-enreg[SF] "by-value struct argument" -; V60 tmp43 [V60,T29] ( 3, 12 ) byref -> rdi "BlockOp address local" -; V61 tmp44 [V61,T42] ( 2, 8 ) ref -> rsi "argument with side effect" -; V62 tmp45 [V62,T30] ( 3, 12 ) byref -> rdi "BlockOp address local" -; V63 cse0 [V63,T02] ( 5, 48 ) int -> rdi "CSE #06: aggressive" -; V64 cse1 [V64,T07] ( 4, 36 ) int -> [rbp-0x44] spill-single-def "CSE #03: moderate" -; V65 cse2 [V65,T50] ( 3, 6 ) int -> rdi "CSE #23: conservative" -; V66 cse3 [V66,T24] ( 8, 16 ) int -> rsi multi-def "CSE #07: moderate" -; V67 rat0 [V67,T08] ( 11, 33.25) long -> [rbp-0x50] "Widened IV V05" -; V68 rat1 [V68,T00] ( 7, 98 ) long -> [rbp-0x58] "Widened IV V11" -; V69 rat2 [V69,T51] ( 3, 4.50) ref -> rsi "Spilling to split statement for tree" -; V70 rat3 [V70,T43] ( 5, 7.50) ref -> r12 "replacement local" -; V71 rat4 [V71,T56] ( 3, 2.50) long -> rdi "CSE for expectedClsNode" -; V72 rat5 [V72,T38] ( 3, 8 ) ref -> rsi "Spilling to split statement for tree" -; V73 rat6 [V73,T26] ( 4, 14 ) ref -> rax "replacement local" -; V74 rat7 [V74,T52] ( 3, 4 ) long -> rdi "CSE for expectedClsNode" +;* V52 tmp35 [V52,T64] ( 0, 0 ) ushort -> zero-ref "field V37.Item1 (fldOffset=0x0)" P-INDEP +; V53 tmp36 [V53,T57] ( 2, 4 ) ushort -> rdx "field V37.Item2 (fldOffset=0x2)" P-INDEP +; V54 tmp37 [V54,T58] ( 2, 4 ) ushort -> rdx "field V45.Item1 (fldOffset=0x0)" P-INDEP +; V55 tmp38 [V55,T36] ( 5, 10 ) ushort -> rdx "field V45.Item2 (fldOffset=0x2)" P-INDEP +; V56 tmp39 [V56,T17] ( 3, 24 ) ref -> rdi "arr expr" +; V57 tmp40 [V57,T44] ( 2, 8 ) ref -> rdi "arr expr" +; V58 tmp41 [V58,T01] ( 3, 96 ) ref -> rdi "arr expr" +; V59 tmp42 [V59,T45] ( 2, 8 ) ref -> r8 "arr expr" +; V60 tmp43 [V60,T15] ( 6, 24 ) struct ( 8) [rbp-0x40] do-not-enreg[SF] "by-value struct argument" +; V61 tmp44 [V61,T31] ( 3, 12 ) byref -> rdi "BlockOp address local" +; V62 tmp45 [V62,T46] ( 2, 8 ) ref -> rsi "argument with side effect" +; V63 tmp46 [V63,T32] ( 3, 12 ) byref -> rdi "BlockOp address local" +; V64 cse0 [V64,T02] ( 5, 48 ) int -> rdi "CSE #08: aggressive" +; V65 cse1 [V65,T07] ( 4, 36 ) int -> [rbp-0x44] spill-single-def "CSE #05: moderate" +; V66 cse2 [V66,T28] ( 4, 12 ) int -> [rbp-0x48] spill-single-def "CSE #01: moderate" +; V67 cse3 [V67,T27] ( 4, 12 ) ref -> [rbp-0xA8] spill-single-def "CSE #02: moderate" +; V68 cse4 [V68,T54] ( 3, 6 ) int -> rdi "CSE #25: conservative" +; V69 cse5 [V69,T24] ( 8, 16 ) int -> r11 multi-def "CSE #09: moderate" +; V70 cse6 [V70,T29] ( 4, 12 ) int -> [rbp-0x4C] spill-single-def "CSE #03: moderate" +; V71 rat0 [V71,T08] ( 11, 33.25) long -> [rbp-0x58] "Widened IV V05" +; V72 rat1 [V72,T00] ( 7, 98 ) long -> [rbp-0x60] "Widened IV V11" +; V73 rat2 [V73,T55] ( 3, 4.50) ref -> rsi "Spilling to split statement for tree" +; V74 rat3 [V74,T47] ( 5, 7.50) ref -> r12 "replacement local" +; V75 rat4 [V75,T60] ( 3, 2.50) long -> rdi "CSE for expectedClsNode" +; V76 rat5 [V76,T40] ( 3, 8 ) ref -> rsi "Spilling to split statement for tree" +; V77 rat6 [V77,T26] ( 4, 14 ) ref -> rax "replacement local" +; V78 rat7 [V78,T56] ( 3, 4 ) long -> rdi "CSE for expectedClsNode" ; -; Lcl frame size = 120 +; Lcl frame size = 136 G_M52860_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 120 - lea rbp, [rsp+0xA0] + sub rsp, 136 + lea rbp, [rsp+0xB0] mov rbx, rdi - ;; size=25 bbWeight=1 PerfScore 7.00 + ;; size=28 bbWeight=1 PerfScore 7.00 G_M52860_IG02: xor r15d, r15d xor r14d, r14d xor r13d, r13d mov rsi, gword ptr [rbx+0x08] mov r12, rsi test r12, r12 je SHORT G_M52860_IG05 ;; size=21 bbWeight=1 PerfScore 4.25 G_M52860_IG03: mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexNode] cmp qword ptr [r12], rdi je SHORT G_M52860_IG05 ;; size=16 bbWeight=0.50 PerfScore 2.12 G_M52860_IG04: mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL mov r12, rax ;; size=15 bbWeight=0.25 PerfScore 0.88 G_M52860_IG05: xor edx, edx xor eax, eax xor ecx, ecx cmp dword ptr [r12+0x10], 0 jle G_M52860_IG47 ;; size=18 bbWeight=1 PerfScore 4.75 G_M52860_IG06: - cmp eax, dword ptr [r12+0x10] + mov edx, dword ptr [r12+0x10] + mov dword ptr [rbp-0x48], edx + cmp eax, edx jae G_M52860_IG53 - mov rdi, gword ptr [r12+0x08] - cmp eax, dword ptr [rdi+0x08] + mov r8, gword ptr [r12+0x08] + mov gword ptr [rbp-0xA8], r8 + mov rdi, r8 + mov r9d, dword ptr [rdi+0x08] + mov dword ptr [rbp-0x4C], r9d + cmp eax, r9d jae G_M52860_IG54 - mov r8, gword ptr [rdi+8*rax+0x10] - mov gword ptr [rbp-0x60], r8 - mov qword ptr [rbp-0x50], rax + mov r10, gword ptr [rdi+8*rax+0x10] + mov rsi, r10 + mov gword ptr [rbp-0x68], rsi + mov qword ptr [rbp-0x58], rax cmp ecx, eax jge SHORT G_M52860_IG08 - ;; size=42 bbWeight=4 PerfScore 61.00 + ;; size=68 bbWeight=4 PerfScore 69.00 G_M52860_IG07: - cmp ecx, dword ptr [r12+0x10] + cmp ecx, edx jae G_M52860_IG53 - mov rdi, gword ptr [r12+0x08] + mov rdi, r8 + movsxd r10, ecx + mov r11d, r9d + cmp r10, r11 + jae G_M52860_IG54 mov dword ptr [rbp-0x2C], ecx - movsxd rsi, ecx - mov rdx, r8 - mov r9, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST - call [r9]CORINFO_HELP_ARRADDR_ST + movsxd r10, ecx + lea rdi, bword ptr [rdi+8*r10+0x10] + call CORINFO_HELP_ASSIGN_REF inc dword ptr [r12+0x14] mov ecx, dword ptr [rbp-0x2C] - mov r8, gword ptr [rbp-0x60] - ;; size=50 bbWeight=2 PerfScore 31.50 + mov edx, dword ptr [rbp-0x48] + mov rsi, gword ptr [rbp-0x68] + mov r8, gword ptr [rbp-0xA8] + mov r9d, dword ptr [rbp-0x4C] + ;; size=68 bbWeight=2 PerfScore 29.00 G_M52860_IG08: - movzx rdi, byte ptr [r8+0x2E] + movzx rdi, byte ptr [rsi+0x2E] cmp edi, 24 je G_M52860_IG36 ;; size=14 bbWeight=4 PerfScore 13.00 G_M52860_IG09: - mov esi, edi - cmp esi, 9 + mov r10d, edi + cmp r10d, 9 je SHORT G_M52860_IG11 - cmp esi, 11 + cmp r10d, 11 je SHORT G_M52860_IG11 cmp edi, 22 je G_M52860_IG44 - ;; size=21 bbWeight=16 PerfScore 64.00 + ;; size=24 bbWeight=16 PerfScore 64.00 G_M52860_IG10: xor r15d, r15d xor r14d, r14d jmp G_M52860_IG45 ;; size=11 bbWeight=2 PerfScore 5.00 G_M52860_IG11: - mov edx, dword ptr [r8+0x28] - and edx, 65 + mov r10d, dword ptr [rsi+0x28] + and r10d, 65 cmp edi, 11 je SHORT G_M52860_IG17 - ;; size=12 bbWeight=8 PerfScore 28.00 + ;; size=13 bbWeight=8 PerfScore 28.00 G_M52860_IG12: test r15d, r15d jne SHORT G_M52860_IG14 ;; size=5 bbWeight=16 PerfScore 20.00 G_M52860_IG13: mov edi, 1 jmp SHORT G_M52860_IG15 ;; size=7 bbWeight=8 PerfScore 18.00 G_M52860_IG14: - cmp r13d, edx + cmp r13d, r10d setne dil movzx rdi, dil ;; size=11 bbWeight=8 PerfScore 12.00 G_M52860_IG15: or edi, r14d je G_M52860_IG22 mov r15d, 1 xor r14d, r14d ;; size=18 bbWeight=16 PerfScore 28.00 G_M52860_IG16: - mov r13d, edx + mov r13d, r10d jmp G_M52860_IG45 ;; size=8 bbWeight=8 PerfScore 18.00 G_M52860_IG17: test r15d, r15d jne SHORT G_M52860_IG18 mov edi, 1 jmp SHORT G_M52860_IG19 ;; size=12 bbWeight=2 PerfScore 7.00 G_M52860_IG18: - cmp r13d, edx + cmp r13d, r10d setne dil movzx rdi, dil ;; size=11 bbWeight=2 PerfScore 3.00 G_M52860_IG19: or edi, r14d jne SHORT G_M52860_IG20 - mov rdi, gword ptr [r8+0x10] + mov rdi, gword ptr [rsi+0x10] test rdi, rdi je SHORT G_M52860_IG20 - mov esi, dword ptr [rdi+0x08] - test esi, esi + mov r11d, dword ptr [rdi+0x08] + test r11d, r11d je G_M52860_IG54 cmp word ptr [rdi+0x0C], 1 jne SHORT G_M52860_IG21 - ;; size=32 bbWeight=2 PerfScore 23.50 + ;; size=34 bbWeight=2 PerfScore 23.50 G_M52860_IG20: mov r15d, 1 - mov rdi, gword ptr [r8+0x10] + mov rdi, gword ptr [rsi+0x10] test rdi, rdi je G_M52860_IG34 - mov esi, dword ptr [rdi+0x08] - test esi, esi + mov r11d, dword ptr [rdi+0x08] + test r11d, r11d je G_M52860_IG54 cmp word ptr [rdi+0x0C], 1 je G_M52860_IG34 - cmp esi, 2 + cmp r11d, 2 jbe G_M52860_IG54 - movzx r8, word ptr [rdi+0x10] - movzx rdi, word ptr [rdi+0x0E] - lea edi, [r8+rdi+0x03] - cmp edi, esi + movzx rdx, word ptr [rdi+0x10] + movzx r8, word ptr [rdi+0x0E] + lea r9d, [rdx+r8+0x03] + cmp r9d, r11d setge r14b movzx r14, r14b jmp G_M52860_IG35 - ;; size=79 bbWeight=2 PerfScore 41.00 + ;; size=83 bbWeight=2 PerfScore 41.00 G_M52860_IG21: - cmp esi, 2 + cmp r11d, 2 jbe G_M52860_IG54 movzx r9, word ptr [rdi+0x10] movzx rdi, word ptr [rdi+0x0E] lea edi, [r9+rdi+0x03] - cmp edi, esi + cmp edi, r11d + mov r9d, dword ptr [rbp-0x4C] jl SHORT G_M52860_IG20 - ;; size=27 bbWeight=2 PerfScore 15.00 + ;; size=33 bbWeight=2 PerfScore 17.00 G_M52860_IG22: dec ecx - cmp ecx, dword ptr [r12+0x10] + cmp ecx, edx jae G_M52860_IG53 - mov rdi, gword ptr [r12+0x08] - cmp ecx, dword ptr [rdi+0x08] + cmp ecx, r9d jae G_M52860_IG54 mov dword ptr [rbp-0x2C], ecx - mov esi, ecx - mov rdx, gword ptr [rdi+8*rsi+0x10] - mov gword ptr [rbp-0x68], rdx + mov edi, ecx + mov rdx, gword ptr [r8+8*rdi+0x10] + mov gword ptr [rbp-0x70], rdx cmp byte ptr [rdx+0x2E], 9 je SHORT G_M52860_IG23 mov rdi, gword ptr [rdx+0x10] xor esi, esi - mov r9, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:ParseRecursive(System.String,int):System.Text.RegularExpressions.RegexCharClass - call [r9]System.Text.RegularExpressions.RegexCharClass:ParseRecursive(System.String,int):System.Text.RegularExpressions.RegexCharClass + mov r8, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:ParseRecursive(System.String,int):System.Text.RegularExpressions.RegexCharClass + call [r8]System.Text.RegularExpressions.RegexCharClass:ParseRecursive(System.String,int):System.Text.RegularExpressions.RegexCharClass jmp G_M52860_IG26 - ;; size=71 bbWeight=2 PerfScore 52.00 + ;; size=63 bbWeight=2 PerfScore 37.00 G_M52860_IG23: mov rdi, 0xD1FFAB1E ; System.Text.RegularExpressions.RegexCharClass call CORINFO_HELP_NEWSFAST - mov rcx, gword ptr [rbp-0x68] + mov rcx, gword ptr [rbp-0x70] movzx rdx, word ptr [rcx+0x2C] mov dword ptr [rbp-0x30], edx - mov gword ptr [rbp-0x80], rax + mov gword ptr [rbp-0x88], rax mov rdi, gword ptr [rax+0x08] test rdi, rdi jne SHORT G_M52860_IG24 mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.ValueTuple`2[ushort,ushort]] call CORINFO_HELP_NEWSFAST - mov gword ptr [rbp-0x88], rax + mov gword ptr [rbp-0x90], rax mov rdi, 0xD1FFAB1E ; System.ValueTuple`2[ushort,ushort][] mov esi, 6 call CORINFO_HELP_NEWARR_1_VC - mov rdi, gword ptr [rbp-0x88] + mov rdi, gword ptr [rbp-0x90] lea rdi, bword ptr [rdi+0x08] mov rsi, rax call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x80] + mov rax, gword ptr [rbp-0x88] lea rdi, bword ptr [rax+0x08] - mov rsi, gword ptr [rbp-0x88] + mov rsi, gword ptr [rbp-0x90] call CORINFO_HELP_ASSIGN_REF - mov rdi, gword ptr [rbp-0x88] - ;; size=127 bbWeight=2 PerfScore 41.00 + mov rdi, gword ptr [rbp-0x90] + ;; size=133 bbWeight=2 PerfScore 41.00 G_M52860_IG24: mov edx, dword ptr [rbp-0x30] inc dword ptr [rdi+0x14] mov r8, gword ptr [rdi+0x08] mov r9d, dword ptr [rdi+0x10] cmp dword ptr [r8+0x08], r9d ja SHORT G_M52860_IG25 mov word ptr [rbp-0x40], dx mov word ptr [rbp-0x3E], dx mov esi, dword ptr [rbp-0x40] mov rdx, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.ValueTuple`2[ushort,ushort]]:AddWithResize(System.ValueTuple`2[ushort,ushort]):this call [rdx]System.Collections.Generic.List`1[System.ValueTuple`2[ushort,ushort]]:AddWithResize(System.ValueTuple`2[ushort,ushort]):this - mov rax, gword ptr [rbp-0x80] + mov rax, gword ptr [rbp-0x88] jmp SHORT G_M52860_IG26 - ;; size=49 bbWeight=2 PerfScore 42.50 + ;; size=52 bbWeight=2 PerfScore 42.50 G_M52860_IG25: lea esi, [r9+0x01] mov dword ptr [rdi+0x10], esi mov edi, r9d lea rdi, bword ptr [r8+4*rdi+0x10] mov word ptr [rdi], dx mov word ptr [rdi+0x02], dx - mov rax, gword ptr [rbp-0x80] - ;; size=26 bbWeight=2 PerfScore 11.50 + mov rax, gword ptr [rbp-0x88] + ;; size=29 bbWeight=2 PerfScore 11.50 G_M52860_IG26: - mov rdx, gword ptr [rbp-0x60] + mov rdx, gword ptr [rbp-0x68] cmp byte ptr [rdx+0x2E], 9 je SHORT G_M52860_IG27 - mov gword ptr [rbp-0x80], rax + mov gword ptr [rbp-0x88], rax mov rdi, gword ptr [rdx+0x10] xor esi, esi mov rdx, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:ParseRecursive(System.String,int):System.Text.RegularExpressions.RegexCharClass call [rdx]System.Text.RegularExpressions.RegexCharClass:ParseRecursive(System.String,int):System.Text.RegularExpressions.RegexCharClass mov rsi, rax - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0x88] mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:AddCharClass(System.Text.RegularExpressions.RegexCharClass):this cmp dword ptr [rdi], edi call [rax]System.Text.RegularExpressions.RegexCharClass:AddCharClass(System.Text.RegularExpressions.RegexCharClass):this - mov rax, gword ptr [rbp-0x80] + mov rax, gword ptr [rbp-0x88] jmp G_M52860_IG32 - ;; size=62 bbWeight=2 PerfScore 44.00 + ;; size=71 bbWeight=2 PerfScore 44.00 G_M52860_IG27: movzx rdx, word ptr [rdx+0x2C] mov dword ptr [rbp-0x34], edx - mov gword ptr [rbp-0x80], rax + mov gword ptr [rbp-0x88], rax mov rdi, gword ptr [rax+0x08] test rdi, rdi jne G_M52860_IG29 mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.ValueTuple`2[ushort,ushort]] call CORINFO_HELP_NEWSFAST - mov gword ptr [rbp-0x90], rax + mov gword ptr [rbp-0x98], rax mov rdi, 0xD1FFAB1E ; System.ValueTuple`2[ushort,ushort][] mov esi, 6 call CORINFO_HELP_NEWARR_1_VC - mov rcx, gword ptr [rbp-0x90] + mov rcx, gword ptr [rbp-0x98] lea rdi, bword ptr [rcx+0x08] mov rsi, rax call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x90] - mov gword ptr [rbp-0x98], rax - mov rax, gword ptr [rbp-0x80] + mov rax, gword ptr [rbp-0x98] + mov gword ptr [rbp-0xA0], rax + mov rax, gword ptr [rbp-0x88] lea rdi, bword ptr [rax+0x08] - mov rsi, gword ptr [rbp-0x98] + mov rsi, gword ptr [rbp-0xA0] call CORINFO_HELP_ASSIGN_REF - mov rdi, gword ptr [rbp-0x98] - mov rax, gword ptr [rbp-0x80] - ;; size=130 bbWeight=2 PerfScore 42.50 + mov rdi, gword ptr [rbp-0xA0] + mov rax, gword ptr [rbp-0x88] + ;; size=139 bbWeight=2 PerfScore 42.50 G_M52860_IG28: mov edx, dword ptr [rbp-0x34] inc dword ptr [rdi+0x14] mov r8, gword ptr [rdi+0x08] mov r9d, dword ptr [rdi+0x10] cmp dword ptr [r8+0x08], r9d jbe SHORT G_M52860_IG30 jmp SHORT G_M52860_IG31 ;; size=22 bbWeight=2 PerfScore 28.00 G_M52860_IG29: - mov rax, gword ptr [rbp-0x80] + mov rax, gword ptr [rbp-0x88] jmp SHORT G_M52860_IG28 align [0 bytes for IG40] - ;; size=6 bbWeight=1 PerfScore 3.00 + ;; size=9 bbWeight=1 PerfScore 3.00 G_M52860_IG30: - mov gword ptr [rbp-0x80], rax + mov gword ptr [rbp-0x88], rax mov word ptr [rbp-0x40], dx mov word ptr [rbp-0x3E], dx mov esi, dword ptr [rbp-0x40] mov rdx, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.ValueTuple`2[ushort,ushort]]:AddWithResize(System.ValueTuple`2[ushort,ushort]):this call [rdx]System.Collections.Generic.List`1[System.ValueTuple`2[ushort,ushort]]:AddWithResize(System.ValueTuple`2[ushort,ushort]):this - mov rax, gword ptr [rbp-0x80] + mov rax, gword ptr [rbp-0x88] jmp SHORT G_M52860_IG32 - ;; size=33 bbWeight=2 PerfScore 20.50 + ;; size=39 bbWeight=2 PerfScore 20.50 G_M52860_IG31: lea esi, [r9+0x01] mov dword ptr [rdi+0x10], esi mov edi, r9d lea rdi, bword ptr [r8+4*rdi+0x10] mov word ptr [rdi], dx mov word ptr [rdi+0x02], dx ;; size=22 bbWeight=2 PerfScore 9.50 G_M52860_IG32: - mov rcx, gword ptr [rbp-0x68] + mov rcx, gword ptr [rbp-0x70] mov byte ptr [rcx+0x2E], 11 mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:ToStringClass():System.String:this call [rax]System.Text.RegularExpressions.RegexCharClass:ToStringClass():System.String:this - mov rcx, gword ptr [rbp-0x68] + mov rcx, gword ptr [rbp-0x70] lea rdi, bword ptr [rcx+0x10] mov rsi, rax call CORINFO_HELP_ASSIGN_REF - mov rsi, gword ptr [rbp-0x68] + mov rsi, gword ptr [rbp-0x70] mov edi, dword ptr [rsi+0x28] test dil, 1 je SHORT G_M52860_IG33 and edi, -2 mov dword ptr [rsi+0x28], edi mov ecx, dword ptr [rbp-0x2C] jmp G_M52860_IG45 ;; size=66 bbWeight=2 PerfScore 33.50 G_M52860_IG33: mov ecx, dword ptr [rbp-0x2C] jmp G_M52860_IG45 ;; size=8 bbWeight=1 PerfScore 3.00 G_M52860_IG34: xor r14d, r14d ;; size=3 bbWeight=2 PerfScore 0.50 G_M52860_IG35: test r14d, r14d sete r14b movzx r14, r14b jmp G_M52860_IG16 ;; size=16 bbWeight=2 PerfScore 7.00 G_M52860_IG36: mov dword ptr [rbp-0x2C], ecx - mov rsi, gword ptr [r8+0x08] + mov rsi, gword ptr [rsi+0x08] mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexNode] mov rdx, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS call [rdx]CORINFO_HELP_ISINSTANCEOFCLASS - mov gword ptr [rbp-0x70], rax + mov gword ptr [rbp-0x78], rax test rax, rax jne SHORT G_M52860_IG39 - mov rdi, gword ptr [rbp-0x60] - mov rsi, gword ptr [rdi+0x08] + mov rsi, gword ptr [rbp-0x68] + mov rsi, gword ptr [rsi+0x08] mov rax, rsi test rax, rax je SHORT G_M52860_IG38 ;; size=54 bbWeight=2 PerfScore 26.50 G_M52860_IG37: mov rdi, 0xD1FFAB1E ; System.Text.RegularExpressions.RegexNode cmp qword ptr [rax], rdi jne G_M52860_IG52 ;; size=19 bbWeight=1 PerfScore 4.25 G_M52860_IG38: - mov gword ptr [rbp-0x78], rax + mov gword ptr [rbp-0x80], rax lea rdi, bword ptr [rax+0x18] mov rsi, rbx call CORINFO_HELP_ASSIGN_REF - mov rax, qword ptr [rbp-0x50] + mov rax, qword ptr [rbp-0x58] lea esi, [rax+0x01] mov rdi, r12 - mov rdx, gword ptr [rbp-0x78] + mov rdx, gword ptr [rbp-0x80] mov rcx, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:Insert(int,System.__Canon):this call [rcx]System.Collections.Generic.List`1[System.__Canon]:Insert(int,System.__Canon):this mov ecx, dword ptr [rbp-0x2C] jmp SHORT G_M52860_IG44 ;; size=47 bbWeight=2 PerfScore 23.50 G_M52860_IG39: xor ecx, ecx mov edx, dword ptr [rax+0x10] mov dword ptr [rbp-0x44], edx test edx, edx jle SHORT G_M52860_IG41 ;; size=12 bbWeight=2 PerfScore 9.00 G_M52860_IG40: cmp ecx, edx jb SHORT G_M52860_IG42 jmp G_M52860_IG53 ;; size=9 bbWeight=16 PerfScore 52.00 G_M52860_IG41: jmp SHORT G_M52860_IG43 ;; size=2 bbWeight=1 PerfScore 2.00 G_M52860_IG42: mov rdi, gword ptr [rax+0x08] cmp ecx, dword ptr [rdi+0x08] jae G_M52860_IG54 - mov qword ptr [rbp-0x58], rcx + mov qword ptr [rbp-0x60], rcx mov rdi, gword ptr [rdi+8*rcx+0x10] lea rdi, bword ptr [rdi+0x18] mov rsi, rbx call CORINFO_HELP_ASSIGN_REF - mov rsi, qword ptr [rbp-0x58] + mov rsi, qword ptr [rbp-0x60] inc esi mov edi, dword ptr [rbp-0x44] cmp esi, edi mov rcx, rsi mov edx, edi jl SHORT G_M52860_IG51 ;; size=52 bbWeight=16 PerfScore 236.00 G_M52860_IG43: - mov rax, qword ptr [rbp-0x50] + mov rax, qword ptr [rbp-0x58] lea esi, [rax+0x01] mov rdi, r12 - mov rdx, gword ptr [rbp-0x70] + mov rdx, gword ptr [rbp-0x78] mov rcx, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:InsertRange(int,System.Collections.Generic.IEnumerable`1[System.__Canon]):this call [rcx]System.Collections.Generic.List`1[System.__Canon]:InsertRange(int,System.Collections.Generic.IEnumerable`1[System.__Canon]):this mov ecx, dword ptr [rbp-0x2C] ;; size=29 bbWeight=2 PerfScore 14.00 G_M52860_IG44: dec ecx ;; size=2 bbWeight=8 PerfScore 2.00 G_M52860_IG45: - mov rax, qword ptr [rbp-0x50] + mov rax, qword ptr [rbp-0x58] inc eax mov rdx, rax inc ecx cmp edx, dword ptr [r12+0x10] mov rax, rdx jl G_M52860_IG06 ;; size=25 bbWeight=4 PerfScore 24.00 G_M52860_IG46: mov edx, eax ;; size=2 bbWeight=0.25 PerfScore 0.06 G_M52860_IG47: cmp ecx, edx jge SHORT G_M52860_IG49 ;; size=4 bbWeight=1 PerfScore 1.25 G_M52860_IG48: sub edx, ecx mov rdi, r12 mov esi, ecx mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:RemoveRange(int,int):this call [rax]System.Collections.Generic.List`1[System.__Canon]:RemoveRange(int,int):this ;; size=19 bbWeight=0.50 PerfScore 2.00 G_M52860_IG49: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M52860_IG50: - add rsp, 120 + add rsp, 136 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret - ;; size=15 bbWeight=1 PerfScore 4.25 + ;; size=18 bbWeight=1 PerfScore 4.25 G_M52860_IG51: - mov rax, gword ptr [rbp-0x70] + mov rax, gword ptr [rbp-0x78] jmp G_M52860_IG40 ;; size=9 bbWeight=8 PerfScore 24.00 G_M52860_IG52: mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS call [rax]CORINFO_HELP_CHKCASTCLASS int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M52860_IG53: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M52860_IG54: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1429, prolog size 25, PerfScore 1170.56, instruction count 362, allocated bytes for code 1429 (MethodHash=f4b73183) for method System.Text.RegularExpressions.RegexNode:g__ReduceSingleLetterAndNestedAlternations|42_0():this (FullOpts) +; Total bytes of code 1526, prolog size 28, PerfScore 1163.06, instruction count 375, allocated bytes for code 1526 (MethodHash=f4b73183) for method System.Text.RegularExpressions.RegexNode:g__ReduceSingleLetterAndNestedAlternations|42_0():this (FullOpts) ```

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

MihuBot commented 3 months ago

Top method improvements

-90 (-2.88 % of base) - System.Xml.DtdParser:ScanAttlist6():int:this ```diff ; Assembly listing for method System.Xml.DtdParser:ScanAttlist6():int: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; 74 single block inlinees; 8 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 57,109 ) ref -> rbx this class-hnd single-def ; V01 loc0 [V01,T12] ( 4, 22 ) ushort -> r12 ; V02 loc1 [V02,T34] ( 4, 8 ) ushort -> r12 ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V04 tmp1 [V04,T18] ( 2, 16 ) int -> r15 "impAppendStmt" ; V05 tmp2 [V05,T105] ( 2, 2 ) int -> r14 "impAppendStmt" ; V06 tmp3 [V06,T106] ( 2, 2 ) int -> r12 "impAppendStmt" ; V07 tmp4 [V07,T43] ( 2, 8 ) int -> r15 "impAppendStmt" ; V08 tmp5 [V08,T107] ( 2, 2 ) int -> r14 "impAppendStmt" ; V09 tmp6 [V09,T44] ( 2, 8 ) int -> r15 "impAppendStmt" ; V10 tmp7 [V10,T56] ( 3, 3 ) ref -> r15 class-hnd exact "Inlining Arg" ; V11 tmp8 [V11,T79] ( 4, 2 ) ref -> r14 class-hnd "Inline stloc first use temp" ; V12 tmp9 [V12,T82] ( 2, 2 ) ref -> r13 class-hnd "impAppendStmt" ; V13 tmp10 [V13,T59] ( 3, 3 ) int -> r12 "impAppendStmt" ;* V14 tmp11 [V14 ] ( 0, 0 ) ref -> zero-ref ;* V15 tmp12 [V15 ] ( 0, 0 ) ref -> zero-ref ;* V16 tmp13 [V16 ] ( 0, 0 ) ref -> zero-ref ;* V17 tmp14 [V17 ] ( 0, 0 ) int -> zero-ref ; V18 tmp15 [V18,T118] ( 3, 1.50) int -> [rbp-0x2C] spill-single-def ;* V19 tmp16 [V19 ] ( 0, 0 ) ref -> zero-ref ;* V20 tmp17 [V20 ] ( 0, 0 ) ref -> zero-ref ;* V21 tmp18 [V21 ] ( 0, 0 ) ref -> zero-ref ;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref ;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref ; V24 tmp21 [V24,T112] ( 3, 1.50) ref -> r14 ; V25 tmp22 [V25,T29] ( 11, 11 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "NewObj constructor temp" ; V26 tmp23 [V26,T108] ( 2, 2 ) int -> [rbp-0x30] spill-single-def "non-inline candidate call" ; V27 tmp24 [V27,T53] ( 4, 4 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "dup spill" ; V28 tmp25 [V28,T83] ( 2, 2 ) ref -> rax class-hnd exact "Inlining Arg" ; V29 tmp26 [V29,T57] ( 3, 3 ) ref -> r14 class-hnd exact "Inlining Arg" ; V30 tmp27 [V30,T80] ( 4, 2 ) ref -> r15 class-hnd "Inline stloc first use temp" ; V31 tmp28 [V31,T84] ( 2, 2 ) ref -> r13 class-hnd "impAppendStmt" ; V32 tmp29 [V32,T60] ( 3, 3 ) int -> r12 "impAppendStmt" ;* V33 tmp30 [V33 ] ( 0, 0 ) ref -> zero-ref ;* V34 tmp31 [V34 ] ( 0, 0 ) ref -> zero-ref ;* V35 tmp32 [V35 ] ( 0, 0 ) ref -> zero-ref ;* V36 tmp33 [V36 ] ( 0, 0 ) int -> zero-ref ; V37 tmp34 [V37,T119] ( 3, 1.50) int -> [rbp-0x34] spill-single-def ;* V38 tmp35 [V38 ] ( 0, 0 ) ref -> zero-ref ;* V39 tmp36 [V39 ] ( 0, 0 ) ref -> zero-ref ;* V40 tmp37 [V40 ] ( 0, 0 ) ref -> zero-ref ;* V41 tmp38 [V41 ] ( 0, 0 ) int -> zero-ref ;* V42 tmp39 [V42 ] ( 0, 0 ) int -> zero-ref ; V43 tmp40 [V43,T113] ( 3, 1.50) ref -> r15 ; V44 tmp41 [V44,T30] ( 11, 11 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "NewObj constructor temp" ; V45 tmp42 [V45,T109] ( 2, 2 ) int -> [rbp-0x38] spill-single-def "non-inline candidate call" ; V46 tmp43 [V46,T54] ( 4, 4 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "dup spill" ; V47 tmp44 [V47,T85] ( 2, 2 ) ref -> rax class-hnd exact "Inlining Arg" ; V48 tmp45 [V48,T58] ( 3, 3 ) ref -> r12 class-hnd exact "Inlining Arg" ; V49 tmp46 [V49,T81] ( 4, 2 ) ref -> r13 class-hnd "Inline stloc first use temp" ; V50 tmp47 [V50,T86] ( 2, 2 ) ref -> r15 class-hnd "impAppendStmt" ; V51 tmp48 [V51,T61] ( 3, 3 ) int -> r14 "impAppendStmt" ;* V52 tmp49 [V52 ] ( 0, 0 ) ref -> zero-ref ;* V53 tmp50 [V53 ] ( 0, 0 ) ref -> zero-ref ;* V54 tmp51 [V54 ] ( 0, 0 ) ref -> zero-ref ;* V55 tmp52 [V55 ] ( 0, 0 ) int -> zero-ref ; V56 tmp53 [V56,T120] ( 3, 1.50) int -> [rbp-0x3C] spill-single-def ;* V57 tmp54 [V57 ] ( 0, 0 ) ref -> zero-ref ;* V58 tmp55 [V58 ] ( 0, 0 ) ref -> zero-ref ;* V59 tmp56 [V59 ] ( 0, 0 ) ref -> zero-ref ;* V60 tmp57 [V60 ] ( 0, 0 ) int -> zero-ref ;* V61 tmp58 [V61 ] ( 0, 0 ) int -> zero-ref ; V62 tmp59 [V62,T114] ( 3, 1.50) ref -> r13 ; V63 tmp60 [V63,T31] ( 11, 11 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "NewObj constructor temp" ; V64 tmp61 [V64,T110] ( 2, 2 ) int -> [rbp-0x40] spill-single-def "non-inline candidate call" ; V65 tmp62 [V65,T55] ( 4, 4 ) ref -> [rbp-0x88] class-hnd exact spill-single-def "dup spill" ; V66 tmp63 [V66,T87] ( 2, 2 ) ref -> rax class-hnd exact "Inlining Arg" ; V67 tmp64 [V67,T22] ( 3, 12 ) ref -> r14 class-hnd exact "Inlining Arg" ; V68 tmp65 [V68,T32] ( 4, 8 ) ref -> r13 class-hnd "Inline stloc first use temp" ; V69 tmp66 [V69,T38] ( 2, 8 ) ref -> r15 class-hnd "impAppendStmt" ; V70 tmp67 [V70,T25] ( 3, 12 ) int -> r12 "impAppendStmt" ;* V71 tmp68 [V71 ] ( 0, 0 ) ref -> zero-ref ;* V72 tmp69 [V72 ] ( 0, 0 ) ref -> zero-ref ;* V73 tmp70 [V73 ] ( 0, 0 ) ref -> zero-ref ;* V74 tmp71 [V74 ] ( 0, 0 ) int -> zero-ref ; V75 tmp72 [V75,T51] ( 3, 6 ) int -> [rbp-0x44] spill-single-def ;* V76 tmp73 [V76 ] ( 0, 0 ) ref -> zero-ref ;* V77 tmp74 [V77 ] ( 0, 0 ) ref -> zero-ref ;* V78 tmp75 [V78 ] ( 0, 0 ) ref -> zero-ref ;* V79 tmp76 [V79 ] ( 0, 0 ) int -> zero-ref ;* V80 tmp77 [V80 ] ( 0, 0 ) int -> zero-ref ; V81 tmp78 [V81,T47] ( 3, 6 ) ref -> r13 ; V82 tmp79 [V82,T04] ( 11, 44 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "NewObj constructor temp" ; V83 tmp80 [V83,T45] ( 2, 8 ) int -> [rbp-0x48] spill-single-def "non-inline candidate call" ; V84 tmp81 [V84,T13] ( 4, 16 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "dup spill" ; V85 tmp82 [V85,T39] ( 2, 8 ) ref -> rax class-hnd exact "Inlining Arg" ; V86 tmp83 [V86,T23] ( 3, 12 ) ref -> r14 class-hnd exact "Inlining Arg" ; V87 tmp84 [V87,T33] ( 4, 8 ) ref -> r15 class-hnd "Inline stloc first use temp" ; V88 tmp85 [V88,T40] ( 2, 8 ) ref -> r13 class-hnd "impAppendStmt" ; V89 tmp86 [V89,T26] ( 3, 12 ) int -> r12 "impAppendStmt" ;* V90 tmp87 [V90 ] ( 0, 0 ) ref -> zero-ref ;* V91 tmp88 [V91 ] ( 0, 0 ) ref -> zero-ref ;* V92 tmp89 [V92 ] ( 0, 0 ) ref -> zero-ref ;* V93 tmp90 [V93 ] ( 0, 0 ) int -> zero-ref ; V94 tmp91 [V94,T52] ( 3, 6 ) int -> [rbp-0x4C] spill-single-def ;* V95 tmp92 [V95 ] ( 0, 0 ) ref -> zero-ref ;* V96 tmp93 [V96 ] ( 0, 0 ) ref -> zero-ref ;* V97 tmp94 [V97 ] ( 0, 0 ) ref -> zero-ref ;* V98 tmp95 [V98 ] ( 0, 0 ) int -> zero-ref ;* V99 tmp96 [V99 ] ( 0, 0 ) int -> zero-ref ; V100 tmp97 [V100,T48] ( 3, 6 ) ref -> r15 ; V101 tmp98 [V101,T05] ( 11, 44 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "NewObj constructor temp" ; V102 tmp99 [V102,T46] ( 2, 8 ) int -> [rbp-0x50] spill-single-def "non-inline candidate call" ; V103 tmp100 [V103,T14] ( 4, 16 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "dup spill" ; V104 tmp101 [V104,T41] ( 2, 8 ) ref -> rax class-hnd exact "Inlining Arg" ; V105 tmp102 [V105,T19] ( 2, 16 ) int -> r15 "impAppendStmt" ; V106 tmp103 [V106,T35] ( 4, 8 ) int -> rax "Inline stloc first use temp" ; V107 tmp104 [V107,T15] ( 3, 16 ) int -> r15 "Inlining Arg" ;* V108 tmp105 [V108,T111] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V109 tmp106 [V109,T10] ( 3, 24 ) ref -> r14 class-hnd exact "Inlining Arg" ; V110 tmp107 [V110,T21] ( 4, 12 ) ref -> r15 class-hnd "Inline stloc first use temp" ; V111 tmp108 [V111,T16] ( 2, 16 ) ref -> r13 class-hnd "impAppendStmt" ; V112 tmp109 [V112,T11] ( 3, 24 ) int -> r12 "impAppendStmt" ;* V113 tmp110 [V113 ] ( 0, 0 ) ref -> zero-ref ;* V114 tmp111 [V114 ] ( 0, 0 ) ref -> zero-ref ;* V115 tmp112 [V115 ] ( 0, 0 ) ref -> zero-ref ;* V116 tmp113 [V116 ] ( 0, 0 ) int -> zero-ref ; V117 tmp114 [V117,T27] ( 3, 12 ) int -> [rbp-0x54] spill-single-def ;* V118 tmp115 [V118 ] ( 0, 0 ) ref -> zero-ref ;* V119 tmp116 [V119 ] ( 0, 0 ) ref -> zero-ref ;* V120 tmp117 [V120 ] ( 0, 0 ) ref -> zero-ref ;* V121 tmp118 [V121 ] ( 0, 0 ) int -> zero-ref ;* V122 tmp119 [V122 ] ( 0, 0 ) int -> zero-ref ; V123 tmp120 [V123,T37] ( 3, 8 ) ref -> r15 ; V124 tmp121 [V124,T01] ( 11, 88 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "NewObj constructor temp" ; V125 tmp122 [V125,T20] ( 2, 16 ) int -> [rbp-0x58] spill-single-def "non-inline candidate call" ; V126 tmp123 [V126,T07] ( 4, 32 ) ref -> [rbp-0xB8] class-hnd exact spill-single-def "dup spill" ; V127 tmp124 [V127,T17] ( 2, 16 ) ref -> rax class-hnd exact "Inlining Arg" ; V128 tmp125 [V128,T02] ( 3, 48 ) ref -> rdi "arr expr" ; V129 tmp126 [V129,T03] ( 3, 48 ) int -> rax "index expr" ; V130 tmp127 [V130,T42] ( 2, 8 ) ref -> rdi "arr expr" ; V131 tmp128 [V131,T28] ( 3, 12 ) int -> rcx "index expr" ; V132 tmp129 [V132,T88] ( 2, 2 ) ref -> rdi "arr expr" ; V133 tmp130 [V133,T62] ( 3, 3 ) int -> rax "index expr" ; V134 tmp131 [V134,T89] ( 2, 2 ) ref -> rdi "arr expr" ; V135 tmp132 [V135,T63] ( 3, 3 ) int -> rax "index expr" ; V136 tmp133 [V136,T90] ( 2, 2 ) ref -> rdi "arr expr" ; V137 tmp134 [V137,T64] ( 3, 3 ) int -> rax "index expr" ; V138 tmp135 [V138,T91] ( 2, 2 ) ref -> r15 "arr expr" ; V139 tmp136 [V139,T65] ( 3, 3 ) int -> rdi "index expr" ; V140 tmp137 [V140,T92] ( 2, 2 ) ref -> rdi "arr expr" ; V141 tmp138 [V141,T66] ( 3, 3 ) int -> rax "index expr" ; V142 tmp139 [V142,T93] ( 2, 2 ) ref -> rdi "arr expr" ; V143 tmp140 [V143,T67] ( 3, 3 ) int -> rax "index expr" ; V144 tmp141 [V144,T94] ( 2, 2 ) ref -> rdi "arr expr" ; V145 tmp142 [V145,T68] ( 3, 3 ) int -> rax "index expr" ; V146 tmp143 [V146,T95] ( 2, 2 ) ref -> rdi "arr expr" ; V147 tmp144 [V147,T69] ( 3, 3 ) int -> rax "index expr" ; V148 tmp145 [V148,T96] ( 2, 2 ) ref -> rdi "arr expr" ; V149 tmp146 [V149,T70] ( 3, 3 ) int -> rax "index expr" ; V150 tmp147 [V150,T97] ( 2, 2 ) ref -> rdi "arr expr" ; V151 tmp148 [V151,T71] ( 3, 3 ) int -> rax "index expr" ; V152 tmp149 [V152,T98] ( 2, 2 ) ref -> rdi "arr expr" ; V153 tmp150 [V153,T72] ( 3, 3 ) int -> rax "index expr" ; V154 tmp151 [V154,T99] ( 2, 2 ) ref -> rdi "arr expr" ; V155 tmp152 [V155,T73] ( 3, 3 ) int -> rax "index expr" ; V156 tmp153 [V156,T100] ( 2, 2 ) ref -> rdi "arr expr" ; V157 tmp154 [V157,T74] ( 3, 3 ) int -> rax "index expr" ; V158 tmp155 [V158,T101] ( 2, 2 ) ref -> rdi "arr expr" ; V159 tmp156 [V159,T75] ( 3, 3 ) int -> rax "index expr" ; V160 tmp157 [V160,T102] ( 2, 2 ) ref -> rdi "arr expr" ; V161 tmp158 [V161,T76] ( 3, 3 ) int -> rax "index expr" ; V162 tmp159 [V162,T103] ( 2, 2 ) ref -> rdi "arr expr" ; V163 tmp160 [V163,T77] ( 3, 3 ) int -> rax "index expr" ; V164 tmp161 [V164,T104] ( 2, 2 ) ref -> rdi "arr expr" ; V165 tmp162 [V165,T78] ( 3, 3 ) int -> rax "index expr" ; V166 cse0 [V166,T36] ( 4, 8 ) int -> rax "CSE #05: conservative" ; V167 cse1 [V167,T06] ( 26, 34 ) int -> r14 "CSE #01: moderate" ; V168 cse2 [V168,T08] ( 20, 26.50) ref -> r15 "CSE #02: moderate" ; V169 cse3 [V169,T24] ( 3, 12 ) ref -> rdi "CSE #13: moderate" ; V170 cse4 [V170,T49] ( 3, 6 ) ref -> rdi "CSE #06: conservative" ; V171 cse5 [V171,T50] ( 3, 6 ) ref -> rdi "CSE #08: conservative" ; V172 cse6 [V172,T115] ( 3, 1.50) ref -> rdi "CSE #14: conservative" ; V173 cse7 [V173,T116] ( 3, 1.50) ref -> rdi "CSE #39: conservative" ; V174 cse8 [V174,T117] ( 3, 1.50) ref -> rdi "CSE #40: conservative" ; V175 cse9 [V175,T09] ( 20, 26.50) int -> r13 "CSE #03: moderate" ; ; Lcl frame size = 152 G_M15793_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 152 lea rbp, [rsp+0xC0] mov rbx, rdi ;; size=28 bbWeight=8 PerfScore 56.00 G_M15793_IG02: mov r15, gword ptr [rbx+0x38] mov rdi, r15 mov r14d, dword ptr [rbx+0x74] mov eax, r14d mov r13d, dword ptr [rdi+0x08] cmp eax, r13d jae G_M15793_IG39 movzx r12, word ptr [rdi+2*rax+0x10] cmp r12d, 34 je G_M15793_IG37 ;; size=43 bbWeight=8 PerfScore 88.00 G_M15793_IG03: cmp r12d, 35 jne G_M15793_IG28 ;; size=10 bbWeight=4 PerfScore 5.00 G_M15793_IG04: mov eax, dword ptr [rbx+0x70] sub eax, r14d cmp eax, 6 jl G_M15793_IG31 mov rdi, r15 lea ecx, [r14+0x01] cmp ecx, r13d jae G_M15793_IG39 movzx r12, word ptr [rdi+2*rcx+0x10] cmp r12d, 70 jne G_M15793_IG11 ;; size=47 bbWeight=2 PerfScore 17.50 G_M15793_IG05: mov rdi, r15 lea eax, [r14+0x02] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 73 jne SHORT G_M15793_IG06 mov rdi, r15 lea eax, [r14+0x03] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 88 jne SHORT G_M15793_IG06 mov rdi, r15 lea eax, [r14+0x04] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 69 jne SHORT G_M15793_IG06 lea edi, [r14+0x05] cmp edi, r13d jae G_M15793_IG39 cmp word ptr [r15+2*rdi+0x10], 68 je G_M15793_IG09 ;; size=98 bbWeight=0.50 PerfScore 11.88 G_M15793_IG06: mov rdi, 0xD1FFAB1E ; 'Xml_ExpectAttType' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov r12, rax mov dword ptr [rbx+0x74], r14d mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this call [r11]System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this mov r13, rax mov rdi, gword ptr [rbx+0x08] mov r15, rdi mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineNo():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineNo():int:this mov r14d, eax mov eax, dword ptr [rbx+0x74] mov dword ptr [rbp-0x40], eax mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this mov ecx, dword ptr [rbp-0x40] sub ecx, eax mov dword ptr [rbp-0x3C], ecx test r13, r13 je SHORT G_M15793_IG07 mov rdi, r13 mov rcx, qword ptr [r13] mov rcx, qword ptr [rcx+0x40] call [rcx+0x08]System.Object:ToString():System.String:this mov r13, rax jmp SHORT G_M15793_IG08 ;; size=127 bbWeight=0.50 PerfScore 18.62 G_M15793_IG07: xor r13, r13 ;; size=3 bbWeight=0.50 PerfScore 0.12 G_M15793_IG08: mov rdi, 0xD1FFAB1E ; System.Xml.XmlException call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0x80], rax mov rdi, 0xD1FFAB1E ; System.String[] mov esi, 1 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-0x88], rax - mov rdi, rax - xor esi, esi - mov rdx, 0xD1FFAB1E ; '' - mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST - call [rcx]CORINFO_HELP_ARRADDR_ST + mov rdi, 0xD1FFAB1E ; '' + mov gword ptr [rax+0x10], rdi mov rdi, r12 - mov rsi, gword ptr [rbp-0x88] + mov rsi, rax mov edx, r14d mov ecx, dword ptr [rbp-0x3C] - mov rax, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String - call [rax]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String mov rdi, 0xD1FFAB1E mov rcx, gword ptr [rbp-0x80] mov qword ptr [rcx+0x68], rdi lea rdi, bword ptr [rcx+0x10] mov rsi, rax call CORINFO_HELP_ASSIGN_REF xor rdi, rdi mov rax, gword ptr [rbp-0x80] mov gword ptr [rax+0x20], rdi mov dword ptr [rax+0x6C], 0xD1FFAB1E lea rdi, bword ptr [rax+0x70] mov rsi, r12 call CORINFO_HELP_ASSIGN_REF mov r12, gword ptr [rbp-0x80] lea rdi, bword ptr [r12+0x78] mov rsi, gword ptr [rbp-0x88] call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x80] mov rsi, r13 call CORINFO_HELP_ASSIGN_REF mov dword ptr [r12+0x90], r14d mov r14d, dword ptr [rbp-0x3C] mov dword ptr [r12+0x94], r14d mov rdi, r15 mov rsi, r12 mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:Throw(System.Exception):this call [r11]System.Xml.IDtdParserAdapter:Throw(System.Exception):this - ;; size=236 bbWeight=0.50 PerfScore 17.75 + ;; size=220 bbWeight=0.50 PerfScore 16.00 G_M15793_IG09: add dword ptr [rbx+0x74], 6 mov dword ptr [rbx+0x78], 19 mov eax, 22 ;; size=16 bbWeight=0.50 PerfScore 2.12 G_M15793_IG10: add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=0.50 PerfScore 2.12 G_M15793_IG11: cmp r12d, 73 jne G_M15793_IG18 cmp eax, 8 jl G_M15793_IG31 ;; size=19 bbWeight=2 PerfScore 5.00 G_M15793_IG12: mov rdi, r15 lea eax, [r14+0x02] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 77 jne G_M15793_IG13 mov rdi, r15 lea eax, [r14+0x03] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 80 jne SHORT G_M15793_IG13 mov rdi, r15 lea eax, [r14+0x04] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 76 jne SHORT G_M15793_IG13 mov rdi, r15 lea eax, [r14+0x05] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 73 jne SHORT G_M15793_IG13 mov rdi, r15 lea eax, [r14+0x06] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 69 jne SHORT G_M15793_IG13 mov rdi, r15 lea eax, [r14+0x07] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 68 je G_M15793_IG16 ;; size=152 bbWeight=0.50 PerfScore 18.00 G_M15793_IG13: mov r12d, r14d mov rdi, 0xD1FFAB1E ; 'Xml_ExpectAttType' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov r14, rax mov dword ptr [rbx+0x74], r12d mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this call [r11]System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this mov r15, rax mov rdi, gword ptr [rbx+0x08] mov r13, rdi mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineNo():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineNo():int:this mov r12d, eax mov eax, dword ptr [rbx+0x74] mov dword ptr [rbp-0x38], eax mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this mov ecx, dword ptr [rbp-0x38] sub ecx, eax mov dword ptr [rbp-0x34], ecx test r15, r15 je SHORT G_M15793_IG14 mov rdi, r15 mov rcx, qword ptr [r15] mov rcx, qword ptr [rcx+0x40] call [rcx+0x08]System.Object:ToString():System.String:this mov r15, rax jmp SHORT G_M15793_IG15 ;; size=129 bbWeight=0.50 PerfScore 18.75 G_M15793_IG14: xor r15, r15 ;; size=3 bbWeight=0.50 PerfScore 0.12 G_M15793_IG15: mov rdi, 0xD1FFAB1E ; System.Xml.XmlException call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0x70], rax mov rdi, 0xD1FFAB1E ; System.String[] mov esi, 1 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-0x78], rax - mov rdi, rax - xor esi, esi - mov rdx, 0xD1FFAB1E ; '' - mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST - call [rcx]CORINFO_HELP_ARRADDR_ST + mov rdi, 0xD1FFAB1E ; '' + mov gword ptr [rax+0x10], rdi mov rdi, r14 - mov rsi, gword ptr [rbp-0x78] + mov rsi, rax mov edx, r12d mov ecx, dword ptr [rbp-0x34] - mov rax, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String - call [rax]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String mov rdi, 0xD1FFAB1E mov rcx, gword ptr [rbp-0x70] mov qword ptr [rcx+0x68], rdi lea rdi, bword ptr [rcx+0x10] mov rsi, rax call CORINFO_HELP_ASSIGN_REF xor rdi, rdi mov rax, gword ptr [rbp-0x70] mov gword ptr [rax+0x20], rdi mov dword ptr [rax+0x6C], 0xD1FFAB1E lea rdi, bword ptr [rax+0x70] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF mov r14, gword ptr [rbp-0x70] lea rdi, bword ptr [r14+0x78] mov rsi, gword ptr [rbp-0x78] call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r14+0x80] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF mov dword ptr [r14+0x90], r12d mov r15d, dword ptr [rbp-0x34] mov dword ptr [r14+0x94], r15d mov rdi, r13 mov rsi, r14 mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:Throw(System.Exception):this call [r11]System.Xml.IDtdParserAdapter:Throw(System.Exception):this - ;; size=223 bbWeight=0.50 PerfScore 17.75 + ;; size=210 bbWeight=0.50 PerfScore 16.00 G_M15793_IG16: add dword ptr [rbx+0x74], 8 mov dword ptr [rbx+0x78], 13 mov eax, 21 ;; size=16 bbWeight=0.50 PerfScore 2.12 G_M15793_IG17: add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=0.50 PerfScore 2.12 G_M15793_IG18: cmp r12d, 82 je G_M15793_IG21 mov r15d, r14d mov rdi, 0xD1FFAB1E ; 'Xml_ExpectAttType' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov r14, rax mov dword ptr [rbx+0x74], r15d mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this call [r11]System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this mov r13, rax mov rdi, gword ptr [rbx+0x08] mov r15, rdi mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineNo():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineNo():int:this mov r12d, eax mov eax, dword ptr [rbx+0x74] mov dword ptr [rbp-0x48], eax mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this mov ecx, dword ptr [rbp-0x48] sub ecx, eax mov dword ptr [rbp-0x44], ecx test r13, r13 je SHORT G_M15793_IG19 mov rdi, r13 mov rcx, qword ptr [r13] mov rcx, qword ptr [rcx+0x40] call [rcx+0x08]System.Object:ToString():System.String:this mov r13, rax jmp SHORT G_M15793_IG20 ;; size=140 bbWeight=2 PerfScore 77.50 G_M15793_IG19: xor r13, r13 ;; size=3 bbWeight=2 PerfScore 0.50 G_M15793_IG20: mov rdi, 0xD1FFAB1E ; System.Xml.XmlException call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0x90], rax mov rdi, 0xD1FFAB1E ; System.String[] mov esi, 1 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-0x98], rax - mov rdi, rax - xor esi, esi - mov rdx, 0xD1FFAB1E ; '' - mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST - call [rcx]CORINFO_HELP_ARRADDR_ST + mov rdi, 0xD1FFAB1E ; '' + mov gword ptr [rax+0x10], rdi mov rdi, r14 - mov rsi, gword ptr [rbp-0x98] + mov rsi, rax mov edx, r12d mov ecx, dword ptr [rbp-0x44] - mov rax, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String - call [rax]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String mov rdi, 0xD1FFAB1E mov rcx, gword ptr [rbp-0x90] mov qword ptr [rcx+0x68], rdi lea rdi, bword ptr [rcx+0x10] mov rsi, rax call CORINFO_HELP_ASSIGN_REF xor rdi, rdi mov rax, gword ptr [rbp-0x90] mov gword ptr [rax+0x20], rdi mov dword ptr [rax+0x6C], 0xD1FFAB1E lea rdi, bword ptr [rax+0x70] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF mov r14, gword ptr [rbp-0x90] lea rdi, bword ptr [r14+0x78] mov rsi, gword ptr [rbp-0x98] call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r14+0x80] mov rsi, r13 call CORINFO_HELP_ASSIGN_REF mov dword ptr [r14+0x90], r12d mov r13d, dword ptr [rbp-0x44] mov dword ptr [r14+0x94], r13d mov rdi, r15 mov rsi, r14 mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:Throw(System.Exception):this call [r11]System.Xml.IDtdParserAdapter:Throw(System.Exception):this jmp G_M15793_IG31 - ;; size=249 bbWeight=2 PerfScore 75.00 + ;; size=233 bbWeight=2 PerfScore 68.00 G_M15793_IG21: cmp eax, 9 jl G_M15793_IG31 ;; size=9 bbWeight=2 PerfScore 2.50 G_M15793_IG22: mov rdi, r15 lea eax, [r14+0x02] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 69 jne G_M15793_IG23 mov rdi, r15 lea eax, [r14+0x03] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 81 jne G_M15793_IG23 mov rdi, r15 lea eax, [r14+0x04] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 85 jne SHORT G_M15793_IG23 mov rdi, r15 lea eax, [r14+0x05] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 73 jne SHORT G_M15793_IG23 mov rdi, r15 lea eax, [r14+0x06] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 82 jne SHORT G_M15793_IG23 mov rdi, r15 lea eax, [r14+0x07] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 69 jne SHORT G_M15793_IG23 mov rdi, r15 lea eax, [r14+0x08] cmp eax, r13d jae G_M15793_IG39 cmp word ptr [rdi+2*rax+0x10], 68 je G_M15793_IG26 ;; size=180 bbWeight=0.50 PerfScore 21.00 G_M15793_IG23: mov rdi, 0xD1FFAB1E ; 'Xml_ExpectAttType' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov r15, rax mov dword ptr [rbx+0x74], r14d mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this call [r11]System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this mov r14, rax mov rdi, gword ptr [rbx+0x08] mov r13, rdi mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineNo():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineNo():int:this mov r12d, eax mov eax, dword ptr [rbx+0x74] mov dword ptr [rbp-0x30], eax mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this mov ecx, dword ptr [rbp-0x30] sub ecx, eax mov dword ptr [rbp-0x2C], ecx test r14, r14 je SHORT G_M15793_IG24 mov rdi, r14 mov rcx, qword ptr [r14] mov rcx, qword ptr [rcx+0x40] call [rcx+0x08]System.Object:ToString():System.String:this mov r14, rax jmp SHORT G_M15793_IG25 ;; size=126 bbWeight=0.50 PerfScore 18.62 G_M15793_IG24: xor r14, r14 ;; size=3 bbWeight=0.50 PerfScore 0.12 G_M15793_IG25: mov rdi, 0xD1FFAB1E ; System.Xml.XmlException call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0x60], rax mov rdi, 0xD1FFAB1E ; System.String[] mov esi, 1 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-0x68], rax - mov rdi, rax - xor esi, esi - mov rdx, 0xD1FFAB1E ; '' - mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST - call [rcx]CORINFO_HELP_ARRADDR_ST + mov rdi, 0xD1FFAB1E ; '' + mov gword ptr [rax+0x10], rdi mov rdi, r15 - mov rsi, gword ptr [rbp-0x68] + mov rsi, rax mov edx, r12d mov ecx, dword ptr [rbp-0x2C] - mov rax, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String - call [rax]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String mov rdi, 0xD1FFAB1E mov rcx, gword ptr [rbp-0x60] mov qword ptr [rcx+0x68], rdi lea rdi, bword ptr [rcx+0x10] mov rsi, rax call CORINFO_HELP_ASSIGN_REF xor rdi, rdi mov rax, gword ptr [rbp-0x60] mov gword ptr [rax+0x20], rdi mov dword ptr [rax+0x6C], 0xD1FFAB1E lea rdi, bword ptr [rax+0x70] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF mov r15, gword ptr [rbp-0x60] lea rdi, bword ptr [r15+0x78] mov rsi, gword ptr [rbp-0x68] call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r15+0x80] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF mov dword ptr [r15+0x90], r12d mov r14d, dword ptr [rbp-0x2C] mov dword ptr [r15+0x94], r14d mov rdi, r13 mov rsi, r15 mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:Throw(System.Exception):this call [r11]System.Xml.IDtdParserAdapter:Throw(System.Exception):this - ;; size=223 bbWeight=0.50 PerfScore 17.75 + ;; size=210 bbWeight=0.50 PerfScore 16.00 G_M15793_IG26: add dword ptr [rbx+0x74], 9 mov dword ptr [rbx+0x78], 13 mov eax, 20 ;; size=16 bbWeight=0.50 PerfScore 2.12 G_M15793_IG27: add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=0.50 PerfScore 2.12 G_M15793_IG28: cmp r12d, 39 je G_M15793_IG37 mov r15d, r14d mov rdi, 0xD1FFAB1E ; 'Xml_ExpectAttType' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov r14, rax mov dword ptr [rbx+0x74], r15d mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this call [r11]System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this mov r15, rax mov rdi, gword ptr [rbx+0x08] mov r13, rdi mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineNo():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineNo():int:this mov r12d, eax mov eax, dword ptr [rbx+0x74] mov dword ptr [rbp-0x50], eax mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this mov ecx, dword ptr [rbp-0x50] sub ecx, eax mov dword ptr [rbp-0x4C], ecx test r15, r15 je SHORT G_M15793_IG29 mov rdi, r15 mov rcx, qword ptr [r15] mov rcx, qword ptr [rcx+0x40] call [rcx+0x08]System.Object:ToString():System.String:this mov r15, rax jmp SHORT G_M15793_IG30 ;; size=139 bbWeight=2 PerfScore 77.50 G_M15793_IG29: xor r15, r15 ;; size=3 bbWeight=2 PerfScore 0.50 G_M15793_IG30: mov rdi, 0xD1FFAB1E ; System.Xml.XmlException call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0xA0], rax mov rdi, 0xD1FFAB1E ; System.String[] mov esi, 1 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-0xA8], rax - mov rdi, rax - xor esi, esi - mov rdx, 0xD1FFAB1E ; '' - mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST - call [rcx]CORINFO_HELP_ARRADDR_ST + mov rdi, 0xD1FFAB1E ; '' + mov gword ptr [rax+0x10], rdi mov rdi, r14 - mov rsi, gword ptr [rbp-0xA8] + mov rsi, rax mov edx, r12d mov ecx, dword ptr [rbp-0x4C] - mov rax, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String - call [rax]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String mov rdi, 0xD1FFAB1E mov rcx, gword ptr [rbp-0xA0] mov qword ptr [rcx+0x68], rdi lea rdi, bword ptr [rcx+0x10] mov rsi, rax call CORINFO_HELP_ASSIGN_REF xor rdi, rdi mov rax, gword ptr [rbp-0xA0] mov gword ptr [rax+0x20], rdi mov dword ptr [rax+0x6C], 0xD1FFAB1E lea rdi, bword ptr [rax+0x70] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF mov r14, gword ptr [rbp-0xA0] lea rdi, bword ptr [r14+0x78] mov rsi, gword ptr [rbp-0xA8] call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r14+0x80] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF mov dword ptr [r14+0x90], r12d mov r15d, dword ptr [rbp-0x4C] mov dword ptr [r14+0x94], r15d mov rdi, r13 mov rsi, r14 mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:Throw(System.Exception):this call [r11]System.Xml.IDtdParserAdapter:Throw(System.Exception):this - ;; size=244 bbWeight=2 PerfScore 71.00 + ;; size=228 bbWeight=2 PerfScore 64.00 G_M15793_IG31: mov r15d, dword ptr [rbx+0x74] mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_EntityStackLength():int:this call [r11]System.Xml.IDtdParserAdapter:get_EntityStackLength():int:this test eax, eax jne SHORT G_M15793_IG33 ;; size=25 bbWeight=4 PerfScore 34.00 G_M15793_IG32: cmp gword ptr [rbx+0x40], 0 je SHORT G_M15793_IG33 mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_CurrentPosition():int:this call [r11]System.Xml.IDtdParserAdapter:get_CurrentPosition():int:this mov ecx, r15d sub ecx, eax test ecx, ecx jle SHORT G_M15793_IG33 mov ecx, r15d sub ecx, eax mov rsi, gword ptr [rbx+0x38] mov rdi, gword ptr [rbx+0x40] mov edx, eax mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort[],int,int):System.Text.StringBuilder:this cmp dword ptr [rdi], edi call [rax]System.Text.StringBuilder:Append(ushort[],int,int):System.Text.StringBuilder:this ;; size=62 bbWeight=2 PerfScore 44.00 G_M15793_IG33: mov rdi, gword ptr [rbx+0x08] mov esi, dword ptr [rbx+0x74] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:set_CurrentPosition(int):this call [r11]System.Xml.IDtdParserAdapter:set_CurrentPosition(int):this mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:ReadData():int:this call [r11]System.Xml.IDtdParserAdapter:ReadData():int:this mov r15d, eax mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Xml.DtdParser:LoadParsingBuffer():this call [rax]System.Xml.DtdParser:LoadParsingBuffer():this test r15d, r15d jne G_M15793_IG02 mov r15d, dword ptr [rbx+0x74] mov rdi, 0xD1FFAB1E ; 'Xml_IncompleteDtdContent' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov r14, rax mov dword ptr [rbx+0x74], r15d mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this call [r11]System.Xml.IDtdParserAdapter:get_BaseUri():System.Uri:this mov r15, rax mov rdi, gword ptr [rbx+0x08] mov r13, rdi mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineNo():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineNo():int:this mov r12d, eax mov eax, dword ptr [rbx+0x74] mov dword ptr [rbp-0x58], eax mov rdi, gword ptr [rbx+0x08] mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this call [r11]System.Xml.IDtdParserAdapter:get_LineStartPosition():int:this mov ecx, dword ptr [rbp-0x58] sub ecx, eax mov dword ptr [rbp-0x54], ecx test r15, r15 je SHORT G_M15793_IG35 ;; size=176 bbWeight=4 PerfScore 189.00 G_M15793_IG34: mov rdi, r15 mov rcx, qword ptr [r15] mov rcx, qword ptr [rcx+0x40] call [rcx+0x08]System.Object:ToString():System.String:this mov r15, rax jmp SHORT G_M15793_IG36 ;; size=18 bbWeight=2 PerfScore 19.00 G_M15793_IG35: xor r15, r15 ;; size=3 bbWeight=2 PerfScore 0.50 G_M15793_IG36: mov rdi, 0xD1FFAB1E ; System.Xml.XmlException call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0xB0], rax mov rdi, 0xD1FFAB1E ; System.String[] mov esi, 1 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-0xB8], rax - mov rdi, rax - xor esi, esi - mov rdx, 0xD1FFAB1E ; '' - mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST - call [rcx]CORINFO_HELP_ARRADDR_ST + mov rdi, 0xD1FFAB1E ; '' + mov gword ptr [rax+0x10], rdi mov rdi, r14 - mov rsi, gword ptr [rbp-0xB8] + mov rsi, rax mov edx, r12d mov ecx, dword ptr [rbp-0x54] - mov rax, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String - call [rax]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String + call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String mov rdi, 0xD1FFAB1E mov rcx, gword ptr [rbp-0xB0] mov qword ptr [rcx+0x68], rdi lea rdi, bword ptr [rcx+0x10] mov rsi, rax call CORINFO_HELP_ASSIGN_REF xor rdi, rdi mov rax, gword ptr [rbp-0xB0] mov gword ptr [rax+0x20], rdi mov dword ptr [rax+0x6C], 0xD1FFAB1E lea rdi, bword ptr [rax+0x70] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF mov r14, gword ptr [rbp-0xB0] lea rdi, bword ptr [r14+0x78] mov rsi, gword ptr [rbp-0xB8] call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r14+0x80] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF mov dword ptr [r14+0x90], r12d mov r15d, dword ptr [rbp-0x54] mov dword ptr [r14+0x94], r15d mov rdi, r13 mov rsi, r14 mov r11, 0xD1FFAB1E ; code for System.Xml.IDtdParserAdapter:Throw(System.Exception):this call [r11]System.Xml.IDtdParserAdapter:Throw(System.Exception):this jmp G_M15793_IG02 - ;; size=249 bbWeight=4 PerfScore 150.00 + ;; size=233 bbWeight=4 PerfScore 136.00 G_M15793_IG37: mov rdi, rbx xor esi, esi mov rax, 0xD1FFAB1E ; code for System.Xml.DtdParser:ScanLiteral(int):int:this call [rax]System.Xml.DtdParser:ScanLiteral(int):int:this mov dword ptr [rbx+0x78], 13 mov eax, 35 ;; size=29 bbWeight=0.50 PerfScore 2.50 G_M15793_IG38: add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=0.50 PerfScore 2.12 G_M15793_IG39: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 3125, prolog size 25, PerfScore 1090.38, instruction count 690, allocated bytes for code 3125 (MethodHash=f65cc24e) for method System.Xml.DtdParser:ScanAttlist6():int:this (FullOpts) +; Total bytes of code 3035, prolog size 25, PerfScore 1057.12, instruction count 672, allocated bytes for code 3035 (MethodHash=f65cc24e) for method System.Xml.DtdParser:ScanAttlist6():int:this (FullOpts) ```

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

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

MihuBot commented 3 months ago

@EgorBo