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] [MichalPetryka] Avoid spilling loads of static readonly variables #698

Open
MihuBot opened this issue Oct 6, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Oct 6, 2024

Job completed in 19 minutes 52 seconds.
dotnet/runtime#108579

Diffs

Diffs
Found 380 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 39447434
Total bytes of diff: 39442078
Total bytes of delta: -5356 (-0.01 % of base)
Total relative delta: -17.99
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
         456 : System.Private.CoreLib.dasm (0.01 % of base)
         380 : System.Linq.Expressions.dasm (0.04 % of base)
         315 : System.Private.DataContractSerialization.dasm (0.03 % of base)
         272 : System.Linq.Parallel.dasm (0.01 % of base)
         236 : System.Net.Http.dasm (0.03 % of base)
         217 : System.Linq.dasm (0.02 % of base)
         128 : System.Net.WebSockets.dasm (0.09 % of base)
         122 : System.Collections.Concurrent.dasm (0.03 % of base)
         121 : System.Collections.dasm (0.03 % of base)
          65 : System.Net.Quic.dasm (0.04 % of base)
          51 : ILCompiler.Reflection.ReadyToRun.dasm (0.02 % of base)
          33 : System.Threading.Tasks.Parallel.dasm (0.01 % of base)
          24 : Microsoft.Extensions.Options.dasm (0.09 % of base)
          20 : Microsoft.Extensions.Logging.Abstractions.dasm (0.03 % of base)
          15 : System.Numerics.Tensors.dasm (0.00 % of base)
          14 : System.Security.Cryptography.Pkcs.dasm (0.00 % of base)
          12 : System.Threading.Channels.dasm (0.01 % of base)
          11 : System.ComponentModel.Composition.Registration.dasm (0.01 % of base)
           7 : System.Linq.Queryable.dasm (0.00 % of base)
           7 : System.ObjectModel.dasm (0.01 % of base)
           7 : System.Formats.Nrbf.dasm (0.02 % of base)
           6 : System.Security.Cryptography.Cose.dasm (0.01 % of base)
           6 : System.ComponentModel.TypeConverter.dasm (0.00 % of base)
           5 : System.Transactions.Local.dasm (0.00 % of base)
           4 : System.Diagnostics.TextWriterTraceListener.dasm (0.02 % of base)
           4 : System.Net.ServerSentEvents.dasm (0.01 % of base)
           3 : System.Memory.dasm (0.00 % of base)
           2 : System.Data.Odbc.dasm (0.00 % of base)
           2 : System.Net.NameResolution.dasm (0.00 % of base)
           2 : System.Threading.RateLimiting.dasm (0.00 % of base)

Top file improvements (bytes):
       -1821 : System.Threading.Tasks.Dataflow.dasm (-0.15 % of base)
       -1690 : System.Collections.Immutable.dasm (-0.08 % of base)
       -1368 : System.Private.Xml.dasm (-0.03 % of base)
        -286 : System.Net.Mail.dasm (-0.16 % of base)
        -272 : System.ComponentModel.Composition.dasm (-0.07 % of base)
        -263 : System.Data.Common.dasm (-0.02 % of base)
        -172 : System.Composition.Hosting.dasm (-0.16 % of base)
        -155 : System.Security.Cryptography.dasm (-0.01 % of base)
        -149 : System.CodeDom.dasm (-0.07 % of base)
        -127 : System.Net.Sockets.dasm (-0.05 % of base)
        -127 : System.Net.NetworkInformation.dasm (-0.25 % of base)
        -105 : System.Web.HttpUtility.dasm (-0.54 % of base)
         -94 : System.Reflection.Metadata.dasm (-0.02 % of base)
         -68 : System.Net.Requests.dasm (-0.05 % of base)
         -67 : System.Console.dasm (-0.08 % of base)
         -64 : System.Configuration.ConfigurationManager.dasm (-0.02 % of base)
         -61 : System.Formats.Asn1.dasm (-0.07 % of base)
         -59 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.23 % of base)
         -59 : System.Text.RegularExpressions.dasm (-0.01 % of base)
         -56 : Microsoft.CSharp.dasm (-0.02 % of base)
         -53 : Microsoft.Extensions.DependencyModel.dasm (-0.07 % of base)
         -50 : System.Text.Json.dasm (-0.00 % of base)
         -49 : System.Private.Xml.Linq.dasm (-0.03 % of base)
         -44 : System.Diagnostics.DiagnosticSource.dasm (-0.02 % of base)
         -43 : System.Resources.Extensions.dasm (-0.09 % of base)
         -41 : System.Net.WebClient.dasm (-0.08 % of base)
         -35 : System.Diagnostics.TraceSource.dasm (-0.07 % of base)
         -32 : System.ServiceModel.Syndication.dasm (-0.02 % of base)
         -31 : System.Formats.Cbor.dasm (-0.07 % of base)
         -30 : System.Private.Uri.dasm (-0.03 % of base)
         -29 : Microsoft.Extensions.FileProviders.Physical.dasm (-0.17 % of base)
         -29 : System.Formats.Tar.dasm (-0.02 % of base)
         -28 : System.Resources.Writer.dasm (-0.31 % of base)
         -25 : System.IO.Compression.dasm (-0.03 % of base)
         -24 : System.Net.HttpListener.dasm (-0.02 % of base)
         -24 : System.Reflection.MetadataLoadContext.dasm (-0.01 % of base)
         -23 : System.Composition.Convention.dasm (-0.02 % of base)
         -23 : Microsoft.Extensions.DependencyInjection.dasm (-0.03 % of base)
         -23 : System.IO.Packaging.dasm (-0.02 % of base)
         -22 : System.Security.Cryptography.Xml.dasm (-0.01 % of base)
         -21 : Microsoft.VisualBasic.Core.dasm (-0.00 % of base)
         -18 : System.Collections.Specialized.dasm (-0.14 % of base)
         -18 : System.Composition.TypedParts.dasm (-0.04 % of base)
         -16 : System.DirectoryServices.Protocols.dasm (-0.01 % of base)
         -14 : System.Diagnostics.Process.dasm (-0.01 % of base)
         -14 : Microsoft.Extensions.Caching.Memory.dasm (-0.08 % of base)
         -13 : System.IO.Pipelines.dasm (-0.02 % of base)
         -12 : System.Runtime.Caching.dasm (-0.02 % of base)
         -11 : System.ComponentModel.Annotations.dasm (-0.02 % of base)
          -9 : System.Runtime.Serialization.Formatters.dasm (-0.04 % of base)
          -9 : System.Reflection.DispatchProxy.dasm (-0.05 % of base)
          -6 : Microsoft.Extensions.Configuration.dasm (-0.04 % of base)
          -5 : System.Net.Http.Json.dasm (-0.00 % of base)
          -4 : System.Runtime.InteropServices.dasm (-0.02 % of base)
          -3 : Microsoft.Extensions.Logging.Console.dasm (-0.01 % of base)
          -3 : System.Net.WebHeaderCollection.dasm (-0.02 % of base)
          -2 : System.Net.Primitives.dasm (-0.00 % of base)
          -2 : System.Net.Security.dasm (-0.00 % of base)
          -2 : System.IO.Hashing.dasm (-0.01 % of base)

89 total files with Code Size differences (59 improved, 30 regressed), 170 unchanged.

Top method regressions (bytes):
        1798 (25.07 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.String,System.String,byref):ubyte (FullOpts)
         417 (13.20 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<CloseAsyncPrivate>d__69:MoveNext():this (FullOpts)
         217 (5.71 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool+<InjectNewHttp2ConnectionAsync>d__101:MoveNext():this (FullOpts)
         213 (22.26 % of base) : System.Net.Http.dasm - System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.Nullable`1[int]]:MoveNext():this (FullOpts)
         185 (1.81 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection+<SendAsync>d__56:MoveNext():this (FullOpts)
         172 (3.02 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteTypedPrimitive(System.String,System.String,System.Object,ubyte):this (FullOpts)
         158 (16.74 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader+<ReadToEndAsyncInternal>d__66:MoveNext():this (FullOpts)
         149 (3.80 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:SelectClientCertificate():System.Security.Cryptography.X509Certificates.X509Certificate2:this (FullOpts)
         142 (2.22 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WritePrimitive(System.Xml.Serialization.TypeMapping,System.String):this (FullOpts)
         118 (3.67 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateTypedSerializer(System.String,System.String,System.Xml.Serialization.XmlMapping,System.Xml.Serialization.CodeIdentifiers,System.String,System.String,System.String):System.String:this (FullOpts)
         107 (1.06 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.__Canon]:MoveNext():this (FullOpts)
          92 (0.93 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts)
          92 (1.62 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          86 (1.28 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteMember(System.Xml.Serialization.SourceInfo,System.Xml.Serialization.AttributeAccessor,System.Xml.Serialization.TypeDesc,System.String):this (FullOpts)
          76 (11.50 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileThrowUnaryExpression(System.Linq.Expressions.Expression,ubyte):this (FullOpts)
          70 (1.28 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicApi:.cctor() (FullOpts)
          68 (3.57 % of base) : System.Net.Security.dasm - System.Net.Security.NegotiateAuthentication:CheckSpn():ubyte:this (FullOpts)
          58 (1.44 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileTryExpression(System.Linq.Expressions.Expression):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[double]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[double]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[int]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[int]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[long]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[long]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[short]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[short]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[System.Nullable`1[int]]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[System.Numerics.Vector`1[float]]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[System.Numerics.Vector`1[float]]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[ubyte]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[ubyte]):this (FullOpts)
          55 (0.59 % of base) : System.Data.Common.dasm - System.Data.Common.SqlConvert:ChangeTypeForXML(System.Object,System.Type):System.Object (FullOpts)
          53 (1.24 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunMethod:.ctor(ILCompiler.Reflection.ReadyToRun.ReadyToRunReader,ILCompiler.Reflection.ReadyToRun.IAssemblyMetadata,System.Reflection.Metadata.EntityHandle,int,System.String,System.String,System.String[],System.Nullable`1[int]):this (FullOpts)
          52 (2.98 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:CopyTo(System.Array,int):this (FullOpts)
          52 (3.04 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.Nullable`1[int]]:CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int,int):this (FullOpts)
          52 (2.44 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateTypeElement(System.Xml.Serialization.XmlTypeMapping):System.String:this (FullOpts)
          47 (1.70 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:SerializeTransitionTime(System.TimeZoneInfo+TransitionTime,byref) (FullOpts)
          42 (2.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.__Canon,System.Nullable`1[int]]:set_KeyComparer(System.Collections.Generic.IComparer`1[System.__Canon]):this (FullOpts)
          42 (2.76 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapSessionOptions:ProcessQueryConnection(long,long,long,long,int,ulong,ulong,ulong):int:this (FullOpts)
          41 (3.20 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TypeScope:GetEnumeratorElementType(System.Type,byref):System.Type (FullOpts)
          41 (3.82 % of base) : System.Private.Xml.dasm - System.Xml.XmlWellFormedWriter+AttributeValueCache:Trim():this (FullOpts)
          38 (2.03 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:IndexOf(System.__Canon,int,int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):int:this (FullOpts)
          37 (1.17 % of base) : System.Private.CoreLib.dasm - System.Threading.PortableThreadPool+HillClimbing:Update(int,double,int):System.ValueTuple`2[int,int]:this (FullOpts)
          31 (1.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:this (FullOpts)
          30 (6.79 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.ListenerElement:.ctor(ubyte):this (FullOpts)
          30 (8.80 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:HandleGraphAtTopLevel(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.DataContracts.DataContract):this (FullOpts)
          29 (2.23 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.ActivityTracker:OnStart(System.String,System.String,int,byref,byref,int,ubyte):this (FullOpts)
          28 (0.76 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<HandleReceivedCloseAsync>d__63:MoveNext():this (FullOpts)
          26 (11.26 % of base) : System.Net.Http.dasm - System.Net.Http.RedirectHandler:RequestRequiresForceGet(int,System.Net.Http.HttpMethod):ubyte (FullOpts)
          23 (0.23 % of base) : System.Data.Common.dasm - System.Data.XmlTreeGen:SchemaTree(System.Xml.XmlDocument,System.Xml.XmlWriter,System.Data.DataSet,System.Data.DataTable,ubyte):this (FullOpts)
          21 (3.37 % of base) : System.Private.CoreLib.dasm - System.Net.WebUtility:UrlEncode(System.String):System.String (FullOpts)
          21 (1.22 % of base) : System.Threading.Tasks.Parallel.dasm - System.Threading.Tasks.Parallel+<>c__DisplayClass43_0`2[System.__Canon,System.Nullable`1[int]]:<PartitionerForEachWorker>b__1(byref,long,byref):this (FullOpts)
          20 (7.75 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.TypedElement:.ctor(System.Type):this (FullOpts)
          20 (1.92 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIndexAssignment(System.Linq.Expressions.BinaryExpression,ubyte):this (FullOpts)
          20 (2.47 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileTryFaultExpression(System.Linq.Expressions.TryExpression):this (FullOpts)
          19 (1.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[double,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          19 (1.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[int,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          19 (1.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[long,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          19 (1.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[short,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          19 (1.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[System.__Canon,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],System.__Canon],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          19 (1.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[System.Nullable`1[int],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          19 (1.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          19 (1.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[ubyte,System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.PartitionedStream`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          19 (0.59 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:InvokeApplyFunction(System.Xml.Xsl.Xslt.StylesheetLevel,System.Xml.Xsl.Qil.QilName,System.Collections.Generic.IList`1[System.Xml.Xsl.Xslt.XslNode]):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
          18 (0.75 % of base) : System.Data.Common.dasm - System.Data.NewDiffgramGen:GenerateTableErrors(System.Data.DataTable):this (FullOpts)
          18 (3.42 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:EmitIndexGet(System.Linq.Expressions.IndexExpression):this (FullOpts)
          18 (5.36 % of base) : System.Private.CoreLib.dasm - System.Net.WebUtility+<>c:<UrlEncode>b__8_0(System.Span`1[ushort],System.ValueTuple`2[System.String,int]):this (FullOpts)
          17 (0.30 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileBinaryExpression(System.Linq.Expressions.Expression):this (FullOpts)
          17 (1.22 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileUnaryExpression(System.Linq.Expressions.Expression):this (FullOpts)
          16 (1.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[double](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],double],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          16 (1.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[int](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          16 (1.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[long](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],long],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          16 (1.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[short](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],short],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          16 (1.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[System.__Canon](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],System.__Canon],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          16 (1.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[System.Nullable`1[int]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          16 (1.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[System.Numerics.Vector`1[float]](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],System.Numerics.Vector`1[float]],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          16 (1.33 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.DistinctQueryOperator`1[System.__Canon]:WrapPartitionedStreamHelper[ubyte](System.Linq.Parallel.PartitionedStream`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],ubyte],System.Linq.Parallel.IPartitionedStreamRecipient`1[System.__Canon],System.Threading.CancellationToken):this (FullOpts)
          16 (5.57 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEventArgs:AfterConnectAcceptTelemetry():this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[double]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[long]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[short]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.89 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Nullable`1[int]]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Numerics.Vector`1[float]]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[ubyte]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[double]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[int]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[long]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[short]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.Nullable`1[int]]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.Numerics.Vector`1[float]]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[ubyte]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          15 (1.61 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:TryGetMemoryStatField(System.String,byref):ubyte (FullOpts)
          14 (1.38 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:GetIntrinsicTypeConverter(System.Type):System.ComponentModel.TypeConverter (FullOpts)
          14 (6.60 % of base) : System.Private.CoreLib.dasm - System.Convert:ToString(int,int):System.String (FullOpts)
          14 (6.51 % of base) : System.Private.CoreLib.dasm - System.Convert:ToString(short,int):System.String (FullOpts)
          14 (1.09 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:ForkAndExecProcess(System.Diagnostics.ProcessStartInfo,System.String,System.String[],System.String[],System.String,ubyte,uint,uint,uint[],byref,byref,byref,ubyte,ubyte):ubyte:this (FullOpts)
          14 (5.28 % of base) : System.Formats.Nrbf.dasm - System.Formats.Nrbf.BinaryArrayRecord:MapElementType(System.Type,byref):System.Type (FullOpts)
          14 (1.61 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte],byref):System.Net.Security.ProtocolToken:this (FullOpts)
          14 (0.33 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.CmsSigner:Sign(System.ReadOnlyMemory`1[ubyte],System.String,ubyte,byref):System.Security.Cryptography.Pkcs.Asn1.SignerInfoAsn:this (FullOpts)
          13 (2.11 % of base) : System.ComponentModel.Composition.dasm - System.Composition.Diagnostics.DebuggerTraceWriter:CreateLogMessage(int,ushort,System.String,System.Object[]):System.String (FullOpts)
          13 (2.11 % of base) : System.Composition.Convention.dasm - System.Composition.Diagnostics.DebuggerTraceWriter:CreateLogMessage(int,ushort,System.String,System.Object[]):System.String (FullOpts)

Top method improvements (bytes):
        -345 (-10.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[double]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[double],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[double] (FullOpts)
        -343 (-10.04 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[short]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[short],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[short] (FullOpts)
        -341 (-9.99 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[ubyte]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[ubyte],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[ubyte]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[ubyte] (FullOpts)
        -340 (-9.95 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[long]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[long],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[long]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[long] (FullOpts)
        -339 (-9.94 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[int]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[int],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[int]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[int] (FullOpts)
        -167 (-1.88 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.Nullable`1[int]]:MoveNext():this (FullOpts)
        -166 (-21.28 % of base) : System.Net.Security.dasm - System.Net.Security.SslSessionsCache:<CacheCredential>g__ShrinkCredentialCache|5_0() (FullOpts)
        -164 (-5.51 % of base) : System.Net.Http.dasm - System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13:MoveNext():this (FullOpts)
        -123 (-10.78 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):this (FullOpts)
        -104 (-1.82 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteAttributes(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],System.Xml.Serialization.XmlSerializationReaderILGen+Member,System.String,System.Reflection.Emit.LocalBuilder):this (FullOpts)
         -99 (-1.35 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteElement(System.String,System.String,System.String,System.Xml.Serialization.ElementAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte,int,int):this (FullOpts)
         -93 (-2.16 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.StringParsingHelpers:ParseInterfaceStatisticsTableFromFile(System.String,System.String):System.Net.NetworkInformation.IPInterfaceStatisticsTable (FullOpts)
         -91 (-10.92 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -89 (-3.60 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.Type,byref):ubyte (FullOpts)
         -88 (-6.91 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteSerializationInfo(System.Runtime.Serialization.XmlWriterDelegator,System.Type,System.Runtime.Serialization.SerializationInfo):this (FullOpts)
         -76 (-3.04 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:MatchCountPattern(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilIterator):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -74 (-4.45 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CreateGeneralKeyFunction():System.Xml.Xsl.Qil.QilFunction:this (FullOpts)
         -62 (-4.18 % of base) : System.Net.Mail.dasm - System.Net.Mime.BaseWriter:WriteAndFold(System.String,int,ubyte):this (FullOpts)
         -62 (-3.63 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileFnDocument(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -60 (-1.99 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:GetSerializedString(System.TimeZoneInfo):System.String (FullOpts)
         -59 (-3.49 % of base) : System.Web.HttpUtility.dasm - System.Web.HttpUtility+HttpQSCollection:ToString():System.String:this (FullOpts)
         -56 (-2.35 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket:.ctor(System.IO.Stream,ubyte,System.String,System.TimeSpan,System.TimeSpan):this (FullOpts)
         -54 (-1.66 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpClient:Send(System.Net.Mail.MailMessage):this (FullOpts)
         -54 (-1.55 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteEnumAndArrayTypes():this (FullOpts)
         -54 (-2.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:XslChoose():System.Xml.Xsl.Xslt.XslNode:this (FullOpts)
         -53 (-3.11 % of base) : System.Console.dasm - System.IO.StdInReader:ReadLineCore(ubyte):ubyte:this (FullOpts)
         -52 (-2.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadTemplate(System.Xml.Xsl.Xslt.NsDecl):this (FullOpts)
         -50 (-3.97 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateBaseSerializer(System.String,System.String,System.String,System.Xml.Serialization.CodeIdentifiers):System.String:this (FullOpts)
         -49 (-3.31 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateTypeElement(System.Xml.Serialization.XmlTypeMapping):System.String:this (FullOpts)
         -48 (-1.02 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonFormatReaderGenerator+CriticalHelper:ReadCollection(System.Runtime.Serialization.DataContracts.CollectionDataContract):this (FullOpts)
         -47 (-2.94 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileFnKey(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.XPath.IFocus):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -47 (-0.74 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:PrecompileProtoTemplatesHeaders():this (FullOpts)
         -46 (-1.71 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteArray(System.String,System.String,System.Xml.Serialization.ArrayMapping,ubyte,ubyte,int):this (FullOpts)
         -44 (-1.52 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FinishRevocation(int,int,int):this (FullOpts)
         -40 (-1.10 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteArrayItems(System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.Xml.Serialization.TypeDesc,System.String,System.String):this (FullOpts)
         -39 (-5.42 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -35 (-1.61 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapSessionOptions:ProcessNotifyConnection(long,long,long,long,long,int,ulong,ulong,int):int:this (FullOpts)
         -35 (-1.68 % of base) : System.Private.CoreLib.dasm - System.Version:ParseVersion(System.ReadOnlySpan`1[ushort],ubyte):System.Version (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[double]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[int]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[long]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[short]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[System.Numerics.Vector`1[float]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[ubyte]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -33 (-0.52 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteElements(System.Xml.Serialization.SourceInfo,System.String,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte):this (FullOpts)
         -32 (-1.36 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -31 (-3.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:OnHandleIsReference(System.Runtime.Serialization.XmlWriterDelegator,System.Runtime.Serialization.DataContracts.DataContract,System.Object):ubyte:this (FullOpts)
         -31 (-2.10 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[System.__Canon]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[System.__Canon]):this (FullOpts)
         -30 (-0.75 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaInference:RefineSimpleType(System.String,byref):System.Xml.XmlQualifiedName:this (FullOpts)
         -30 (-3.67 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlCanonicalWriter:SetOutput(System.IO.Stream,ubyte,System.String[]):this (FullOpts)
         -30 (-0.87 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILVisitor:HandleFilterPatterns(System.Xml.Xsl.Qil.QilLoop):ubyte:this (FullOpts)
         -29 (-2.02 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:FillAttributes(System.Collections.IList):this (FullOpts)
         -29 (-1.28 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteText(System.Xml.Serialization.XmlSerializationReaderILGen+Member):this (FullOpts)
         -28 (-1.63 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.AttributedModel.AttributedModelDiscovery:CreateMemberImportDefinition(System.Reflection.MemberInfo,System.ComponentModel.Composition.Primitives.ICompositionElement):System.ComponentModel.Composition.ReflectionModel.ReflectionMemberImportDefinition (FullOpts)
         -28 (-1.15 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],System.DateTimeOffset,ubyte,int):System.Diagnostics.Activity:this (FullOpts)
         -28 (-4.27 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborReader:ReadDateTimeOffset():System.DateTimeOffset:this (FullOpts)
         -28 (-7.00 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpConnection+ConnectAndHandshakeAsyncResult:AuthenticateContinue():ubyte:this (FullOpts)
         -28 (-2.87 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberElements(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],System.String,System.String,System.Xml.Serialization.XmlSerializationReaderILGen+Member,System.Xml.Serialization.XmlSerializationReaderILGen+Member):this (FullOpts)
         -28 (-1.28 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileKeys():this (FullOpts)
         -27 (-14.21 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.ImportConventionBuilder:IsSupportedImportManyType(System.Reflection.TypeInfo):ubyte (FullOpts)
         -27 (-4.58 % of base) : System.Private.Uri.dasm - System.DomainNameHelper:ParseCanonicalName(System.String,int,int,byref):System.String (FullOpts)
         -27 (-0.31 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[double]:MoveNext():this (FullOpts)
         -27 (-0.31 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[int]:MoveNext():this (FullOpts)
         -27 (-0.31 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[long]:MoveNext():this (FullOpts)
         -27 (-0.31 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[short]:MoveNext():this (FullOpts)
         -27 (-0.31 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[ubyte]:MoveNext():this (FullOpts)
         -27 (-0.96 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<SendCloseFrameAsync>d__70:MoveNext():this (FullOpts)
         -27 (-1.26 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateSerializerContract(System.Xml.Serialization.XmlMapping[],System.Type[],System.String,System.String[],System.String,System.String[],System.Collections.Generic.Dictionary`2[System.String,System.String]):this (FullOpts)
         -26 (-0.80 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:AdjustCallArgumentsForParams(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,byref):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]:.ctor(System.Func`2[double,System.Nullable`1[int]],System.Func`2[double,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[int,System.Nullable`1[int]]:.ctor(System.Func`2[int,System.Nullable`1[int]],System.Func`2[int,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:.ctor(System.Func`2[long,System.Nullable`1[int]],System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[short,System.Nullable`1[int]]:.ctor(System.Func`2[short,System.Nullable`1[int]],System.Func`2[short,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Func`2[System.Nullable`1[int],System.Nullable`1[int]],System.Func`2[System.Nullable`1[int],System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Func`2[System.Numerics.Vector`1[float],System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[ubyte,System.Nullable`1[int]]:.ctor(System.Func`2[ubyte,System.Nullable`1[int]],System.Func`2[ubyte,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-1.82 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileCopyOf(System.Xml.Xsl.Xslt.XslNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -26 (-3.69 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.MessageAction:Execute(System.Xml.Xsl.XsltOld.Processor,System.Xml.Xsl.XsltOld.ActionFrame):this (FullOpts)
         -25 (-1.26 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexLWCGCompiler:FactoryInstanceFromCode(System.String,System.Text.RegularExpressions.RegexTree,int,ubyte):System.Text.RegularExpressions.RegexRunnerFactory:this (FullOpts)
         -25 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[System.__Canon,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -25 (-0.80 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteAttribute(System.Xml.Serialization.XmlSerializationReaderILGen+Member):this (FullOpts)
         -25 (-0.48 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteEnumAndArrayTypes():this (FullOpts)
         -24 (-1.83 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:TryFindCGroupPathForSubsystem(int,System.String,System.String,byref):ubyte (FullOpts)
         -24 (-2.73 % of base) : System.Net.WebClient.dasm - System.Net.WebClient:GetValuesToUpload(System.Collections.Specialized.NameValueCollection):ubyte[]:this (FullOpts)
         -24 (-0.26 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[double,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[double,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[int,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[int,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[long,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[long,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[short,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[short,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[System.Numerics.Vector`1[float],long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[ubyte,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.91 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
         -24 (-1.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.MatcherBuilder:BuildMatcher(System.Xml.Xsl.Qil.QilIterator,System.Collections.Generic.IList`1[System.Xml.Xsl.Xslt.XslNode],System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -23 (-10.36 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpAuthenticationManager:GetModules():System.Net.Mail.ISmtpAuthenticationModule[] (FullOpts)
         -23 (-5.09 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteExtensionISerializableData(System.Runtime.Serialization.XmlWriterDelegator,System.Runtime.Serialization.ISerializableDataNode):this (FullOpts)
         -23 (-2.81 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:WireCancellationToComplete(System.Threading.CancellationToken,System.Threading.Tasks.Task,System.Action`2[System.Object,System.Threading.CancellationToken],System.Object) (FullOpts)
         -23 (-2.09 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[double]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-2.09 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[int]:ProcessMessagesLoopCore():this (FullOpts)

Top method regressions (percentages):
        1798 (25.07 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.String,System.String,byref):ubyte (FullOpts)
         213 (22.26 % of base) : System.Net.Http.dasm - System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.Nullable`1[int]]:MoveNext():this (FullOpts)
         158 (16.74 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader+<ReadToEndAsyncInternal>d__66:MoveNext():this (FullOpts)
          12 (13.64 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.Nullable`1[int],System.Nullable`1[int]]:.cctor() (FullOpts)
         417 (13.20 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<CloseAsyncPrivate>d__69:MoveNext():this (FullOpts)
          76 (11.50 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileThrowUnaryExpression(System.Linq.Expressions.Expression,ubyte):this (FullOpts)
          26 (11.26 % of base) : System.Net.Http.dasm - System.Net.Http.RedirectHandler:RequestRequiresForceGet(int,System.Net.Http.HttpMethod):ubyte (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitArrayLength():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitEnterExceptionFilter():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitEnterExceptionHandlerNonVoid():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitEnterExceptionHandlerVoid():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitGetArrayItem():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitLeaveExceptionFilter():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitLeaveFault():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitLeaveFinally():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitRethrow():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitRethrowVoid():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitSetArrayItem():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitThrow():this (FullOpts)
          13 (10.57 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:EmitThrowVoid():this (FullOpts)
          11 (9.40 % of base) : System.Net.Http.dasm - System.Net.Http.HttpRequestMessage:get_IsExtendedConnectRequest():ubyte:this (FullOpts)
          30 (8.80 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:HandleGraphAtTopLevel(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.DataContracts.DataContract):this (FullOpts)
          20 (7.75 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.TypedElement:.ctor(System.Type):this (FullOpts)
          30 (6.79 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.ListenerElement:.ctor(ubyte):this (FullOpts)
          14 (6.60 % of base) : System.Private.CoreLib.dasm - System.Convert:ToString(int,int):System.String (FullOpts)
          14 (6.51 % of base) : System.Private.CoreLib.dasm - System.Convert:ToString(short,int):System.String (FullOpts)
         217 (5.71 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool+<InjectNewHttp2ConnectionAsync>d__101:MoveNext():this (FullOpts)
          13 (5.58 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.KnownCoseAlgorithms:ThrowCborNegativeIntegerNotSupported(ulong) (FullOpts)
          16 (5.57 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEventArgs:AfterConnectAcceptTelemetry():this (FullOpts)
          18 (5.36 % of base) : System.Private.CoreLib.dasm - System.Net.WebUtility+<>c:<UrlEncode>b__8_0(System.Span`1[ushort],System.ValueTuple`2[System.String,int]):this (FullOpts)
          14 (5.28 % of base) : System.Formats.Nrbf.dasm - System.Formats.Nrbf.BinaryArrayRecord:MapElementType(System.Type,byref):System.Type (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[double]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[long]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[short]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Nullable`1[int]]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Numerics.Vector`1[float]]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[ubyte]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (5.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
           4 (5.13 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:IsKeyword(System.String):ubyte (FullOpts)
          11 (4.35 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IntersectQueryOperator`1+OrderedIntersectQueryOperatorEnumerator`1[System.__Canon,System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],System.Nullable`1[int]],System.Linq.Parallel.QueryOperatorEnumerator`2[System.Linq.Parallel.Pair`2[System.__Canon,System.Linq.Parallel.NoKeyMemoizationRequired],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.Collections.Generic.IComparer`1[System.Nullable`1[int]],System.Threading.CancellationToken):this (FullOpts)
           3 (4.23 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+<get_Keys>d__25[System.__Canon,System.Nullable`1[int]]:<>m__Finally1():this (FullOpts)
           3 (4.23 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+<get_Keys>d__25[System.__Canon,System.Nullable`1[int]]:<>m__Finally2():this (FullOpts)
           3 (4.23 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+<get_Values>d__27[System.__Canon,System.Nullable`1[int]]:<>m__Finally1():this (FullOpts)
           3 (4.23 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+<get_Values>d__27[System.__Canon,System.Nullable`1[int]]:<>m__Finally2():this (FullOpts)
           3 (4.23 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Builder+<get_Keys>d__18[System.__Canon,System.Nullable`1[int]]:<>m__Finally1():this (FullOpts)
           3 (4.23 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Builder+<get_Values>d__22[System.__Canon,System.Nullable`1[int]]:<>m__Finally1():this (FullOpts)
           3 (4.23 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.Lookup`2+<GetEnumerator>d__10[System.__Canon,System.Nullable`1[int]]:<>m__Finally1():this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[double]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[double]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[int]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[int]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[long]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[long]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[short]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[short]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[System.Nullable`1[int]]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[System.Numerics.Vector`1[float]]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[System.Numerics.Vector`1[float]]):this (FullOpts)
          58 (4.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[ubyte]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[ubyte]):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[double]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[int]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[long]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[short]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.Nullable`1[int]]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.Numerics.Vector`1[float]]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[ubyte]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          16 (3.89 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
           9 (3.86 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:CreateInstance(System.Type,System.Type):System.Object (FullOpts)
          41 (3.82 % of base) : System.Private.Xml.dasm - System.Xml.XmlWellFormedWriter+AttributeValueCache:Trim():this (FullOpts)
         149 (3.80 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:SelectClientCertificate():System.Security.Cryptography.X509Certificates.X509Certificate2:this (FullOpts)
         118 (3.67 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateTypedSerializer(System.String,System.String,System.Xml.Serialization.XmlMapping,System.Xml.Serialization.CodeIdentifiers,System.String,System.String,System.String):System.String:this (FullOpts)
           7 (3.65 % of base) : System.Linq.dasm - System.Linq.Enumerable+UnionIterator`1[System.__Canon]:GetNext():ubyte:this (FullOpts)
          68 (3.57 % of base) : System.Net.Security.dasm - System.Net.Security.NegotiateAuthentication:CheckSpn():ubyte:this (FullOpts)
           3 (3.49 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeParameterInfo:get_DefaultValue():System.Object:this (FullOpts)
           3 (3.49 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[System.__Canon]:get_InputCount():int:this (FullOpts)
          11 (3.44 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:Decrypt(System.Span`1[ubyte],byref,byref):System.Net.SecurityStatusPal:this (FullOpts)
          18 (3.42 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:EmitIndexGet(System.Linq.Expressions.IndexExpression):this (FullOpts)
           6 (3.39 % of base) : System.Linq.dasm - System.Linq.Enumerable+IListSkipTakeIterator`1[System.__Canon]:TryGetElementAt(int,byref):System.__Canon:this (FullOpts)
          21 (3.37 % of base) : System.Private.CoreLib.dasm - System.Net.WebUtility:UrlEncode(System.String):System.String (FullOpts)
           3 (3.37 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeParameterInfo:get_RawDefaultValue():System.Object:this (FullOpts)
           6 (3.35 % of base) : System.Collections.dasm - System.Collections.Generic.SortedSet`1+TreeSubSet[System.__Canon]:IsWithinRange(System.__Canon):ubyte:this (FullOpts)
           3 (3.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.__Canon,System.Nullable`1[int]]:get_InputCount():int:this (FullOpts)
           3 (3.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[System.__Canon,System.Nullable`1[int]]:get_InputCount():int:this (FullOpts)
           3 (3.30 % of base) : System.Collections.Concurrent.dasm - System.Collections.Concurrent.BlockingCollection`1[System.__Canon]:ToArray():System.__Canon[]:this (FullOpts)
           3 (3.26 % of base) : Microsoft.Extensions.Options.dasm - Microsoft.Extensions.DependencyInjection.OptionsBuilderExtensions+<>c__DisplayClass0_1`1[System.__Canon]:<ValidateOnStart>b__1():this (FullOpts)
           3 (3.23 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeParameterInfo:GetDefaultValue(ubyte):System.Object:this (FullOpts)
          10 (3.22 % of base) : System.Linq.dasm - System.Linq.Enumerable+IEnumerableWhereIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
           9 (3.21 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.TakeOrSkipQueryOperator`1[System.__Canon]:AsSequentialQuery(System.Threading.CancellationToken):System.Collections.Generic.IEnumerable`1[System.__Canon]:this (FullOpts)
           4 (3.20 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:CreateValidIdentifier(System.String):System.String:this (FullOpts)
          41 (3.20 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TypeScope:GetEnumeratorElementType(System.Type,byref):System.Type (FullOpts)
           6 (3.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableArray`1+Builder[System.__Canon]:Sort():this (FullOpts)
           6 (3.12 % of base) : System.Linq.dasm - System.Linq.Enumerable+IListSkipTakeSelectIterator`2[System.__Canon,System.Nullable`1[int]]:TryGetElementAt(int,byref):System.Nullable`1[int]:this (FullOpts)
           8 (3.12 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.NetworkChange:remove_NetworkAddressChanged(System.Net.NetworkInformation.NetworkAddressChangedEventHandler) (FullOpts)
           6 (3.11 % of base) : System.Private.CoreLib.dasm - System.Collections.ObjectModel.ReadOnlyDictionary`2[System.__Canon,System.Nullable`1[int]]:get_Keys():System.Collections.ObjectModel.ReadOnlyDictionary`2+KeyCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
           6 (3.11 % of base) : System.Private.CoreLib.dasm - System.Collections.ObjectModel.ReadOnlyDictionary`2[System.__Canon,System.Nullable`1[int]]:get_Values():System.Collections.ObjectModel.ReadOnlyDictionary`2+ValueCollection[System.__Canon,System.Nullable`1[int]]:this (FullOpts)
          16 (3.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts)
          12 (3.10 % of base) : System.Linq.dasm - System.Linq.Enumerable+DefaultIfEmptyIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
           6 (3.05 % of base) : System.Linq.dasm - System.Linq.Enumerable+IListSkipTakeIterator`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          52 (3.04 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.__Canon,System.Nullable`1[int]]:CopyTo(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]][],int,int):this (FullOpts)
           9 (3.04 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this (FullOpts)
         172 (3.02 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriter:WriteTypedPrimitive(System.String,System.String,System.Object,ubyte):this (FullOpts)
          52 (2.98 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.__Canon]:CopyTo(System.Array,int):this (FullOpts)
           4 (2.96 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:CreateEscapedIdentifier(System.String):System.String:this (FullOpts)

Top method improvements (percentages):
        -166 (-21.28 % of base) : System.Net.Security.dasm - System.Net.Security.SslSessionsCache:<CacheCredential>g__ShrinkCredentialCache|5_0() (FullOpts)
         -17 (-20.48 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.DotNetReferenceAssembliesPathResolver:Resolve():System.String (FullOpts)
         -17 (-20.24 % of base) : System.Private.CoreLib.dasm - System.Net.WebUtility+HtmlEntities:Lookup(System.ReadOnlySpan`1[ushort]):ushort (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[double]():System.Collections.Immutable.ImmutableHashSet`1+Builder[double] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[int]():System.Collections.Immutable.ImmutableHashSet`1+Builder[int] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[long]():System.Collections.Immutable.ImmutableHashSet`1+Builder[long] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[short]():System.Collections.Immutable.ImmutableHashSet`1+Builder[short] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[System.Nullable`1[int]]():System.Collections.Immutable.ImmutableHashSet`1+Builder[System.Nullable`1[int]] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[System.Numerics.Vector`1[float]]():System.Collections.Immutable.ImmutableHashSet`1+Builder[System.Numerics.Vector`1[float]] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[ubyte]():System.Collections.Immutable.ImmutableHashSet`1+Builder[ubyte] (FullOpts)
         -12 (-18.18 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.WeakHashtable:.ctor():this (FullOpts)
         -13 (-17.81 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableStack`1[System.Numerics.Vector`1[float]] (FullOpts)
         -12 (-17.39 % of base) : System.Net.Sockets.dasm - System.Net.NetEventSource:ConnectedAsyncDns(System.Net.Sockets.Socket) (FullOpts)
         -14 (-16.87 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.XmlJsonWriter+JsonNodeWriter:.ctor():this (FullOpts)
         -14 (-16.87 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlUTF8NodeWriter:.ctor():this (FullOpts)
         -13 (-15.85 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryTypeFactory+SequenceType:.cctor() (FullOpts)
         -12 (-14.46 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.TypeDescriptor+<>c:<get_AssociationTable>b__27_0():System.ComponentModel.WeakHashtable:this (FullOpts)
         -15 (-14.42 % of base) : System.Collections.Specialized.dasm - System.Collections.Specialized.HybridDictionary:get_List():System.Collections.Specialized.ListDictionary:this (FullOpts)
         -27 (-14.21 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.ImportConventionBuilder:IsSupportedImportManyType(System.Reflection.TypeInfo):ubyte (FullOpts)
         -18 (-13.33 % of base) : System.Private.Xml.dasm - System.Xml.Schema.DatatypeImplementation:FromXdrName(System.String):System.Xml.Schema.DatatypeImplementation (FullOpts)
         -18 (-12.86 % of base) : System.Net.WebClient.dasm - System.Net.WebClient:UrlEncode(System.String):System.String (FullOpts)
         -18 (-12.86 % of base) : System.Web.HttpUtility.dasm - System.Web.HttpUtility:UrlEncode(System.String):System.String (FullOpts)
         -12 (-12.12 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:.ctor():this (FullOpts)
         -18 (-11.69 % of base) : System.Text.Json.dasm - System.Text.Json.Schema.JsonSchema:EnsureMutable(byref) (FullOpts)
         -12 (-11.54 % of base) : System.Net.Http.dasm - System.Net.NetEventSource:ContentNull(System.Object) (FullOpts)
         -12 (-11.01 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.CompositionElement:.ctor(System.Object):this (FullOpts)
         -91 (-10.92 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[double,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[int,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[long,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[short,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[ubyte,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.81 % of base) : System.Private.CoreLib.dasm - System.IO.File:CreateText(System.String):System.IO.StreamWriter (FullOpts)
        -123 (-10.78 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):this (FullOpts)
         -18 (-10.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.NewLateBinding:FallbackSetComplex(System.Object,System.String,System.Object[],ubyte,ubyte) (FullOpts)
         -18 (-10.78 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.CompositionElementExtensions:ToElementCore(System.Object):System.ComponentModel.Composition.Primitives.ICompositionElement (FullOpts)
         -18 (-10.71 % of base) : System.Net.Mail.dasm - System.Net.Mail.SendMailAsyncResult:SendMailFrom():this (FullOpts)
         -12 (-10.53 % of base) : System.Private.CoreLib.dasm - System.IO.File:AppendText(System.String):System.IO.StreamWriter (FullOpts)
         -18 (-10.47 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpConnection+ConnectAndHandshakeAsyncResult:SendHello():ubyte:this (FullOpts)
          -7 (-10.45 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.BMPEncoding:.ctor():this (FullOpts)
          -7 (-10.45 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.SpanBasedEncoding:.ctor():this (FullOpts)
         -23 (-10.36 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpAuthenticationManager:GetModules():System.Net.Mail.ISmtpAuthenticationModule[] (FullOpts)
         -12 (-10.08 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.FastInvokerBuilder:GetMakeNewInstanceFunc(System.Type):System.Func`1[System.Object] (FullOpts)
        -343 (-10.04 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[short]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[short],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[short] (FullOpts)
        -345 (-10.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[double]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[double],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[double] (FullOpts)
         -16 (-10.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CompilerParameters:get_TempFiles():System.CodeDom.Compiler.TempFileCollection:this (FullOpts)
        -341 (-9.99 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[ubyte]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[ubyte],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[ubyte]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[ubyte] (FullOpts)
        -340 (-9.95 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[long]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[long],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[long]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[long] (FullOpts)
        -339 (-9.94 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[int]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[int],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[int]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[int] (FullOpts)
         -12 (-9.92 % of base) : System.Private.CoreLib.dasm - System.IO.FileInfo:CreateText():System.IO.StreamWriter:this (FullOpts)
         -13 (-9.77 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[int]:CreateLeaf(int):System.Collections.Immutable.ImmutableList`1+Node[int] (FullOpts)
         -13 (-9.77 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[ubyte]:CreateLeaf(ubyte):System.Collections.Immutable.ImmutableList`1+Node[ubyte] (FullOpts)
         -13 (-9.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[long]:CreateLeaf(long):System.Collections.Immutable.ImmutableList`1+Node[long] (FullOpts)
         -13 (-9.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[short]:CreateLeaf(short):System.Collections.Immutable.ImmutableList`1+Node[short] (FullOpts)
         -13 (-9.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]]:CreateLeaf(System.Nullable`1[int]):System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]] (FullOpts)
         -12 (-9.68 % of base) : System.Private.CoreLib.dasm - System.IO.FileInfo:AppendText():System.IO.StreamWriter:this (FullOpts)
         -12 (-9.68 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.XmlKeyHelper+ParseState+Functions:GetElements(System.Object):System.Collections.IEnumerable (FullOpts)
         -12 (-9.23 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:.ctor(System.String):this (FullOpts)
         -12 (-9.02 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.PackageCompilationAssemblyResolver:.ctor():this (FullOpts)
         -12 (-8.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:CreateLeaf(System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]] (FullOpts)
         -12 (-8.45 % of base) : System.Data.Common.dasm - System.Data.XSDSchema:FindNameType(System.String):System.Data.XSDSchema+NameType (FullOpts)
         -12 (-8.39 % of base) : System.Private.CoreLib.dasm - System.CodeDom.Compiler.IndentedTextWriter:.ctor(System.IO.TextWriter,System.String):this (FullOpts)
         -10 (-8.33 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool:Trace(System.String,System.String):this (FullOpts)
         -12 (-8.22 % of base) : System.Data.Common.dasm - System.Data.XSDSchema:XsdtoClr(System.String):System.Type (FullOpts)
         -18 (-8.18 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteTypeInfo(System.Runtime.Serialization.XmlWriterDelegator,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString):this (FullOpts)
         -12 (-8.16 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:HlAddChild(System.String,System.Configuration.BaseConfigurationRecord):this (FullOpts)
         -12 (-8.05 % of base) : System.Runtime.Caching.dasm - System.Runtime.Caching.FileChangeNotificationSystem:.ctor():this (FullOpts)
         -12 (-8.00 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentDisposition:get_Parameters():System.Collections.Specialized.StringDictionary:this (FullOpts)
         -12 (-8.00 % of base) : System.Net.Http.dasm - System.Net.NetEventSource:Associate(System.Object,System.Object,System.Object,System.String) (FullOpts)
         -12 (-8.00 % of base) : System.Net.WebSockets.dasm - System.Net.NetEventSource:Associate(System.Object,System.Object,System.Object,System.String) (FullOpts)
         -12 (-8.00 % of base) : System.Net.Mail.dasm - System.Net.NetEventSource:Associate(System.Object,System.Object,System.Object,System.String) (FullOpts)
         -12 (-8.00 % of base) : System.Net.Requests.dasm - System.Net.NetEventSource:Associate(System.Object,System.Object,System.Object,System.String) (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.AsmxCharDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.AsmxGuidDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.BooleanDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ByteArrayDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CharDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DateDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DateTimeDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DecimalDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DoubleDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ENTITIESDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ENTITYDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.FloatDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GDayDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GMonthDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GMonthDayDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GuidDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GYearDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GYearMonthDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.HexBinaryDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IDDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IDREFDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IDREFSDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IntDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.LanguageDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.LongDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NameDataContract:.ctor():this (FullOpts)

2026 total methods with Code Size differences (1284 improved, 742 regressed), 230514 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 6, 2024

Top method regressions

213 (22.26 % of base) - System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+d__1[System.Nullable`1[int]]:MoveNext():this
 ; Assembly listing for method System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.Nullable`1[int]]:MoveNext():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; 14 single block inlinees; 9 inlinees without PGO data
+; 0 inlinees with PGO data; 18 single block inlinees; 12 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 20, 18   )   byref  ->  [rbp-0x50]  this EH-live single-def
-;  V01 loc0         [V01,T06] (  7,  7   )     int  ->  [rbp-0x2C]  do-not-enreg[Z] EH-live
-;  V02 loc1         [V02,T19] (  3,  3   )     ref  ->  rbx         class-hnd single-def <System.Threading.Tasks.TaskCompletionSourceWithCancellation`1[System.Nullable`1[int]]>
+;  V01 loc0         [V01,T07] (  7,  7   )     int  ->  [rbp-0x2C]  do-not-enreg[Z] EH-live
+;  V02 loc1         [V02,T20] (  3,  3   )     ref  ->  rbx         class-hnd single-def <System.Threading.Tasks.TaskCompletionSourceWithCancellation`1[System.Nullable`1[int]]>
 ;* V03 loc2         [V03    ] (  0,  0   )  struct ( 8) zero-ref    <System.Nullable`1[int]>
 ;  V04 loc3         [V04    ] ( 10, 10   )  struct (16) [rbp-0x40]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Nullable`1[int]]>
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Nullable`1[int]]>
 ;* V06 loc5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Exception>
-;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+;  V07 OutArgs      [V07    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
-;  V09 tmp2         [V09,T13] (  2,  4   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Threading.CancellationToken]>
-;  V10 tmp3         [V10,T14] (  2,  4   )   byref  ->  r15         single-def "impSpillLclRefs"
+;  V09 tmp2         [V09,T15] (  2,  4   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Threading.CancellationToken]>
+;  V10 tmp3         [V10,T16] (  2,  4   )   byref  ->  r15         single-def "impSpillLclRefs"
 ;* V11 tmp4         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;* V12 tmp5         [V12    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V13 tmp6         [V13,T12] (  5,  5   )     ref  ->  rsi        
-;  V14 tmp7         [V14,T03] (  5, 10   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Object,System.Threading.CancellationToken]>
-;  V15 tmp8         [V15,T31] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
-;  V16 tmp9         [V16,T15] (  2,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<>c[System.Nullable`1[int]]>
-;* V17 tmp10        [V17    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Inline return value spill temp" <System.Threading.CancellationTokenRegistration>
-;  V18 tmp11        [V18,T20] (  3,  3   )     ref  ->  rdx         class-hnd single-def "Inline stloc first use temp" <System.Threading.CancellationTokenSource>
+;  V13 tmp6         [V13,T14] (  5,  5   )     ref  ->  rsi        
+;  V14 tmp7         [V14,T04] (  5, 10   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Object,System.Threading.CancellationToken]>
+;  V15 tmp8         [V15,T34] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Inline return value spill temp" <System.Threading.CancellationTokenRegistration>
+;  V17 tmp10        [V17,T21] (  3,  3   )     ref  ->  rdx         class-hnd single-def "Inline stloc first use temp" <System.Threading.CancellationTokenSource>
+;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V20 tmp13        [V20    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V21 tmp14        [V21    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V22 tmp15        [V22    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V23 tmp16        [V23    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V24 tmp17        [V24    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V25 tmp18        [V25    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V28 tmp21        [V28    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V29 tmp22        [V29    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V30 tmp23        [V30    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V31 tmp24        [V31    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V32 tmp25        [V32    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref   
-;* V34 tmp27        [V34    ] (  0,  0   )     ref  ->  zero-ref   
-;* V35 tmp28        [V35    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Threading.CancellationTokenRegistration>
-;* V36 tmp29        [V36    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationTokenRegistration>
-;  V37 tmp30        [V37,T08] (  3,  6   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
-;* V38 tmp31        [V38    ] (  0,  0   )     ref  ->  zero-ref   
-;* V39 tmp32        [V39    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V40 tmp33        [V40    ] (  0,  0   )     int  ->  zero-ref   
-;* V41 tmp34        [V41    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Nullable`1[int]]>
-;* V42 tmp35        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Nullable`1[int]]>
-;* V43 tmp36        [V43,T28] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V44 tmp37        [V44,T16] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
-;* V45 tmp38        [V45    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V34 tmp27        [V34    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Threading.CancellationTokenRegistration>
+;* V35 tmp28        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationTokenRegistration>
+;  V36 tmp29        [V36,T09] (  3,  6   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
+;* V37 tmp30        [V37    ] (  0,  0   )     ref  ->  zero-ref   
+;* V38 tmp31        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;* V39 tmp32        [V39    ] (  0,  0   )     int  ->  zero-ref   
+;* V40 tmp33        [V40    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Nullable`1[int]]>
+;* V41 tmp34        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Nullable`1[int]]>
+;* V42 tmp35        [V42,T31] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V43 tmp36        [V43,T17] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
+;* V44 tmp37        [V44    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V45 tmp38        [V45    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V47 tmp40        [V47    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V48 tmp41        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-;  V49 tmp42        [V49,T09] (  3,  6   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
-;  V50 tmp43        [V50,T10] (  3,  6   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
-;  V51 tmp44        [V51,T01] (  8, 16   )   byref  ->  r14         "Inlining Arg"
-;  V52 tmp45        [V52,T02] ( 14, 14   )     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.CancellationTokenSource+CallbackNode>
-;  V53 tmp46        [V53,T07] (  6,  6   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.CancellationTokenSource>
-;* V54 tmp47        [V54    ] (  0,  0   )     int  ->  zero-ref    "non-inline candidate call"
-;  V55 tmp48        [V55,T05] (  4,  8   )    long  ->  r12         "Inlining Arg"
-;  V56 tmp49        [V56,T04] (  5, 10   )   byref  ->  r13         single-def "Inlining Arg"
-;  V57 tmp50        [V57,T24] (  3,  3   )   ubyte  ->  rbx         "field V03.hasValue (fldOffset=0x0)" P-INDEP
-;  V58 tmp51        [V58,T25] (  3,  3   )     int  ->  r15         "field V03.value (fldOffset=0x4)" P-INDEP
-;  V59 tmp52        [V59    ] (  7,  7   )     ref  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V04.m_task (fldOffset=0x0)" P-DEP
-;  V60 tmp53        [V60    ] (  5,  5   )     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V04.m_options (fldOffset=0x8)" P-DEP
-;  V61 tmp54        [V61,T21] (  3,  3   )     ref  ->  rax         single-def "field V17._node (fldOffset=0x0)" P-INDEP
-;  V62 tmp55        [V62,T26] (  3,  3   )    long  ->  r15         "field V17._id (fldOffset=0x8)" P-INDEP
-;* V63 tmp56        [V63    ] (  0,  0   )     ref  ->  zero-ref    "field V35._node (fldOffset=0x0)" P-DEP
-;* V64 tmp57        [V64    ] (  0,  0   )    long  ->  zero-ref    "field V35._id (fldOffset=0x8)" P-DEP
-;* V65 tmp58        [V65    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V36._node (fldOffset=0x0)" P-INDEP
-;* V66 tmp59        [V66    ] (  0,  0   )    long  ->  zero-ref    "field V36._id (fldOffset=0x8)" P-INDEP
-;  V67 tmp60        [V67,T27] (  2,  2   )     ref  ->  rsi         single-def "field V42.m_task (fldOffset=0x0)" P-INDEP
-;* V68 tmp61        [V68,T29] (  0,  0   )     int  ->  zero-ref    "field V42.m_options (fldOffset=0x8)" P-INDEP
-;  V69 tmp62        [V69,T11] (  3,  6   )  struct ( 8) [rbp-0x48]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
-;  V70 tmp63        [V70,T17] (  2,  4   )     ref  ->  rdi         single-def "argument with side effect"
-;  V71 tmp64        [V71,T18] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V72 PSPSym       [V72,T30] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
-;  V73 cse0         [V73,T22] (  3,  3   )   byref  ->  rsi         "CSE #02: moderate"
-;  V74 cse1         [V74,T23] (  3,  3   )     ref  ->  rdi         "CSE #05: moderate"
+;* V47 tmp40        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+;  V48 tmp41        [V48,T10] (  3,  6   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
+;  V49 tmp42        [V49,T11] (  3,  6   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
+;  V50 tmp43        [V50,T01] (  8, 16   )   byref  ->  r14         "Inlining Arg"
+;  V51 tmp44        [V51,T02] ( 14, 14   )     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.CancellationTokenSource+CallbackNode>
+;  V52 tmp45        [V52,T08] (  6,  6   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.CancellationTokenSource>
+;* V53 tmp46        [V53    ] (  0,  0   )     int  ->  zero-ref    "non-inline candidate call"
+;  V54 tmp47        [V54,T06] (  4,  8   )    long  ->  r12         "Inlining Arg"
+;  V55 tmp48        [V55,T05] (  5, 10   )   byref  ->  r13         single-def "Inlining Arg"
+;  V56 tmp49        [V56,T12] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
+;  V57 tmp50        [V57,T03] (  6, 12   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
+;* V58 tmp51        [V58    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
+;  V59 tmp52        [V59,T19] (  2,  4   )     int  ->  r12         "Inlining Arg"
+;* V60 tmp53        [V60    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V61 tmp54        [V61,T26] (  3,  3   )   ubyte  ->  rbx         "field V03.hasValue (fldOffset=0x0)" P-INDEP
+;  V62 tmp55        [V62,T27] (  3,  3   )     int  ->  r15         "field V03.value (fldOffset=0x4)" P-INDEP
+;  V63 tmp56        [V63    ] (  7,  7   )     ref  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V04.m_task (fldOffset=0x0)" P-DEP
+;  V64 tmp57        [V64    ] (  5,  5   )     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V04.m_options (fldOffset=0x8)" P-DEP
+;  V65 tmp58        [V65,T22] (  3,  3   )     ref  ->  rax         single-def "field V16._node (fldOffset=0x0)" P-INDEP
+;  V66 tmp59        [V66,T28] (  3,  3   )    long  ->  r15         "field V16._id (fldOffset=0x8)" P-INDEP
+;* V67 tmp60        [V67    ] (  0,  0   )     ref  ->  zero-ref    "field V34._node (fldOffset=0x0)" P-DEP
+;* V68 tmp61        [V68    ] (  0,  0   )    long  ->  zero-ref    "field V34._id (fldOffset=0x8)" P-DEP
+;* V69 tmp62        [V69    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V35._node (fldOffset=0x0)" P-INDEP
+;* V70 tmp63        [V70    ] (  0,  0   )    long  ->  zero-ref    "field V35._id (fldOffset=0x8)" P-INDEP
+;  V71 tmp64        [V71,T30] (  2,  2   )     ref  ->  rsi         single-def "field V41.m_task (fldOffset=0x0)" P-INDEP
+;* V72 tmp65        [V72,T32] (  0,  0   )     int  ->  zero-ref    "field V41.m_options (fldOffset=0x8)" P-INDEP
+;  V73 tmp66        [V73,T13] (  3,  6   )  struct ( 8) [rbp-0x48]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
+;  V74 tmp67        [V74,T18] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V75 PSPSym       [V75,T33] (  1,  1   )    long  ->  [rbp-0x58]  do-not-enreg[V] "PSPSym"
+;  V76 cse0         [V76,T23] (  3,  3   )     ref  ->  r13         "CSE #10: moderate"
+;  V77 cse1         [V77,T29] (  3,  3   )     int  ->  rsi         "CSE #11: moderate"
+;  V78 cse2         [V78,T24] (  3,  3   )   byref  ->  rsi         "CSE #02: moderate"
+;  V79 cse3         [V79,T25] (  3,  3   )     ref  ->  r14         "CSE #05: moderate"
 ;
 ; Lcl frame size = 56
 
 G_M38844_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 56
        lea      rbp, [rsp+0x60]
        xor      eax, eax
        mov      qword ptr [rbp-0x40], rax
-       mov      qword ptr [rbp-0x60], rsp
+       mov      qword ptr [rbp-0x58], rsp
        mov      bword ptr [rbp-0x50], rdi
 						;; size=33 bbWeight=1 PerfScore 10.00
 G_M38844_IG02:
        mov      eax, dword ptr [rdi+0x08]
        mov      dword ptr [rbp-0x2C], eax
        mov      rbx, gword ptr [rdi]
 						;; size=9 bbWeight=1 PerfScore 5.00
 G_M38844_IG03:
        cmp      dword ptr [rbp-0x2C], 0
        je       G_M38844_IG07
        lea      r15, bword ptr [rdi+0x20]
        mov      rax, 0xD1FFAB1E      ; data for System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<>c[System.Nullable`1[int]]:<>9__1_0
        mov      rsi, gword ptr [rax]
        test     rsi, rsi
        jne      SHORT G_M38844_IG04
        mov      rdi, 0xD1FFAB1E      ; System.Action`2[System.Object,System.Threading.CancellationToken]
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rdi]
        lea      rdi, bword ptr [r14+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<>c[System.Nullable`1[int]]:<WaitWithCancellationAsync>b__1_0(System.Object,System.Threading.CancellationToken):this
        mov      qword ptr [r14+0x18], rdi
        mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<>c[System.Nullable`1[int]]:<>9__1_0
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        mov      rsi, r14
 						;; size=107 bbWeight=1 PerfScore 15.25
 G_M38844_IG04:
        test     rsi, rsi
        je       G_M38844_IG19
        mov      rdx, gword ptr [r15]
        test     rdx, rdx
        je       SHORT G_M38844_IG05
        mov      rdi, rdx
        mov      rdx, rbx
        xor      rcx, rcx
        xor      r8, r8
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource:Register(System.Delegate,System.Object,System.Threading.SynchronizationContext,System.Threading.ExecutionContext):System.Threading.CancellationTokenRegistration:this
        call     [rax]System.Threading.CancellationTokenSource:Register(System.Delegate,System.Object,System.Threading.SynchronizationContext,System.Threading.ExecutionContext):System.Threading.CancellationTokenRegistration:this
        mov      r15, rdx
        jmp      SHORT G_M38844_IG06
 						;; size=45 bbWeight=1 PerfScore 11.00
 G_M38844_IG05:
        xor      rax, rax
        xor      r15d, r15d
 						;; size=5 bbWeight=1 PerfScore 0.50
 G_M38844_IG06:
        mov      rdi, bword ptr [rbp-0x50]
        lea      rdi, bword ptr [rdi+0x28]
        mov      rsi, rax
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        mov      rdi, bword ptr [rbp-0x50]
        mov      qword ptr [rdi+0x30], r15
 						;; size=24 bbWeight=1 PerfScore 4.75
 G_M38844_IG07:
        cmp      dword ptr [rbp-0x2C], 0
        jne      SHORT G_M38844_IG12
        lea      rsi, bword ptr [rdi+0x38]
 						;; size=10 bbWeight=1 PerfScore 3.50
 G_M38844_IG08:
        vmovdqu  xmm0, xmmword ptr [rsi]
        vmovdqu  xmmword ptr [rbp-0x40], xmm0
 						;; size=9 bbWeight=1 PerfScore 5.00
 G_M38844_IG09:
        xor      eax, eax
        mov      qword ptr [rsi], rax
        mov      qword ptr [rsi+0x08], rax
        mov      dword ptr [rbp-0x2C], -1
        mov      dword ptr [rdi+0x08], -1
 						;; size=23 bbWeight=1 PerfScore 4.25
 G_M38844_IG10:
        mov      rsi, gword ptr [rbp-0x40]
        mov      eax, dword ptr [rsi+0x34]
        and      eax, 0xD1FFAB1E
        cmp      eax, 0xD1FFAB1E
        je       SHORT G_M38844_IG11
        mov      rdi, rsi
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        call     [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
 						;; size=36 bbWeight=1 PerfScore 8.25
 G_M38844_IG11:
        mov      rsi, gword ptr [rbp-0x40]
        movzx    rbx, byte  ptr [rsi+0x38]
        mov      r15d, dword ptr [rsi+0x3C]
        jmp      SHORT G_M38844_IG16
 						;; size=14 bbWeight=1 PerfScore 7.00
 G_M38844_IG12:
        mov      rsi, gword ptr [rbx+0x08]
        cmp      byte  ptr [rsi], sil
        mov      gword ptr [rbp-0x40], rsi
        xor      esi, esi
        mov      dword ptr [rbp-0x38], esi
        test     byte  ptr [rbp-0x38], 4
        je       SHORT G_M38844_IG15
 						;; size=22 bbWeight=1 PerfScore 10.25
 G_M38844_IG13:
        xor      esi, esi
        mov      dword ptr [rbp-0x2C], esi
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M38844_IG14:
        mov      dword ptr [rdi+0x08], esi
        lea      rdi, bword ptr [rdi+0x38]
        mov      rsi, gword ptr [rbp-0x40]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        mov      esi, dword ptr [rbp-0x38]
        mov      r13, bword ptr [rbp-0x50]
        mov      dword ptr [r13+0x40], esi
        lea      rsi, bword ptr [r13+0x10]
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Nullable`1[int]]:GetStateMachineBox[System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.Nullable`1[int]]](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Nullable`1[int]]:GetStateMachineBox[System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.Nullable`1[int]]](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        mov      rsi, rax
        lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Nullable`1[int]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Nullable`1[int]]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Nullable`1[int]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Nullable`1[int]]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        jmp      G_M38844_IG17
 						;; size=70 bbWeight=1 PerfScore 16.50
 G_M38844_IG15:
        mov      rsi, gword ptr [rbp-0x40]
        test     dword ptr [rsi+0x34], 0xD1FFAB1E
        jne      G_M38844_IG10
        jmp      SHORT G_M38844_IG13
 						;; size=19 bbWeight=1 PerfScore 7.00
 G_M38844_IG16:
        cmp      dword ptr [rbp-0x2C], 0
        jge      G_M38844_IG20
        mov      rdi, bword ptr [rbp-0x50]
        lea      r14, bword ptr [rdi+0x28]
        mov      r13, gword ptr [r14]
        test     r13, r13
        je       G_M38844_IG20
        mov      rdi, gword ptr [r13+0x08]
        mov      rsi, qword ptr [r14+0x08]
        mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource+Registrations:Unregister(long,System.Threading.CancellationTokenSource+CallbackNode):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.CancellationTokenSource+Registrations:Unregister(long,System.Threading.CancellationTokenSource+CallbackNode):ubyte:this
        test     eax, eax
        jne      SHORT G_M38844_IG20
        mov      r12, qword ptr [r14+0x08]
        mov      rax, gword ptr [r13+0x08]
        mov      rax, gword ptr [rax+0x08]
        cmp      dword ptr [rax+0x20], 0
        je       SHORT G_M38844_IG20
        cmp      dword ptr [rax+0x20], 2
        je       SHORT G_M38844_IG20
        mov      rax, gword ptr [r13+0x08]
        mov      r14d, dword ptr [rax+0x30]
        call     System.Environment:get_CurrentManagedThreadId():int
        cmp      r14d, eax
        je       SHORT G_M38844_IG20
        mov      rdi, gword ptr [r13+0x08]
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource+Registrations:WaitForCallbackToComplete(long):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.CancellationTokenSource+Registrations:WaitForCallbackToComplete(long):this
        jmp      SHORT G_M38844_IG20
 						;; size=124 bbWeight=1 PerfScore 50.25
 G_M38844_IG17:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M38844_IG18:
-       call     G_M38844_IG26
-       jmp      G_M38844_IG23
+       call     G_M38844_IG30
+       jmp      G_M38844_IG25
 						;; size=10 bbWeight=1 PerfScore 3.00
 G_M38844_IG19:
        mov      edi, 0x9D7
        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_M38844_IG20:
        mov      rdi, bword ptr [rbp-0x50]
        mov      dword ptr [rdi+0x08], -2
        lea      r13, bword ptr [rdi+0x10]
-       mov      rdi, gword ptr [r13]
-       test     rdi, rdi
-       je       SHORT G_M38844_IG21
+       mov      r14, gword ptr [r13]
+       test     r14, r14
+       je       G_M38844_IG23
+       mov      rdi, 0xD1FFAB1E      ; global ptr
+       test     byte  ptr [rdi], 1
+       je       G_M38844_IG27
+						;; size=47 bbWeight=1 PerfScore 10.00
+G_M38844_IG21:
+       mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.TplEventSource:Log
+       mov      r13, gword ptr [rdi]
+       cmp      byte  ptr [r13+0x9D], 0
+       je       SHORT G_M38844_IG22
+       mov      rdi, r14
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
+       cmp      dword ptr [rdi], edi
+       call     [rax]System.Threading.Tasks.Task:get_Id():int:this
+       mov      r12d, eax
+       movzx    rsi, byte  ptr [r13+0x9D]
+       test     esi, esi
+       je       SHORT G_M38844_IG22
+       xor      ecx, ecx
+       mov      dword ptr [rsp], ecx
+       mov      rcx, qword ptr [r13+0x80]
+       mov      edx, dword ptr [r13+0x98]
+       mov      rdi, r13
+       mov      r8d, 4
+       mov      r9d, 8
+       mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
+       call     [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
+       test     eax, eax
+       je       SHORT G_M38844_IG22
+       mov      rdi, r13
+       mov      edx, r12d
+       mov      esi, 15
+       mov      ecx, 1
+       mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
+       call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
+						;; size=133 bbWeight=1 PerfScore 31.00
+G_M38844_IG22:
        mov      byte  ptr [rbp-0x48], bl
        mov      dword ptr [rbp-0x44], r15d
        mov      rsi, qword ptr [rbp-0x48]
-       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Nullable`1[int]]:SetExistingTaskResult(System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Nullable`1[int])
-       call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Nullable`1[int]]:SetExistingTaskResult(System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Nullable`1[int])
-       jmp      SHORT G_M38844_IG23
-						;; size=49 bbWeight=1 PerfScore 14.00
-G_M38844_IG21:
+       mov      rdi, r14
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task`1[System.Nullable`1[int]]:TrySetResult(System.Nullable`1[int]):ubyte:this
+       cmp      dword ptr [rdi], edi
+       call     [rax]System.Threading.Tasks.Task`1[System.Nullable`1[int]]:TrySetResult(System.Nullable`1[int]):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M38844_IG25
+       jmp      SHORT G_M38844_IG28
+						;; size=34 bbWeight=1 PerfScore 12.75
+G_M38844_IG23:
        mov      byte  ptr [r13+0x08], bl
        mov      dword ptr [r13+0x0C], r15d
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       SHORT G_M38844_IG25
+       je       SHORT G_M38844_IG29
 						;; size=23 bbWeight=1 PerfScore 6.25
-G_M38844_IG22:
+G_M38844_IG24:
        mov      rdi, 0xD1FFAB1E      ; data for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.Nullable`1[int]]:s_syncSuccessSentinel
        mov      rsi, gword ptr [rdi]
        mov      rdi, r13
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
 						;; size=21 bbWeight=1 PerfScore 3.50
-G_M38844_IG23:
+G_M38844_IG25:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M38844_IG24:
+G_M38844_IG26:
        add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M38844_IG25:
+G_M38844_IG27:
+       mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TplEventSource
+       call     CORINFO_HELP_GET_GCSTATIC_BASE
+       jmp      G_M38844_IG21
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M38844_IG28:
+       mov      edi, 24
+       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowInvalidOperationException(int)
+       call     [rax]System.ThrowHelper:ThrowInvalidOperationException(int)
+       int3     
+						;; size=18 bbWeight=0 PerfScore 0.00
+G_M38844_IG29:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.Nullable`1[int]]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       jmp      SHORT G_M38844_IG22
+       jmp      SHORT G_M38844_IG24
 						;; size=17 bbWeight=0 PerfScore 0.00
-G_M38844_IG26:
+G_M38844_IG30:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       push     rax
-       mov      rbp, qword ptr [rdi]
-       mov      qword ptr [rsp], rbp
+       sub      rsp, 24
+       mov      rbp, qword ptr [rdi+0x08]
+       mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0x60]
-						;; size=22 bbWeight=1 PerfScore 10.50
-G_M38844_IG27:
+						;; size=27 bbWeight=1 PerfScore 9.75
+G_M38844_IG31:
        cmp      dword ptr [rbp-0x2C], 0
-       jge      SHORT G_M38844_IG28
+       jge      SHORT G_M38844_IG32
        mov      r13, bword ptr [rbp-0x50]
        lea      r14, bword ptr [r13+0x28]
        mov      rdi, gword ptr [r14]
        mov      rbx, rdi
        test     rbx, rbx
-       je       SHORT G_M38844_IG28
+       je       SHORT G_M38844_IG32
        mov      rdi, gword ptr [rbx+0x08]
        mov      rsi, qword ptr [r14+0x08]
        mov      rdx, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource+Registrations:Unregister(long,System.Threading.CancellationTokenSource+CallbackNode):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.CancellationTokenSource+Registrations:Unregister(long,System.Threading.CancellationTokenSource+CallbackNode):ubyte:this
        test     eax, eax
-       jne      SHORT G_M38844_IG28
+       jne      SHORT G_M38844_IG32
        mov      r12, qword ptr [r14+0x08]
        mov      rax, gword ptr [rbx+0x08]
        mov      rax, gword ptr [rax+0x08]
        cmp      dword ptr [rax+0x20], 0
-       je       SHORT G_M38844_IG28
+       je       SHORT G_M38844_IG32
        cmp      dword ptr [rax+0x20], 2
-       je       SHORT G_M38844_IG28
+       je       SHORT G_M38844_IG32
        mov      rax, gword ptr [rbx+0x08]
        mov      r15d, dword ptr [rax+0x30]
        call     System.Environment:get_CurrentManagedThreadId():int
        cmp      r15d, eax
-       je       SHORT G_M38844_IG28
+       je       SHORT G_M38844_IG32
        mov      rdi, gword ptr [rbx+0x08]
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource+Registrations:WaitForCallbackToComplete(long):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.CancellationTokenSource+Registrations:WaitForCallbackToComplete(long):this
 						;; size=117 bbWeight=1 PerfScore 48.50
-G_M38844_IG28:
+G_M38844_IG32:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M38844_IG29:
-       add      rsp, 8
+G_M38844_IG33:
+       add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M38844_IG30:
+G_M38844_IG34:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       push     rax
-       mov      rbp, qword ptr [rdi]
-       mov      qword ptr [rsp], rbp
+       sub      rsp, 24
+       mov      rbp, qword ptr [rdi+0x08]
+       mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0x60]
-						;; size=22 bbWeight=0 PerfScore 0.00
-G_M38844_IG31:
+						;; size=27 bbWeight=0 PerfScore 0.00
+G_M38844_IG35:
        mov      r13, bword ptr [rbp-0x50]
        mov      dword ptr [r13+0x08], -2
        lea      rdi, bword ptr [r13+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.Nullable`1[int]]:SetException(System.Exception):this
        call     [rax]System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.Nullable`1[int]]:SetException(System.Exception):this
-       lea      rax, G_M38844_IG23
+       lea      rax, G_M38844_IG25
 						;; size=35 bbWeight=0 PerfScore 0.00
-G_M38844_IG32:
-       add      rsp, 8
+G_M38844_IG36:
+       add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 957, prolog size 33, PerfScore 254.75, instruction count 260, allocated bytes for code 957 (MethodHash=77d76843) for method System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.Nullable`1[int]]:MoveNext():this (FullOpts)
+; Total bytes of code 1170, prolog size 33, PerfScore 293.75, instruction count 303, allocated bytes for code 1170 (MethodHash=77d76843) for method System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.Nullable`1[int]]:MoveNext():this (FullOpts)
 ; ============================================================
76 (11.50 % of base) - System.Linq.Expressions.Interpreter.LightCompiler:CompileThrowUnaryExpression(System.Linq.Expressions.Expression,ubyte):this
 ; Assembly listing for method System.Linq.Expressions.Interpreter.LightCompiler:CompileThrowUnaryExpression(System.Linq.Expressions.Expression,ubyte):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 13,  7.50)     ref  ->  rbx         this class-hnd single-def <System.Linq.Expressions.Interpreter.LightCompiler>
 ;  V01 arg1         [V01,T06] (  4,  3   )     ref  ->  rsi         class-hnd single-def <System.Linq.Expressions.Expression>
 ;  V02 arg2         [V02,T07] (  4,  3   )   ubyte  ->  r15         single-def
-;  V03 loc0         [V03,T24] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def <System.Linq.Expressions.UnaryExpression>
+;  V03 loc0         [V03,T20] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def <System.Linq.Expressions.UnaryExpression>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Linq.Expressions.ParameterExpression>
-;  V06 tmp2         [V06,T12] (  4,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Stack`1[System.Linq.Expressions.ParameterExpression]>
-;  V07 tmp3         [V07,T32] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
-;  V08 tmp4         [V08,T26] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.ParameterExpression[]>
+;  V06 tmp2         [V06,T08] (  4,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Stack`1[System.Linq.Expressions.ParameterExpression]>
+;  V07 tmp3         [V07,T28] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
+;  V08 tmp4         [V08,T22] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.ParameterExpression[]>
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Linq.Expressions.ParameterExpression>
-;  V10 tmp6         [V10,T13] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.InstructionList>
-;  V11 tmp7         [V11,T08] (  4,  4   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.ThrowInstruction>
-;  V12 tmp8         [V12,T01] (  7,  7   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Interpreter.Instruction]>
-;  V13 tmp9         [V13,T27] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Interpreter.Instruction[]>
-;  V14 tmp10        [V14,T19] (  4,  2   )     int  ->  r14         "Inline stloc first use temp"
-;  V15 tmp11        [V15,T14] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.InstructionList>
-;  V16 tmp12        [V16,T09] (  4,  4   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.ThrowInstruction>
-;  V17 tmp13        [V17,T02] (  7,  7   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Interpreter.Instruction]>
-;  V18 tmp14        [V18,T28] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Interpreter.Instruction[]>
-;  V19 tmp15        [V19,T20] (  4,  2   )     int  ->  r14         "Inline stloc first use temp"
-;  V20 tmp16        [V20,T15] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Linq.Expressions.Expression>
-;  V21 tmp17        [V21,T25] (  2,  2   )     int  ->  r13         "impAppendStmt"
-;  V22 tmp18        [V22,T16] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.InstructionList>
-;  V23 tmp19        [V23,T10] (  4,  4   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.ThrowInstruction>
-;  V24 tmp20        [V24,T03] (  7,  7   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Interpreter.Instruction]>
-;  V25 tmp21        [V25,T29] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Interpreter.Instruction[]>
-;  V26 tmp22        [V26,T21] (  4,  2   )     int  ->  r14         "Inline stloc first use temp"
-;  V27 tmp23        [V27,T17] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.InstructionList>
-;  V28 tmp24        [V28,T11] (  4,  4   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.ThrowInstruction>
-;  V29 tmp25        [V29,T04] (  7,  7   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Interpreter.Instruction]>
-;  V30 tmp26        [V30,T30] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Interpreter.Instruction[]>
-;  V31 tmp27        [V31,T22] (  4,  2   )     int  ->  r14         "Inline stloc first use temp"
-;  V32 cse0         [V32,T18] (  3,  2.50)     ref  ->  r14         "CSE #11: moderate"
-;  V33 cse1         [V33,T33] (  2,  1   )     int  ->  rcx         "CSE #01: moderate"
-;  V34 cse2         [V34,T31] (  3,  1.50)     ref  ->  rdi         "CSE #12: moderate"
-;  V35 rat0         [V35,T05] (  4,  7   )     ref  ->  rdi         "replacement local"
-;  V36 rat1         [V36,T23] (  3,  2   )    long  ->  rax         "CSE for expectedClsNode"
+;  V10 tmp6         [V10,T09] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.InstructionList>
+;  V11 tmp7         [V11,T01] (  7,  7   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Interpreter.Instruction]>
+;  V12 tmp8         [V12,T23] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Interpreter.Instruction[]>
+;  V13 tmp9         [V13,T15] (  4,  2   )     int  ->  r15         "Inline stloc first use temp"
+;  V14 tmp10        [V14,T10] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.InstructionList>
+;  V15 tmp11        [V15,T02] (  7,  7   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Interpreter.Instruction]>
+;  V16 tmp12        [V16,T24] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Interpreter.Instruction[]>
+;  V17 tmp13        [V17,T16] (  4,  2   )     int  ->  r15         "Inline stloc first use temp"
+;  V18 tmp14        [V18,T11] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Linq.Expressions.Expression>
+;  V19 tmp15        [V19,T21] (  2,  2   )     int  ->  r13         "impAppendStmt"
+;  V20 tmp16        [V20,T12] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.InstructionList>
+;  V21 tmp17        [V21,T03] (  7,  7   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Interpreter.Instruction]>
+;  V22 tmp18        [V22,T25] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Interpreter.Instruction[]>
+;  V23 tmp19        [V23,T17] (  4,  2   )     int  ->  r15         "Inline stloc first use temp"
+;  V24 tmp20        [V24,T13] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Linq.Expressions.Interpreter.InstructionList>
+;  V25 tmp21        [V25,T04] (  7,  7   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Interpreter.Instruction]>
+;  V26 tmp22        [V26,T26] (  3,  1.50)     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Interpreter.Instruction[]>
+;  V27 tmp23        [V27,T18] (  4,  2   )     int  ->  r15         "Inline stloc first use temp"
+;  V28 cse0         [V28,T14] (  3,  2.50)     ref  ->  r14         "CSE #13: moderate"
+;  V29 cse1         [V29,T29] (  2,  1   )     int  ->  rcx         "CSE #01: moderate"
+;  V30 cse2         [V30,T27] (  3,  1.50)     ref  ->  rdi         "CSE #14: moderate"
+;  V31 rat0         [V31,T05] (  4,  7   )     ref  ->  rdi         "replacement local"
+;  V32 rat1         [V32,T19] (  3,  2   )    long  ->  rax         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 0
 
 G_M35787_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        mov      r15d, edx
 						;; size=19 bbWeight=1 PerfScore 6.00
 G_M35787_IG02:
        mov      rdi, rsi
        test     rdi, rdi
        je       SHORT G_M35787_IG04
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M35787_IG03:
        mov      rax, 0xD1FFAB1E      ; System.Linq.Expressions.UnaryExpression
        cmp      qword ptr [rdi], rax
        jne      G_M35787_IG23
 						;; size=19 bbWeight=0.50 PerfScore 2.12
 G_M35787_IG04:
        mov      r14, gword ptr [rdi+0x10]
        test     r14, r14
        je       G_M35787_IG14
 						;; size=13 bbWeight=1 PerfScore 3.25
 G_M35787_IG05:
        mov      rdi, rbx
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Interpreter.LightCompiler:TryPushLabelBlock(System.Linq.Expressions.Expression):ubyte:this
        call     [rax]System.Linq.Expressions.Interpreter.LightCompiler:TryPushLabelBlock(System.Linq.Expressions.Expression):ubyte:this
        mov      r13d, eax
        mov      rdi, rbx
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Interpreter.LightCompiler:CompileNoLabelPush(System.Linq.Expressions.Expression):this
        call     [rax]System.Linq.Expressions.Interpreter.LightCompiler:CompileNoLabelPush(System.Linq.Expressions.Expression):this
        test     r13d, r13d
        je       SHORT G_M35787_IG06
        mov      rdi, gword ptr [rbx+0x28]
        mov      esi, dword ptr [rdi+0x18]
        mov      rsi, gword ptr [rdi+0x10]
        lea      rdi, bword ptr [rbx+0x28]
        call     CORINFO_HELP_ASSIGN_REF
 						;; size=64 bbWeight=0.50 PerfScore 8.25
 G_M35787_IG06:
        test     r15b, r15b
-       jne      SHORT G_M35787_IG10
+       jne      G_M35787_IG10
        mov      rbx, gword ptr [rbx+0x08]
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r15, gword ptr [rdi]
        mov      rdi, gword ptr [rbx+0x08]
        inc      dword ptr [rdi+0x14]
        mov      rax, gword ptr [rdi+0x08]
-       mov      r14d, dword ptr [rdi+0x10]
-       cmp      dword ptr [rax+0x08], r14d
+       mov      r15d, dword ptr [rdi+0x10]
+       cmp      dword ptr [rax+0x08], r15d
        ja       SHORT G_M35787_IG07
-       mov      rsi, r15
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        jmp      SHORT G_M35787_IG08
-						;; size=60 bbWeight=0.50 PerfScore 12.00
+						;; size=61 bbWeight=0.50 PerfScore 11.88
 G_M35787_IG07:
-       lea      esi, [r14+0x01]
-       mov      dword ptr [rdi+0x10], esi
-       movsxd   rsi, r14d
+       lea      edx, [r15+0x01]
+       mov      dword ptr [rdi+0x10], edx
+       mov      rdx, 0xD1FFAB1E      ; const ptr
+       mov      rdx, gword ptr [rdx]
+       movsxd   rsi, r15d
        mov      rdi, rax
-       mov      rdx, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-						;; size=28 bbWeight=0.50 PerfScore 2.75
+						;; size=38 bbWeight=0.50 PerfScore 3.75
 G_M35787_IG08:
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
        mov      rdi, rbx
-       mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Interpreter.InstructionList:UpdateStackDepth(System.Linq.Expressions.Interpreter.Instruction):this
-						;; size=16 bbWeight=0.50 PerfScore 0.38
+						;; size=26 bbWeight=0.50 PerfScore 1.38
 G_M35787_IG09:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax]System.Linq.Expressions.Interpreter.InstructionList:UpdateStackDepth(System.Linq.Expressions.Interpreter.Instruction):this
 						;; size=11 bbWeight=0.50 PerfScore 2.25
 G_M35787_IG10:
        mov      rbx, gword ptr [rbx+0x08]
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r15, gword ptr [rdi]
        mov      rdi, gword ptr [rbx+0x08]
        inc      dword ptr [rdi+0x14]
        mov      rax, gword ptr [rdi+0x08]
-       mov      r14d, dword ptr [rdi+0x10]
-       cmp      dword ptr [rax+0x08], r14d
+       mov      r15d, dword ptr [rdi+0x10]
+       cmp      dword ptr [rax+0x08], r15d
        ja       SHORT G_M35787_IG11
-       mov      rsi, r15
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        jmp      SHORT G_M35787_IG12
-						;; size=55 bbWeight=0.50 PerfScore 11.38
+						;; size=52 bbWeight=0.50 PerfScore 11.25
 G_M35787_IG11:
-       lea      esi, [r14+0x01]
-       mov      dword ptr [rdi+0x10], esi
-       movsxd   rsi, r14d
+       lea      edx, [r15+0x01]
+       mov      dword ptr [rdi+0x10], edx
+       mov      rdx, 0xD1FFAB1E      ; const ptr
+       mov      rdx, gword ptr [rdx]
+       movsxd   rsi, r15d
        mov      rdi, rax
-       mov      rdx, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-						;; size=28 bbWeight=0.50 PerfScore 2.75
+						;; size=38 bbWeight=0.50 PerfScore 3.75
 G_M35787_IG12:
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
        mov      rdi, rbx
-       mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Interpreter.InstructionList:UpdateStackDepth(System.Linq.Expressions.Interpreter.Instruction):this
-						;; size=16 bbWeight=0.50 PerfScore 0.38
+						;; size=26 bbWeight=0.50 PerfScore 1.38
 G_M35787_IG13:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax]System.Linq.Expressions.Interpreter.InstructionList:UpdateStackDepth(System.Linq.Expressions.Interpreter.Instruction):this
 						;; size=11 bbWeight=0.50 PerfScore 2.25
 G_M35787_IG14:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Interpreter.LightCompiler:CheckRethrow():this
        call     [rax]System.Linq.Expressions.Interpreter.LightCompiler:CheckRethrow():this
        mov      rdi, gword ptr [rbx+0x30]
        mov      esi, dword ptr [rdi+0x10]
        dec      esi
        mov      rax, gword ptr [rdi+0x08]
        mov      ecx, dword ptr [rax+0x08]
        cmp      ecx, esi
        jbe      G_M35787_IG22
        mov      rsi, gword ptr [rax+8*rsi+0x10]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Interpreter.LightCompiler:CompileGetVariable(System.Linq.Expressions.ParameterExpression):this
        call     [rax]System.Linq.Expressions.Interpreter.LightCompiler:CompileGetVariable(System.Linq.Expressions.ParameterExpression):this
        test     r15b, r15b
-       jne      SHORT G_M35787_IG18
+       jne      G_M35787_IG18
        mov      rbx, gword ptr [rbx+0x08]
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r15, gword ptr [rdi]
        mov      rdi, gword ptr [rbx+0x08]
        inc      dword ptr [rdi+0x14]
        mov      rax, gword ptr [rdi+0x08]
-       mov      r14d, dword ptr [rdi+0x10]
-       cmp      dword ptr [rax+0x08], r14d
+       mov      r15d, dword ptr [rdi+0x10]
+       cmp      dword ptr [rax+0x08], r15d
        ja       SHORT G_M35787_IG15
-       mov      rsi, r15
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        jmp      SHORT G_M35787_IG16
-						;; size=119 bbWeight=0.50 PerfScore 21.25
+						;; size=120 bbWeight=0.50 PerfScore 21.12
 G_M35787_IG15:
-       lea      esi, [r14+0x01]
-       mov      dword ptr [rdi+0x10], esi
-       movsxd   rsi, r14d
+       lea      edx, [r15+0x01]
+       mov      dword ptr [rdi+0x10], edx
+       mov      rdx, 0xD1FFAB1E      ; const ptr
+       mov      rdx, gword ptr [rdx]
+       movsxd   rsi, r15d
        mov      rdi, rax
-       mov      rdx, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-						;; size=28 bbWeight=0.50 PerfScore 2.75
+						;; size=38 bbWeight=0.50 PerfScore 3.75
 G_M35787_IG16:
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
        mov      rdi, rbx
-       mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Interpreter.InstructionList:UpdateStackDepth(System.Linq.Expressions.Interpreter.Instruction):this
-						;; size=16 bbWeight=0.50 PerfScore 0.38
+						;; size=26 bbWeight=0.50 PerfScore 1.38
 G_M35787_IG17:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax]System.Linq.Expressions.Interpreter.InstructionList:UpdateStackDepth(System.Linq.Expressions.Interpreter.Instruction):this
 						;; size=11 bbWeight=0.50 PerfScore 2.25
 G_M35787_IG18:
        mov      rbx, gword ptr [rbx+0x08]
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r15, gword ptr [rdi]
        mov      rdi, gword ptr [rbx+0x08]
        inc      dword ptr [rdi+0x14]
        mov      rax, gword ptr [rdi+0x08]
-       mov      r14d, dword ptr [rdi+0x10]
-       cmp      dword ptr [rax+0x08], r14d
+       mov      r15d, dword ptr [rdi+0x10]
+       cmp      dword ptr [rax+0x08], r15d
        ja       SHORT G_M35787_IG19
-       mov      rsi, r15
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        jmp      SHORT G_M35787_IG20
-						;; size=55 bbWeight=0.50 PerfScore 11.38
+						;; size=52 bbWeight=0.50 PerfScore 11.25
 G_M35787_IG19:
-       lea      esi, [r14+0x01]
-       mov      dword ptr [rdi+0x10], esi
-       movsxd   rsi, r14d
+       lea      edx, [r15+0x01]
+       mov      dword ptr [rdi+0x10], edx
+       mov      rdx, 0xD1FFAB1E      ; const ptr
+       mov      rdx, gword ptr [rdx]
+       movsxd   rsi, r15d
        mov      rdi, rax
-       mov      rdx, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-						;; size=28 bbWeight=0.50 PerfScore 2.75
+						;; size=38 bbWeight=0.50 PerfScore 3.75
 G_M35787_IG20:
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
        mov      rdi, rbx
-       mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Interpreter.InstructionList:UpdateStackDepth(System.Linq.Expressions.Interpreter.Instruction):this
-						;; size=16 bbWeight=0.50 PerfScore 0.38
+						;; size=26 bbWeight=0.50 PerfScore 1.38
 G_M35787_IG21:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax]System.Linq.Expressions.Interpreter.InstructionList:UpdateStackDepth(System.Linq.Expressions.Interpreter.Instruction):this
 						;; size=11 bbWeight=0.50 PerfScore 2.25
 G_M35787_IG22:
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Stack`1[System.__Canon]:ThrowForEmptyStack():this
        call     [rax]System.Collections.Generic.Stack`1[System.__Canon]:ThrowForEmptyStack():this
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M35787_IG23:
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        int3     
 						;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 661, prolog size 13, PerfScore 98.62, instruction count 174, allocated bytes for code 661 (MethodHash=e8f37434) for method System.Linq.Expressions.Interpreter.LightCompiler:CompileThrowUnaryExpression(System.Linq.Expressions.Expression,ubyte):this (FullOpts)
+; Total bytes of code 737, prolog size 13, PerfScore 106.12, instruction count 178, allocated bytes for code 737 (MethodHash=e8f37434) for method System.Linq.Expressions.Interpreter.LightCompiler:CompileThrowUnaryExpression(System.Linq.Expressions.Expression,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/e0f8f9250192af8fb0966e323bf18f08

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 6, 2024

Top method improvements

-166 (-21.28 % of base) - System.Net.Security.SslSessionsCache:g__ShrinkCredentialCache|5_0()
 ; Assembly listing for method System.Net.Security.SslSessionsCache:<CacheCredential>g__ShrinkCredentialCache|5_0() (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; 15 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T06] (  6, 11   )     ref  ->  r15         class-hnd single-def <System.Collections.Generic.KeyValuePair`2[System.Net.Security.SslSessionsCache+SslCredKey,System.Net.Security.SafeCredentialReference][]>
-;* V01 loc1         [V01,T30] (  0,  0   )     int  ->  zero-ref   
-;  V02 loc2         [V02,T00] (  8, 20   )     ref  ->  [rbp-0x90]  class-hnd <System.Net.Security.SafeCredentialReference>
-;  V03 loc3         [V03,T07] (  3, 10   )     ref  ->  [rbp-0x98]  class-hnd spill-single-def <System.Net.Security.SafeFreeCredentials>
-;  V04 loc4         [V04    ] (  2,  4   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Net.Security.SafeCredentialReference>
+;  V00 loc0         [V00,T08] (  5,  9   )     ref  ->  r15         class-hnd single-def <System.Collections.Generic.KeyValuePair`2[System.Net.Security.SslSessionsCache+SslCredKey,System.Net.Security.SafeCredentialReference][]>
+;* V01 loc1         [V01,T27] (  0,  0   )     int  ->  zero-ref   
+;  V02 loc2         [V02,T00] (  7, 18   )     ref  ->  [rbp-0x60]  class-hnd <System.Net.Security.SafeCredentialReference>
+;  V03 loc3         [V03,T05] (  3, 10   )     ref  ->  [rbp-0x68]  class-hnd spill-single-def <System.Net.Security.SafeFreeCredentials>
+;  V04 loc4         [V04    ] (  1,  2   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Net.Security.SafeCredentialReference>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T09] (  2,  8   )     ref  ->  [rbp-0xA0]  class-hnd exact spill-single-def "impAppendStmt" <System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.Net.Security.SafeCredentialReference]>
-;  V07 tmp2         [V07,T13] (  2,  8   )  struct (24) [rbp-0x48]  do-not-enreg[S] must-init "spilled call-like call argument" <System.Net.Security.SslSessionsCache+SslCredKey>
-;  V08 tmp3         [V08,T04] (  3, 12   )     ref  ->  [rbp-0xA8]  class-hnd exact spill-single-def "impAppendStmt" <System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.Net.Security.SafeCredentialReference]>
-;  V09 tmp4         [V09,T14] (  2,  8   )  struct (24) [rbp-0x60]  do-not-enreg[S] must-init "spilled call-like call argument" <System.Net.Security.SslSessionsCache+SslCredKey>
-;  V10 tmp5         [V10,T10] (  2,  8   )     ref  ->  [rbp-0xB0]  class-hnd exact spill-single-def "impAppendStmt" <System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.Net.Security.SafeCredentialReference]>
-;  V11 tmp6         [V11,T15] (  2,  8   )  struct (24) [rbp-0x78]  do-not-enreg[S] must-init "spilled call-like call argument" <System.Net.Security.SslSessionsCache+SslCredKey>
-;  V12 tmp7         [V12,T17] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "dup spill" <System.Object[]>
-;  V13 tmp8         [V13,T18] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
-;* V14 tmp9         [V14    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V15 tmp10        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V16 tmp11        [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V17 tmp12        [V17    ] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Net.Security.SafeCredentialReference>
-;  V18 tmp13        [V18,T11] (  2,  8   )     ref  ->  rdi         class-hnd "dup spill" <System.Net.Security.SafeFreeCredentials>
-;* V19 tmp14        [V19    ] (  0,  0   )     ref  ->  zero-ref   
-;* V20 tmp15        [V20    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V21 tmp16        [V21    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Nullable`1[int]>
-;  V22 tmp17        [V22,T12] (  2,  8   )     ref  ->  [rbp-0xB8]  class-hnd exact spill-single-def "impAppendStmt" <System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]>
-;  V23 tmp18        [V23    ] (  2,  4   )     ref  ->  [rbp-0x80]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Net.Security.SafeCredentialReference>
-;* V24 tmp19        [V24    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V25 tmp20        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V26 tmp21        [V26    ] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Net.Security.SafeCredentialReference>
-;* V27 tmp22        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;  V28 tmp23        [V28,T16] (  4,  4   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
-;* V29 tmp24        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-;  V30 tmp25        [V30,T23] (  2,  1   )     ref  ->  r15         single-def
-;  V31 tmp26        [V31,T24] (  2,  1   )     ref  ->  r14         single-def
+;* V06 tmp1         [V06    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "spilled call-like call argument" <System.Net.Security.SslSessionsCache+SslCredKey>
+;  V07 tmp2         [V07,T12] (  2,  8   )  struct (24) [rbp-0x48]  do-not-enreg[S] must-init "spilled call-like call argument" <System.Net.Security.SslSessionsCache+SslCredKey>
+;* V08 tmp3         [V08    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] "spilled call-like call argument" <System.Net.Security.SslSessionsCache+SslCredKey>
+;  V09 tmp4         [V09,T14] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "dup spill" <System.Object[]>
+;  V10 tmp5         [V10,T15] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
+;* V11 tmp6         [V11    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V12 tmp7         [V12    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V13 tmp8         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Net.Security.SafeCredentialReference>
+;  V15 tmp10        [V15,T09] (  2,  8   )     ref  ->  rdi         class-hnd "dup spill" <System.Net.Security.SafeFreeCredentials>
+;* V16 tmp11        [V16    ] (  0,  0   )     ref  ->  zero-ref   
+;* V17 tmp12        [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V18 tmp13        [V18    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Nullable`1[int]>
+;  V19 tmp14        [V19,T10] (  2,  8   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "impAppendStmt" <System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]>
+;  V20 tmp15        [V20    ] (  2,  4   )     ref  ->  [rbp-0x50]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Net.Security.SafeCredentialReference>
+;* V21 tmp16        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V22 tmp17        [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V23 tmp18        [V23    ] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Net.Security.SafeCredentialReference>
+;  V24 tmp19        [V24,T13] (  4,  4   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+;  V25 tmp20        [V25,T20] (  2,  1   )     ref  ->  r15         single-def
+;  V26 tmp21        [V26,T21] (  2,  1   )     ref  ->  r14         single-def
+;* V27 tmp22        [V27    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V28 tmp23        [V28,T22] (  2,  1   )     ref  ->  r15         single-def
+;  V29 tmp24        [V29,T23] (  2,  1   )     ref  ->  r14         single-def
+;* V30 tmp25        [V30,T25] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V31 tmp26        [V31,T24] (  2,  1   )     ref  ->   r8         single-def
 ;* V32 tmp27        [V32    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V33 tmp28        [V33,T25] (  2,  1   )     ref  ->  r15         single-def
-;  V34 tmp29        [V34,T26] (  2,  1   )     ref  ->  r14         single-def
-;* V35 tmp30        [V35,T28] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V36 tmp31        [V36,T27] (  2,  1   )     ref  ->   r8         single-def
-;* V37 tmp32        [V37    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V38 tmp33        [V38    ] (  0,  0   )     int  ->  zero-ref   
-;* V39 tmp34        [V39    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V40 tmp35        [V40,T29] (  0,  0   )     ref  ->  zero-ref   
-;* V41 tmp36        [V41,T19] (  0,  0   )   ubyte  ->  zero-ref    "field V21.hasValue (fldOffset=0x0)" P-INDEP
-;* V42 tmp37        [V42,T20] (  0,  0   )     int  ->  zero-ref    "field V21.value (fldOffset=0x4)" P-INDEP
-;  V43 tmp38        [V43,T05] (  3, 12   )  struct ( 8) [rbp-0x88]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
-;  V44 cse0         [V44,T08] (  7,  9   )     ref  ->  rbx         "CSE #01: moderate"
-;  V45 cse1         [V45,T21] (  3,  1.50)     ref  ->  r15         "CSE #07: moderate"
-;  V46 cse2         [V46,T01] (  5, 14   )    long  ->  r12         "CSE #03: aggressive"
-;  V47 cse3         [V47,T22] (  3,  1.25)     int  ->  r14         "CSE #06: moderate"
-;  V48 rat0         [V48,T02] (  4, 12.25)    long  ->  r13         "Strength reduced derived IV"
-;  V49 rat1         [V49,T03] (  4, 12.25)     int  ->  r14         "Trip count IV"
+;* V33 tmp28        [V33    ] (  0,  0   )     int  ->  zero-ref   
+;* V34 tmp29        [V34    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;* V35 tmp30        [V35,T26] (  0,  0   )     ref  ->  zero-ref   
+;* V36 tmp31        [V36,T16] (  0,  0   )   ubyte  ->  zero-ref    "field V18.hasValue (fldOffset=0x0)" P-INDEP
+;* V37 tmp32        [V37,T17] (  0,  0   )     int  ->  zero-ref    "field V18.value (fldOffset=0x4)" P-INDEP
+;  V38 tmp33        [V38,T04] (  3, 12   )  struct ( 8) [rbp-0x58]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
+;  V39 tmp34        [V39,T11] (  2,  8   )     ref  ->  [rbp-0x78]  spill-single-def "argument with side effect"
+;  V40 cse0         [V40,T07] (  7,  9   )     ref  ->  rbx         "CSE #01: aggressive"
+;  V41 cse1         [V41,T18] (  3,  1.50)     ref  ->  r15         "CSE #07: moderate"
+;  V42 cse2         [V42,T03] (  4, 12   )    long  ->  r12         "CSE #04: aggressive"
+;  V43 cse3         [V43,T06] (  3, 10   )     ref  ->  rdi         "CSE #02: aggressive"
+;  V44 cse4         [V44,T19] (  3,  1.25)     int  ->  r14         "CSE #06: moderate"
+;  V45 rat0         [V45,T01] (  4, 12.25)    long  ->  r13         "Strength reduced derived IV"
+;  V46 rat1         [V46,T02] (  4, 12.25)     int  ->  r14         "Trip count IV"
 ;
-; Lcl frame size = 184
+; Lcl frame size = 120
 
 G_M28232_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 184
-       lea      rbp, [rsp+0xE0]
+       sub      rsp, 120
+       lea      rbp, [rsp+0xA0]
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu  ymmword ptr [rbp-0x80], ymm8
-       vmovdqu  ymmword ptr [rbp-0x60], ymm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
+       vmovdqu  ymmword ptr [rbp-0x50], ymm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
-						;; size=51 bbWeight=1 PerfScore 14.33
+						;; size=38 bbWeight=1 PerfScore 10.33
 G_M28232_IG02:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rbx, gword ptr [rdi]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:get_Count():int:this
        call     [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:get_Count():int:this
        test     al, 31
-       jne      G_M28232_IG17
+       jne      G_M28232_IG12
 						;; size=36 bbWeight=1 PerfScore 7.00
 G_M28232_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:ToArray():System.Collections.Generic.KeyValuePair`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon][]:this
        call     [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:ToArray():System.Collections.Generic.KeyValuePair`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon][]:this
        mov      r15, rax
        mov      r14d, dword ptr [r15+0x08]
        test     r14d, r14d
-       jle      G_M28232_IG16
+       jle      G_M28232_IG11
 						;; size=31 bbWeight=0.50 PerfScore 3.50
 G_M28232_IG04:
        xor      r13d, r13d
 						;; size=3 bbWeight=0.25 PerfScore 0.06
 G_M28232_IG05:
        mov      r12, r13
        mov      rax, gword ptr [r15+r12+0x10]
-       mov      rcx, gword ptr [rax+0x08]
-       mov      gword ptr [rbp-0x98], rcx
-       test     rcx, rcx
-       je       G_M28232_IG12
-						;; size=28 bbWeight=4 PerfScore 26.00
-G_M28232_IG06:
-       mov      gword ptr [rbp-0x90], rax
+       mov      gword ptr [rbp-0x60], rax
        mov      rdi, gword ptr [rax+0x08]
+       mov      rcx, rdi
+       mov      gword ptr [rbp-0x68], rcx
+       test     rcx, rcx
+       je       SHORT G_M28232_IG07
+						;; size=28 bbWeight=4 PerfScore 31.00
+G_M28232_IG06:
        xor      esi, esi
        mov      rdx, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this
        call     [rdx]System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this
        xor      rdi, rdi
-       mov      rax, gword ptr [rbp-0x90]
+       mov      rax, gword ptr [rbp-0x60]
        mov      gword ptr [rax+0x08], rdi
        mov      rdi, rax
        call     System.GC:_SuppressFinalize(System.Object)
-       mov      rdi, gword ptr [rbp-0x98]
+       mov      rdi, gword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SafeCredentialReference:CreateReference(System.Net.Security.SafeFreeCredentials):System.Net.Security.SafeCredentialReference
        call     [rax]System.Net.Security.SafeCredentialReference:CreateReference(System.Net.Security.SafeFreeCredentials):System.Net.Security.SafeCredentialReference
        test     rax, rax
-       jne      SHORT G_M28232_IG09
-       mov      gword ptr [rbp-0xA0], rbx
-						;; size=77 bbWeight=2 PerfScore 33.00
+       jne      SHORT G_M28232_IG08
+						;; size=53 bbWeight=2 PerfScore 25.00
 G_M28232_IG07:
+       add      r12, 16
+       add      r12, r15
+       add      r12, 8
+       lea      rdi, [rsp]
+       mov      rsi, r12
+       mov      rcx, gword ptr [rsi]
+       mov      gword ptr [rsp], rcx
+       add      rsi, 8
+       add      rdi, 8
+       movsq    
+       movsq    
+       mov      rdi, rbx
+       lea      rsi, [rbp-0x30]
+       xor      edx, edx
+       xor      rcx, rcx
+       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:TryRemoveInternal(System.Net.Security.SslSessionsCache+SslCredKey,byref,ubyte,System.__Canon):ubyte:this
+       call     [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:TryRemoveInternal(System.Net.Security.SslSessionsCache+SslCredKey,byref,ubyte,System.__Canon):ubyte:this
+       jmp      SHORT G_M28232_IG10
+						;; size=62 bbWeight=2 PerfScore 27.00
+G_M28232_IG08:
        vmovdqu  xmm0, xmmword ptr [r15+r12+0x18]
        vmovdqu  xmmword ptr [rbp-0x48], xmm0
        mov      rcx, qword ptr [r15+r12+0x28]
        mov      qword ptr [rbp-0x38], rcx
 						;; size=21 bbWeight=2 PerfScore 16.00
-G_M28232_IG08:
+G_M28232_IG09:
+       mov      rsi, gword ptr [rbx+0x08]
+       mov      gword ptr [rbp-0x70], rsi
+       mov      gword ptr [rbp-0x78], rbx
        lea      rdi, [rsp]
        lea      rsi, [rbp-0x48]
        mov      rcx, gword ptr [rsi]
        mov      gword ptr [rsp], rcx
        add      rsi, 8
        add      rdi, 8
        movsq    
        movsq    
-       lea      rsi, [rbp-0x30]
-       mov      rdi, gword ptr [rbp-0xA0]
-       xor      edx, edx
-       xor      rcx, rcx
-       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:TryRemoveInternal(System.Net.Security.SslSessionsCache+SslCredKey,byref,ubyte,System.__Canon):ubyte:this
-       call     [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:TryRemoveInternal(System.Net.Security.SslSessionsCache+SslCredKey,byref,ubyte,System.__Canon):ubyte:this
-       jmp      G_M28232_IG15
-						;; size=59 bbWeight=2 PerfScore 27.50
-G_M28232_IG09:
-       mov      rdi, rbx
-       mov      gword ptr [rbp-0xA8], rdi
-						;; size=10 bbWeight=2 PerfScore 2.50
-G_M28232_IG10:
-       vmovdqu  xmm0, xmmword ptr [r15+r12+0x18]
-       vmovdqu  xmmword ptr [rbp-0x60], xmm0
-       mov      rcx, qword ptr [r15+r12+0x28]
-       mov      qword ptr [rbp-0x50], rcx
-						;; size=21 bbWeight=2 PerfScore 16.00
-G_M28232_IG11:
-       mov      rsi, gword ptr [rdi+0x08]
-       mov      gword ptr [rbp-0xB8], rsi
-       lea      rdi, [rsp]
-       lea      rsi, [rbp-0x60]
-       mov      rcx, gword ptr [rsi]
-       mov      gword ptr [rsp], rcx
-       add      rsi, 8
-       add      rdi, 8
-       movsq    
-       movsq    
-       mov      byte  ptr [rbp-0x88], 0
-       xor      edx, edx
-       mov      dword ptr [rbp-0x84], edx
-       lea      rdx, [rbp-0x80]
-       mov      qword ptr [rsp+0x18], rdx
-       mov      rdx, qword ptr [rbp-0x88]
-       mov      rsi, gword ptr [rbp-0xB8]
-       mov      rdi, gword ptr [rbp-0xA8]
+       mov      byte  ptr [rbp-0x58], 0
+       xor      edi, edi
+       mov      dword ptr [rbp-0x54], edi
+       lea      rdi, [rbp-0x50]
+       mov      qword ptr [rsp+0x18], rdi
+       mov      rdi, gword ptr [rbp-0x78]
+       mov      rdx, qword ptr [rbp-0x58]
+       mov      rsi, gword ptr [rbp-0x70]
        mov      rcx, rax
        mov      r8d, 1
        mov      r9d, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon],System.Net.Security.SslSessionsCache+SslCredKey,System.Nullable`1[int],System.__Canon,ubyte,ubyte,byref):ubyte:this
        call     [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon],System.Net.Security.SslSessionsCache+SslCredKey,System.Nullable`1[int],System.__Canon,ubyte,ubyte,byref):ubyte:this
-       xor      rcx, rcx
-       mov      gword ptr [rbp-0x80], rcx
-       jmp      SHORT G_M28232_IG15
-						;; size=118 bbWeight=2 PerfScore 47.00
-G_M28232_IG12:
-       mov      gword ptr [rbp-0xB0], rbx
-						;; size=7 bbWeight=2 PerfScore 2.00
-G_M28232_IG13:
-       vmovdqu  xmm0, xmmword ptr [r15+r12+0x18]
-       vmovdqu  xmmword ptr [rbp-0x78], xmm0
-       mov      rcx, qword ptr [r15+r12+0x28]
-       mov      qword ptr [rbp-0x68], rcx
-						;; size=21 bbWeight=2 PerfScore 16.00
-G_M28232_IG14:
-       lea      rdi, [rsp]
-       lea      rsi, [rbp-0x78]
-       mov      rcx, gword ptr [rsi]
-       mov      gword ptr [rsp], rcx
-       add      rsi, 8
-       add      rdi, 8
-       movsq    
-       movsq    
-       lea      rsi, [rbp-0x30]
-       mov      rdi, gword ptr [rbp-0xB0]
-       xor      edx, edx
-       xor      rcx, rcx
-       mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:TryRemoveInternal(System.Net.Security.SslSessionsCache+SslCredKey,byref,ubyte,System.__Canon):ubyte:this
-       call     [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:TryRemoveInternal(System.Net.Security.SslSessionsCache+SslCredKey,byref,ubyte,System.__Canon):ubyte:this
-						;; size=54 bbWeight=2 PerfScore 23.50
-G_M28232_IG15:
+       xor      rdi, rdi
+       mov      gword ptr [rbp-0x50], rdi
+						;; size=102 bbWeight=2 PerfScore 45.00
+G_M28232_IG10:
        add      r13, 32
        dec      r14d
        jne      G_M28232_IG05
 						;; size=13 bbWeight=4 PerfScore 6.00
-G_M28232_IG16:
+G_M28232_IG11:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r15, gword ptr [rdi]
        cmp      byte  ptr [r15+0x9D], 0
-       je       G_M28232_IG17
+       je       G_M28232_IG12
        mov      rdi, 0xD1FFAB1E      ; System.Object[]
        mov      esi, 1
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:get_Count():int:this
        call     [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Net.Security.SslSessionsCache+SslCredKey,System.__Canon]:get_Count():int:this
        mov      dword ptr [r13+0x08], eax
        lea      rdi, bword ptr [r14+0x10]
        mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rdi, 0xD1FFAB1E      ; 'Scavenged cache, New Cache Count = {0}'
        mov      gword ptr [rbx+0x08], rdi
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        xor      rdi, rdi
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
        call     [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
        mov      r14, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
        call     [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
        mov      r8, rax
        mov      rdi, r15
        mov      rdx, r14
        mov      rcx, 0xD1FFAB1E      ; 'CacheCredential'
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
 						;; size=211 bbWeight=0.50 PerfScore 16.00
-G_M28232_IG17:
+G_M28232_IG12:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M28232_IG18:
-       add      rsp, 184
+G_M28232_IG13:
+       add      rsp, 120
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=18 bbWeight=1 PerfScore 4.25
+						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 780, prolog size 51, PerfScore 260.90, instruction count 173, allocated bytes for code 780 (MethodHash=c18491b7) for method System.Net.Security.SslSessionsCache:<CacheCredential>g__ShrinkCredentialCache|5_0() (FullOpts)
+; Total bytes of code 614, prolog size 38, PerfScore 191.40, instruction count 148, allocated bytes for code 614 (MethodHash=c18491b7) for method System.Net.Security.SslSessionsCache:<CacheCredential>g__ShrinkCredentialCache|5_0() (FullOpts)
 ; ============================================================
-123 (-10.78 % of base) - System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):this
 ; Assembly listing for method System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 36 single block inlinees; 10 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <System.Runtime.Serialization.Json.JsonXmlDataContract>
 ;  V01 arg1         [V01,T16] (  3,  3   )     ref  ->  r15         class-hnd single-def <System.Runtime.Serialization.XmlWriterDelegator>
 ;  V02 arg2         [V02,T17] (  3,  3   )     ref  ->  r14         class-hnd single-def <System.Object>
-;  V03 arg3         [V03,T08] (  5,  4.50)     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson>
+;  V03 arg3         [V03,T09] (  5,  4.50)     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson>
 ;* V04 arg4         [V04    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.RuntimeTypeHandle>
 ;* V05 loc0         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.IO.MemoryStream>
-;  V06 loc1         [V06,T25] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def <System.String>
+;  V06 loc1         [V06,T24] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def <System.String>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp3         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V12 tmp5         [V12,T24] (  3,  2   )     ref  ->  r12        
-;  V13 tmp6         [V13,T10] (  3,  6   )     ref  ->  [rbp-0x30]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContractSerializer>
+;  V12 tmp5         [V12,T23] (  3,  2   )     ref  ->  r12        
+;  V13 tmp6         [V13,T11] (  3,  6   )     ref  ->  [rbp-0x30]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContractSerializer>
 ;  V14 tmp7         [V14,T02] (  6, 11   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
-;  V15 tmp8         [V15,T11] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamReader>
+;  V15 tmp8         [V15,T12] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamReader>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
 ;* V17 tmp10        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Type]>
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Xml.XmlDictionaryAsyncCheckWriter>
-;  V19 tmp12        [V19,T00] ( 22, 40   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlUTF8TextWriter>
-;  V20 tmp13        [V20,T03] (  7, 10   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
-;  V21 tmp14        [V21,T04] (  5, 10   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDictionaryAsyncCheckWriter>
-;  V22 tmp15        [V22,T12] (  3,  6   )     ref  ->  [rbp-0x48]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlBaseWriter+NamespaceManager>
-;  V23 tmp16        [V23,T18] (  3,  5   )     ref  ->  [rbp-0x50]  class-hnd "Inlining Arg" <System.IO.Stream>
-;  V24 tmp17        [V24,T05] (  6,  8   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def "impAppendStmt" <System.String>
-;  V25 tmp18        [V25,T09] (  6,  6   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlUTF8NodeWriter>
-;  V26 tmp19        [V26,T22] (  3,  3   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.EncodingStreamWrapper>
-;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Text.CodePageDataItem>
-;  V28 tmp21        [V28,T07] (  5,  7   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V29 tmp22        [V29,T29] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
-;  V30 tmp23        [V30,T26] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
-;  V31 tmp24        [V31,T27] (  2,  2   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "Inlining Arg" <ubyte[]>
-;  V32 tmp25        [V32,T28] (  2,  2   )     ref  ->  [rbp-0x78]  class-hnd exact spill-single-def "Inlining Arg" <ubyte[]>
-;  V33 tmp26        [V33,T23] (  4,  2.50)     ref  ->  [rbp-0x80]  class-hnd "Inline stloc first use temp" <System.Text.Encoding>
-;  V34 tmp27        [V34,T15] (  4,  5   )     ref  ->  [rbp-0x88]  class-hnd "Inlining Arg" <System.Text.Encoding>
-;  V35 tmp28        [V35,T01] (  8, 13   )     ref  ->  [rbp-0x90]  class-hnd spill-single-def "Inlining Arg" <System.Xml.XmlUTF8NodeWriter>
-;* V36 tmp29        [V36    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V37 tmp30        [V37,T13] (  3,  6   )     ref  ->  [rbp-0x98]  class-hnd spill-single-def "Inlining Arg" <System.Xml.XmlUTF8NodeWriter>
-;  V38 tmp31        [V38,T06] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.XmlWriterDelegator>
-;  V39 tmp32        [V39,T20] (  2,  2   )     ref  ->  r13         single-def "field V04.m_type (fldOffset=0x0)" P-INDEP
-;* V40 tmp33        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16.m_type (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T21] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
-;  V42 tmp35        [V42,T14] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
-;  V43 cse0         [V43,T19] (  5,  4.50)     ref  ->  r13         "CSE #01: moderate"
-;  TEMP_01                                     int  ->  [rbp-0x9C]
+;  V19 tmp12        [V19,T00] ( 22, 40   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlUTF8TextWriter>
+;  V20 tmp13        [V20,T03] (  5, 10   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlDictionaryAsyncCheckWriter>
+;  V21 tmp14        [V21,T13] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlBaseWriter+NamespaceManager>
+;  V22 tmp15        [V22,T18] (  3,  5   )     ref  ->  r12         class-hnd "Inlining Arg" <System.IO.Stream>
+;  V23 tmp16        [V23,T07] (  5,  7   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "impAppendStmt" <System.String>
+;  V24 tmp17        [V24,T10] (  6,  6   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlUTF8NodeWriter>
+;  V25 tmp18        [V25,T21] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.EncodingStreamWrapper>
+;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Text.CodePageDataItem>
+;  V27 tmp20        [V27,T08] (  5,  7   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V28 tmp21        [V28,T27] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V29 tmp22        [V29,T25] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
+;  V30 tmp23        [V30,T22] (  4,  2.50)     ref  ->  [rbp-0x48]  class-hnd "Inline stloc first use temp" <System.Text.Encoding>
+;  V31 tmp24        [V31,T06] (  6,  7   )     ref  ->  [rbp-0x50]  class-hnd "Inlining Arg" <System.Text.Encoding>
+;  V32 tmp25        [V32,T01] (  8, 13   )     ref  ->  [rbp-0x58]  class-hnd spill-single-def "Inlining Arg" <System.Xml.XmlUTF8NodeWriter>
+;* V33 tmp26        [V33    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
+;  V34 tmp27        [V34,T14] (  3,  6   )     ref  ->  r12         class-hnd single-def "Inlining Arg" <System.Xml.XmlUTF8NodeWriter>
+;  V35 tmp28        [V35,T04] (  4,  8   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.XmlWriterDelegator>
+;  V36 tmp29        [V36,T19] (  2,  2   )     ref  ->  r13         single-def "field V04.m_type (fldOffset=0x0)" P-INDEP
+;* V37 tmp30        [V37    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16.m_type (fldOffset=0x0)" P-INDEP
+;  V38 tmp31        [V38,T20] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
+;  V39 tmp32        [V39,T15] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V40 cse0         [V40,T05] (  9,  7   )     ref  ->  [rbp-0x60]  spill-single-def "CSE #01: moderate"
+;  V41 cse1         [V41,T26] (  3,  1.50)     int  ->  rdx         "CSE #02: moderate"
+;  TEMP_01                                     int  ->  [rbp-0x64]
 ;
-; Lcl frame size = 136
+; Lcl frame size = 88
 
 G_M13414_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 136
-       lea      rbp, [rsp+0xB0]
+       sub      rsp, 88
+       lea      rbp, [rsp+0x80]
        mov      r15, rsi
        mov      r14, rdx
        mov      rbx, rcx
        mov      r13, r8
-						;; size=37 bbWeight=1 PerfScore 7.75
+						;; size=34 bbWeight=1 PerfScore 7.75
 G_M13414_IG02:
        test     rbx, rbx
        je       SHORT G_M13414_IG04
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M13414_IG03:
        mov      r12, gword ptr [rbx+0x20]
        jmp      SHORT G_M13414_IG05
 						;; size=6 bbWeight=0.50 PerfScore 2.00
 G_M13414_IG04:
        xor      r12, r12
 						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M13414_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.Serialization.DataContractSerializer
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x30], rax
        mov      rdi, rbx
        mov      rsi, r12
        mov      rcx, 0xD1FFAB1E      ; code for System.Runtime.Serialization.Json.JsonXmlDataContract:GetKnownTypesFromContext(System.Runtime.Serialization.XmlObjectSerializerContext,System.Collections.Generic.IList`1[System.Type]):System.Collections.Generic.List`1[System.Type]
        call     [rcx]System.Runtime.Serialization.Json.JsonXmlDataContract:GetKnownTypesFromContext(System.Runtime.Serialization.XmlObjectSerializerContext,System.Collections.Generic.IList`1[System.Type]):System.Collections.Generic.List`1[System.Type]
        mov      rdx, rax
        xor      rsi, rsi
        mov      gword ptr [rsp], rsi
 						;; size=46 bbWeight=1 PerfScore 7.50
 G_M13414_IG06:
        mov      dword ptr [rsp+0x08], esi
        mov      rsi, r13
        mov      rdi, gword ptr [rbp-0x30]
        mov      ecx, 1
        xor      r8d, r8d
        xor      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.DataContractSerializer:Initialize(System.Type,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte,System.Runtime.Serialization.DataContractResolver,ubyte):this
        call     [rax]System.Runtime.Serialization.DataContractSerializer:Initialize(System.Type,System.Collections.Generic.IEnumerable`1[System.Type],int,ubyte,ubyte,System.Runtime.Serialization.DataContractResolver,ubyte):this
        mov      rdi, 0xD1FFAB1E      ; System.IO.MemoryStream
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rdi, rbx
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.IO.MemoryStream:.ctor(int):this
        call     [rax]System.IO.MemoryStream:.ctor(int):this
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r13, gword ptr [rdi]
-       mov      r12, r13
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlUTF8TextWriter
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x38], rax
+       mov      r13, rax
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlBaseWriter+NamespaceManager
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x48], rax
-       mov      rdi, rax
-       mov      rcx, 0xD1FFAB1E      ; code for System.Xml.XmlBaseWriter+NamespaceManager:.ctor():this
-       call     [rcx]System.Xml.XmlBaseWriter+NamespaceManager:.ctor():this
-       mov      rax, gword ptr [rbp-0x38]
-       lea      rdi, bword ptr [rax+0x18]
-       mov      rsi, gword ptr [rbp-0x48]
+       mov      r12, rax
+       mov      rdi, r12
+       mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlBaseWriter+NamespaceManager:.ctor():this
+       call     [rax]System.Xml.XmlBaseWriter+NamespaceManager:.ctor():this
+       lea      rdi, bword ptr [r13+0x18]
+       mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
        xor      edi, edi
-       mov      rax, gword ptr [rbp-0x38]
-       mov      dword ptr [rax+0x6C], edi
-       mov      byte  ptr [rax+0x7A], 0
-       mov      gword ptr [rbp-0x50], rbx
-       cmp      gword ptr [r12+0x08], 0
+       mov      dword ptr [r13+0x6C], edi
+       mov      byte  ptr [r13+0x7A], 0
+       mov      r12, rbx
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rax, gword ptr [rdi]
+       mov      gword ptr [rbp-0x60], rax
+       cmp      gword ptr [rax+0x08], 0
        jne      SHORT G_M13414_IG08
-						;; size=180 bbWeight=1 PerfScore 33.75
+						;; size=170 bbWeight=1 PerfScore 29.50
 G_M13414_IG07:
-       mov      rdi, r12
-       mov      rdx, 0xD1FFAB1E      ; code for System.Text.Encoding:GetDataItem():this
-       call     [rdx]System.Text.Encoding:GetDataItem():this
-						;; size=15 bbWeight=0.50 PerfScore 1.75
+       mov      rdi, rax
+       mov      rcx, 0xD1FFAB1E      ; code for System.Text.Encoding:GetDataItem():this
+       call     [rcx]System.Text.Encoding:GetDataItem():this
+       mov      rax, gword ptr [rbp-0x60]
+						;; size=19 bbWeight=0.50 PerfScore 2.25
 G_M13414_IG08:
-       mov      rdi, gword ptr [r12+0x08]
-       mov      rdx, gword ptr [rdi+0x08]
-       mov      gword ptr [rbp-0x58], rdx
-       mov      rdi, r13
-       mov      rsi, 0xD1FFAB1E      ; code for System.Text.Encoding:get_WebName():System.String:this
-       call     [rsi]System.Text.Encoding:get_WebName():System.String:this
+       mov      rdi, gword ptr [rax+0x08]
+       mov      rcx, gword ptr [rdi+0x08]
+       mov      gword ptr [rbp-0x38], rcx
+       mov      rdi, rax
+       mov      rcx, 0xD1FFAB1E      ; code for System.Text.Encoding:get_WebName():System.String:this
+       call     [rcx]System.Text.Encoding:get_WebName():System.String:this
        mov      rsi, rax
-       mov      rdx, gword ptr [rbp-0x58]
-       cmp      rdx, rsi
+       mov      rdi, gword ptr [rbp-0x38]
+       cmp      rdi, rsi
        je       SHORT G_M13414_IG11
-						;; size=40 bbWeight=1 PerfScore 11.00
+						;; size=39 bbWeight=1 PerfScore 11.00
 G_M13414_IG09:
-       test     rdx, rdx
+       test     rdi, rdi
        je       SHORT G_M13414_IG10
        test     rsi, rsi
        je       SHORT G_M13414_IG10
-       mov      edi, dword ptr [rdx+0x08]
-       cmp      edi, dword ptr [rsi+0x08]
+       mov      edx, dword ptr [rdi+0x08]
+       cmp      edx, dword ptr [rsi+0x08]
        jne      SHORT G_M13414_IG10
-       lea      rdi, bword ptr [rdx+0x0C]
-       mov      edx, dword ptr [rdx+0x08]
+       add      rdi, 12
        add      edx, edx
        add      rsi, 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      SHORT G_M13414_IG11
-						;; size=47 bbWeight=0.50 PerfScore 8.00
+						;; size=44 bbWeight=0.50 PerfScore 6.88
 G_M13414_IG10:
        mov      rdi, 0xD1FFAB1E      ; System.Xml.EncodingStreamWrapper
        call     CORINFO_HELP_NEWSFAST
-       mov      rcx, rax
-       mov      gword ptr [rbp-0x68], rcx
-       mov      rdi, rcx
+       mov      r12, rax
+       mov      rdx, gword ptr [rbp-0x60]
+       mov      rdi, r12
        mov      rsi, rbx
-       mov      rdx, r12
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.EncodingStreamWrapper:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
        call     [rax]System.Xml.EncodingStreamWrapper:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
-       mov      rcx, gword ptr [rbp-0x68]
-       mov      gword ptr [rbp-0x50], rcx
-						;; size=56 bbWeight=0.50 PerfScore 4.38
+						;; size=45 bbWeight=0.50 PerfScore 3.25
 G_M13414_IG11:
-       mov      rcx, gword ptr [rbp-0x38]
-       cmp      gword ptr [rcx+0x80], 0
-       jne      G_M13414_IG13
-						;; size=18 bbWeight=1 PerfScore 5.00
+       cmp      gword ptr [r13+0x80], 0
+       jne      SHORT G_M13414_IG13
+						;; size=10 bbWeight=1 PerfScore 4.00
 G_M13414_IG12:
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlUTF8NodeWriter
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x60], rax
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rcx, gword ptr [rdi]
-       mov      gword ptr [rbp-0x70], rcx
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rdx, gword ptr [rdi]
-       mov      gword ptr [rbp-0x78], rdx
+       mov      gword ptr [rbp-0x40], rax
        mov      rdi, rax
-       mov      rsi, 0xD1FFAB1E      ; code for System.Xml.XmlStreamNodeWriter:.ctor():this
-       call     [rsi]System.Xml.XmlStreamNodeWriter:.ctor():this
-       mov      rax, gword ptr [rbp-0x60]
+       mov      rcx, 0xD1FFAB1E      ; code for System.Xml.XmlStreamNodeWriter:.ctor():this
+       call     [rcx]System.Xml.XmlStreamNodeWriter:.ctor():this
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rdi]
+       mov      rax, gword ptr [rbp-0x40]
        lea      rdi, bword ptr [rax+0x30]
-       mov      rsi, gword ptr [rbp-0x70]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x60]
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rdi]
+       mov      rax, gword ptr [rbp-0x40]
        lea      rdi, bword ptr [rax+0x38]
-       mov      rsi, gword ptr [rbp-0x78]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x60]
+       mov      rax, gword ptr [rbp-0x40]
        mov      byte  ptr [rax+0x25], 0
-       mov      rcx, gword ptr [rbp-0x38]
-       lea      rdi, bword ptr [rcx+0x80]
+       lea      rdi, bword ptr [r13+0x80]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-						;; size=129 bbWeight=0.50 PerfScore 12.00
+						;; size=109 bbWeight=0.50 PerfScore 9.50
 G_M13414_IG13:
-       mov      rcx, gword ptr [rbp-0x38]
-       mov      rdx, gword ptr [rcx+0x80]
-       mov      gword ptr [rbp-0x90], rdx
-       mov      rsi, r12
-       cmp      byte  ptr [rdx], dl
-       xor      r8, r8
-       mov      gword ptr [rbp-0x80], r8
-       mov      gword ptr [rbp-0x88], rsi
-       mov      rdi, rsi
-       mov      r9, 0xD1FFAB1E
-       mov      r9, qword ptr [r9]
-       call     [r9+0x08]System.Text.Encoding:get_CodePage():int:this
-       mov      dword ptr [rbp-0x9C], eax
-       mov      rdi, r13
+       mov      rax, gword ptr [r13+0x80]
+       mov      gword ptr [rbp-0x58], rax
+       mov      rcx, gword ptr [rbp-0x60]
+       mov      rdx, rcx
+       cmp      byte  ptr [rax], al
+       xor      rsi, rsi
+       mov      gword ptr [rbp-0x48], rsi
+       mov      rdi, rdx
+       mov      gword ptr [rbp-0x50], rdx
+       mov      r8, qword ptr [rdx]
+       mov      r8, qword ptr [r8+0x68]
+       call     [r8+0x08]System.Text.Encoding:get_CodePage():int:this
+       mov      dword ptr [rbp-0x64], eax
+       mov      rdi, gword ptr [rbp-0x60]
        mov      rcx, 0xD1FFAB1E      ; code for System.Text.Encoding:get_CodePage():int:this
        call     [rcx]System.Text.Encoding:get_CodePage():int:this
-       cmp      dword ptr [rbp-0x9C], eax
+       cmp      dword ptr [rbp-0x64], eax
        jne      SHORT G_M13414_IG14
-       xor      rsi, rsi
-       mov      gword ptr [rbp-0x88], rsi
-       mov      gword ptr [rbp-0x80], r12
-						;; size=99 bbWeight=0.50 PerfScore 12.38
-G_M13414_IG14:
-       mov      rcx, gword ptr [rbp-0x90]
-       lea      rdi, bword ptr [rcx+0x18]
        mov      rsi, gword ptr [rbp-0x50]
-       call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x90]
-       mov      byte  ptr [rax+0x24], 0
-       xor      edi, edi
-       mov      dword ptr [rax+0x20], edi
-       mov      r12, gword ptr [rbp-0x80]
-       test     r12, r12
-       je       SHORT G_M13414_IG16
-						;; size=45 bbWeight=1 PerfScore 9.00
-G_M13414_IG15:
-       lea      rdi, bword ptr [rax+0x10]
+       mov      gword ptr [rbp-0x48], rsi
+       xor      rsi, rsi
+       mov      gword ptr [rbp-0x50], rsi
+						;; size=82 bbWeight=0.50 PerfScore 14.12
+G_M13414_IG14:
+       mov      rdx, gword ptr [rbp-0x58]
+       lea      rdi, bword ptr [rdx+0x18]
        mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rax, gword ptr [rbp-0x90]
-						;; size=19 bbWeight=0.50 PerfScore 1.38
-G_M13414_IG16:
-       lea      rdi, bword ptr [rax+0x40]
-       mov      rsi, gword ptr [rbp-0x88]
-       call     CORINFO_HELP_ASSIGN_REF
-       mov      r12, gword ptr [rbp-0x90]
-       mov      byte  ptr [r12+0x25], 0
-       mov      r12, gword ptr [rbp-0x38]
-       mov      rax, gword ptr [r12+0x80]
-       mov      gword ptr [rbp-0x98], rax
-       mov      byte  ptr [r12+0x7B], 0
+       mov      r12, gword ptr [rbp-0x58]
+       mov      byte  ptr [r12+0x24], 0
+       xor      edi, edi
+       mov      dword ptr [r12+0x20], edi
+       mov      rax, gword ptr [rbp-0x48]
+       test     rax, rax
+       je       SHORT G_M13414_IG16
+						;; size=42 bbWeight=1 PerfScore 8.25
+G_M13414_IG15:
        lea      rdi, bword ptr [r12+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
+						;; size=13 bbWeight=0.50 PerfScore 0.88
+G_M13414_IG16:
        lea      rdi, bword ptr [r12+0x40]
-       mov      rsi, gword ptr [rbp-0x98]
+       mov      rsi, gword ptr [rbp-0x50]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      byte  ptr [r12+0x25], 0
+       mov      r12, gword ptr [r13+0x80]
+       mov      byte  ptr [r13+0x7B], 0
+       lea      rdi, bword ptr [r13+0x10]
+       mov      rsi, r12
+       call     CORINFO_HELP_ASSIGN_REF
+       lea      rdi, bword ptr [r13+0x40]
+       mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
        xor      edi, edi
-       mov      dword ptr [r12+0x6C], edi
-       mov      byte  ptr [r12+0x7A], 0
-       mov      rdi, gword ptr [r12+0x18]
+       mov      dword ptr [r13+0x6C], edi
+       mov      byte  ptr [r13+0x7A], 0
+       mov      rdi, gword ptr [r13+0x18]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlBaseWriter+NamespaceManager:Clear():this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Xml.XmlBaseWriter+NamespaceManager:Clear():this
-       cmp      dword ptr [r12+0x68], 0
+       cmp      dword ptr [r13+0x68], 0
        je       SHORT G_M13414_IG19
-						;; size=124 bbWeight=1 PerfScore 28.25
+						;; size=92 bbWeight=1 PerfScore 24.50
 G_M13414_IG17:
        xor      rdi, rdi
-       mov      gword ptr [r12+0x20], rdi
-						;; size=7 bbWeight=0.50 PerfScore 0.62
+       mov      gword ptr [r13+0x20], rdi
+						;; size=6 bbWeight=0.50 PerfScore 0.62
 G_M13414_IG18:
-       mov      dword ptr [r12+0x68], edi
-						;; size=5 bbWeight=0.50 PerfScore 0.50
+       mov      dword ptr [r13+0x68], edi
+						;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M13414_IG19:
        xor      rdi, rdi
-       mov      gword ptr [r12+0x28], rdi
-						;; size=7 bbWeight=1 PerfScore 1.25
+       mov      gword ptr [r13+0x28], rdi
+						;; size=6 bbWeight=1 PerfScore 1.25
 G_M13414_IG20:
-       mov      gword ptr [r12+0x30], rdi
-						;; size=5 bbWeight=1 PerfScore 1.00
+       mov      gword ptr [r13+0x30], rdi
+						;; size=4 bbWeight=1 PerfScore 1.00
 G_M13414_IG21:
-       mov      gword ptr [r12+0x58], rdi
-						;; size=5 bbWeight=1 PerfScore 1.00
+       mov      gword ptr [r13+0x58], rdi
+						;; size=4 bbWeight=1 PerfScore 1.00
 G_M13414_IG22:
-       mov      gword ptr [r12+0x60], rdi
+       mov      gword ptr [r13+0x60], rdi
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlDictionaryAsyncCheckWriter
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x40], rax
-       lea      rdi, bword ptr [rax+0x10]
-       mov      rsi, r12
+       mov      r12, rax
+       lea      rdi, bword ptr [r12+0x10]
+       mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.Serialization.XmlWriterDelegator
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
-       lea      rdi, bword ptr [r12+0x08]
-       mov      rsi, gword ptr [rbp-0x40]
+       mov      r13, rax
+       lea      rdi, bword ptr [r13+0x08]
+       mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
-       lea      rdi, bword ptr [r12+0x10]
-       mov      rsi, gword ptr [rbp-0x40]
+       lea      rdi, bword ptr [r13+0x10]
+       mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, gword ptr [rbp-0x30]
-       mov      rsi, r12
+       mov      rsi, r13
        mov      rdx, r14
        xor      rcx, rcx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.XmlObjectSerializer:WriteObjectHandleExceptions(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.DataContractResolver):this
        call     [rax]System.Runtime.Serialization.XmlObjectSerializer:WriteObjectHandleExceptions(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.DataContractResolver):this
-       mov      rdi, gword ptr [rbp-0x40]
+       mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlDictionaryAsyncCheckWriter:Flush():this
        call     [rax]System.Xml.XmlDictionaryAsyncCheckWriter:Flush():this
        mov      rdi, rbx
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.IO.MemoryStream:set_Position(long):this
        call     [rax]System.IO.MemoryStream:set_Position(long):this
        mov      rdi, 0xD1FFAB1E      ; System.IO.StreamReader
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
-       mov      rdx, r13
+       mov      rdx, gword ptr [rbp-0x60]
        mov      rdi, r14
        mov      rsi, rbx
        mov      ecx, 1
        mov      r8d, 0x400
        xor      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte,int,ubyte):this
        call     [rax]System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte,int,ubyte):this
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamReader:ReadToEnd():System.String:this
        call     [rax]System.IO.StreamReader:ReadToEnd():System.String:this
        mov      rsi, rax
        mov      rdi, gword ptr [r15+0x08]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x60]
+						;; size=216 bbWeight=1 PerfScore 38.25
+G_M13414_IG23:
        call     [rax+0x28]System.Xml.XmlWriter:WriteValue(System.String):this
        nop      
-						;; size=225 bbWeight=1 PerfScore 43.75
-G_M13414_IG23:
-       add      rsp, 136
+						;; size=4 bbWeight=1 PerfScore 3.25
+G_M13414_IG24:
+       add      rsp, 88
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=18 bbWeight=1 PerfScore 4.25
+						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 1141, prolog size 25, PerfScore 197.88, instruction count 258, allocated bytes for code 1141 (MethodHash=f677cb99) for method System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):this (FullOpts)
+; Total bytes of code 1018, prolog size 22, PerfScore 182.88, instruction count 244, allocated bytes for code 1018 (MethodHash=f677cb99) for method System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):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/825774cb9810560e4fbbd18dfdd6b6a0

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 6, 2024

@MichalPetryka

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