Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[JitDiff X64] [EgorBo] Expand "return condition" into "return condition ? true : false" #642

Open
MihuBot opened this issue Sep 8, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Sep 8, 2024

Job completed in 18 minutes 25 seconds.
dotnet/runtime#107499

Diffs

Diffs
Found 368 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 39330314
Total bytes of diff: 39330786
Total bytes of delta: 472 (0.00 % of base)
Total relative delta: 26.62
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
         198 : System.Private.DataContractSerialization.dasm (0.02 % of base)
         130 : System.Collections.dasm (0.03 % of base)
         129 : Microsoft.CSharp.dasm (0.04 % of base)
          99 : System.Collections.Immutable.dasm (0.00 % of base)
          90 : System.CodeDom.dasm (0.04 % of base)
          74 : System.ServiceModel.Syndication.dasm (0.05 % of base)
          70 : System.Runtime.Numerics.dasm (0.06 % of base)
          65 : System.Numerics.Tensors.dasm (0.00 % of base)
          56 : System.Composition.Hosting.dasm (0.05 % of base)
          39 : System.Composition.TypedParts.dasm (0.08 % of base)
          37 : System.Configuration.ConfigurationManager.dasm (0.01 % of base)
          37 : System.Private.Xml.Linq.dasm (0.02 % of base)
          31 : System.Reflection.Metadata.dasm (0.01 % of base)
          29 : System.Text.Json.dasm (0.00 % of base)
          28 : System.Threading.Tasks.Dataflow.dasm (0.00 % of base)
          24 : System.Threading.Tasks.Parallel.dasm (0.01 % of base)
          23 : System.Security.Cryptography.Pkcs.dasm (0.01 % of base)
          21 : System.Formats.Nrbf.dasm (0.04 % of base)
          21 : Microsoft.VisualBasic.Core.dasm (0.00 % of base)
          19 : System.Runtime.Serialization.Schema.dasm (0.03 % of base)
          16 : System.Threading.Channels.dasm (0.01 % of base)
          16 : System.Resources.Extensions.dasm (0.03 % of base)
          16 : System.Net.Security.dasm (0.01 % of base)
          15 : System.Drawing.Primitives.dasm (0.04 % of base)
          14 : System.IO.Ports.dasm (0.03 % of base)
          14 : Microsoft.Extensions.Configuration.Xml.dasm (0.14 % of base)
           9 : Microsoft.Extensions.Logging.Console.dasm (0.02 % of base)
           8 : System.Private.CoreLib.dasm (0.00 % of base)
           8 : System.Threading.RateLimiting.dasm (0.00 % of base)
           7 : System.Formats.Tar.dasm (0.01 % of base)
           7 : System.Text.Encoding.CodePages.dasm (0.01 % of base)
           7 : System.Formats.Cbor.dasm (0.01 % of base)
           6 : System.Diagnostics.Process.dasm (0.01 % of base)
           6 : System.Data.Odbc.dasm (0.00 % of base)
           5 : System.Net.WebSockets.dasm (0.00 % of base)
           5 : System.Net.Sockets.dasm (0.00 % of base)
           5 : System.IO.Pipes.dasm (0.01 % of base)
           4 : System.Security.Cryptography.ProtectedData.dasm (0.07 % of base)
           4 : System.Runtime.Serialization.Formatters.dasm (0.02 % of base)
           4 : System.Security.Cryptography.Xml.dasm (0.00 % of base)
           4 : System.Composition.Runtime.dasm (0.02 % of base)
           4 : System.Composition.Convention.dasm (0.00 % of base)
           3 : System.Net.Mail.dasm (0.00 % of base)
           2 : System.Security.Cryptography.Cose.dasm (0.00 % of base)
           2 : System.IO.Compression.dasm (0.00 % of base)
           1 : System.Reflection.DispatchProxy.dasm (0.01 % of base)
           1 : Microsoft.Extensions.Hosting.dasm (0.00 % of base)
           1 : System.Reflection.Context.dasm (0.00 % of base)
           1 : Microsoft.Extensions.Http.dasm (0.00 % of base)
           1 : System.IO.Packaging.dasm (0.00 % of base)
           1 : System.Formats.Asn1.dasm (0.00 % of base)

Top file improvements (bytes):
        -210 : System.ComponentModel.TypeConverter.dasm (-0.07 % of base)
         -78 : System.Linq.dasm (-0.01 % of base)
         -66 : System.Net.Http.dasm (-0.01 % of base)
         -49 : ILCompiler.Reflection.ReadyToRun.dasm (-0.02 % of base)
         -47 : System.Text.RegularExpressions.dasm (-0.01 % of base)
         -43 : System.Data.Common.dasm (-0.00 % of base)
         -40 : System.Linq.Expressions.dasm (-0.00 % of base)
         -37 : System.Net.Requests.dasm (-0.03 % of base)
         -37 : System.ComponentModel.Composition.dasm (-0.01 % of base)
         -32 : System.IO.Pipelines.dasm (-0.04 % of base)
         -32 : Microsoft.Extensions.DependencyModel.dasm (-0.04 % of base)
         -26 : System.Collections.Concurrent.dasm (-0.01 % of base)
         -24 : System.Text.Encodings.Web.dasm (-0.10 % of base)
         -24 : System.Net.Quic.dasm (-0.02 % of base)
         -22 : Microsoft.Extensions.FileProviders.Physical.dasm (-0.13 % of base)
         -18 : System.Reflection.Emit.dasm (-0.01 % of base)
         -17 : Microsoft.Extensions.Primitives.dasm (-0.06 % of base)
         -16 : System.ObjectModel.dasm (-0.02 % of base)
         -15 : Microsoft.Extensions.DependencyInjection.dasm (-0.02 % of base)
         -12 : System.Net.NameResolution.dasm (-0.03 % of base)
         -11 : System.Net.Primitives.dasm (-0.01 % of base)
          -9 : System.Linq.Parallel.dasm (-0.00 % of base)
          -9 : System.Linq.Queryable.dasm (-0.00 % of base)
          -8 : System.Net.HttpListener.dasm (-0.01 % of base)
          -7 : System.Console.dasm (-0.01 % of base)
          -7 : System.Net.NetworkInformation.dasm (-0.01 % of base)
          -7 : System.Transactions.Local.dasm (-0.00 % of base)
          -5 : Microsoft.Extensions.Configuration.Binder.dasm (-0.02 % of base)
          -5 : System.Threading.dasm (-0.03 % of base)
          -5 : System.DirectoryServices.Protocols.dasm (-0.00 % of base)
          -4 : System.Runtime.Caching.dasm (-0.01 % of base)
          -4 : System.Private.Xml.dasm (-0.00 % of base)
          -4 : System.ComponentModel.Composition.Registration.dasm (-0.00 % of base)
          -4 : System.Diagnostics.DiagnosticSource.dasm (-0.00 % of base)
          -3 : System.Private.Uri.dasm (-0.00 % of base)
          -3 : System.Security.Cryptography.dasm (-0.00 % of base)
          -2 : System.Reflection.MetadataLoadContext.dasm (-0.00 % of base)
          -2 : System.ComponentModel.Annotations.dasm (-0.00 % of base)
          -1 : System.Collections.Specialized.dasm (-0.01 % of base)

90 total files with Code Size differences (39 improved, 51 regressed), 169 unchanged.

Top method regressions (bytes):
          82 (0.79 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts)
          73 (3.15 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadDocument(System.Xml.XmlReader):this (FullOpts)
          65 (0.33 % of base) : System.Data.Common.dasm - System.Data.BinaryNode:EvalBinaryOp(int,System.Data.ExpressionNode,System.Data.ExpressionNode,System.Data.DataRow,int,int[]):System.Object:this (FullOpts)
          47 (4.14 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
          39 (2.29 % of base) : System.CodeDom.dasm - Microsoft.CSharp.CSharpCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
          36 (4.31 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ContainsAny[short](System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):ubyte (FullOpts)
          33 (0.86 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ObjectType:ObjTst(System.Object,System.Object,ubyte):int (FullOpts)
          28 (4.44 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicResolver:ResolveToken(int,byref,byref,byref):this (FullOpts)
          28 (6.39 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaComplexType:ContainsIdAttribute(ubyte):ubyte:this (FullOpts)
          22 (2.96 % of base) : System.Private.CoreLib.dasm - System.Type:IsEnumDefined(System.Object):ubyte:this (FullOpts)
          21 (52.50 % of base) : System.Private.Xml.dasm - System.Xml.DocumentSchemaValidator:AncestorTypeHasWildcard(System.Xml.Schema.XmlSchemaObject):ubyte (FullOpts)
          21 (0.48 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser+<ScanLiteralAsync>d__185:MoveNext():this (FullOpts)
          20 (0.76 % of base) : System.Formats.Nrbf.dasm - System.Formats.Nrbf.SystemClassWithMembersAndTypesRecord:TryToMapToUserFriendly():System.Formats.Nrbf.SerializationRecord:this (FullOpts)
          18 (40.00 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionInformation:get_LocationAttributesAreDefault():ubyte:this (FullOpts)
          18 (50.00 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:CanDeclareAssemblyAttribute(System.Runtime.Serialization.ContractCodeDomInfo):ubyte:this (FullOpts)
          18 (0.73 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.Type,byref):ubyte (FullOpts)
          18 (52.94 % of base) : System.Private.CoreLib.dasm - System.Threading.Lock:get_ShouldStopPreemptingWaiters():ubyte:this (FullOpts)
          18 (1.56 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XContainer+<WriteContentToAsync>d__51:MoveNext():this (FullOpts)
          18 (41.86 % of base) : System.Data.Common.dasm - System.Xml.XmlBoundElement:get_HasChildNodes():ubyte:this (FullOpts)
          18 (24.32 % of base) : System.Private.Xml.dasm - System.Xml.XmlException:IsCatchableException(System.Exception):ubyte (FullOpts)
          17 (16.19 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:op_Inequality(System.Reflection.CustomAttributeNamedArgument,System.Reflection.CustomAttributeNamedArgument):ubyte (FullOpts)
          16 (7.05 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.EmptyFrozenSet`1[System.__Canon]:OtherIsEmpty(System.Collections.Generic.IEnumerable`1[System.__Canon]):ubyte (FullOpts)
          16 (3.88 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:Equals(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):ubyte (FullOpts)
          16 (3.40 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.DeserializingResourceReader:CompareStringEqualsName(System.String):ubyte:this (FullOpts)
          16 (3.40 % of base) : System.Private.CoreLib.dasm - System.Resources.ResourceReader:CompareStringEqualsName(System.String):ubyte:this (FullOpts)
          15 (35.71 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:IsValidPasswordChar(ushort):ubyte (FullOpts)
          15 (19.48 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature+<>c:<GetDependencies>b__3_5(System.Attribute):ubyte:this (FullOpts)
          15 (19.48 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.ContractHelpers+<>c:<TryGetExplicitImportInfo>b__1_0(System.Object):ubyte:this (FullOpts)
          15 (31.91 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.CallbackValidator:CanValidate(System.Type):ubyte:this (FullOpts)
          15 (19.48 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:IsProcessInvalidException(System.Exception):ubyte (FullOpts)
          15 (14.02 % of base) : System.Private.CoreLib.dasm - System.Globalization.HebrewCalendar:IsLeapMonth(int,int,int):ubyte:this (FullOpts)
          15 (19.48 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:StreamCopyExceptionNeedsWrapping(System.Exception):ubyte (FullOpts)
          15 (0.52 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:ScanLiteral(int):int:this (FullOpts)
          15 (0.61 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.ElementWriter+<WriteElementAsync>d__4:MoveNext():this (FullOpts)
          15 (2.22 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlConverter:ToString(System.Object):System.String (FullOpts)
          14 (3.63 % of base) : Microsoft.Extensions.Configuration.Xml.dasm - Microsoft.Extensions.Configuration.Xml.XmlDocumentDecryptor:ContainsEncryptedData(System.Xml.XmlDocument):ubyte (FullOpts)
          14 (35.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.BitOperations:IsPow2(long):ubyte (FullOpts) (2 methods)
          14 (35.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.BitOperations:IsPow2(ulong):ubyte (FullOpts) (2 methods)
          14 (0.20 % of base) : System.Text.Json.dasm - System.Text.Json.Schema.JsonSchemaExporter:MapJsonSchemaCore(byref,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Text.Json.Serialization.Metadata.JsonPropertyInfo,System.Text.Json.Serialization.JsonConverter,System.Nullable`1[int],System.Text.Json.Serialization.Metadata.JsonTypeInfo,ubyte,ubyte,System.Nullable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Text.Json.Schema.JsonSchema]],ubyte):System.Text.Json.Schema.JsonSchema (FullOpts)
          13 (0.50 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.JsonConsoleFormatter:WriteItem(System.Text.Json.Utf8JsonWriter,System.Collections.Generic.KeyValuePair`2[System.String,System.Object]) (FullOpts)
          13 (54.17 % of base) : System.Private.CoreLib.dasm - System.Threading.SpinLock:get_IsHeld():ubyte:this (FullOpts)
          12 (0.51 % of base) : System.CodeDom.dasm - Microsoft.CSharp.CSharpCodeGenerator:GetBaseTypeOutput(System.CodeDom.CodeTypeReference,ubyte):System.String:this (FullOpts)
          12 (66.67 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ElementInformation:get_IsLocked():ubyte:this (FullOpts)
          12 (33.33 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:IsOddInteger(System.Numerics.BigInteger):ubyte (FullOpts)
          12 (48.00 % of base) : System.Runtime.Numerics.dasm - System.Numerics.Complex:IsNegative(System.Numerics.Complex):ubyte (FullOpts)
          12 (3.91 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.CoseHeaderValue:op_Inequality(System.Security.Cryptography.Cose.CoseHeaderValue,System.Security.Cryptography.Cose.CoseHeaderValue):ubyte (FullOpts)
          12 (27.91 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCharClass:CanEasilyEnumerateSetContents(System.String):ubyte (FullOpts)
          12 (5.83 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:get_IsCanceled():ubyte:this (FullOpts)
          12 (6.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:get_IsFaulted():ubyte:this (FullOpts)
          12 (2.95 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemaExporter:ExportMapping(System.Xml.Serialization.Mapping,System.String,ubyte):this (FullOpts)
          11 (3.49 % of base) : System.Private.CoreLib.dasm - System.Decimal:TryParse(System.ReadOnlySpan`1[ubyte],byref):ubyte (FullOpts)
          11 (3.12 % of base) : System.Private.CoreLib.dasm - System.Decimal:TryParse(System.ReadOnlySpan`1[ubyte],System.IFormatProvider,byref):ubyte (FullOpts)
          11 (3.31 % of base) : System.Private.CoreLib.dasm - System.Decimal:TryParse(System.ReadOnlySpan`1[ushort],byref):ubyte (FullOpts)
          11 (2.97 % of base) : System.Private.CoreLib.dasm - System.Decimal:TryParse(System.ReadOnlySpan`1[ushort],System.IFormatProvider,byref):ubyte (FullOpts)
          11 (55.00 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.OSFileStreamStrategy:get_CanRead():ubyte:this (FullOpts)
          11 (68.75 % of base) : System.Private.CoreLib.dasm - System.IO.UnmanagedMemoryStream:get_CanRead():ubyte:this (FullOpts)
          11 (30.56 % of base) : System.Text.Json.dasm - System.Text.Json.JsonHelpers:RequiresSpecialNumberHandlingOnWrite(System.Nullable`1[int]):ubyte (FullOpts)
          10 (0.40 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.LikeOperator:MatchRange(System.String,int,byref,Microsoft.VisualBasic.CompilerServices.LikeOperator+LigatureInfo[],System.String,int,byref,Microsoft.VisualBasic.CompilerServices.LikeOperator+LigatureInfo[],byref,byref,byref,System.Globalization.CompareInfo,int,byref,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.LikeOperator+Range],ubyte) (FullOpts)
          10 (5.49 % of base) : System.Private.CoreLib.dasm - System.Char:IsNumber(System.String,int):ubyte (FullOpts)
          10 (4.93 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper:get_UsePortInSpn():ubyte (FullOpts)
          10 (4.93 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:get_DisableTlsResume():ubyte (FullOpts)
          10 (0.78 % of base) : System.Private.Xml.Linq.dasm - System.Xml.Linq.XContainer:GetStringValue(System.Object):System.String (FullOpts)
           9 (21.95 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType:get_IsSimpleOrEnum():ubyte:this (FullOpts)
           9 (0.58 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ObjectType:InternalNegObj(System.Object,System.IConvertible,int):System.Object (FullOpts)
           9 (3.36 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationLockCollection:IsValueModified(System.String):ubyte:this (FullOpts)
           9 (0.39 % of base) : System.Data.Common.dasm - System.Data.XSDSchema:HandleSimpleTypeSimpleContentColumn(System.Xml.Schema.XmlSchemaSimpleType,System.String,System.Data.DataTable,ubyte,System.Xml.XmlAttribute[],ubyte):this (FullOpts)
           9 (3.80 % of base) : System.Private.CoreLib.dasm - System.Decimal:IsInteger(System.Decimal):ubyte (FullOpts)
           9 (6.98 % of base) : System.Private.CoreLib.dasm - System.Decimal:op_LessThan(System.Decimal,System.Decimal):ubyte (FullOpts)
           9 (47.37 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Color:get_IsNamedColor():ubyte:this (FullOpts)
           9 (6.04 % of base) : System.Private.CoreLib.dasm - System.Globalization.JulianCalendar:IsLeapDay(int,int,int,int):ubyte:this (FullOpts)
           9 (5.56 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:IsLiftingConditionalLogicalOperator(System.Type,System.Type,System.Reflection.MethodInfo,int):ubyte (FullOpts)
           9 (3.52 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:ShouldWritebackNode(System.Linq.Expressions.Expression):ubyte (FullOpts)
           9 (27.27 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper:IsAuthenticationChallenge(System.Net.Http.HttpResponseMessage,ubyte):ubyte (FullOpts)
           9 (4.41 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.WarningHeaderValue:Equals(System.Object):ubyte:this (FullOpts)
           9 (32.14 % of base) : System.Runtime.Numerics.dasm - System.Numerics.Complex:IsPositive(System.Numerics.Complex):ubyte (FullOpts)
           8 (6.06 % of base) : System.Private.CoreLib.dasm - System.Char:IsDigit(System.String,int):ubyte (FullOpts)
           8 (5.76 % of base) : System.Private.CoreLib.dasm - System.Char:IsLetter(System.String,int):ubyte (FullOpts)
           8 (5.63 % of base) : System.Private.CoreLib.dasm - System.Char:IsLower(System.String,int):ubyte (FullOpts)
           8 (5.67 % of base) : System.Private.CoreLib.dasm - System.Char:IsUpper(System.String,int):ubyte (FullOpts)
           8 (7.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.EmptyFrozenSet`1[double]:OtherIsEmpty(System.Collections.Generic.IEnumerable`1[double]):ubyte (FullOpts)
           8 (7.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.EmptyFrozenSet`1[int]:OtherIsEmpty(System.Collections.Generic.IEnumerable`1[int]):ubyte (FullOpts)
           8 (7.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.EmptyFrozenSet`1[long]:OtherIsEmpty(System.Collections.Generic.IEnumerable`1[long]):ubyte (FullOpts)
           8 (7.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.EmptyFrozenSet`1[short]:OtherIsEmpty(System.Collections.Generic.IEnumerable`1[short]):ubyte (FullOpts)
           8 (7.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.EmptyFrozenSet`1[System.Nullable`1[int]]:OtherIsEmpty(System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]]):ubyte (FullOpts)
           8 (7.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.EmptyFrozenSet`1[System.Numerics.Vector`1[float]]:OtherIsEmpty(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
           8 (7.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Frozen.EmptyFrozenSet`1[ubyte]:OtherIsEmpty(System.Collections.Generic.IEnumerable`1[ubyte]):ubyte (FullOpts)
           8 (2.71 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.__Canon]:System.Collections.IList.Contains(System.Object):ubyte:this (FullOpts)
           8 (3.04 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:System.Collections.IList.Contains(System.Object):ubyte:this (FullOpts)
           8 (4.04 % of base) : System.Data.Common.dasm - System.Data.ConstraintCollection:Contains(System.String,ubyte):ubyte:this (FullOpts)
           8 (1.44 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ManifestBuilder:AppendKeywords(System.Text.StringBuilder,ulong,System.String):this (FullOpts)
           8 (5.59 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:HasVariables(System.Object):ubyte (FullOpts)
           8 (3.59 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.Socket:get_MulticastLoopback():ubyte:this (FullOpts)
           8 (20.00 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:IsEvenInteger(System.Numerics.BigInteger):ubyte (FullOpts)
           8 (15.09 % of base) : System.Private.CoreLib.dasm - System.Text.Ascii:VectorContainsNonAsciiChar(System.Runtime.Intrinsics.Vector512`1[ushort]):ubyte (FullOpts)
           8 (19.51 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.GB18030Encoding:Is4Byte(ushort):ubyte:this (FullOpts)
           8 (1.49 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemaExporter:ExportElementMapping(System.Xml.Schema.XmlSchemaElement,System.Xml.Serialization.Mapping,System.String,ubyte):this (FullOpts)
           7 (23.33 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType:get_IsSimpleType():ubyte:this (FullOpts)
           7 (1.13 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ExplicitConversion:Bind():ubyte:this (FullOpts)
           7 (31.82 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionIterator:AtEnd():ubyte:this (FullOpts)
           7 (31.82 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.EXPRExtensions:isChecked(Microsoft.CSharp.RuntimeBinder.Semantics.Expr):ubyte (FullOpts)

Top method improvements (bytes):
        -118 (-0.64 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexInterpreter:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (FullOpts) (2 methods)
         -47 (-2.78 % of base) : System.Net.Http.dasm - System.Net.Http.HPack.HPackDecoder:DecodeInternal(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):this (FullOpts)
         -43 (-3.39 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:GetLiveSlotsAtSafepoints(ubyte[],byref):System.Collections.Generic.List`1[System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcSlot]]:this (FullOpts)
         -43 (-6.20 % of base) : System.Private.CoreLib.dasm - System.Enum:ToUInt64(System.Object):ulong (FullOpts)
         -33 (-5.34 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:PrepareFlushUnsynchronized(byref,byref,System.Threading.CancellationToken):this (FullOpts)
         -28 (-15.73 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SourceInfo:op_Inequality(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.SourceInfo):ubyte (FullOpts)
         -25 (-50.00 % of base) : System.Data.Common.dasm - System.Data.ColumnTypeConverter:CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type):ubyte:this (FullOpts)
         -25 (-50.00 % of base) : System.Data.Common.dasm - System.Data.PrimaryKeyTypeConverter:CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type):ubyte:this (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:op_Inequality(System.Reflection.Assembly,System.Reflection.Assembly):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInfo:op_Inequality(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:op_Inequality(System.Reflection.EventInfo,System.Reflection.EventInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.FieldInfo:op_Inequality(System.Reflection.FieldInfo,System.Reflection.FieldInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.MemberInfo:op_Inequality(System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:op_Inequality(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodInfo:op_Inequality(System.Reflection.MethodInfo,System.Reflection.MethodInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.Module:op_Inequality(System.Reflection.Module,System.Reflection.Module):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.PropertyInfo:op_Inequality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo):ubyte (FullOpts)
         -22 (-5.28 % of base) : System.Data.Common.dasm - System.Data.XDRSchema:IsTextOnlyContent(System.Xml.XmlElement):ubyte (FullOpts)
         -21 (-41.18 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:op_Inequality(System.ModuleHandle,System.ModuleHandle):ubyte (FullOpts)
         -21 (-6.02 % of base) : System.Net.Http.dasm - System.Net.Http.RuntimeSettingParser:QueryRuntimeSettingInt32(System.String,System.String,int):int (FullOpts)
         -21 (-1.27 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemaExporter:ExportDefaultValue(System.Xml.Serialization.TypeMapping,System.Object):System.String (FullOpts)
         -20 (-1.79 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.ILGen:TryEmitILConstant(System.Reflection.Emit.ILGenerator,System.Object,System.Type):ubyte (FullOpts)
         -20 (-8.85 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection:CheckUsabilityOnScavenge():ubyte:this (FullOpts)
         -20 (-1.94 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.CodeGenerator:Ldc(System.Object):this (FullOpts)
         -20 (-1.31 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:IsEnumDefined(System.Object):ubyte:this (FullOpts)
         -19 (-1.36 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.DllImportData:Create(System.Reflection.Emit.CustomAttributeInfo,byref):System.Reflection.Emit.DllImportData (FullOpts)
         -19 (-25.68 % of base) : System.Private.CoreLib.dasm - System.Version:op_Inequality(System.Version,System.Version):ubyte (FullOpts)
         -18 (-0.98 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlReflectionImporter:ReconcileAccessor(System.Xml.Serialization.Accessor,System.Xml.Serialization.NameTable):System.Xml.Serialization.Accessor:this (FullOpts)
         -17 (-2.50 % of base) : System.Private.Xml.dasm - System.Xml.HtmlEncodedRawTextWriter:WriteHtmlAttributeText(ulong,ulong):this (FullOpts)
         -16 (-1.48 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.TypeDescriptor:Refresh(System.Reflection.Module) (FullOpts)
         -16 (-9.25 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicConfiguration:GetConfigurationCacheEnabled():ubyte (FullOpts)
         -16 (-25.81 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.IPPacketInformation:op_Inequality(System.Net.Sockets.IPPacketInformation,System.Net.Sockets.IPPacketInformation):ubyte (FullOpts)
         -16 (-14.04 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:<ConfigureIgnoreCondition>g__ShouldSerializeIgnoreWhenWritingDefault|31_2(System.Object,double):ubyte (FullOpts)
         -16 (-11.76 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:op_Inequality(System.Threading.Tasks.ValueTask`1[System.__Canon],System.Threading.Tasks.ValueTask`1[System.__Canon]):ubyte (FullOpts)
         -15 (-31.91 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher:IsDirectoryPath(System.String):ubyte (FullOpts)
         -15 (-14.56 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Inequality(System.Numerics.BigInteger,ulong):ubyte (FullOpts)
         -15 (-14.56 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Inequality(ulong,System.Numerics.BigInteger):ubyte (FullOpts)
         -14 (-25.93 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol:isUserCallable():ubyte:this (FullOpts)
         -14 (-16.67 % of base) : System.Private.CoreLib.dasm - System.Half:op_Inequality(System.Half,System.Half):ubyte (FullOpts)
         -14 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.XmlParserContext:get_HasDtdInfo():ubyte:this (FullOpts)
         -13 (-10.92 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodTypeInferrer:HasBound(int):ubyte:this (FullOpts)
         -13 (-10.92 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.CommaDelimitedStringCollection:get_IsModified():ubyte:this (FullOpts)
         -13 (-3.74 % of base) : System.Collections.Immutable.dasm - System.Linq.ImmutableArrayExtensions:SequenceEqual[System.__Canon,System.__Canon](System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):ubyte (FullOpts)
         -13 (-21.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[double]:op_Inequality(System.Runtime.Intrinsics.Vector64`1[double],System.Runtime.Intrinsics.Vector64`1[double]):ubyte (FullOpts)
         -13 (-6.95 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlNavNameFilter:IsFiltered(System.Xml.XPath.XPathNavigator):ubyte:this (FullOpts)
         -12 (-41.38 % of base) : System.Private.CoreLib.dasm - Microsoft.Win32.SafeHandles.SafeFileHandle:get_IsInvalid():ubyte:this (FullOpts)
         -12 (-5.61 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:IsRootDeclaration(System.String,ubyte):ubyte:this (FullOpts)
         -12 (-16.90 % of base) : System.Net.Http.dasm - System.Net.Http.HttpMethod:op_Inequality(System.Net.Http.HttpMethod,System.Net.Http.HttpMethod):ubyte (FullOpts)
         -12 (-0.16 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteElement(System.String,System.Xml.Serialization.ElementAccessor,System.String,ubyte):this (FullOpts)
         -11 (-1.74 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeBind:CheckConstraints(Microsoft.CSharp.RuntimeBinder.Semantics.CType,int):ubyte (FullOpts)
         -11 (-26.19 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:IsCompatibleObject(System.Object):ubyte (FullOpts)
         -11 (-26.19 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[System.Nullable`1[int]]:IsCompatibleObject(System.Object):ubyte (FullOpts)
         -11 (-26.19 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:IsCompatibleObject(System.Object):ubyte (FullOpts)
         -11 (-5.21 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.FilterElement:InitDataChanged(System.Diagnostics.TraceFilter):ubyte:this (FullOpts)
         -11 (-5.21 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.ListenerElement:InitDataChanged(System.Diagnostics.TraceListener):ubyte:this (FullOpts)
         -11 (-14.10 % of base) : System.Net.Http.dasm - System.Net.Http.HttpClient:ShouldBufferResponse(int,System.Net.Http.HttpRequestMessage):ubyte (FullOpts)
         -11 (-15.71 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[long]:op_Inequality(System.Threading.Tasks.ValueTask`1[long],System.Threading.Tasks.ValueTask`1[long]):ubyte (FullOpts)
         -11 (-1.38 % of base) : System.Private.Xml.dasm - System.Xml.HtmlUtf8RawTextWriter:WriteHtmlAttributeText(ulong,ulong):this (FullOpts)
         -10 (-25.00 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter+<>c:<AddRuntimeSpecificAssetGroups>b__15_0(Microsoft.Extensions.DependencyModel.RuntimeAssetGroup):ubyte:this (FullOpts)
         -10 (-0.85 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.GenerationServices:LoadValue(System.Reflection.Emit.ILGenerator,System.Object) (FullOpts)
         -10 (-2.17 % of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[double]:NullableFieldUsingReflection(System.Object):double (FullOpts)
         -10 (-2.19 % of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[int]:NullableFieldUsingReflection(System.Object):int (FullOpts)
         -10 (-2.19 % of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[long]:NullableFieldUsingReflection(System.Object):long (FullOpts)
         -10 (-2.18 % of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[short]:NullableFieldUsingReflection(System.Object):short (FullOpts)
         -10 (-2.19 % of base) : System.Data.Common.dasm - System.Data.DataRowExtensions+UnboxT`1[ubyte]:NullableFieldUsingReflection(System.Object):ubyte (FullOpts)
         -10 (-0.63 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.CNativeBuffer:MarshalToNative(int,System.Object,short,int,int):this (FullOpts)
         -10 (-7.63 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessManager:IsRemoteMachineCore(System.String):ubyte (FullOpts)
         -10 (-8.00 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Color:op_Inequality(System.Drawing.Color,System.Drawing.Color):ubyte (FullOpts)
         -10 (-11.90 % of base) : System.Net.Primitives.dasm - System.Net.IPNetwork:op_Inequality(System.Net.IPNetwork,System.Net.IPNetwork):ubyte (FullOpts)
         -10 (-11.24 % of base) : System.Net.Security.dasm - System.Net.Security.SslApplicationProtocol:op_Inequality(System.Net.Security.SslApplicationProtocol,System.Net.Security.SslApplicationProtocol):ubyte (FullOpts)
         -10 (-19.23 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeTypedArgument:op_Inequality(System.Reflection.CustomAttributeTypedArgument,System.Reflection.CustomAttributeTypedArgument):ubyte (FullOpts)
         -10 (-0.42 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.CustomAttributeBuilder:EmitValue(System.IO.BinaryWriter,System.Type,System.Object) (FullOpts)
         -10 (-0.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:SetConstantValue(System.Reflection.Emit.RuntimeModuleBuilder,int,System.Type,System.Object) (FullOpts)
         -10 (-10.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeParameterInfo:<GetRawDecimalConstant>g__GetConstructorArgument|32_0(System.Collections.Generic.IList`1[System.Reflection.CustomAttributeTypedArgument],int):int (FullOpts)
         -10 (-4.42 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.FSharpCoreReflectionProxy:IsFSharpType(System.Type):ubyte (FullOpts)
         -10 (-0.92 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SequenceNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this (FullOpts)
         -10 (-12.05 % of base) : System.Private.Xml.dasm - System.Xml.XmlElement:get_HasAttributes():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory+<>c:<TryCreateEnumerable>b__19_0(System.Collections.Generic.KeyValuePair`2[int,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite],System.Collections.Generic.KeyValuePair`2[int,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite]):int:this (FullOpts)
          -9 (-33.33 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ObjectType:ObjTstInt64(long,long):int (FullOpts)
          -9 (-33.33 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericComparer`1[long]:Compare(long,long):int:this (FullOpts)
          -9 (-33.33 % of base) : System.Private.CoreLib.dasm - System.Globalization.DateTimeFormatInfo:IsHebrewChar(ushort):ubyte (FullOpts)
          -9 (-10.98 % of base) : System.Private.CoreLib.dasm - System.IO.Path:IsPathFullyQualified(System.String):ubyte (FullOpts)
          -9 (-33.33 % of base) : System.Linq.dasm - System.Linq.Enumerable+ImplicitlyStableOrderedIterator`1+<>c[long]:<Sort>b__13_0(long,long):int:this (FullOpts)
          -9 (-33.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util+FastLongComparer:Compare(long,long):int:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Http.dasm - System.Net.Http.HttpResponseMessage:get_IsSuccessStatusCode():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Requests.dasm - System.Net.ResponseDescription:get_InvalidStatusCode():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Requests.dasm - System.Net.ResponseDescription:get_PermanentFailure():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Requests.dasm - System.Net.ResponseDescription:get_PositiveCompletion():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Requests.dasm - System.Net.ResponseDescription:get_TransientFailure():ubyte:this (FullOpts)
          -9 (-7.14 % of base) : System.Runtime.Numerics.dasm - System.Numerics.Complex:IsNaN(System.Numerics.Complex):ubyte (FullOpts)
          -9 (-32.14 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.GB18030Encoding:IsGBLeadByte(short):ubyte (FullOpts)
          -9 (-33.33 % of base) : System.Private.CoreLib.dasm - System.TimeSpan:Compare(System.TimeSpan,System.TimeSpan):int (FullOpts)
          -9 (-10.98 % of base) : System.Private.Uri.dasm - System.Uri:IsExcludedCharacter(ushort):ubyte (FullOpts)
          -9 (-17.65 % of base) : System.Private.Uri.dasm - System.UriHelper:IsGenDelim(ushort):ubyte (FullOpts)
          -9 (-4.39 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQualifiedNameTest:IsNamespaceSubsetOf(System.Xml.Xsl.XmlQualifiedNameTest):ubyte:this (FullOpts)
          -9 (-18.75 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[double]:IsStep(int):ubyte (FullOpts)
          -9 (-18.75 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[int]:IsStep(int):ubyte (FullOpts)
          -9 (-18.75 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[long]:IsStep(int):ubyte (FullOpts)
          -9 (-18.75 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[short]:IsStep(int):ubyte (FullOpts)
          -9 (-18.75 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[System.__Canon]:IsStep(int):ubyte (FullOpts)

Top method regressions (percentages):
          11 (68.75 % of base) : System.Private.CoreLib.dasm - System.IO.UnmanagedMemoryStream:get_CanRead():ubyte:this (FullOpts)
          12 (66.67 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ElementInformation:get_IsLocked():ubyte:this (FullOpts)
          11 (55.00 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.OSFileStreamStrategy:get_CanRead():ubyte:this (FullOpts)
          13 (54.17 % of base) : System.Private.CoreLib.dasm - System.Threading.SpinLock:get_IsHeld():ubyte:this (FullOpts)
          18 (52.94 % of base) : System.Private.CoreLib.dasm - System.Threading.Lock:get_ShouldStopPreemptingWaiters():ubyte:this (FullOpts)
          21 (52.50 % of base) : System.Private.Xml.dasm - System.Xml.DocumentSchemaValidator:AncestorTypeHasWildcard(System.Xml.Schema.XmlSchemaObject):ubyte (FullOpts)
          18 (50.00 % of base) : System.Runtime.Serialization.Schema.dasm - System.Runtime.Serialization.CodeExporter:CanDeclareAssemblyAttribute(System.Runtime.Serialization.ContractCodeDomInfo):ubyte:this (FullOpts)
          12 (48.00 % of base) : System.Runtime.Numerics.dasm - System.Numerics.Complex:IsNegative(System.Numerics.Complex):ubyte (FullOpts)
           9 (47.37 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Color:get_IsNamedColor():ubyte:this (FullOpts)
          18 (41.86 % of base) : System.Data.Common.dasm - System.Xml.XmlBoundElement:get_HasChildNodes():ubyte:this (FullOpts)
          18 (40.00 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionInformation:get_LocationAttributesAreDefault():ubyte:this (FullOpts)
           7 (38.89 % of base) : System.Private.CoreLib.dasm - System.IO.PathInternal:StartsWithDirectorySeparator(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           7 (38.89 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryCardinality:NeverSubset(System.Xml.Xsl.XmlQueryCardinality):ubyte:this (FullOpts)
           7 (36.84 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+Node[double]:IsNonNullRed(System.Collections.Generic.SortedSet`1+Node[double]):ubyte (FullOpts)
           7 (36.84 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+Node[int]:IsNonNullRed(System.Collections.Generic.SortedSet`1+Node[int]):ubyte (FullOpts)
           7 (36.84 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+Node[long]:IsNonNullRed(System.Collections.Generic.SortedSet`1+Node[long]):ubyte (FullOpts)
           7 (36.84 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+Node[short]:IsNonNullRed(System.Collections.Generic.SortedSet`1+Node[short]):ubyte (FullOpts)
           7 (36.84 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+Node[System.__Canon]:IsNonNullRed(System.Collections.Generic.SortedSet`1+Node[System.__Canon]):ubyte (FullOpts)
           7 (36.84 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+Node[System.Nullable`1[int]]:IsNonNullRed(System.Collections.Generic.SortedSet`1+Node[System.Nullable`1[int]]):ubyte (FullOpts)
           7 (36.84 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+Node[System.Numerics.Vector`1[float]]:IsNonNullRed(System.Collections.Generic.SortedSet`1+Node[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
           7 (36.84 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+Node[ubyte]:IsNonNullRed(System.Collections.Generic.SortedSet`1+Node[ubyte]):ubyte (FullOpts)
           7 (36.84 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:ShouldSkipDueToInheritInChildApplications(ubyte):ubyte:this (FullOpts)
           7 (36.84 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Point:get_IsEmpty():ubyte:this (FullOpts)
           7 (36.84 % of base) : System.Drawing.Primitives.dasm - System.Drawing.Size:get_IsEmpty():ubyte:this (FullOpts)
           7 (36.84 % of base) : System.Private.CoreLib.dasm - System.Numerics.BitOperations:IsPow2(int):ubyte (FullOpts)
           7 (36.84 % of base) : System.Private.CoreLib.dasm - System.Numerics.BitOperations:IsPow2(uint):ubyte (FullOpts)
           7 (36.84 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeLayout:get_IsDefault():ubyte:this (FullOpts)
          15 (35.71 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:IsValidPasswordChar(ushort):ubyte (FullOpts)
           7 (35.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterSymbol:get_Invariant():ubyte:this (FullOpts)
           7 (35.00 % of base) : System.Data.Common.dasm - System.Data.ExpressionParser:IsWhiteSpace(ushort):ubyte (FullOpts)
           7 (35.00 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.SqlDecimal:FZero():ubyte:this (FullOpts)
           7 (35.00 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.FileStreamHelpers:AreInvalid(int):ubyte (FullOpts)
           7 (35.00 % of base) : System.Private.CoreLib.dasm - System.IO.UnmanagedMemoryStream:get_CanWrite():ubyte:this (FullOpts)
           7 (35.00 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:get_IsOne():ubyte:this (FullOpts)
          14 (35.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.BitOperations:IsPow2(long):ubyte (FullOpts) (2 methods)
          14 (35.00 % of base) : System.Private.CoreLib.dasm - System.Numerics.BitOperations:IsPow2(ulong):ubyte (FullOpts) (2 methods)
           7 (35.00 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonParameterInfo:get_IsRequiredParameter():ubyte:this (FullOpts)
           7 (35.00 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Asttree:IsAttribute(MS.Internal.Xml.XPath.Axis):ubyte (FullOpts)
           7 (35.00 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Asttree:IsNameTest(MS.Internal.Xml.XPath.Axis):ubyte (FullOpts)
           7 (33.33 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionInformation:get_IsRuntime():ubyte:this (FullOpts)
           7 (33.33 % of base) : System.Net.Security.dasm - System.Net.Security.ProtocolToken:get_Failed():ubyte:this (FullOpts)
           7 (33.33 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.UnixDomainSocketEndPoint:IsAbstract(ubyte[]):ubyte (FullOpts)
          12 (33.33 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:IsOddInteger(System.Numerics.BigInteger):ubyte (FullOpts)
           7 (33.33 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCharClass:get_CanMerge():ubyte:this (FullOpts)
           7 (33.33 % of base) : System.Private.CoreLib.dasm - System.TypedReference:get_IsNull():ubyte:this (FullOpts)
           9 (32.14 % of base) : System.Runtime.Numerics.dasm - System.Numerics.Complex:IsPositive(System.Numerics.Complex):ubyte (FullOpts)
          15 (31.91 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.CallbackValidator:CanValidate(System.Type):ubyte:this (FullOpts)
           7 (31.82 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionIterator:AtEnd():ubyte:this (FullOpts)
           7 (31.82 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.EXPRExtensions:isChecked(Microsoft.CSharp.RuntimeBinder.Semantics.Expr):ubyte (FullOpts)
           7 (31.82 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.EXPRExtensions:isLvalue(Microsoft.CSharp.RuntimeBinder.Semantics.Expr):ubyte (FullOpts)
           7 (31.82 % of base) : System.IO.Pipes.dasm - Microsoft.Win32.SafeHandles.SafePipeHandle:get_IsInvalid():ubyte:this (FullOpts)
           7 (31.82 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborWriter:get_IsWriteCompleted():ubyte:this (FullOpts)
           7 (31.82 % of base) : System.Private.CoreLib.dasm - System.IO.FileStatus:get_HasHiddenFlag():ubyte:this (FullOpts)
           7 (31.82 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialStream:<IOLoop>g__IsNoEventRegistered|140_0():ubyte:this (FullOpts)
           7 (31.82 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo:get_IsEmpty():ubyte:this (FullOpts)
           7 (31.82 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.UnixDomainSocketEndPoint:IsAbstract(System.String):ubyte (FullOpts)
           7 (31.82 % of base) : System.Private.CoreLib.dasm - System.Threading.CancellationToken:get_IsCancellationRequested():ubyte:this (FullOpts)
           7 (31.82 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.StructMapping:get_IsFullyInitialized():ubyte:this (FullOpts)
           7 (31.82 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Compiler:IsPhantomNamespace(System.String):ubyte (FullOpts)
          11 (30.56 % of base) : System.Text.Json.dasm - System.Text.Json.JsonHelpers:RequiresSpecialNumberHandlingOnWrite(System.Nullable`1[int]):ubyte (FullOpts)
           7 (30.43 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionRecord:get_HasIndirectLocationInputs():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.SectionRecord:get_HasLocationInputs():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.SqlString:FBinarySort():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Data.Common.dasm - System.Data.SqlTypes.StreamOnSqlBytes:get_CanRead():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Private.CoreLib.dasm - System.IO.PathInternal:EndsInDirectorySeparator(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           7 (30.43 % of base) : System.Formats.Tar.dasm - System.IO.PathInternal:EndsInDirectorySeparator(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           7 (30.43 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest:get_HasExtensions():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo:get_HasExtensions():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:get_IsStar():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:get_IsStar():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:get_IsStar():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:get_IsStar():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:get_IsStar():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaElement:get_HasDefault():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.AccessorMapping:get_IsParticle():ubyte:this (FullOpts)
           7 (30.43 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor+PositionOfFinder:OnFound(System.Xml.Xsl.Qil.QilNode):ubyte:this (FullOpts)
           6 (30.00 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.ParallelLoopStateFlags`1[int]:ShouldExitLoop():ubyte:this (FullOpts)
           6 (30.00 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.ParallelLoopStateFlags`1[long]:ShouldExitLoop():ubyte:this (FullOpts)
           6 (30.00 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.ParallelLoopStateFlags`1[short]:ShouldExitLoop():ubyte:this (FullOpts)
           6 (30.00 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.ParallelLoopStateFlags`1[ubyte]:ShouldExitLoop():ubyte:this (FullOpts)
           7 (29.17 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialPort:get_IsOpen():ubyte:this (FullOpts)
           7 (29.17 % of base) : System.Private.CoreLib.dasm - System.IO.Strategies.OSFileStreamStrategy:get_CanWrite():ubyte:this (FullOpts)
           7 (29.17 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.ExceptionRegionEncoder:IsSmallExceptionRegion(int,int):ubyte (FullOpts)
           7 (29.17 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEHeaders:get_IsConsoleApplication():ubyte:this (FullOpts)
           7 (29.17 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.XmlJsonReader:get_IsReadingComplexText():ubyte:this (FullOpts)
           7 (29.17 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.PemEncoding:<IsValidLabel>g__IsLabelChar|7_0(ushort):ubyte (FullOpts)
           7 (29.17 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.StructMapping:get_IsSequence():ubyte:this (FullOpts)
           7 (28.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobContentId:get_IsDefault():ubyte:this (FullOpts)
           7 (28.00 % of base) : System.Private.DataContractSerialization.dasm - System.Text.Base64Encoding:IsValidLeadBytes(int,int,int,int):ubyte (FullOpts)
          12 (27.91 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCharClass:CanEasilyEnumerateSetContents(System.String):ubyte (FullOpts)
           9 (27.27 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper:IsAuthenticationChallenge(System.Net.Http.HttpResponseMessage,ubyte):ubyte (FullOpts)
           7 (26.92 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection+HttpContentReadStream:get_CanReadFromConnection():ubyte:this (FullOpts)
           7 (26.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[double]:get_IsCompleted():ubyte:this (FullOpts)
           7 (26.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]:get_IsCompleted():ubyte:this (FullOpts)
           7 (26.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[long]:get_IsCompleted():ubyte:this (FullOpts)
           7 (26.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[short]:get_IsCompleted():ubyte:this (FullOpts)
           7 (26.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.__Canon]:get_IsCompleted():ubyte:this (FullOpts)
           7 (26.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Nullable`1[int]]:get_IsCompleted():ubyte:this (FullOpts)
           7 (26.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Numerics.Vector`1[float]]:get_IsCompleted():ubyte:this (FullOpts)
           7 (26.92 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[ubyte]:get_IsCompleted():ubyte:this (FullOpts)

Top method improvements (percentages):
         -25 (-50.00 % of base) : System.Data.Common.dasm - System.Data.ColumnTypeConverter:CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type):ubyte:this (FullOpts)
         -25 (-50.00 % of base) : System.Data.Common.dasm - System.Data.PrimaryKeyTypeConverter:CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type):ubyte:this (FullOpts)
         -12 (-41.38 % of base) : System.Private.CoreLib.dasm - Microsoft.Win32.SafeHandles.SafeFileHandle:get_IsInvalid():ubyte:this (FullOpts)
         -21 (-41.18 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:op_Inequality(System.ModuleHandle,System.ModuleHandle):ubyte (FullOpts)
          -7 (-41.18 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSASignatureFormatHelpers:IsKnownValue(int):ubyte (FullOpts)
          -7 (-41.18 % of base) : System.Private.Xml.dasm - System.Xml.DtdParser:IsAttributeValueType(int):ubyte (FullOpts)
          -8 (-38.10 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.Internal.PathUtils+<>c:<GetInvalidFileNameChars>b__0_0(ushort):ubyte:this (FullOpts)
          -7 (-35.00 % of base) : System.Net.Primitives.dasm - System.Net.TcpValidationHelpers:ValidatePortNumber(int):ubyte (FullOpts)
          -7 (-35.00 % of base) : System.Net.Sockets.dasm - System.Net.TcpValidationHelpers:ValidatePortNumber(int):ubyte (FullOpts)
          -9 (-33.33 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory+<>c:<TryCreateEnumerable>b__19_0(System.Collections.Generic.KeyValuePair`2[int,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite],System.Collections.Generic.KeyValuePair`2[int,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite]):int:this (FullOpts)
          -9 (-33.33 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ObjectType:ObjTstInt64(long,long):int (FullOpts)
          -9 (-33.33 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericComparer`1[long]:Compare(long,long):int:this (FullOpts)
          -9 (-33.33 % of base) : System.Private.CoreLib.dasm - System.Globalization.DateTimeFormatInfo:IsHebrewChar(ushort):ubyte (FullOpts)
          -7 (-33.33 % of base) : System.Private.CoreLib.dasm - System.Globalization.TextInfo:IsLetterCategory(int):ubyte (FullOpts)
          -9 (-33.33 % of base) : System.Linq.dasm - System.Linq.Enumerable+ImplicitlyStableOrderedIterator`1+<>c[long]:<Sort>b__13_0(long,long):int:this (FullOpts)
          -9 (-33.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util+FastLongComparer:Compare(long,long):int:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Http.dasm - System.Net.Http.HttpResponseMessage:get_IsSuccessStatusCode():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Requests.dasm - System.Net.ResponseDescription:get_InvalidStatusCode():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Requests.dasm - System.Net.ResponseDescription:get_PermanentFailure():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Requests.dasm - System.Net.ResponseDescription:get_PositiveCompletion():ubyte:this (FullOpts)
          -8 (-33.33 % of base) : System.Net.Requests.dasm - System.Net.ResponseDescription:get_PositiveIntermediate():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : System.Net.Requests.dasm - System.Net.ResponseDescription:get_TransientFailure():ubyte:this (FullOpts)
          -9 (-33.33 % of base) : System.Private.CoreLib.dasm - System.TimeSpan:Compare(System.TimeSpan,System.TimeSpan):int (FullOpts)
          -9 (-32.14 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.GB18030Encoding:IsGBLeadByte(short):ubyte (FullOpts)
          -8 (-32.00 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ObjectType:ObjTstInt32(int,int):int (FullOpts)
          -8 (-32.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.GenericComparer`1[int]:Compare(int,int):int:this (FullOpts)
          -8 (-32.00 % of base) : System.Linq.dasm - System.Linq.Enumerable+ImplicitlyStableOrderedIterator`1+<>c[int]:<Sort>b__13_0(int,int):int:this (FullOpts)
          -8 (-32.00 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Util+FastIntComparer:Compare(int,int):int:this (FullOpts)
          -8 (-32.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.EntityHandle:Compare(System.Reflection.Metadata.EntityHandle,System.Reflection.Metadata.EntityHandle):int (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:op_Inequality(System.Reflection.Assembly,System.Reflection.Assembly):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInfo:op_Inequality(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:op_Inequality(System.Reflection.EventInfo,System.Reflection.EventInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.FieldInfo:op_Inequality(System.Reflection.FieldInfo,System.Reflection.FieldInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.MemberInfo:op_Inequality(System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:op_Inequality(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodInfo:op_Inequality(System.Reflection.MethodInfo,System.Reflection.MethodInfo):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.Module:op_Inequality(System.Reflection.Module,System.Reflection.Module):ubyte (FullOpts)
         -23 (-31.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.PropertyInfo:op_Inequality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo):ubyte (FullOpts)
         -15 (-31.91 % of base) : Microsoft.Extensions.FileProviders.Physical.dasm - Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher:IsDirectoryPath(System.String):ubyte (FullOpts)
          -5 (-27.78 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionKindExtensions:IsRelational(int):ubyte (FullOpts)
          -5 (-27.78 % of base) : System.Data.Common.dasm - System.Data.Operators:IsRelational(int):ubyte (FullOpts)
         -11 (-26.19 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1[System.Nullable`1[int]]:IsCompatibleObject(System.Object):ubyte (FullOpts)
         -11 (-26.19 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1[System.Nullable`1[int]]:IsCompatibleObject(System.Object):ubyte (FullOpts)
         -11 (-26.19 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:IsCompatibleObject(System.Object):ubyte (FullOpts)
         -14 (-25.93 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol:isUserCallable():ubyte:this (FullOpts)
         -16 (-25.81 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.IPPacketInformation:op_Inequality(System.Net.Sockets.IPPacketInformation,System.Net.Sockets.IPPacketInformation):ubyte (FullOpts)
         -19 (-25.68 % of base) : System.Private.CoreLib.dasm - System.Version:op_Inequality(System.Version,System.Version):ubyte (FullOpts)
         -10 (-25.00 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextWriter+<>c:<AddRuntimeSpecificAssetGroups>b__15_0(Microsoft.Extensions.DependencyModel.RuntimeAssetGroup):ubyte:this (FullOpts)
          -5 (-23.81 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:IsAscii(ushort):ubyte (FullOpts)
          -5 (-23.81 % of base) : System.IO.Compression.dasm - System.IO.Compression.Inflater:IsGzipStream():ubyte:this (FullOpts)
          -7 (-23.33 % of base) : System.Private.CoreLib.dasm - System.TimeOnly:CompareTo(System.TimeOnly):int:this (FullOpts)
          -7 (-23.33 % of base) : System.Private.CoreLib.dasm - System.TimeSpan:CompareTo(System.TimeSpan):int:this (FullOpts)
          -7 (-23.33 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`1[long]:CompareTo(System.ValueTuple`1[long]):int:this (FullOpts)
          -5 (-22.73 % of base) : System.Text.Encoding.CodePages.dasm - System.Text.GB18030Encoding:IsGBFourByteTrailing(short):ubyte (FullOpts)
          -5 (-22.73 % of base) : System.Text.Json.dasm - System.Text.Json.ThrowHelper:IsPrintable(ubyte):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[double]:op_Inequality(System.ReadOnlySpan`1[double],System.ReadOnlySpan`1[double]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[int]:op_Inequality(System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[long]:op_Inequality(System.ReadOnlySpan`1[long],System.ReadOnlySpan`1[long]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[short]:op_Inequality(System.ReadOnlySpan`1[short],System.ReadOnlySpan`1[short]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Nullable`1[int]]:op_Inequality(System.ReadOnlySpan`1[System.Nullable`1[int]],System.ReadOnlySpan`1[System.Nullable`1[int]]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]:op_Inequality(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[ubyte]:op_Inequality(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.Span`1[double]:op_Inequality(System.Span`1[double],System.Span`1[double]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.Span`1[int]:op_Inequality(System.Span`1[int],System.Span`1[int]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.Span`1[long]:op_Inequality(System.Span`1[long],System.Span`1[long]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.Span`1[short]:op_Inequality(System.Span`1[short],System.Span`1[short]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.Nullable`1[int]]:op_Inequality(System.Span`1[System.Nullable`1[int]],System.Span`1[System.Nullable`1[int]]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.Numerics.Vector`1[float]]:op_Inequality(System.Span`1[System.Numerics.Vector`1[float]],System.Span`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Private.CoreLib.dasm - System.Span`1[ubyte]:op_Inequality(System.Span`1[ubyte],System.Span`1[ubyte]):ubyte (FullOpts)
          -7 (-22.58 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionOptions:op_Inequality(System.Transactions.TransactionOptions,System.Transactions.TransactionOptions):ubyte (FullOpts)
          -6 (-22.22 % of base) : System.Private.CoreLib.dasm - System.DateOnly:CompareTo(System.DateOnly):int:this (FullOpts)
          -6 (-22.22 % of base) : System.Private.CoreLib.dasm - System.ValueTuple`1[int]:CompareTo(System.ValueTuple`1[int]):int:this (FullOpts)
          -7 (-21.88 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.Design.Serialization.MemberRelationship:op_Inequality(System.ComponentModel.Design.Serialization.MemberRelationship,System.ComponentModel.Design.Serialization.MemberRelationship):ubyte (FullOpts)
          -7 (-21.88 % of base) : System.Private.CoreLib.dasm - System.IO.Path:IsPathFullyQualified(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -7 (-21.88 % of base) : System.Private.CoreLib.dasm - System.IO.PathInternal:IsPartiallyQualified(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -7 (-21.88 % of base) : System.Private.CoreLib.dasm - System.ReadOnlySpan`1[System.__Canon]:op_Inequality(System.ReadOnlySpan`1[System.__Canon],System.ReadOnlySpan`1[System.__Canon]):ubyte (FullOpts)
          -7 (-21.88 % of base) : System.Private.CoreLib.dasm - System.Span`1[System.__Canon]:op_Inequality(System.Span`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
          -7 (-21.88 % of base) : System.Private.CoreLib.dasm - System.Threading.CancellationTokenRegistration:op_Inequality(System.Threading.CancellationTokenRegistration,System.Threading.CancellationTokenRegistration):ubyte (FullOpts)
         -13 (-21.31 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[double]:op_Inequality(System.Runtime.Intrinsics.Vector64`1[double],System.Runtime.Intrinsics.Vector64`1[double]):ubyte (FullOpts)
          -6 (-20.69 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ObjectType:ObjTstDouble(double,double):int (FullOpts)
          -6 (-20.69 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ObjectType:ObjTstSingle(float,float):int (FullOpts)
          -4 (-20.00 % of base) : System.Private.CoreLib.dasm - System.Globalization.GregorianCalendar:IsValidYear(int,int):ubyte:this (FullOpts)
          -4 (-20.00 % of base) : System.Private.Xml.dasm - System.Xml.XPath.XPathNavigatorReader:get_IsReading():ubyte:this (FullOpts)
          -6 (-19.35 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo+<>c:<GetTransitions>b__91_0(ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition,ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition):int:this (FullOpts)
          -6 (-19.35 % of base) : System.Private.CoreLib.dasm - System.Buffers.StringSearchValues+<>c:<Create>b__3_0(System.String,System.String):int:this (FullOpts)
         -10 (-19.23 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeTypedArgument:op_Inequality(System.Reflection.CustomAttributeTypedArgument,System.Reflection.CustomAttributeTypedArgument):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Data.Common.dasm - System.Data.ExpressionNode:IsInteger(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Data.Common.dasm - System.Data.ExpressionNode:IsUnsigned(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Data.Common.dasm - System.Data.ExpressionNode:IsUnsignedSql(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Data.Common.dasm - System.Data.Operators:IsArithmetical(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlDictionaryReader:IsTextNode(int):ubyte:this (FullOpts)
          -7 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.XmlEntity:IsValidChildType(int):ubyte:this (FullOpts)
         -14 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.XmlParserContext:get_HasDtdInfo():ubyte:this (FullOpts)
          -7 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[double]:IsReverseAxis(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[int]:IsReverseAxis(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[long]:IsReverseAxis(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[short]:IsReverseAxis(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[System.__Canon]:IsReverseAxis(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[System.Nullable`1[int]]:IsReverseAxis(int):ubyte (FullOpts)
          -7 (-18.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathParser`1[System.Numerics.Vector`1[float]]:IsReverseAxis(int):ubyte (FullOpts)

1725 total methods with Code Size differences (701 improved, 1024 regressed), 230363 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Sep 8, 2024

Top method regressions

73 (3.15 % of base) - System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadDocument(System.Xml.XmlReader):this
 ; Assembly listing for method System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadDocument(System.Xml.XmlReader):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; 34 single block inlinees; 12 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] ( 11, 29   )     ref  ->  r15         this class-hnd single-def <System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter>
-;  V01 arg1         [V01,T00] ( 34, 91.25)     ref  ->  [rbp-0x60]  class-hnd EH-live single-def <System.Xml.XmlReader>
+;  V01 arg1         [V01,T00] ( 28, 80   )     ref  ->  [rbp-0x68]  class-hnd EH-live single-def <System.Xml.XmlReader>
 ;  V02 loc0         [V02,T01] ( 13, 40.50)     ref  ->  r13         class-hnd single-def <System.ServiceModel.Syndication.ServiceDocument>
-;  V03 loc1         [V03,T47] (  2,  2   )   ubyte  ->  [rbp-0x2C]  spill-single-def
-;  V04 loc2         [V04,T38] (  5,  9.50)     ref  ->  r12         ld-addr-op class-hnd <System.ServiceModel.XmlBuffer>
-;  V05 loc3         [V05,T17] ( 13, 17   )     ref  ->  [rbp-0x68]  do-not-enreg[Z] ld-addr-op class-hnd EH-live <System.Xml.XmlDictionaryWriter>
-;  V06 loc4         [V06,T07] ( 11, 26   )     ref  ->  [rbp-0x70]  class-hnd exact <System.String>
-;  V07 loc5         [V07,T11] (  9, 23   )     ref  ->  [rbp-0x78]  class-hnd exact <System.String>
-;  V08 loc6         [V08,T39] (  2,  8   )     ref  ->  [rbp-0x80]  class-hnd exact spill-single-def <System.String>
+;  V03 loc1         [V03,T48] (  2,  2   )   ubyte  ->  [rbp-0x2C]  spill-single-def
+;  V04 loc2         [V04,T39] (  5,  9.50)     ref  ->  [rbp-0x70]  ld-addr-op class-hnd <System.ServiceModel.XmlBuffer>
+;  V05 loc3         [V05,T17] ( 13, 17   )     ref  ->  [rbp-0x78]  do-not-enreg[Z] ld-addr-op class-hnd EH-live <System.Xml.XmlDictionaryWriter>
+;  V06 loc4         [V06,T07] ( 11, 26   )     ref  ->  [rbp-0x80]  class-hnd exact <System.String>
+;  V07 loc5         [V07,T11] (  9, 23   )     ref  ->  [rbp-0x88]  class-hnd exact <System.String>
+;  V08 loc6         [V08,T40] (  2,  8   )     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def <System.String>
 ;* V09 loc7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.FormatException>
 ;* V10 loc8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.ArgumentException>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Collections.ObjectModel.Collection`1[System.ServiceModel.Syndication.Workspace]>
 ;* V13 tmp2         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
-;  V14 tmp3         [V14,T20] (  2, 16   )     ref  ->  [rbp-0x88]  class-hnd exact spill-single-def "non-inline candidate call" <System.String>
-;  V15 tmp4         [V15,T05] (  4, 32   )     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlQualifiedName>
-;  V16 tmp5         [V16,T09] (  3, 24   )     ref  ->  [rbp-0x98]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Uri>
-;  V17 tmp6         [V17,T53] (  2,  0   )     ref  ->  rbx         class-hnd single-def "impSpillSpecialSideEff" <System.ArgumentException>
-;  V18 tmp7         [V18,T50] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlException>
-;  V19 tmp8         [V19,T54] (  2,  0   )     ref  ->  rbx         class-hnd single-def "impSpillSpecialSideEff" <System.FormatException>
-;  V20 tmp9         [V20,T51] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlException>
+;  V14 tmp3         [V14,T20] (  2, 16   )     ref  ->  [rbp-0x98]  class-hnd exact spill-single-def "non-inline candidate call" <System.String>
+;  V15 tmp4         [V15,T05] (  4, 32   )     ref  ->  [rbp-0xA0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlQualifiedName>
+;  V16 tmp5         [V16,T09] (  3, 24   )     ref  ->  [rbp-0xA8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Uri>
+;  V17 tmp6         [V17,T54] (  2,  0   )     ref  ->  rbx         class-hnd single-def "impSpillSpecialSideEff" <System.ArgumentException>
+;  V18 tmp7         [V18,T51] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlException>
+;  V19 tmp8         [V19,T55] (  2,  0   )     ref  ->  rbx         class-hnd single-def "impSpillSpecialSideEff" <System.FormatException>
+;  V20 tmp9         [V20,T52] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlException>
 ;* V21 tmp10        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V22 tmp11        [V22,T12] (  4, 22   )     ref  ->  rax         "spilling varStr"
 ;* V23 tmp12        [V23    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;  V24 tmp13        [V24,T03] (  6, 32   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.String>
 ;* V25 tmp14        [V25    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
-;  V26 tmp15        [V26,T44] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V26 tmp15        [V26,T45] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V27 tmp16        [V27    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;  V28 tmp17        [V28,T21] (  2, 16   )     ref  ->  rax         class-hnd exact "Inlining Arg" <System.String>
 ;* V29 tmp18        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V30 tmp19        [V30,T13] (  4, 22   )     ref  ->  rax         "spilling varStr"
 ;* V31 tmp20        [V31    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;  V32 tmp21        [V32,T04] (  6, 32   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.String>
 ;* V33 tmp22        [V33    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
-;  V34 tmp23        [V34,T45] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V34 tmp23        [V34,T46] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V35 tmp24        [V35    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;  V36 tmp25        [V36,T10] (  3, 24   )     ref  ->  rax         class-hnd exact "Inlining Arg" <System.String>
 ;  V37 tmp26        [V37    ] (  2,  8   )  struct ( 8) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.UriCreationOptions>
-;  V38 tmp27        [V38,T41] (  2,  8   )   ubyte  ->  rdx         "Inline return value spill temp"
+;  V38 tmp27        [V38,T42] (  2,  8   )   ubyte  ->  rdx         "Inline return value spill temp"
 ;* V39 tmp28        [V39    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
 ;* V40 tmp29        [V40    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V41 tmp30        [V41    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
-;  V42 tmp31        [V42,T36] (  3, 11   )     int  ->  rdx         "spilling unroll qmark"
-;  V43 tmp32        [V43,T42] (  2,  8   )   ubyte  ->  r10         "Inline return value spill temp"
+;  V42 tmp31        [V42,T37] (  3, 11   )     int  ->  rdx         "spilling unroll qmark"
+;  V43 tmp32        [V43,T43] (  2,  8   )   ubyte  ->  r10         "Inline return value spill temp"
 ;* V44 tmp33        [V44    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
 ;* V45 tmp34        [V45    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V46 tmp35        [V46    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
-;  V47 tmp36        [V47,T37] (  4, 10   )   ubyte  ->  r10         "Inline return value spill temp"
+;  V47 tmp36        [V47,T38] (  4, 10   )   ubyte  ->  r10         "Inline return value spill temp"
 ;* V48 tmp37        [V48    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;  V49 tmp38        [V49,T22] (  2, 16   )     ref  ->   r8         class-hnd exact "Inlining Arg" <System.String>
-;  V50 tmp39        [V50,T52] (  3,  0   )     ref  ->  r15         class-hnd exact "NewObj constructor temp" <System.ArgumentNullException>
+;  V50 tmp39        [V50,T53] (  3,  0   )     ref  ->  r15         class-hnd exact "NewObj constructor temp" <System.ArgumentNullException>
 ;* V51 tmp40        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
-;  V52 tmp41        [V52,T15] (  3, 20   )   byref  ->  [rbp-0xA0]  spill-single-def "Inlining Arg"
+;  V52 tmp41        [V52,T15] (  3, 20   )   byref  ->  [rbp-0xB0]  spill-single-def "Inlining Arg"
 ;  V53 tmp42        [V53,T23] (  2, 16   )     ref  ->  rsi         class-hnd "dup spill" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
-;  V54 tmp43        [V54,T16] (  5, 18   )     ref  ->  [rbp-0xA8] 
-;  V55 tmp44        [V55,T18] (  4, 16   )     ref  ->  [rbp-0xB0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
+;  V54 tmp43        [V54,T16] (  5, 18   )     ref  ->  [rbp-0xB8] 
+;  V55 tmp44        [V55,T18] (  4, 16   )     ref  ->  [rbp-0xC0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
 ;* V56 tmp45        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
 ;  V57 tmp46        [V57,T24] (  2, 16   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.String>
 ;* V58 tmp47        [V58    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V59 tmp48        [V59,T31] (  4, 14   )     ref  ->  rsi        
 ;* V60 tmp49        [V60    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V61 tmp50        [V61,T32] (  4, 14   )     ref  ->  rsi        
 ;  V62 tmp51        [V62,T25] (  2, 16   )     ref  ->  rdx         class-hnd exact "Inlining Arg" <System.String>
 ;  V63 tmp52        [V63,T26] (  2, 16   )     ref  ->  rax         class-hnd "dup spill" <System.Collections.ObjectModel.Collection`1[System.ServiceModel.Syndication.Workspace]>
-;  V64 tmp53        [V64,T08] (  7, 26   )     ref  ->  [rbp-0xB8] 
-;  V65 tmp54        [V65,T19] (  4, 16   )     ref  ->  [rbp-0xC0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.ServiceModel.Syndication.NullNotAllowedCollection`1[System.ServiceModel.Syndication.Workspace]>
+;  V64 tmp53        [V64,T08] (  7, 26   )     ref  ->  [rbp-0xC8] 
+;  V65 tmp54        [V65,T19] (  4, 16   )     ref  ->  [rbp-0xD0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.ServiceModel.Syndication.NullNotAllowedCollection`1[System.ServiceModel.Syndication.Workspace]>
 ;* V66 tmp55        [V66    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.ServiceModel.Syndication.NullNotAllowedCollection`1[System.ServiceModel.Syndication.Workspace]>
-;  V67 tmp56        [V67,T33] (  3, 12   )     ref  ->  [rbp-0xC8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.ServiceModel.Syndication.Workspace]>
+;  V67 tmp56        [V67,T34] (  3, 12   )     ref  ->  [rbp-0xD8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.ServiceModel.Syndication.Workspace]>
 ;* V68 tmp57        [V68    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V69 tmp58        [V69,T27] (  2, 16   )     ref  ->  [rbp-0xD0]  class-hnd spill-single-def "Inlining Arg" <System.ServiceModel.Syndication.Workspace>
-;  V70 tmp59        [V70,T35] (  2, 12   )     int  ->  [rbp-0x3C]  spill-single-def "Inlining Arg"
-;  V71 tmp60        [V71,T34] (  3, 12   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <System.ServiceModel.XmlBuffer>
+;  V69 tmp58        [V69,T27] (  2, 16   )     ref  ->  [rbp-0xE0]  class-hnd spill-single-def "Inlining Arg" <System.ServiceModel.Syndication.Workspace>
+;  V70 tmp59        [V70,T36] (  2, 12   )     int  ->  [rbp-0x3C]  spill-single-def "Inlining Arg"
+;  V71 tmp60        [V71,T35] (  3, 12   )     ref  ->  [rbp-0xE8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.ServiceModel.XmlBuffer>
 ;* V72 tmp61        [V72    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.ServiceModel.XmlBuffer>
 ;* V73 tmp62        [V73    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Xml.XmlDictionaryWriter>
 ;  V74 tmp63        [V74    ] (  2,  8   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V37._disablePathAndQueryCanonicalization (fldOffset=0x0)" P-DEP
-;  V75 tmp64        [V75,T55] (  2,  0   )     ref  ->  rsi         "argument with side effect"
+;  V75 tmp64        [V75,T56] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V76 tmp65        [V76,T28] (  2, 16   )     ref  ->  rdx         "argument with side effect"
-;  V77 tmp66        [V77,T40] (  2,  8   )     ref  ->  rsi         "argument with side effect"
+;  V77 tmp66        [V77,T41] (  2,  8   )     ref  ->  rsi         "argument with side effect"
 ;  V78 tmp67        [V78,T29] (  2, 16   )     int  ->  rsi         "argument with side effect"
-;  V79 tmp68        [V79,T56] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V80 tmp69        [V80,T57] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V81 tmp70        [V81,T58] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V82 tmp71        [V82,T59] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V83 PSPSym       [V83,T48] (  1,  1   )    long  ->  [rbp-0xE0]  do-not-enreg[V] "PSPSym"
-;  V84 cse0         [V84,T02] ( 10, 34   )    long  ->  r12         "CSE #03: aggressive"
-;  V85 cse1         [V85,T14] (  5, 20   )    long  ->  [rbp-0x48]  "CSE #06: moderate"
-;  V86 cse2         [V86,T43] (  2,  4.25)    long  ->  [rbp-0x50]  spill-single-def hoist "CSE #02: conservative"
-;  V87 cse3         [V87,T30] (  5, 14   )    long  ->  [rbp-0x58]  multi-def "CSE #15: moderate"
-;  V88 cse4         [V88,T46] (  3,  3   )    long  ->  r14         "CSE #18: conservative"
-;  V89 rat0         [V89,T49] (  3,  3   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
+;  V79 tmp68        [V79,T57] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V80 tmp69        [V80,T58] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V81 tmp70        [V81,T59] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V82 tmp71        [V82,T60] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V83 PSPSym       [V83,T49] (  1,  1   )    long  ->  [rbp-0xF0]  do-not-enreg[V] "PSPSym"
+;  V84 cse0         [V84,T02] ( 10, 34   )    long  ->  [rbp-0x48]  spill-single-def "CSE #03: aggressive"
+;  V85 cse1         [V85,T14] (  5, 20   )    long  ->  [rbp-0x50]  "CSE #06: moderate"
+;  V86 cse2         [V86,T44] (  2,  4.25)    long  ->  [rbp-0x58]  spill-single-def hoist "CSE #02: conservative"
+;  V87 cse3         [V87,T30] (  5, 14   )    long  ->  [rbp-0x60]  multi-def "CSE #15: moderate"
+;  V88 cse4         [V88,T47] (  3,  3   )    long  ->  r14         "CSE #18: conservative"
+;  V89 cse5         [V89,T33] (  8, 13.25)    long  ->  r12         "CSE #01: moderate"
+;  V90 rat0         [V90,T50] (  3,  3   )  simd32  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;
-; Lcl frame size = 184
+; Lcl frame size = 200
 
 G_M28525_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 184
-       lea      rbp, [rsp+0xE0]
+       sub      rsp, 200
+       lea      rbp, [rsp+0xF0]
        xor      eax, eax
        mov      qword ptr [rbp-0x38], rax
-       mov      qword ptr [rbp-0xE0], rsp
-       mov      gword ptr [rbp-0x60], rsi
+       mov      qword ptr [rbp-0xF0], rsp
+       mov      gword ptr [rbp-0x68], rsi
        mov      r15, rdi
        mov      rbx, rsi
 						;; size=48 bbWeight=1 PerfScore 10.50
 G_M28525_IG02:
        mov      rdi, r15
        mov      rax, qword ptr [r15]
        mov      r14, qword ptr [rax+0x48]
        call     [r14]System.ServiceModel.Syndication.ServiceDocumentFormatter:CreateDocumentInstance():System.ServiceModel.Syndication.ServiceDocument:this
        mov      r13, rax
 						;; size=16 bbWeight=1 PerfScore 7.50
 G_M28525_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ServiceModel.Syndication.SyndicationFeedFormatter:MoveToStartElement(System.Xml.XmlReader)
        call     [rax]System.ServiceModel.Syndication.SyndicationFeedFormatter:MoveToStartElement(System.Xml.XmlReader)
        mov      rdi, rbx
-       mov      rax, qword ptr [rbx]
-       mov      r12, qword ptr [rax+0x48]
-       call     [r12+0x30]System.Xml.XmlReader:get_IsEmptyElement():ubyte:this
+       mov      r12, qword ptr [rbx]
+       mov      rax, qword ptr [r12+0x48]
+       mov      qword ptr [rbp-0x48], rax
+       call     [rax+0x30]System.Xml.XmlReader:get_IsEmptyElement():ubyte:this
        mov      dword ptr [rbp-0x2C], eax
        mov      rdi, rbx
-       mov      rcx, qword ptr [rbx]
-       mov      rcx, qword ptr [rcx+0xA0]
+       mov      rcx, qword ptr [r12+0xA0]
        call     [rcx+0x38]System.Xml.XmlReader:get_HasAttributes():ubyte:this
        test     eax, eax
        je       G_M28525_IG44
-						;; size=57 bbWeight=1 PerfScore 20.25
+						;; size=58 bbWeight=1 PerfScore 19.25
 G_M28525_IG04:
-       mov      rdi, qword ptr [rbx]
-       mov      rax, qword ptr [rdi+0x78]
-       mov      qword ptr [rbp-0x50], rax
+       mov      rax, qword ptr [r12+0x78]
+       mov      qword ptr [rbp-0x58], rax
        jmp      SHORT G_M28525_IG06
-						;; size=13 bbWeight=0.25 PerfScore 1.75
+						;; size=11 bbWeight=0.25 PerfScore 1.25
 G_M28525_IG05:
-       mov      rax, gword ptr [rbp-0x90]
+       mov      rax, gword ptr [rbp-0xA0]
        lea      rdi, bword ptr [rax+0x10]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, rbx
-       call     [r12+0x18]System.Xml.XmlReader:get_Value():System.String:this
+       mov      rax, qword ptr [rbp-0x48]
+       call     [rax+0x18]System.Xml.XmlReader:get_Value():System.String:this
        mov      rdx, rax
-       mov      rdi, gword ptr [rbp-0xA8]
+       mov      rdi, gword ptr [rbp-0xB8]
        cmp      byte  ptr [rdi], dil
-       mov      rsi, gword ptr [rbp-0x90]
+       mov      rsi, gword ptr [rbp-0xA0]
        mov      ecx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
-       mov      rax, qword ptr [rbp-0x50]
-						;; size=65 bbWeight=4 PerfScore 62.00
+       mov      rax, qword ptr [rbp-0x58]
+						;; size=67 bbWeight=4 PerfScore 66.00
 G_M28525_IG06:
        mov      rdi, rbx
        call     [rax+0x38]System.Xml.XmlReader:MoveToNextAttribute():ubyte:this
        test     eax, eax
        je       G_M28525_IG44
        mov      rdi, rbx
-       mov      rax, qword ptr [rbx]
-       mov      rax, qword ptr [rax+0x40]
-       mov      qword ptr [rbp-0x48], rax
+       mov      rax, qword ptr [r12+0x40]
+       mov      qword ptr [rbp-0x50], rax
        call     [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
        test     rax, rax
        je       SHORT G_M28525_IG11
-						;; size=36 bbWeight=4 PerfScore 56.00
+						;; size=34 bbWeight=4 PerfScore 48.00
 G_M28525_IG07:
        cmp      dword ptr [rax+0x08], 4
        jne      SHORT G_M28525_IG11
 						;; size=6 bbWeight=2 PerfScore 8.00
 G_M28525_IG08:
        mov      rdi, 0xD1FFAB1E
        cmp      qword ptr [rax+0x0C], rdi
        jne      SHORT G_M28525_IG11
 						;; size=16 bbWeight=1 PerfScore 4.25
 G_M28525_IG09:
        mov      rdi, rbx
-       call     [r12]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+       mov      rax, qword ptr [rbp-0x48]
+       call     [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
        mov      rdi, rax
        mov      rdx, 0xD1FFAB1E      ; 'http://www.w3.org/XML/1998/namespace'
        cmp      rdi, rdx
        je       G_M28525_IG43
-						;; size=29 bbWeight=4 PerfScore 20.00
+						;; size=31 bbWeight=4 PerfScore 24.00
 G_M28525_IG10:
        test     rdi, rdi
        je       SHORT G_M28525_IG11
        cmp      dword ptr [rdi+0x08], 36
        jne      SHORT G_M28525_IG11
        mov      edx, dword ptr [rdi+0x08]
        add      edx, edx
        mov      rsi, 0xD1FFAB1E
        add      rdi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        jne      G_M28525_IG43
 						;; size=50 bbWeight=2 PerfScore 25.00
 G_M28525_IG11:
        mov      rdi, rbx
-       mov      rax, qword ptr [rbp-0x48]
+       mov      rax, qword ptr [rbp-0x50]
        call     [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
        test     rax, rax
        je       SHORT G_M28525_IG16
 						;; size=15 bbWeight=4 PerfScore 22.00
 G_M28525_IG12:
        cmp      dword ptr [rax+0x08], 4
        jne      SHORT G_M28525_IG16
 						;; size=6 bbWeight=2 PerfScore 8.00
 G_M28525_IG13:
        mov      rdi, 0xD1FFAB1E
        cmp      qword ptr [rax+0x0C], rdi
        jne      SHORT G_M28525_IG16
 						;; size=16 bbWeight=1 PerfScore 4.25
 G_M28525_IG14:
        mov      rdi, rbx
-       call     [r12]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+       mov      rax, qword ptr [rbp-0x48]
+       call     [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
        mov      rdi, rax
        mov      rdx, 0xD1FFAB1E      ; 'http://www.w3.org/XML/1998/namespace'
        cmp      rdi, rdx
        je       G_M28525_IG42
-						;; size=29 bbWeight=4 PerfScore 20.00
+						;; size=31 bbWeight=4 PerfScore 24.00
 G_M28525_IG15:
        test     rdi, rdi
        je       SHORT G_M28525_IG16
        cmp      dword ptr [rdi+0x08], 36
        jne      SHORT G_M28525_IG16
        mov      edx, dword ptr [rdi+0x08]
        add      edx, edx
        mov      rsi, 0xD1FFAB1E
        add      rdi, 12
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        jne      G_M28525_IG42
 						;; size=50 bbWeight=2 PerfScore 25.00
 G_M28525_IG16:
        mov      rdi, rbx
-       call     [r12]System.Xml.XmlReader:get_NamespaceURI():System.String:this
-       mov      gword ptr [rbp-0x70], rax
+       mov      rax, qword ptr [rbp-0x48]
+       call     [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+       mov      gword ptr [rbp-0x80], rax
        mov      rdi, rbx
-       mov      rcx, qword ptr [rbp-0x48]
+       mov      rcx, qword ptr [rbp-0x50]
        call     [rcx+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
        test     rax, rax
        je       SHORT G_M28525_IG19
-						;; size=26 bbWeight=4 PerfScore 39.00
+						;; size=28 bbWeight=4 PerfScore 43.00
 G_M28525_IG17:
        cmp      dword ptr [rax+0x08], 5
        jne      SHORT G_M28525_IG19
 						;; size=6 bbWeight=2 PerfScore 8.00
 G_M28525_IG18:
        mov      rdx, 0xD1FFAB1E
        xor      rdx, qword ptr [rax+0x0C]
        mov      esi, dword ptr [rax+0x12]
        xor      esi, 0xD1FFAB1E
        or       rdx, rsi
        je       SHORT G_M28525_IG21
 						;; size=28 bbWeight=1 PerfScore 6.75
 G_M28525_IG19:
-       mov      rcx, gword ptr [rbp-0x70]
+       mov      rcx, gword ptr [rbp-0x80]
        test     rcx, rcx
        je       SHORT G_M28525_IG22
 						;; size=9 bbWeight=4 PerfScore 9.00
 G_M28525_IG20:
        cmp      dword ptr [rcx+0x08], 29
        jne      SHORT G_M28525_IG22
-       jmp      SHORT G_M28525_IG32
-						;; size=8 bbWeight=1 PerfScore 6.00
+       jmp      G_M28525_IG32
+						;; size=11 bbWeight=1 PerfScore 6.00
 G_M28525_IG21:
-       mov      rax, qword ptr [rbp-0x50]
+       mov      rax, qword ptr [rbp-0x58]
        jmp      G_M28525_IG06
 						;; size=9 bbWeight=0.50 PerfScore 1.50
 G_M28525_IG22:
        xor      edx, edx
 						;; size=2 bbWeight=1 PerfScore 0.25
 G_M28525_IG23:
        test     edx, edx
        jne      SHORT G_M28525_IG31
        mov      r8, rax
-       mov      rax, qword ptr [rbp-0x50]
+       mov      rax, qword ptr [rbp-0x58]
        test     r8, r8
        je       SHORT G_M28525_IG30
 						;; size=16 bbWeight=4 PerfScore 15.00
 G_M28525_IG24:
        cmp      dword ptr [r8+0x08], 4
        jne      SHORT G_M28525_IG29
 						;; size=7 bbWeight=2 PerfScore 8.00
 G_M28525_IG25:
        mov      rdx, 0xD1FFAB1E
-       mov      gword ptr [rbp-0x78], r8
+       mov      gword ptr [rbp-0x88], r8
        cmp      qword ptr [r8+0x0C], rdx
        jne      SHORT G_M28525_IG28
-						;; size=20 bbWeight=1 PerfScore 5.25
+						;; size=23 bbWeight=1 PerfScore 5.25
 G_M28525_IG26:
        mov      rdx, 0xD1FFAB1E      ; 'http://www.w3.org/2001/XMLSchema-instance'
        cmp      rcx, rdx
        jne      SHORT G_M28525_IG33
 						;; size=15 bbWeight=4 PerfScore 6.00
 G_M28525_IG27:
        mov      r10d, 1
        jmp      G_M28525_IG35
 						;; size=11 bbWeight=2 PerfScore 4.50
 G_M28525_IG28:
-       mov      gword ptr [rbp-0x70], rcx
+       mov      gword ptr [rbp-0x80], rcx
        jmp      G_M28525_IG36
 						;; size=9 bbWeight=0.50 PerfScore 1.50
 G_M28525_IG29:
-       mov      gword ptr [rbp-0x70], rcx
-       mov      gword ptr [rbp-0x78], r8
+       mov      gword ptr [rbp-0x80], rcx
+       mov      gword ptr [rbp-0x88], r8
        jmp      G_M28525_IG36
-						;; size=13 bbWeight=1 PerfScore 4.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 G_M28525_IG30:
-       mov      gword ptr [rbp-0x70], rcx
-       mov      gword ptr [rbp-0x78], r8
+       mov      gword ptr [rbp-0x80], rcx
+       mov      gword ptr [rbp-0x88], r8
        jmp      G_M28525_IG36
-						;; size=13 bbWeight=2 PerfScore 8.00
+						;; size=16 bbWeight=2 PerfScore 8.00
 G_M28525_IG31:
-       mov      rax, qword ptr [rbp-0x50]
+       mov      rax, qword ptr [rbp-0x58]
        jmp      G_M28525_IG06
 						;; size=9 bbWeight=2 PerfScore 6.00
 G_M28525_IG32:
        vmovups  ymm0, ymmword ptr [rcx+0x0C]
        vpxor    ymm0, ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymm1, ymmword ptr [rcx+0x26]
        vpxor    ymm1, ymm1, ymmword ptr [reloc @RWD32]
        vpor     ymm0, ymm1, ymm0
        vptest   ymm0, ymm0
        sete     dl
        movzx    rdx, dl
        jmp      G_M28525_IG23
 						;; size=46 bbWeight=0.50 PerfScore 11.29
 G_M28525_IG33:
        test     rcx, rcx
        je       SHORT G_M28525_IG34
        cmp      dword ptr [rcx+0x08], 41
        jne      SHORT G_M28525_IG34
        mov      edx, dword ptr [rcx+0x08]
        add      edx, edx
        mov      rsi, 0xD1FFAB1E
-       mov      gword ptr [rbp-0x70], rcx
+       mov      gword ptr [rbp-0x80], rcx
        lea      rdi, bword ptr [rcx+0x0C]
        mov      r10, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [r10]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        mov      r10d, eax
-       mov      rax, qword ptr [rbp-0x50]
-       mov      rcx, gword ptr [rbp-0x70]
+       mov      rax, qword ptr [rbp-0x58]
+       mov      rcx, gword ptr [rbp-0x80]
        jmp      SHORT G_M28525_IG35
 						;; size=60 bbWeight=2 PerfScore 33.50
 G_M28525_IG34:
        xor      r10d, r10d
 						;; size=3 bbWeight=2 PerfScore 0.50
 G_M28525_IG35:
        test     r10d, r10d
-       mov      gword ptr [rbp-0x70], rcx
+       mov      gword ptr [rbp-0x80], rcx
        jne      G_M28525_IG06
 						;; size=13 bbWeight=4 PerfScore 9.00
 G_M28525_IG36:
        mov      rdi, rbx
-       call     [r12+0x18]System.Xml.XmlReader:get_Value():System.String:this
-       mov      gword ptr [rbp-0x80], rax
+       mov      rdx, qword ptr [rbp-0x48]
+       call     [rdx+0x18]System.Xml.XmlReader:get_Value():System.String:this
+       mov      gword ptr [rbp-0x90], rax
        mov      rdi, r15
        mov      rcx, qword ptr [r15]
        mov      rcx, qword ptr [rcx+0x40]
        call     [rcx+0x20]System.ServiceModel.Syndication.ServiceDocumentFormatter:get_Version():System.String:this
        mov      r8, rax
        test     r13, r13
        je       G_M28525_IG59
        mov      rdi, r13
-       mov      rsi, gword ptr [rbp-0x78]
-       mov      rdx, gword ptr [rbp-0x70]
-       mov      rcx, gword ptr [rbp-0x80]
+       mov      rsi, gword ptr [rbp-0x88]
+       mov      rdx, gword ptr [rbp-0x80]
+       mov      rcx, gword ptr [rbp-0x90]
        mov      rax, qword ptr [r13]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x38]System.ServiceModel.Syndication.ServiceDocument:TryParseAttribute(System.String,System.String,System.String,System.String):ubyte:this
        test     eax, eax
-       mov      rax, qword ptr [rbp-0x50]
+       mov      rax, qword ptr [rbp-0x58]
        jne      G_M28525_IG06
        lea      rdx, bword ptr [r13+0x20]
-       mov      bword ptr [rbp-0xA0], rdx
+       mov      bword ptr [rbp-0xB0], rdx
        mov      rsi, gword ptr [rdx]
        test     rsi, rsi
-       mov      gword ptr [rbp-0xA8], rsi
+       mov      gword ptr [rbp-0xB8], rsi
        jne      SHORT G_M28525_IG38
-						;; size=101 bbWeight=4 PerfScore 125.00
+						;; size=112 bbWeight=4 PerfScore 129.00
 G_M28525_IG37:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]
        call     CORINFO_HELP_NEWSFAST
        mov      rsi, rax
-       mov      gword ptr [rbp-0xB0], rsi
+       mov      gword ptr [rbp-0xC0], rsi
        mov      rdi, rsi
        xor      esi, esi
        xor      rdx, rdx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
-       mov      rdi, bword ptr [rbp-0xA0]
-       mov      rsi, gword ptr [rbp-0xB0]
+       mov      rdi, bword ptr [rbp-0xB0]
+       mov      rsi, gword ptr [rbp-0xC0]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rsi, gword ptr [rbp-0xB0]
-       mov      gword ptr [rbp-0xA8], rsi
+       mov      rsi, gword ptr [rbp-0xC0]
+       mov      gword ptr [rbp-0xB8], rsi
 						;; size=77 bbWeight=2 PerfScore 23.00
 G_M28525_IG38:
        mov      rdi, rbx
-       mov      rcx, qword ptr [rbp-0x48]
+       mov      rcx, qword ptr [rbp-0x50]
        call     [rcx+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
-       mov      gword ptr [rbp-0x88], rax
+       mov      gword ptr [rbp-0x98], rax
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlQualifiedName
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x90], rax
+       mov      gword ptr [rbp-0xA0], rax
        mov      rdi, rbx
-       call     [r12]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+       mov      rcx, qword ptr [rbp-0x48]
+       call     [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
        mov      rsi, rax
        test     rsi, rsi
        jne      SHORT G_M28525_IG40
-						;; size=54 bbWeight=4 PerfScore 49.00
+						;; size=56 bbWeight=4 PerfScore 53.00
 G_M28525_IG39:
        mov      rsi, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=2 PerfScore 0.50
 G_M28525_IG40:
-       mov      rax, gword ptr [rbp-0x90]
+       mov      rax, gword ptr [rbp-0xA0]
        lea      rdi, bword ptr [rax+0x08]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rsi, gword ptr [rbp-0x88]
+       mov      rsi, gword ptr [rbp-0x98]
        test     rsi, rsi
        jne      G_M28525_IG05
 						;; size=32 bbWeight=4 PerfScore 19.00
 G_M28525_IG41:
        mov      rsi, 0xD1FFAB1E      ; ''
        jmp      G_M28525_IG05
 						;; size=15 bbWeight=2 PerfScore 4.50
 G_M28525_IG42:
        mov      rdi, 0xD1FFAB1E      ; System.Uri
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x98], rax
+       mov      gword ptr [rbp-0xA8], rax
        mov      rdi, rbx
-       call     [r12+0x18]System.Xml.XmlReader:get_Value():System.String:this
+       mov      rcx, qword ptr [rbp-0x48]
+       call     [rcx+0x18]System.Xml.XmlReader:get_Value():System.String:this
        test     rax, rax
        je       G_M28525_IG60
        mov      byte  ptr [rbp-0x38], 0
        lea      r8, [rbp-0x38]
-       mov      rdi, gword ptr [rbp-0x98]
+       mov      rdi, gword ptr [rbp-0xA8]
        mov      rsi, rax
        xor      edx, edx
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Uri:CreateThis(System.String,ubyte,int,byref):this
        call     [rax]System.Uri:CreateThis(System.String,ubyte,int,byref):this
        lea      rdi, bword ptr [r13+0x10]
-       mov      rsi, gword ptr [rbp-0x98]
+       mov      rsi, gword ptr [rbp-0xA8]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, qword ptr [rbp-0x50]
+       mov      rax, qword ptr [rbp-0x58]
        jmp      G_M28525_IG06
-						;; size=98 bbWeight=4 PerfScore 75.00
+						;; size=100 bbWeight=4 PerfScore 79.00
 G_M28525_IG43:
        mov      rdi, rbx
-       call     [r12+0x18]System.Xml.XmlReader:get_Value():System.String:this
+       mov      rax, qword ptr [rbp-0x48]
+       call     [rax+0x18]System.Xml.XmlReader:get_Value():System.String:this
        lea      rdi, bword ptr [r13+0x18]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, qword ptr [rbp-0x50]
+       mov      rax, qword ptr [rbp-0x58]
        jmp      G_M28525_IG06
-						;; size=29 bbWeight=4 PerfScore 32.00
+						;; size=31 bbWeight=4 PerfScore 36.00
 G_M28525_IG44:
-       xor      r12, r12
+       xor      rax, rax
+       mov      gword ptr [rbp-0x70], rax
        xor      rdi, rdi
-       mov      gword ptr [rbp-0x68], rdi
+       mov      gword ptr [rbp-0x78], rdi
        mov      rdi, rbx
-       mov      rax, qword ptr [rbx]
-       mov      rax, qword ptr [rax+0x90]
-       call     [rax+0x20]System.Xml.XmlReader:ReadStartElement():this
+       mov      rcx, qword ptr [r12+0x90]
+       call     [rcx+0x20]System.Xml.XmlReader:ReadStartElement():this
        cmp      dword ptr [rbp-0x2C], 0
        jne      G_M28525_IG58
-						;; size=35 bbWeight=1 PerfScore 11.75
+						;; size=36 bbWeight=1 PerfScore 10.75
 G_M28525_IG45:
        mov      rdi, rbx
-       mov      rax, qword ptr [rbx]
-       mov      rax, qword ptr [rax+0x98]
-       mov      qword ptr [rbp-0x58], rax
+       mov      rax, qword ptr [r12+0x98]
+       mov      qword ptr [rbp-0x60], rax
        call     [rax+0x18]System.Xml.XmlReader:IsStartElement():ubyte:this
        test     eax, eax
        je       G_M28525_IG53
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; 'workspace'
        mov      rdx, 0xD1FFAB1E      ; 'http://www.w3.org/2007/app'
-       mov      rax, qword ptr [rbp-0x58]
+       mov      rax, qword ptr [rbp-0x60]
        call     [rax+0x28]System.Xml.XmlReader:IsStartElement(System.String,System.String):ubyte:this
        test     eax, eax
        jne      G_M28525_IG49
        mov      rdi, r15
        mov      rax, qword ptr [r15]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x20]System.ServiceModel.Syndication.ServiceDocumentFormatter:get_Version():System.String:this
        mov      rdx, rax
        mov      rsi, r13
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ServiceModel.Syndication.ServiceDocumentFormatter:TryParseElement(System.Xml.XmlReader,System.ServiceModel.Syndication.ServiceDocument,System.String):ubyte
        call     [rax]System.ServiceModel.Syndication.ServiceDocumentFormatter:TryParseElement(System.Xml.XmlReader,System.ServiceModel.Syndication.ServiceDocument,System.String):ubyte
        test     eax, eax
        jne      SHORT G_M28525_IG45
        mov      eax, dword ptr [r15+0x18]
        mov      dword ptr [rbp-0x3C], eax
-       test     r12, r12
-       jne      SHORT G_M28525_IG48
-						;; size=116 bbWeight=4 PerfScore 129.00
+       mov      rcx, gword ptr [rbp-0x70]
+       test     rcx, rcx
+       mov      gword ptr [rbp-0x70], rcx
+       jne      G_M28525_IG48
+						;; size=126 bbWeight=4 PerfScore 129.00
 G_M28525_IG46:
        mov      rdi, 0xD1FFAB1E      ; System.ServiceModel.XmlBuffer
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
-       mov      rdi, r12
+       mov      rcx, rax
+       mov      gword ptr [rbp-0xE8], rcx
+       mov      rdi, rcx
        mov      esi, dword ptr [rbp-0x3C]
        mov      rax, 0xD1FFAB1E      ; code for System.ServiceModel.XmlBuffer:.ctor(int):this
        call     [rax]System.ServiceModel.XmlBuffer:.ctor(int):this
+       mov      rcx, gword ptr [rbp-0xE8]
+       mov      rax, rcx
        mov      rsi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rsi], 1
        je       G_M28525_IG54
-						;; size=55 bbWeight=2 PerfScore 20.50
+						;; size=72 bbWeight=2 PerfScore 25.00
 G_M28525_IG47:
        mov      rsi, 0xD1FFAB1E      ; data for System.Xml.XmlDictionaryReaderQuotas:s_maxQuota
        mov      rsi, gword ptr [rsi]
-       mov      rdi, r12
-       mov      rax, 0xD1FFAB1E      ; code for System.ServiceModel.XmlBuffer:OpenSection(System.Xml.XmlDictionaryReaderQuotas):System.Xml.XmlDictionaryWriter:this
-       call     [rax]System.ServiceModel.XmlBuffer:OpenSection(System.Xml.XmlDictionaryReaderQuotas):System.Xml.XmlDictionaryWriter:this
-       mov      gword ptr [rbp-0x68], rax
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      gword ptr [rbp-0x70], rax
+       mov      rdi, rax
+       mov      rcx, 0xD1FFAB1E      ; code for System.ServiceModel.XmlBuffer:OpenSection(System.Xml.XmlDictionaryReaderQuotas):System.Xml.XmlDictionaryWriter:this
+       call     [rcx]System.ServiceModel.XmlBuffer:OpenSection(System.Xml.XmlDictionaryReaderQuotas):System.Xml.XmlDictionaryWriter:this
+       mov      gword ptr [rbp-0x78], rax
+       mov      rdi, gword ptr [rbp-0x78]
        xor      rsi, rsi
        mov      rdx, 0xD1FFAB1E      ; 'extensionWrapper'
        xor      rcx, rcx
-       mov      rax, gword ptr [rbp-0x68]
+       mov      rax, gword ptr [rbp-0x78]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x08]System.Xml.XmlWriter:WriteStartElement(System.String,System.String,System.String):this
-						;; size=64 bbWeight=2 PerfScore 33.00
+						;; size=68 bbWeight=2 PerfScore 35.00
 G_M28525_IG48:
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      rdi, gword ptr [rbp-0x78]
        mov      rsi, rbx
        xor      edx, edx
-       mov      rax, gword ptr [rbp-0x68]
+       mov      rax, gword ptr [rbp-0x78]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x68]
        call     [rax+0x38]System.Xml.XmlWriter:WriteNode(System.Xml.XmlReader,ubyte):this
        jmp      G_M28525_IG45
 						;; size=28 bbWeight=4 PerfScore 46.00
 G_M28525_IG49:
        mov      rax, gword ptr [r13+0x08]
        test     rax, rax
-       mov      gword ptr [rbp-0xB8], rax
+       mov      gword ptr [rbp-0xC8], rax
        jne      G_M28525_IG52
 						;; size=20 bbWeight=4 PerfScore 17.00
 G_M28525_IG50:
        mov      rdi, 0xD1FFAB1E      ; System.ServiceModel.Syndication.NullNotAllowedCollection`1[System.ServiceModel.Syndication.Workspace]
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0xC0], rax
+       mov      gword ptr [rbp-0xD0], rax
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.ServiceModel.Syndication.Workspace]
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0xC8], rax
+       mov      gword ptr [rbp-0xD8], rax
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M28525_IG55
 						;; size=63 bbWeight=2 PerfScore 17.50
 G_M28525_IG51:
        mov      rdi, 0xD1FFAB1E      ; data for System.Collections.Generic.List`1[System.ServiceModel.Syndication.Workspace]:s_emptyArray
        mov      rsi, gword ptr [rdi]
        lea      rdi, bword ptr [rax+0x08]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0xC0]
+       mov      rax, gword ptr [rbp-0xD0]
        lea      rdi, bword ptr [rax+0x08]
-       mov      rsi, gword ptr [rbp-0xC8]
+       mov      rsi, gword ptr [rbp-0xD8]
        call     CORINFO_HELP_ASSIGN_REF
        lea      rdi, bword ptr [r13+0x08]
-       mov      rsi, gword ptr [rbp-0xC0]
+       mov      rsi, gword ptr [rbp-0xD0]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0xC0]
-       mov      gword ptr [rbp-0xB8], rax
+       mov      rax, gword ptr [rbp-0xD0]
+       mov      gword ptr [rbp-0xC8], rax
 						;; size=75 bbWeight=2 PerfScore 23.50
 G_M28525_IG52:
        mov      rdi, r15
        mov      rsi, rbx
        mov      rdx, r13
        mov      rcx, 0xD1FFAB1E      ; code for System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadWorkspace(System.Xml.XmlReader,System.ServiceModel.Syndication.ServiceDocument):System.ServiceModel.Syndication.Workspace:this
        call     [rcx]System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadWorkspace(System.Xml.XmlReader,System.ServiceModel.Syndication.ServiceDocument):System.ServiceModel.Syndication.Workspace:this
-       mov      gword ptr [rbp-0xD0], rax
-       mov      rcx, gword ptr [rbp-0xB8]
+       mov      gword ptr [rbp-0xE0], rax
+       mov      rcx, gword ptr [rbp-0xC8]
        mov      rdi, gword ptr [rcx+0x08]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.ICollection`1[System.__Canon]:get_IsReadOnly():ubyte:this
        call     [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_IsReadOnly():ubyte:this
        test     eax, eax
        jne      G_M28525_IG56
-       mov      rax, gword ptr [rbp-0xB8]
+       mov      rax, gword ptr [rbp-0xC8]
        mov      rdi, gword ptr [rax+0x08]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        call     [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        mov      esi, eax
-       mov      rdi, gword ptr [rbp-0xB8]
-       mov      rdx, gword ptr [rbp-0xD0]
+       mov      rdi, gword ptr [rbp-0xC8]
+       mov      rdx, gword ptr [rbp-0xE0]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.ObjectModel.Collection`1[System.__Canon]:InsertItem(int,System.__Canon):this
        jmp      G_M28525_IG45
 						;; size=115 bbWeight=4 PerfScore 120.00
 G_M28525_IG53:
-       mov      rdi, r12
-       mov      rsi, gword ptr [rbp-0x68]
+       mov      rdi, gword ptr [rbp-0x70]
+       mov      rsi, gword ptr [rbp-0x78]
        mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.ServiceModel.Syndication.ServiceDocumentFormatter:LoadElementExtensions(System.ServiceModel.XmlBuffer,System.Xml.XmlDictionaryWriter,System.ServiceModel.Syndication.ServiceDocument)
        call     [rax]System.ServiceModel.Syndication.ServiceDocumentFormatter:LoadElementExtensions(System.ServiceModel.XmlBuffer,System.Xml.XmlDictionaryWriter,System.ServiceModel.Syndication.ServiceDocument)
        jmp      SHORT G_M28525_IG57
-						;; size=24 bbWeight=0.50 PerfScore 3.38
+						;; size=25 bbWeight=0.50 PerfScore 3.75
 G_M28525_IG54:
+       mov      gword ptr [rbp-0x70], rax
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlDictionaryReaderQuotas
        call     CORINFO_HELP_GET_GCSTATIC_BASE
+       mov      rax, gword ptr [rbp-0x70]
        jmp      G_M28525_IG47
-						;; size=20 bbWeight=0 PerfScore 0.00
+						;; size=28 bbWeight=0 PerfScore 0.00
 G_M28525_IG55:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[System.ServiceModel.Syndication.Workspace]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       mov      rax, gword ptr [rbp-0xC8]
+       mov      rax, gword ptr [rbp-0xD8]
        jmp      G_M28525_IG51
 						;; size=27 bbWeight=0 PerfScore 0.00
 G_M28525_IG56:
        mov      edi, 8
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowNotSupportedException(int)
        call     [rax]System.ThrowHelper:ThrowNotSupportedException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M28525_IG57:
-       cmp      gword ptr [rbp-0x68], 0
+       cmp      gword ptr [rbp-0x78], 0
        je       SHORT G_M28525_IG58
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rax, gword ptr [rbp-0x68]
+       mov      rdi, gword ptr [rbp-0x78]
+       mov      rax, gword ptr [rbp-0x78]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x20]System.Xml.XmlWriter:Close():this
 						;; size=25 bbWeight=0.50 PerfScore 6.00
 G_M28525_IG58:
        mov      rdi, rbx
-       mov      rax, qword ptr [rbx]
-       mov      rax, qword ptr [rax+0x98]
+       mov      rax, qword ptr [r12+0x98]
        mov      r12, rax
        call     [r12+0x10]System.Xml.XmlReader:ReadEndElement():this
        jmp      SHORT G_M28525_IG61
-						;; size=23 bbWeight=1 PerfScore 9.50
+						;; size=21 bbWeight=1 PerfScore 7.50
 G_M28525_IG59:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentNullException
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      edi, 0x1613
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rsi, rax
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:.ctor(System.String):this
        call     [rax]System.ArgumentNullException:.ctor(System.String):this
        mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
 						;; size=65 bbWeight=0 PerfScore 0.00
 G_M28525_IG60:
        mov      edi, 501
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M28525_IG61:
        mov      rdi, r15
        mov      rsi, r13
        call     [r14+0x08]System.ServiceModel.Syndication.ServiceDocumentFormatter:SetDocument(System.ServiceModel.Syndication.ServiceDocument):this
        nop      
 						;; size=11 bbWeight=1 PerfScore 3.75
 G_M28525_IG62:
        vzeroupper 
-       add      rsp, 184
+       add      rsp, 200
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=21 bbWeight=1 PerfScore 5.25
 G_M28525_IG63:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0xE0]
+       lea      rbp, [rbp+0xF0]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M28525_IG64:
-       cmp      gword ptr [rbp-0x68], 0
+       cmp      gword ptr [rbp-0x78], 0
        je       SHORT G_M28525_IG65
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rax, gword ptr [rbp-0x68]
+       mov      rdi, gword ptr [rbp-0x78]
+       mov      rax, gword ptr [rbp-0x78]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x20]System.Xml.XmlWriter:Close():this
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M28525_IG65:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
 G_M28525_IG66:
        vzeroupper 
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M28525_IG67:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0xE0]
+       lea      rbp, [rbp+0xF0]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M28525_IG68:
        mov      rbx, rsi
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlException
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_ErrorParsingDocument():System.String
        call     [rax]System.SR:get_ErrorParsingDocument():System.String
        mov      rsi, rax
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.ServiceModel.Syndication.FeedUtils:AddLineInfo(System.Xml.XmlReader,System.String):System.String
        call     [rax]System.ServiceModel.Syndication.FeedUtils:AddLineInfo(System.Xml.XmlReader,System.String):System.String
        mov      rsi, rax
        mov      rdi, r15
        mov      rdx, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlException:.ctor(System.String,System.Exception):this
        call     [rax]System.Xml.XmlException:.ctor(System.String,System.Exception):this
        mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
 						;; size=82 bbWeight=0 PerfScore 0.00
 G_M28525_IG69:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0xE0]
+       lea      rbp, [rbp+0xF0]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M28525_IG70:
        mov      rbx, rsi
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlException
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_ErrorParsingDocument():System.String
        call     [rax]System.SR:get_ErrorParsingDocument():System.String
        mov      rsi, rax
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.ServiceModel.Syndication.FeedUtils:AddLineInfo(System.Xml.XmlReader,System.String):System.String
        call     [rax]System.ServiceModel.Syndication.FeedUtils:AddLineInfo(System.Xml.XmlReader,System.String):System.String
        mov      rsi, rax
        mov      rdi, r15
        mov      rdx, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlException:.ctor(System.String,System.Exception):this
        call     [rax]System.Xml.XmlException:.ctor(System.String,System.Exception):this
        mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
 						;; size=82 bbWeight=0 PerfScore 0.00
 RWD00  	dq	0070007400740068h, 0077002F002F003Ah, 0077002E00770077h, 0072006F002E0033h
 RWD32  	dq	00670072006F002Eh, 003000300032002Fh, 006D0078002F0030h, 002F0073006E006Ch
 
 
-; Total bytes of code 2315, prolog size 48, PerfScore 1251.67, instruction count 545, allocated bytes for code 2315 (MethodHash=e8ca9092) for method System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadDocument(System.Xml.XmlReader):this (FullOpts)
+; Total bytes of code 2388, prolog size 48, PerfScore 1278.04, instruction count 557, allocated bytes for code 2388 (MethodHash=e8ca9092) for method System.ServiceModel.Syndication.AtomPub10ServiceDocumentFormatter:ReadDocument(System.Xml.XmlReader):this (FullOpts)
 ; ============================================================
21 (52.50 % of base) - System.Xml.DocumentSchemaValidator:AncestorTypeHasWildcard(System.Xml.Schema.XmlSchemaObject):ubyte
 ; Assembly listing for method System.Xml.DocumentSchemaValidator:AncestorTypeHasWildcard(System.Xml.Schema.XmlSchemaObject):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
-; rsp based frame
+; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  4,  4   )     ref  ->  rbx         class-hnd single-def <System.Xml.Schema.XmlSchemaObject>
 ;  V01 loc0         [V01,T01] (  2,  1.50)     ref  ->  rax         class-hnd single-def <System.Xml.Schema.XmlSchemaComplexType>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M54549_IG01:
+       push     rbp
        push     rbx
+       push     rax
+       lea      rbp, [rsp+0x10]
        mov      rbx, rdi
-						;; size=4 bbWeight=1 PerfScore 1.25
+						;; size=11 bbWeight=1 PerfScore 3.75
 G_M54549_IG02:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.DocumentSchemaValidator:GetComplexType(System.Xml.Schema.XmlSchemaObject):System.Xml.Schema.XmlSchemaComplexType
        call     [rax]System.Xml.DocumentSchemaValidator:GetComplexType(System.Xml.Schema.XmlSchemaObject):System.Xml.Schema.XmlSchemaComplexType
        test     rbx, rbx
-       jne      SHORT G_M54549_IG05
+       je       SHORT G_M54549_IG06
 						;; size=20 bbWeight=1 PerfScore 4.75
 G_M54549_IG03:
-       xor      eax, eax
-						;; size=2 bbWeight=0.50 PerfScore 0.12
+       test     byte  ptr [rax+0xD0], 1
+       je       SHORT G_M54549_IG06
+						;; size=9 bbWeight=0.50 PerfScore 2.00
 G_M54549_IG04:
-       pop      rbx
-       ret      
-						;; size=2 bbWeight=0.50 PerfScore 0.75
+       mov      eax, 1
+						;; size=5 bbWeight=0.25 PerfScore 0.06
 G_M54549_IG05:
-       movzx    rax, byte  ptr [rax+0xD0]
-       and      eax, 1
-						;; size=10 bbWeight=0.50 PerfScore 1.12
-G_M54549_IG06:
+       add      rsp, 8
        pop      rbx
+       pop      rbp
        ret      
-						;; size=2 bbWeight=0.50 PerfScore 0.75
+						;; size=7 bbWeight=0.25 PerfScore 0.56
+G_M54549_IG06:
+       xor      eax, eax
+						;; size=2 bbWeight=0.25 PerfScore 0.06
+G_M54549_IG07:
+       add      rsp, 8
+       pop      rbx
+       pop      rbp
+       ret      
+						;; size=7 bbWeight=0.25 PerfScore 0.56
 
-; Total bytes of code 40, prolog size 1, PerfScore 8.75, instruction count 14, allocated bytes for code 40 (MethodHash=308c2aea) for method System.Xml.DocumentSchemaValidator:AncestorTypeHasWildcard(System.Xml.Schema.XmlSchemaObject):ubyte (FullOpts)
+; Total bytes of code 61, prolog size 8, PerfScore 11.75, instruction count 22, allocated bytes for code 61 (MethodHash=308c2aea) for method System.Xml.DocumentSchemaValidator:AncestorTypeHasWildcard(System.Xml.Schema.XmlSchemaObject):ubyte (FullOpts)
 ; ============================================================
18 (40.00 % of base) - System.Configuration.SectionInformation:get_LocationAttributesAreDefault():ubyte:this
 ; Assembly listing for method System.Configuration.SectionInformation:get_LocationAttributesAreDefault():ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
-; rsp based frame
+; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  5,  4.50)     ref  ->  rbx         this class-hnd single-def <System.Configuration.SectionInformation>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M64558_IG01:
+       push     rbp
        push     rbx
+       push     rax
+       lea      rbp, [rsp+0x10]
        mov      rbx, rdi
-						;; size=4 bbWeight=1 PerfScore 1.25
+						;; size=11 bbWeight=1 PerfScore 3.75
 G_M64558_IG02:
        cmp      byte  ptr [rbx], bl
        lea      rdi, bword ptr [rbx+0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Configuration.OverrideModeSetting:get_IsDefaultForLocationTag():ubyte:this
        call     [rax]System.Configuration.OverrideModeSetting:get_IsDefaultForLocationTag():ubyte:this
        test     eax, eax
-       jne      SHORT G_M64558_IG05
+       je       SHORT G_M64558_IG06
 						;; size=22 bbWeight=1 PerfScore 8.00
 G_M64558_IG03:
-       xor      eax, eax
-						;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M64558_IG04:
-       pop      rbx
-       ret      
-						;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M64558_IG05:
        test     dword ptr [rbx+0x60], 256
-       setne    al
-       movzx    rax, al
-						;; size=13 bbWeight=0.50 PerfScore 2.12
-G_M64558_IG06:
+       je       SHORT G_M64558_IG06
+						;; size=9 bbWeight=0.50 PerfScore 2.00
+G_M64558_IG04:
+       mov      eax, 1
+						;; size=5 bbWeight=0.25 PerfScore 0.06
+G_M64558_IG05:
+       add      rsp, 8
        pop      rbx
+       pop      rbp
        ret      
-						;; size=2 bbWeight=0.50 PerfScore 0.75
+						;; size=7 bbWeight=0.25 PerfScore 0.56
+G_M64558_IG06:
+       xor      eax, eax
+						;; size=2 bbWeight=0.25 PerfScore 0.06
+G_M64558_IG07:
+       add      rsp, 8
+       pop      rbx
+       pop      rbp
+       ret      
+						;; size=7 bbWeight=0.25 PerfScore 0.56
 
-; Total bytes of code 45, prolog size 1, PerfScore 13.00, instruction count 16, allocated bytes for code 45 (MethodHash=4f8303d1) for method System.Configuration.SectionInformation:get_LocationAttributesAreDefault():ubyte:this (FullOpts)
+; Total bytes of code 63, prolog size 8, PerfScore 15.00, instruction count 23, allocated bytes for code 63 (MethodHash=4f8303d1) for method System.Configuration.SectionInformation:get_LocationAttributesAreDefault():ubyte:this (FullOpts)
 ; ============================================================

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

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

@MihuBot
Copy link
Owner Author

MihuBot commented Sep 8, 2024

Top method improvements

-47 (-2.78 % of base) - System.Net.Http.HPack.HPackDecoder:DecodeInternal(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):this
 ; Assembly listing for method System.Net.Http.HPack.HPackDecoder:DecodeInternal(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):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; 7 single block inlinees; 22 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T06] ( 46,229   )     ref  ->  r15         this class-hnd single-def <System.Net.Http.HPack.HPackDecoder>
+;  V00 this         [V00,T01] ( 49,185   )     ref  ->  r15         this class-hnd single-def <System.Net.Http.HPack.HPackDecoder>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ubyte]>
-;  V02 arg2         [V02,T21] ( 14, 44   )     ref  ->  r13         class-hnd single-def <System.Net.Http.IHttpStreamHeadersHandler>
-;  V03 loc0         [V03    ] ( 66,961   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V02 arg2         [V02,T20] ( 14, 26   )     ref  ->  r13         class-hnd single-def <System.Net.Http.IHttpStreamHeadersHandler>
+;  V03 loc0         [V03    ] ( 66,529   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V04 loc1         [V04    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T62] (  3,  0   )     ref  ->  rbx         class-hnd exact "Single-def Box Helper" <System.Net.Http.HPack.HPackDecoder+State>
-;  V08 tmp2         [V08,T63] (  3,  0   )     ref  ->  r15         class-hnd exact "NewObj constructor temp" <System.NotImplementedException>
+;  V07 tmp1         [V07,T61] (  3,  0   )     ref  ->  rbx         class-hnd exact "Single-def Box Helper" <System.Net.Http.HPack.HPackDecoder+State>
+;  V08 tmp2         [V08,T62] (  3,  0   )     ref  ->  r15         class-hnd exact "NewObj constructor temp" <System.NotImplementedException>
 ;* V09 tmp3         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "location for address-of(RValue)" <System.ValueTuple`2[int,int]>
 ;* V10 tmp4         [V10    ] (  0,  0   )  struct ( 8) zero-ref    "location for address-of(RValue)" <System.ValueTuple`2[int,int]>
 ;* V11 tmp5         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V12 tmp6         [V12    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V13 tmp7         [V13    ] (  3, 20   )     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V14 tmp8         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V16 tmp10        [V16,T09] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
-;  V17 tmp11        [V17,T15] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
+;  V16 tmp10        [V16,T03] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
+;  V17 tmp11        [V17,T10] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
 ;* V18 tmp12        [V18    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V19 tmp13        [V19    ] (  3, 20   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V20 tmp14        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V21 tmp15        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V22 tmp16        [V22,T10] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
-;  V23 tmp17        [V23,T16] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
+;  V22 tmp16        [V22,T04] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
+;  V23 tmp17        [V23,T11] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
 ;* V24 tmp18        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V25 tmp19        [V25,T28] (  4,  8   )     int  ->  rsi         "Inline stloc first use temp"
-;  V26 tmp20        [V26,T32] (  3,  6   )   ubyte  ->  rsi         "Inline stloc first use temp"
-;  V27 tmp21        [V27,T33] (  3,  6   )     int  ->  r12         ld-addr-op "Inline ldloca(s) first use temp"
+;  V25 tmp19        [V25,T27] (  4,  8   )     int  ->  rsi         "Inline stloc first use temp"
+;  V26 tmp20        [V26,T29] (  3,  6   )   ubyte  ->  rsi         "Inline stloc first use temp"
+;  V27 tmp21        [V27,T30] (  3,  6   )     int  ->  r12         ld-addr-op "Inline ldloca(s) first use temp"
 ;* V28 tmp22        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V29 tmp23        [V29,T24] (  4, 16   )   ubyte  ->  rax         "Inlining Arg"
-;  V30 tmp24        [V30,T26] (  3, 12   )   byref  ->  rdx         "Inlining Arg"
+;  V29 tmp23        [V29,T23] (  4, 16   )   ubyte  ->  r12         "Inlining Arg"
+;  V30 tmp24        [V30,T25] (  3, 12   )   byref  ->  rdx         "Inlining Arg"
 ;* V31 tmp25        [V31    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V32 tmp26        [V32    ] (  3, 20   )     int  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V33 tmp27        [V33    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V34 tmp28        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V35 tmp29        [V35,T11] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
-;  V36 tmp30        [V36,T17] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
+;  V35 tmp29        [V35,T05] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
+;  V36 tmp30        [V36,T12] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
 ;* V37 tmp31        [V37    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V38 tmp32        [V38    ] (  3, 20   )     int  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V39 tmp33        [V39    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V40 tmp34        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V41 tmp35        [V41,T12] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
-;  V42 tmp36        [V42,T18] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
+;  V41 tmp35        [V41,T06] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
+;  V42 tmp36        [V42,T13] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
 ;* V43 tmp37        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V44 tmp38        [V44,T29] (  4,  8   )     int  ->  rsi         "Inline stloc first use temp"
-;  V45 tmp39        [V45,T34] (  3,  6   )   ubyte  ->  rsi         "Inline stloc first use temp"
-;  V46 tmp40        [V46,T35] (  3,  6   )     int  ->  r12         ld-addr-op "Inline ldloca(s) first use temp"
+;  V44 tmp38        [V44,T28] (  4,  8   )     int  ->  rsi         "Inline stloc first use temp"
+;  V45 tmp39        [V45,T31] (  3,  6   )   ubyte  ->  rsi         "Inline stloc first use temp"
+;  V46 tmp40        [V46,T32] (  3,  6   )     int  ->  r12         ld-addr-op "Inline ldloca(s) first use temp"
 ;* V47 tmp41        [V47    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V48 tmp42        [V48,T25] (  4, 16   )   ubyte  ->  rax         "Inlining Arg"
-;  V49 tmp43        [V49,T27] (  3, 12   )   byref  ->  rdx         "Inlining Arg"
+;  V48 tmp42        [V48,T24] (  4, 16   )   ubyte  ->  r12         "Inlining Arg"
+;  V49 tmp43        [V49,T26] (  3, 12   )   byref  ->  rdx         "Inlining Arg"
 ;* V50 tmp44        [V50    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V51 tmp45        [V51    ] (  3, 80   )     int  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V51 tmp45        [V51    ] (  3, 20   )     int  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V52 tmp46        [V52    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V53 tmp47        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V54 tmp48        [V54,T00] (  3,384   )     int  ->  rsi         "Span.get_Item index"
-;  V55 tmp49        [V55,T04] (  2,256   )   byref  ->  rdi         "impAppendStmt"
+;  V54 tmp48        [V54,T07] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
+;  V55 tmp49        [V55,T14] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
 ;* V56 tmp50        [V56    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V57 tmp51        [V57    ] (  3, 80   )     int  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V57 tmp51        [V57    ] (  3, 20   )     int  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V58 tmp52        [V58    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V59 tmp53        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V60 tmp54        [V60,T01] (  3,384   )     int  ->  rsi         "Span.get_Item index"
-;  V61 tmp55        [V61,T05] (  2,256   )   byref  ->  rdi         "impAppendStmt"
+;  V60 tmp54        [V60,T08] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
+;  V61 tmp55        [V61,T15] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
 ;* V62 tmp56        [V62    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V63 tmp57        [V63    ] (  3, 20   )     int  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V64 tmp58        [V64    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V65 tmp59        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V66 tmp60        [V66,T13] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
-;  V67 tmp61        [V67,T19] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
+;  V66 tmp60        [V66,T09] (  3, 96   )     int  ->  rsi         "Span.get_Item index"
+;  V67 tmp61        [V67,T16] (  2, 64   )   byref  ->  rdi         "impAppendStmt"
 ;* V68 tmp62        [V68    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V69 tmp63        [V69    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V70 tmp64        [V70    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V71 tmp65        [V71    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V72 tmp66        [V72    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V73 tmp67        [V73    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V74 tmp68        [V74    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V75 tmp69        [V75,T36] (  4,  4   )     ref  ->  r12         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V75 tmp69        [V75,T33] (  4,  4   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <ubyte[]>
 ;* V76 tmp70        [V76    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V77 tmp71        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V78 tmp72        [V78    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V79 tmp73        [V79    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V80 tmp74        [V80    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V81 tmp75        [V81,T07] ( 22,183.50)   byref  ->  r14         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V82 tmp76        [V82,T02] ( 35,333.50)     int  ->  rbx         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V81 tmp75        [V81,T02] ( 22,111.50)   byref  ->  r14         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V82 tmp76        [V82,T00] ( 35,213.50)     int  ->  rbx         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V83 tmp77        [V83    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V84 tmp78        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;  V85 tmp79        [V85,T61] (  2,  1   )     int  ->  rsi         "field V09.Item1 (fldOffset=0x0)" P-INDEP
+;  V85 tmp79        [V85,T60] (  2,  1   )     int  ->  rdx         "field V09.Item1 (fldOffset=0x0)" P-INDEP
 ;* V86 tmp80        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V09.Item2 (fldOffset=0x4)" P-INDEP
 ;* V87 tmp81        [V87    ] (  0,  0   )     int  ->  zero-ref    "field V10.Item1 (fldOffset=0x0)" P-INDEP
-;  V88 tmp82        [V88,T43] (  4,  2   )     int  ->  rax         "field V10.Item2 (fldOffset=0x4)" P-INDEP
+;  V88 tmp82        [V88,T40] (  4,  2   )     int  ->  rdi         "field V10.Item2 (fldOffset=0x4)" P-INDEP
 ;* V89 tmp83        [V89    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V90 tmp84        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V91 tmp85        [V91    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V92 tmp86        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
-;* V93 tmp87        [V93,T44] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V94 tmp88        [V94,T50] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
-;  V95 tmp89        [V95,T23] (  2, 18   )   byref  ->  r12         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V96 tmp90        [V96,T22] (  4, 36   )     int  ->  [rbp-0x6C]  spill-single-def "field V18._length (fldOffset=0x8)" P-INDEP
-;* V97 tmp91        [V97,T45] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V98 tmp92        [V98,T51] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
+;* V93 tmp87        [V93,T41] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V94 tmp88        [V94,T48] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;  V95 tmp89        [V95,T21] (  2, 18   )   byref  ->  r12         "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V96 tmp90        [V96,T18] (  4, 36   )     int  ->  [rbp-0x6C]  spill-single-def "field V18._length (fldOffset=0x8)" P-INDEP
+;* V97 tmp91        [V97,T42] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V98 tmp92        [V98,T49] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp93        [V99    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp94       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V101 tmp95       [V101,T37] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
-;* V102 tmp96       [V102,T40] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
-;* V103 tmp97       [V103,T46] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
-;* V104 tmp98       [V104,T52] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
-;* V105 tmp99       [V105,T38] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
-;* V106 tmp100      [V106,T41] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
-;* V107 tmp101      [V107,T47] (  0,  0   )   byref  ->  zero-ref    "field V40._reference (fldOffset=0x0)" P-INDEP
-;* V108 tmp102      [V108,T53] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
+;* V101 tmp95       [V101,T34] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V102 tmp96       [V102,T37] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
+;* V103 tmp97       [V103,T43] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V104 tmp98       [V104,T50] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
+;* V105 tmp99       [V105,T35] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
+;* V106 tmp100      [V106,T38] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
+;* V107 tmp101      [V107,T44] (  0,  0   )   byref  ->  zero-ref    "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V108 tmp102      [V108,T51] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
 ;* V109 tmp103      [V109    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V110 tmp104      [V110    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
-;* V111 tmp105      [V111,T39] (  0,  0   )   byref  ->  zero-ref    "field V50._reference (fldOffset=0x0)" P-INDEP
-;* V112 tmp106      [V112,T42] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
-;* V113 tmp107      [V113,T48] (  0,  0   )   byref  ->  zero-ref    "field V53._reference (fldOffset=0x0)" P-INDEP
-;* V114 tmp108      [V114,T54] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0x8)" P-INDEP
-;  V115 tmp109      [V115,T14] (  2, 72   )   byref  ->  r12         "field V56._reference (fldOffset=0x0)" P-INDEP
-;  V116 tmp110      [V116,T08] (  4,144   )     int  ->  [rbp-0x70]  spill-single-def "field V56._length (fldOffset=0x8)" P-INDEP
-;* V117 tmp111      [V117,T30] (  0,  0   )   byref  ->  zero-ref    "field V59._reference (fldOffset=0x0)" P-INDEP
-;* V118 tmp112      [V118,T31] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
+;* V111 tmp105      [V111,T36] (  0,  0   )   byref  ->  zero-ref    "field V50._reference (fldOffset=0x0)" P-INDEP
+;* V112 tmp106      [V112,T39] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
+;* V113 tmp107      [V113,T45] (  0,  0   )   byref  ->  zero-ref    "field V53._reference (fldOffset=0x0)" P-INDEP
+;* V114 tmp108      [V114,T52] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0x8)" P-INDEP
+;  V115 tmp109      [V115,T22] (  2, 18   )   byref  ->  r12         "field V56._reference (fldOffset=0x0)" P-INDEP
+;  V116 tmp110      [V116,T19] (  4, 36   )     int  ->  [rbp-0x70]  spill-single-def "field V56._length (fldOffset=0x8)" P-INDEP
+;* V117 tmp111      [V117,T46] (  0,  0   )   byref  ->  zero-ref    "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V118 tmp112      [V118,T53] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
 ;* V119 tmp113      [V119    ] (  0,  0   )   byref  ->  zero-ref    "field V62._reference (fldOffset=0x0)" P-INDEP
 ;* V120 tmp114      [V120    ] (  0,  0   )     int  ->  zero-ref    "field V62._length (fldOffset=0x8)" P-INDEP
-;* V121 tmp115      [V121,T49] (  0,  0   )   byref  ->  zero-ref    "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V122 tmp116      [V122,T55] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;  V123 tmp117      [V123,T60] (  2,  1   )   byref  ->  rsi         single-def "field V73._reference (fldOffset=0x0)" P-INDEP
+;* V121 tmp115      [V121,T47] (  0,  0   )   byref  ->  zero-ref    "field V65._reference (fldOffset=0x0)" P-INDEP
+;* V122 tmp116      [V122,T54] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
+;  V123 tmp117      [V123,T59] (  2,  1   )   byref  ->  rsi         single-def "field V73._reference (fldOffset=0x0)" P-INDEP
 ;* V124 tmp118      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V73._length (fldOffset=0x8)" P-INDEP
-;  V125 tmp119      [V125,T56] (  3,  1.50)   byref  ->  rdi         "field V76._reference (fldOffset=0x0)" P-INDEP
-;  V126 tmp120      [V126,T58] (  3,  1.50)     int  ->  rdx         "field V76._length (fldOffset=0x8)" P-INDEP
+;  V125 tmp119      [V125,T55] (  3,  1.50)   byref  ->  rax         "field V76._reference (fldOffset=0x0)" P-INDEP
+;  V126 tmp120      [V126,T57] (  3,  1.50)     int  ->  rdx         "field V76._length (fldOffset=0x8)" P-INDEP
 ;* V127 tmp121      [V127    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V77._reference (fldOffset=0x0)" P-INDEP
 ;* V128 tmp122      [V128    ] (  0,  0   )     int  ->  zero-ref    "field V77._length (fldOffset=0x8)" P-INDEP
-;  V129 tmp123      [V129,T64] (  2,  0   )     ref  ->  rsi         "argument with side effect"
-;  V130 cse0        [V130,T59] (  3,  1.50)    long  ->  rsi         "CSE #10: conservative"
-;  V131 cse1        [V131,T57] (  3,  1.50)     ref  ->  r12         "CSE #11: conservative"
-;  V132 cse2        [V132,T03] ( 15,342   )   byref  ->  [rbp-0x78]  multi-def "CSE #02: aggressive"
-;  V133 rat0        [V133,T20] (  3, 46.55)     int  ->  rsi         "ReplaceWithLclVar is creating a new local variable"
+;  V129 tmp123      [V129,T63] (  2,  0   )     ref  ->  rsi         "argument with side effect"
+;  V130 cse0        [V130,T58] (  3,  1.50)    long  ->  rsi         "CSE #10: conservative"
+;  V131 cse1        [V131,T56] (  3,  1.50)     ref  ->  r13         "CSE #11: conservative"
+;  V132 rat0        [V132,T17] (  3, 46.55)     int  ->  rsi         "ReplaceWithLclVar is creating a new local variable"
 ;
-; Lcl frame size = 88
+; Lcl frame size = 72
 
 G_M46554_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 88
-       lea      rbp, [rsp+0x80]
+       sub      rsp, 72
+       lea      rbp, [rsp+0x70]
        mov      r15, rdi
        mov      r14, rsi
        mov      ebx, edx
        mov      r13, rcx
-						;; size=33 bbWeight=1 PerfScore 7.75
+						;; size=30 bbWeight=1 PerfScore 7.75
 G_M46554_IG02:
        xor      esi, esi
        mov      dword ptr [rbp-0x30], esi
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M46554_IG03:
        movzx    rsi, byte  ptr [r15+0x4C]
        cmp      esi, 9
-       ja       G_M46554_IG47
+       ja       G_M46554_IG46
 						;; size=14 bbWeight=8 PerfScore 26.00
 G_M46554_IG04:
        mov      esi, esi
        lea      rdx, [reloc @RWD00]
        mov      edx, dword ptr [rdx+4*rsi]
        lea      rdi, G_M46554_IG02
        add      rdx, rdi
        jmp      rdx
 						;; size=24 bbWeight=7.27 PerfScore 43.64
 G_M46554_IG05:
        cmp      dword ptr [rbp-0x30], ebx
        jge      SHORT G_M46554_IG07
 						;; size=5 bbWeight=2 PerfScore 6.00
 G_M46554_IG06:
-       lea      r12, bword ptr [r15+0x50]
-       mov      rdi, r12
+       lea      rdi, bword ptr [r15+0x50]
        mov      esi, dword ptr [rbp-0x30]
        cmp      esi, ebx
-       jae      G_M46554_IG50
+       jae      G_M46554_IG49
        movzx    rsi, byte  ptr [r14+rsi]
        lea      rdx, [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        call     [rax]System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        test     eax, eax
        jne      SHORT G_M46554_IG08
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        cmp      dword ptr [rbp-0x30], ebx
        jl       SHORT G_M46554_IG06
-						;; size=56 bbWeight=16 PerfScore 244.00
+						;; size=53 bbWeight=16 PerfScore 240.00
 G_M46554_IG07:
        xor      edi, edi
        mov      dword ptr [rbp-0x68], edi
-       jmp      SHORT G_M46554_IG12
-						;; size=7 bbWeight=2 PerfScore 6.50
+       jmp      G_M46554_IG40
+						;; size=10 bbWeight=2 PerfScore 6.50
 G_M46554_IG08:
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        mov      rdi, r15
        mov      esi, dword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:SetDynamicHeaderTableSize(int):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:SetDynamicHeaderTableSize(int):this
        mov      byte  ptr [r15+0x4C], 0
-       jmp      SHORT G_M46554_IG12
-						;; size=33 bbWeight=2 PerfScore 19.50
+       jmp      G_M46554_IG40
+						;; size=36 bbWeight=2 PerfScore 19.50
 G_M46554_IG09:
        mov      r12, r14
        mov      eax, ebx
        mov      dword ptr [rbp-0x70], eax
        cmp      dword ptr [rbp-0x30], eax
        jge      SHORT G_M46554_IG11
-						;; size=13 bbWeight=8 PerfScore 36.00
+						;; size=13 bbWeight=2 PerfScore 9.00
 G_M46554_IG10:
-       lea      rsi, bword ptr [r15+0x50]
-       mov      rcx, rsi
-       mov      rdi, rcx
+       lea      rdi, bword ptr [r15+0x50]
        mov      esi, dword ptr [rbp-0x30]
        cmp      esi, eax
-       jae      G_M46554_IG50
+       jae      G_M46554_IG49
        movzx    rsi, byte  ptr [r12+rsi]
        lea      rdx, [rbp-0x60]
        mov      rcx, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        call     [rcx]System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        test     eax, eax
-       jne      SHORT G_M46554_IG15
+       jne      SHORT G_M46554_IG12
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        mov      edi, dword ptr [rbp-0x70]
        cmp      dword ptr [rbp-0x30], edi
        mov      eax, edi
        jl       SHORT G_M46554_IG10
-						;; size=64 bbWeight=64 PerfScore 1072.00
+						;; size=58 bbWeight=16 PerfScore 260.00
 G_M46554_IG11:
        xor      edi, edi
        mov      dword ptr [rbp-0x60], edi
-						;; size=5 bbWeight=8 PerfScore 10.00
+       jmp      G_M46554_IG40
+						;; size=10 bbWeight=2 PerfScore 6.50
 G_M46554_IG12:
-       cmp      dword ptr [rbp-0x30], ebx
-       jl       G_M46554_IG03
-						;; size=9 bbWeight=8 PerfScore 24.00
-G_M46554_IG13:
-       cmp      byte  ptr [r15+0x58], 0
-       je       G_M46554_IG46
-						;; size=11 bbWeight=1 PerfScore 4.00
-G_M46554_IG14:
-       mov      edx, dword ptr [r15+0x44]
-       lea      rsi, bword ptr [r15+0x18]
-       mov      rdi, r15
-       mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:EnsureStringCapacity(byref,int):this
-       call     [rax]System.Net.Http.HPack.HPackDecoder:EnsureStringCapacity(byref,int):this
-       mov      r12, gword ptr [r15+0x18]
-       lea      rdi, bword ptr [r15+0x28]
-       mov      rsi, r12
-       call     CORINFO_HELP_ASSIGN_REF
-       mov      esi, dword ptr [r15+0x60]
-       mov      eax, dword ptr [r15+0x64]
-       mov      edx, eax
-       add      rdx, rsi
-       mov      edi, ebx
-       cmp      rdx, rdi
-       jbe      G_M46554_IG43
-       jmp      G_M46554_IG49
-						;; size=68 bbWeight=0.50 PerfScore 8.88
-G_M46554_IG15:
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        mov      rdi, r15
        mov      esi, dword ptr [rbp-0x60]
        mov      edx, 8
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        mov      rsi, r14
        mov      edx, ebx
        lea      rcx, [rbp-0x30]
        mov      rdi, r15
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
-						;; size=63 bbWeight=8 PerfScore 110.00
-G_M46554_IG16:
+       jmp      G_M46554_IG40
+						;; size=63 bbWeight=2 PerfScore 27.50
+G_M46554_IG13:
        cmp      dword ptr [rbp-0x30], ebx
-       jge      G_M46554_IG12
+       jge      G_M46554_IG40
        mov      esi, dword ptr [rbp-0x30]
        lea      edx, [rsi+0x01]
        mov      dword ptr [rbp-0x30], edx
        cmp      esi, ebx
-       jae      G_M46554_IG50
+       jae      G_M46554_IG49
        movzx    rsi, byte  ptr [r14+rsi]
        test     sil, 128
        setne    dl
        mov      byte  ptr [r15+0x4E], dl
-       lea      rcx, bword ptr [r15+0x50]
-       mov      r12, rcx
-       mov      rdx, r12
+       lea      rdx, bword ptr [r15+0x50]
        and      esi, -129
-       movzx    rax, sil
-       cmp      eax, 127
-       jl       G_M46554_IG20
-       mov      dword ptr [rdx], eax
+       movzx    r12, sil
+       cmp      r12d, 127
+       jl       G_M46554_IG17
+       mov      dword ptr [rdx], r12d
        xor      esi, esi
        mov      dword ptr [rdx+0x04], esi
        mov      byte  ptr [r15+0x4C], 7
        cmp      dword ptr [rbp-0x30], ebx
-       jge      SHORT G_M46554_IG18
-						;; size=88 bbWeight=2 PerfScore 40.00
-G_M46554_IG17:
-       mov      rdi, r12
+       jge      SHORT G_M46554_IG15
+						;; size=84 bbWeight=2 PerfScore 39.00
+G_M46554_IG14:
+       lea      rdi, bword ptr [r15+0x50]
        mov      esi, dword ptr [rbp-0x30]
        cmp      esi, ebx
-       jae      G_M46554_IG50
+       jae      G_M46554_IG49
        movzx    rsi, byte  ptr [r14+rsi]
        lea      rdx, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        call     [rax]System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        test     eax, eax
-       jne      SHORT G_M46554_IG19
+       jne      SHORT G_M46554_IG16
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        cmp      dword ptr [rbp-0x30], ebx
-       jl       SHORT G_M46554_IG17
-						;; size=52 bbWeight=64 PerfScore 944.00
-G_M46554_IG18:
+       jl       SHORT G_M46554_IG14
+						;; size=53 bbWeight=16 PerfScore 240.00
+G_M46554_IG15:
        xor      edi, edi
        mov      dword ptr [rbp-0x58], edi
-       jmp      G_M46554_IG12
-						;; size=10 bbWeight=8 PerfScore 26.00
-G_M46554_IG19:
+       jmp      G_M46554_IG40
+						;; size=10 bbWeight=2 PerfScore 6.50
+G_M46554_IG16:
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        mov      rdi, r15
        mov      esi, dword ptr [rbp-0x58]
        mov      edx, 8
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        mov      rsi, r14
        mov      edx, ebx
        lea      rcx, [rbp-0x30]
        mov      rdi, r15
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
-						;; size=63 bbWeight=8 PerfScore 110.00
-G_M46554_IG20:
-       mov      r12d, eax
+       jmp      G_M46554_IG40
+						;; size=63 bbWeight=2 PerfScore 27.50
+G_M46554_IG17:
        mov      rdi, r15
        mov      esi, r12d
        mov      edx, 8
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        test     r12d, r12d
-       je       SHORT G_M46554_IG22
-						;; size=31 bbWeight=2 PerfScore 11.00
-G_M46554_IG21:
+       je       SHORT G_M46554_IG19
+						;; size=28 bbWeight=2 PerfScore 10.50
+G_M46554_IG18:
        mov      rsi, r14
        mov      edx, ebx
        lea      rcx, [rbp-0x30]
        mov      rdi, r15
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
-						;; size=32 bbWeight=8 PerfScore 54.00
-G_M46554_IG22:
+       jmp      G_M46554_IG40
+						;; size=32 bbWeight=2 PerfScore 13.50
+G_M46554_IG19:
        mov      rdi, r15
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnString(ubyte):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnString(ubyte):this
        mov      rsi, r14
        mov      edx, ebx
        mov      rdi, r15
        mov      rcx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ProcessHeaderValue(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ProcessHeaderValue(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
+       jmp      G_M46554_IG40
 						;; size=45 bbWeight=2 PerfScore 20.00
-G_M46554_IG23:
+G_M46554_IG20:
        mov      rsi, r14
        mov      edx, ebx
        lea      rcx, [rbp-0x30]
        mov      rdi, r15
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ParseHeaderName(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ParseHeaderName(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
+       jmp      G_M46554_IG40
 						;; size=32 bbWeight=2 PerfScore 13.50
-G_M46554_IG24:
+G_M46554_IG21:
        cmp      dword ptr [rbp-0x30], ebx
-       jge      SHORT G_M46554_IG26
+       jge      SHORT G_M46554_IG23
 						;; size=5 bbWeight=2 PerfScore 6.00
-G_M46554_IG25:
-       lea      r12, bword ptr [r15+0x50]
-       mov      rdi, r12
+G_M46554_IG22:
+       lea      rdi, bword ptr [r15+0x50]
        mov      esi, dword ptr [rbp-0x30]
        cmp      esi, ebx
-       jae      G_M46554_IG50
+       jae      G_M46554_IG49
        movzx    rsi, byte  ptr [r14+rsi]
        lea      rdx, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        call     [rax]System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        test     eax, eax
-       jne      SHORT G_M46554_IG27
+       jne      SHORT G_M46554_IG24
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        cmp      dword ptr [rbp-0x30], ebx
-       jl       SHORT G_M46554_IG25
-						;; size=56 bbWeight=16 PerfScore 244.00
-G_M46554_IG26:
+       jl       SHORT G_M46554_IG22
+						;; size=53 bbWeight=16 PerfScore 240.00
+G_M46554_IG23:
        xor      edi, edi
        mov      dword ptr [rbp-0x50], edi
-       jmp      G_M46554_IG12
+       jmp      G_M46554_IG40
 						;; size=10 bbWeight=2 PerfScore 6.50
-G_M46554_IG27:
+G_M46554_IG24:
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        mov      rdi, r15
        mov      esi, dword ptr [rbp-0x50]
        mov      edx, 5
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        mov      rsi, r14
        mov      edx, ebx
        lea      rcx, [rbp-0x30]
        mov      rdi, r15
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ParseHeaderName(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ParseHeaderName(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
+       jmp      G_M46554_IG40
 						;; size=63 bbWeight=2 PerfScore 27.50
-G_M46554_IG28:
+G_M46554_IG25:
        mov      rsi, r14
        mov      edx, ebx
        lea      rcx, [rbp-0x30]
        mov      rdi, r15
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ParseHeaderNameLength(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ParseHeaderNameLength(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
+       jmp      G_M46554_IG40
 						;; size=32 bbWeight=2 PerfScore 13.50
-G_M46554_IG29:
+G_M46554_IG26:
        mov      r12, r14
        mov      eax, ebx
        mov      dword ptr [rbp-0x6C], eax
        cmp      dword ptr [rbp-0x30], eax
-       jge      SHORT G_M46554_IG31
+       jge      SHORT G_M46554_IG28
 						;; size=13 bbWeight=2 PerfScore 9.00
-G_M46554_IG30:
-       lea      rsi, bword ptr [r15+0x50]
-       mov      rcx, rsi
-       mov      bword ptr [rbp-0x78], rcx
-       mov      rdi, rcx
+G_M46554_IG27:
+       lea      rdi, bword ptr [r15+0x50]
        mov      esi, dword ptr [rbp-0x30]
        cmp      esi, eax
-       jae      G_M46554_IG50
+       jae      G_M46554_IG49
        movzx    rsi, byte  ptr [r12+rsi]
        lea      rdx, [rbp-0x40]
-       mov      r8, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
-       call     [r8]System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
+       mov      rcx, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
+       call     [rcx]System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        test     eax, eax
-       jne      SHORT G_M46554_IG32
+       jne      SHORT G_M46554_IG29
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        mov      edi, dword ptr [rbp-0x6C]
        cmp      dword ptr [rbp-0x30], edi
        mov      eax, edi
-       jl       SHORT G_M46554_IG30
-						;; size=69 bbWeight=16 PerfScore 284.00
-G_M46554_IG31:
+       jl       SHORT G_M46554_IG27
+						;; size=58 bbWeight=16 PerfScore 260.00
+G_M46554_IG28:
        xor      edi, edi
        mov      dword ptr [rbp-0x40], edi
-       jmp      G_M46554_IG12
+       jmp      G_M46554_IG40
 						;; size=10 bbWeight=2 PerfScore 6.50
-G_M46554_IG32:
+G_M46554_IG29:
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        mov      rdi, r15
        mov      esi, dword ptr [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnIndexedHeaderName(int):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnIndexedHeaderName(int):this
        cmp      dword ptr [rbp-0x30], ebx
-       jge      G_M46554_IG12
-       mov      r12, bword ptr [rbp-0x78]
+       jge      G_M46554_IG40
        mov      esi, dword ptr [rbp-0x30]
        lea      edx, [rsi+0x01]
        mov      dword ptr [rbp-0x30], edx
        cmp      esi, ebx
-       jae      G_M46554_IG50
+       jae      G_M46554_IG49
        movzx    rsi, byte  ptr [r14+rsi]
        test     sil, 128
        setne    dl
        mov      byte  ptr [r15+0x4E], dl
-       mov      rdx, r12
+       lea      rdx, bword ptr [r15+0x50]
        and      esi, -129
-       movzx    rax, sil
-       cmp      eax, 127
-       jl       G_M46554_IG36
-       mov      dword ptr [rdx], eax
+       movzx    r12, sil
+       cmp      r12d, 127
+       jl       G_M46554_IG33
+       mov      dword ptr [rdx], r12d
        xor      esi, esi
        mov      dword ptr [rdx+0x04], esi
        mov      byte  ptr [r15+0x4C], 7
        cmp      dword ptr [rbp-0x30], ebx
-       jge      SHORT G_M46554_IG34
-						;; size=111 bbWeight=2 PerfScore 54.00
-G_M46554_IG33:
-       mov      rdi, r12
+       jge      SHORT G_M46554_IG31
+						;; size=110 bbWeight=2 PerfScore 52.50
+G_M46554_IG30:
+       lea      rdi, bword ptr [r15+0x50]
        mov      esi, dword ptr [rbp-0x30]
        cmp      esi, ebx
-       jae      G_M46554_IG50
+       jae      G_M46554_IG49
        movzx    rsi, byte  ptr [r14+rsi]
        lea      rdx, [rbp-0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        call     [rax]System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        test     eax, eax
-       jne      SHORT G_M46554_IG35
+       jne      SHORT G_M46554_IG32
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        cmp      dword ptr [rbp-0x30], ebx
-       jl       SHORT G_M46554_IG33
-						;; size=52 bbWeight=16 PerfScore 236.00
-G_M46554_IG34:
+       jl       SHORT G_M46554_IG30
+						;; size=53 bbWeight=16 PerfScore 240.00
+G_M46554_IG31:
        xor      edi, edi
        mov      dword ptr [rbp-0x48], edi
-       jmp      G_M46554_IG12
+       jmp      G_M46554_IG40
 						;; size=10 bbWeight=2 PerfScore 6.50
-G_M46554_IG35:
+G_M46554_IG32:
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        mov      rdi, r15
        mov      esi, dword ptr [rbp-0x48]
        mov      edx, 8
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        mov      rsi, r14
        mov      edx, ebx
        lea      rcx, [rbp-0x30]
        mov      rdi, r15
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
+       jmp      G_M46554_IG40
 						;; size=63 bbWeight=2 PerfScore 27.50
-G_M46554_IG36:
-       mov      r12d, eax
+G_M46554_IG33:
        mov      rdi, r15
        mov      esi, r12d
        mov      edx, 8
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnStringLength(int,ubyte):this
        test     r12d, r12d
-       je       SHORT G_M46554_IG37
+       je       SHORT G_M46554_IG34
        mov      rsi, r14
        mov      edx, ebx
        lea      rcx, [rbp-0x30]
        mov      rdi, r15
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ParseHeaderValue(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
-						;; size=63 bbWeight=2 PerfScore 24.50
-G_M46554_IG37:
+       jmp      G_M46554_IG40
+						;; size=60 bbWeight=2 PerfScore 24.00
+G_M46554_IG34:
        mov      rdi, r15
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnString(ubyte):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnString(ubyte):this
        mov      rsi, r14
        mov      edx, ebx
        mov      rdi, r15
        mov      rcx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:ProcessHeaderValue(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:ProcessHeaderValue(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
-						;; size=45 bbWeight=2 PerfScore 20.00
-G_M46554_IG38:
+       jmp      SHORT G_M46554_IG40
+						;; size=42 bbWeight=2 PerfScore 20.00
+G_M46554_IG35:
        cmp      dword ptr [rbp-0x30], ebx
-       jge      SHORT G_M46554_IG40
+       jge      SHORT G_M46554_IG37
 						;; size=5 bbWeight=2 PerfScore 6.00
-G_M46554_IG39:
-       lea      r12, bword ptr [r15+0x50]
-       mov      rdi, r12
+G_M46554_IG36:
+       lea      rdi, bword ptr [r15+0x50]
        mov      esi, dword ptr [rbp-0x30]
        cmp      esi, ebx
-       jae      G_M46554_IG50
+       jae      G_M46554_IG49
        movzx    rsi, byte  ptr [r14+rsi]
        lea      rdx, [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        call     [rax]System.Net.Http.HPack.IntegerDecoder:TryDecode(ubyte,byref):ubyte:this
        test     eax, eax
-       jne      SHORT G_M46554_IG41
+       jne      SHORT G_M46554_IG38
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        cmp      dword ptr [rbp-0x30], ebx
-       jl       SHORT G_M46554_IG39
-						;; size=56 bbWeight=16 PerfScore 244.00
-G_M46554_IG40:
+       jl       SHORT G_M46554_IG36
+						;; size=53 bbWeight=16 PerfScore 240.00
+G_M46554_IG37:
        xor      edi, edi
        mov      dword ptr [rbp-0x38], edi
-       jmp      G_M46554_IG12
-						;; size=10 bbWeight=2 PerfScore 6.50
-G_M46554_IG41:
+       jmp      SHORT G_M46554_IG40
+						;; size=7 bbWeight=2 PerfScore 6.50
+G_M46554_IG38:
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
        mov      rdi, r15
        mov      esi, dword ptr [rbp-0x38]
        mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:OnIndexedHeaderField(int,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:OnIndexedHeaderField(int,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
-						;; size=34 bbWeight=2 PerfScore 18.00
-G_M46554_IG42:
+       jmp      SHORT G_M46554_IG40
+						;; size=31 bbWeight=2 PerfScore 18.00
+G_M46554_IG39:
        mov      rsi, r14
        mov      edx, ebx
        lea      rcx, [rbp-0x30]
        mov      rdi, r15
        mov      r8, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:Parse(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
        call     [rax]System.Net.Http.HPack.HPackDecoder:Parse(System.ReadOnlySpan`1[ubyte],byref,System.Net.Http.IHttpStreamHeadersHandler):this
-       jmp      G_M46554_IG12
-						;; size=32 bbWeight=2 PerfScore 13.50
-G_M46554_IG43:
+						;; size=27 bbWeight=2 PerfScore 9.50
+G_M46554_IG40:
+       cmp      dword ptr [rbp-0x30], ebx
+       jl       G_M46554_IG03
+						;; size=9 bbWeight=8 PerfScore 24.00
+G_M46554_IG41:
+       cmp      byte  ptr [r15+0x58], 0
+       je       SHORT G_M46554_IG45
+						;; size=7 bbWeight=1 PerfScore 4.00
+G_M46554_IG42:
+       mov      edx, dword ptr [r15+0x44]
+       lea      rsi, bword ptr [r15+0x18]
+       mov      rdi, r15
+       mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackDecoder:EnsureStringCapacity(byref,int):this
+       call     [rax]System.Net.Http.HPack.HPackDecoder:EnsureStringCapacity(byref,int):this
+       mov      r13, gword ptr [r15+0x18]
+       lea      rdi, bword ptr [r15+0x28]
+       mov      rsi, r13
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      edx, dword ptr [r15+0x60]
+       mov      edi, dword ptr [r15+0x64]
+       mov      esi, edx
+       mov      edx, edi
+       add      rdx, rsi
+       mov      eax, ebx
+       cmp      rdx, rax
+       ja       G_M46554_IG48
        add      rsi, r14
-       test     r12, r12
-       je       SHORT G_M46554_IG44
-       lea      rdi, bword ptr [r12+0x10]
-       mov      edx, dword ptr [r12+0x08]
-       jmp      SHORT G_M46554_IG45
-						;; size=20 bbWeight=0.50 PerfScore 3.00
-G_M46554_IG44:
-       xor      rdi, rdi
+       test     r13, r13
+       je       SHORT G_M46554_IG43
+       lea      rax, bword ptr [r13+0x10]
+       mov      edx, dword ptr [r13+0x08]
+       jmp      SHORT G_M46554_IG44
+						;; size=83 bbWeight=0.50 PerfScore 11.00
+G_M46554_IG43:
+       xor      rax, rax
        xor      edx, edx
 						;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M46554_IG45:
-       cmp      eax, edx
-       ja       G_M46554_IG48
-       mov      edx, eax
+G_M46554_IG44:
+       cmp      edi, edx
+       ja       G_M46554_IG47
+       mov      edx, edi
+       mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [r15+0x58], xmm0
-						;; size=32 bbWeight=0.50 PerfScore 3.54
-G_M46554_IG46:
-       add      rsp, 88
+						;; size=35 bbWeight=0.50 PerfScore 3.67
+G_M46554_IG45:
+       add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M46554_IG47:
+G_M46554_IG46:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.HPack.HPackDecoder+State
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        movzx    rdi, byte  ptr [r15+0x4C]
        mov      byte  ptr [rbx+0x08], dil
        mov      rdi, 0xD1FFAB1E      ; System.NotImplementedException
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Enum:ToString():System.String:this
        call     [rax]System.Enum:ToString():System.String:this
        mov      rsi, rax
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.NotImplementedException:.ctor(System.String):this
        call     [rax]System.NotImplementedException:.ctor(System.String):this
        mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
 						;; size=87 bbWeight=0 PerfScore 0.00
-G_M46554_IG48:
+G_M46554_IG47:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M46554_IG49:
+G_M46554_IG48:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M46554_IG50:
+G_M46554_IG49:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-RWD00  	dd	G_M46554_IG42 - G_M46554_IG02
-       	dd	G_M46554_IG38 - G_M46554_IG02
-       	dd	G_M46554_IG29 - G_M46554_IG02
-       	dd	G_M46554_IG28 - G_M46554_IG02
-       	dd	G_M46554_IG24 - G_M46554_IG02
-       	dd	G_M46554_IG23 - G_M46554_IG02
-       	dd	G_M46554_IG16 - G_M46554_IG02
-       	dd	G_M46554_IG09 - G_M46554_IG02
+RWD00  	dd	G_M46554_IG39 - G_M46554_IG02
+       	dd	G_M46554_IG35 - G_M46554_IG02
+       	dd	G_M46554_IG26 - G_M46554_IG02
+       	dd	G_M46554_IG25 - G_M46554_IG02
        	dd	G_M46554_IG21 - G_M46554_IG02
+       	dd	G_M46554_IG20 - G_M46554_IG02
+       	dd	G_M46554_IG13 - G_M46554_IG02
+       	dd	G_M46554_IG09 - G_M46554_IG02
+       	dd	G_M46554_IG18 - G_M46554_IG02
        	dd	G_M46554_IG05 - G_M46554_IG02
 
 
-; Total bytes of code 1692, prolog size 33, PerfScore 4102.55, instruction count 460, allocated bytes for code 1692 (MethodHash=10da4a25) for method System.Net.Http.HPack.HPackDecoder:DecodeInternal(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):this (FullOpts)
+; Total bytes of code 1645, prolog size 30, PerfScore 2290.80, instruction count 448, allocated bytes for code 1645 (MethodHash=10da4a25) for method System.Net.Http.HPack.HPackDecoder:DecodeInternal(System.ReadOnlySpan`1[ubyte],System.Net.Http.IHttpStreamHeadersHandler):this (FullOpts)
 ; ============================================================
-28 (-15.73 % of base) - System.Xml.Serialization.SourceInfo:op_Inequality(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.SourceInfo):ubyte
 ; Assembly listing for method System.Xml.Serialization.SourceInfo:op_Inequality(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.SourceInfo):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 4 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  5,  4   )     ref  ->  r15         class-hnd single-def <System.Xml.Serialization.SourceInfo>
 ;  V01 arg1         [V01,T00] (  6,  4   )     ref  ->  rbx         class-hnd single-def <System.Xml.Serialization.SourceInfo>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T04] (  4,  2   )   ubyte  ->  r14         "Inline return value spill temp"
+;  V03 tmp1         [V03,T07] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V04 tmp2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Serialization.SourceInfo>
 ;* V05 tmp3         [V05    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V06 tmp4         [V06,T02] (  5,  5   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V07 tmp5         [V07,T03] (  5,  5   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V08 tmp6         [V08,T05] (  4,  2   )   ubyte  ->  r14         "Inline return value spill temp"
-;  V09 tmp7         [V09,T06] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
-;  V10 cse0         [V10,T07] (  3,  1.50)     int  ->  rdx         "CSE #01: moderate"
+;  V08 tmp6         [V08,T04] (  4,  2   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V09 tmp7         [V09,T05] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
+;  V10 cse0         [V10,T06] (  3,  1.50)     int  ->  rdx         "CSE #01: moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 0
 
 G_M8008_IG01:
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x10]
        mov      r15, rdi
        mov      rbx, rsi
-						;; size=18 bbWeight=1 PerfScore 6.00
+						;; size=15 bbWeight=1 PerfScore 4.00
 G_M8008_IG02:
        test     r15, r15
-       jne      SHORT G_M8008_IG05
+       jne      SHORT G_M8008_IG06
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M8008_IG03:
        test     rbx, rbx
-       setne    al
-       movzx    rax, al
-						;; size=9 bbWeight=0.50 PerfScore 0.75
+       jne      SHORT G_M8008_IG13
+						;; size=5 bbWeight=0.50 PerfScore 0.62
 G_M8008_IG04:
-       add      rsp, 8
+       xor      eax, eax
+						;; size=2 bbWeight=0.25 PerfScore 0.06
+G_M8008_IG05:
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=11 bbWeight=0.50 PerfScore 1.62
-G_M8008_IG05:
+						;; size=5 bbWeight=0.25 PerfScore 0.62
+G_M8008_IG06:
        test     rbx, rbx
-       je       SHORT G_M8008_IG10
+       je       SHORT G_M8008_IG12
        mov      rdi, rbx
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.Serialization.SourceInfo:Equals(System.Object):ubyte:this
        call     [rax]System.Xml.Serialization.SourceInfo:Equals(System.Object):ubyte:this
        test     eax, eax
-       je       SHORT G_M8008_IG06
-       xor      r14d, r14d
-       jmp      SHORT G_M8008_IG11
-						;; size=31 bbWeight=0.50 PerfScore 4.25
-G_M8008_IG06:
+       jne      SHORT G_M8008_IG13
        mov      rdi, gword ptr [r15+0x08]
        mov      rsi, gword ptr [rbx+0x08]
        cmp      rdi, rsi
        je       SHORT G_M8008_IG08
        test     rdi, rdi
        je       SHORT G_M8008_IG07
        test     rsi, rsi
        je       SHORT G_M8008_IG07
        mov      edx, dword ptr [rdi+0x08]
        cmp      edx, dword ptr [rsi+0x08]
        jne      SHORT G_M8008_IG07
        add      rdi, 12
        add      rsi, 12
        add      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
-       mov      r14d, eax
        jmp      SHORT G_M8008_IG09
-						;; size=58 bbWeight=0.50 PerfScore 10.00
+						;; size=81 bbWeight=0.50 PerfScore 13.00
 G_M8008_IG07:
-       xor      r14d, r14d
+       xor      eax, eax
        jmp      SHORT G_M8008_IG09
-						;; size=5 bbWeight=0.50 PerfScore 1.12
+						;; size=4 bbWeight=0.50 PerfScore 1.12
 G_M8008_IG08:
-       mov      r14d, 1
-						;; size=6 bbWeight=0.50 PerfScore 0.12
+       mov      eax, 1
+						;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M8008_IG09:
-       jmp      SHORT G_M8008_IG11
-						;; size=2 bbWeight=0.50 PerfScore 1.00
+       test     eax, eax
+       je       SHORT G_M8008_IG13
+						;; size=4 bbWeight=0.50 PerfScore 0.62
 G_M8008_IG10:
-       cmp      gword ptr [r15+0x08], 0
-       sete     r14b
-       movzx    r14, r14b
-						;; size=13 bbWeight=0.50 PerfScore 2.12
+       xor      eax, eax
+						;; size=2 bbWeight=0.25 PerfScore 0.06
 G_M8008_IG11:
-       test     r14d, r14d
-       sete     al
-       movzx    rax, al
-						;; size=9 bbWeight=0.50 PerfScore 0.75
-G_M8008_IG12:
-       add      rsp, 8
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=11 bbWeight=0.50 PerfScore 1.62
+						;; size=5 bbWeight=0.25 PerfScore 0.62
+G_M8008_IG12:
+       cmp      gword ptr [r15+0x08], 0
+       je       SHORT G_M8008_IG10
+						;; size=7 bbWeight=0.50 PerfScore 2.00
+G_M8008_IG13:
+       mov      eax, 1
+						;; size=5 bbWeight=0.25 PerfScore 0.06
+G_M8008_IG14:
+       pop      rbx
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=5 bbWeight=0.25 PerfScore 0.62
 
-; Total bytes of code 178, prolog size 12, PerfScore 30.62, instruction count 63, allocated bytes for code 178 (MethodHash=6a7fe0b7) for method System.Xml.Serialization.SourceInfo:op_Inequality(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.SourceInfo):ubyte (FullOpts)
+; Total bytes of code 150, prolog size 9, PerfScore 24.81, instruction count 57, allocated bytes for code 150 (MethodHash=6a7fe0b7) for method System.Xml.Serialization.SourceInfo:op_Inequality(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.SourceInfo):ubyte (FullOpts)
 ; ============================================================

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

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

@MihuBot
Copy link
Owner Author

MihuBot commented Sep 8, 2024

@EgorBo

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

No branches or pull requests

1 participant