MihuBot / runtime-utils

0 stars 0 forks source link

[JitDiff X64] [MichalPetryka] Avoid spilling loads of static readonly variables #698

Open MihuBot opened 1 month ago

MihuBot commented 1 month ago

Job completed in 19 minutes 52 seconds. https://github.com/dotnet/runtime/pull/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+d__69:MoveNext():this (FullOpts) 217 (5.71 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool+d__101:MoveNext():this (FullOpts) 213 (22.26 % of base) : System.Net.Http.dasm - System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+d__1[System.Nullable`1[int]]:MoveNext():this (FullOpts) 185 (1.81 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnection+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+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+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+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]]: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: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+d__61`1[System.Nullable`1[int]]:MoveNext():this (FullOpts) -166 (-21.28 % of base) : System.Net.Security.dasm - System.Net.Security.SslSessionsCache:g__ShrinkCredentialCache|5_0() (FullOpts) -164 (-5.51 % of base) : System.Net.Http.dasm - System.Net.Http.SocksHelper+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+d__61`1[double]:MoveNext():this (FullOpts) -27 (-0.31 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+d__61`1[int]:MoveNext():this (FullOpts) -27 (-0.31 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+d__61`1[long]:MoveNext():this (FullOpts) -27 (-0.31 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+d__61`1[short]:MoveNext():this (FullOpts) -27 (-0.31 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+d__61`1[ubyte]:MoveNext():this (FullOpts) -27 (-0.96 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+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+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+d__1[System.Nullable`1[int]]:MoveNext():this (FullOpts) 158 (16.74 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader+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+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+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: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+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+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+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+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+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+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+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]: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>.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: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: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 commented 1 month ago

Top method regressions

213 (22.26 % of base) - System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+d__1[System.Nullable`1[int]]:MoveNext():this ```diff ; Assembly listing for method System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+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 +; 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 ;* V03 loc2 [V03 ] ( 0, 0 ) struct ( 8) zero-ref ; V04 loc3 [V04 ] ( 10, 10 ) struct (16) [rbp-0x40] do-not-enreg[XS] must-init addr-exposed ld-addr-op ;* V05 loc4 [V05 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op ;* V06 loc5 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def -;# 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" -; 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" +; 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" -; V15 tmp8 [V15,T31] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" -; V16 tmp9 [V16,T15] ( 2, 4 ) ref -> rsi class-hnd exact single-def "Inlining Arg" c[System.Nullable`1[int]]> -;* V17 tmp10 [V17 ] ( 0, 0 ) struct (16) zero-ref multireg-ret "Inline return value spill temp" -; V18 tmp11 [V18,T20] ( 3, 3 ) ref -> rdx class-hnd single-def "Inline stloc first use temp" +; V13 tmp6 [V13,T14] ( 5, 5 ) ref -> rsi +; V14 tmp7 [V14,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" +; V15 tmp8 [V15,T34] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" +;* V16 tmp9 [V16 ] ( 0, 0 ) struct (16) zero-ref multireg-ret "Inline return value spill temp" +; V17 tmp10 [V17,T21] ( 3, 3 ) ref -> rdx class-hnd single-def "Inline stloc first use temp" +;* 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" -;* V36 tmp29 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" -; V37 tmp30 [V37,T08] ( 3, 6 ) ref -> rsi class-hnd single-def "Inlining Arg" -;* 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" -;* V42 tmp35 [V42 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" -;* 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" -;* 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" +;* V35 tmp28 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" +; V36 tmp29 [V36,T09] ( 3, 6 ) ref -> rsi class-hnd single-def "Inlining Arg" +;* 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" +;* V41 tmp34 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" +;* 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" +;* 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" -; V49 tmp42 [V49,T09] ( 3, 6 ) ref -> rsi class-hnd single-def "Inlining Arg" -; V50 tmp43 [V50,T10] ( 3, 6 ) ref -> rsi class-hnd single-def "Inlining Arg" -; 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" -; V53 tmp46 [V53,T07] ( 6, 6 ) ref -> rax class-hnd "Inline stloc first use temp" -;* 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" -; 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" +; V48 tmp41 [V48,T10] ( 3, 6 ) ref -> rsi class-hnd single-def "Inlining Arg" +; V49 tmp42 [V49,T11] ( 3, 6 ) ref -> rsi class-hnd single-def "Inlining Arg" +; 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" +; V52 tmp45 [V52,T08] ( 6, 6 ) ref -> rax class-hnd "Inline stloc first use temp" +;* 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" +; V57 tmp50 [V57,T03] ( 6, 12 ) ref -> r13 class-hnd exact single-def "impAppendStmt" +;* V58 tmp51 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; 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" +; 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]]: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+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+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+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+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 ```diff ; 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 ; V01 arg1 [V01,T06] ( 4, 3 ) ref -> rsi class-hnd single-def ; V02 arg2 [V02,T07] ( 4, 3 ) ubyte -> r15 single-def -; V03 loc0 [V03,T24] ( 2, 2 ) ref -> rdi class-hnd exact single-def +; V03 loc0 [V03,T20] ( 2, 2 ) ref -> rdi class-hnd exact single-def ;# 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" -; V06 tmp2 [V06,T12] ( 4, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" -; 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" +; V06 tmp2 [V06,T08] ( 4, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" +; 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" ;* V09 tmp5 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" -; V10 tmp6 [V10,T13] ( 3, 3 ) ref -> rbx class-hnd exact single-def "Inlining Arg" -; V11 tmp7 [V11,T08] ( 4, 4 ) ref -> r15 class-hnd exact single-def "Inlining Arg" -; V12 tmp8 [V12,T01] ( 7, 7 ) ref -> rdi class-hnd single-def "Inlining Arg" -; V13 tmp9 [V13,T27] ( 3, 1.50) ref -> rax class-hnd single-def "Inline stloc first use temp" -; 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" -; V16 tmp12 [V16,T09] ( 4, 4 ) ref -> r15 class-hnd exact single-def "Inlining Arg" -; V17 tmp13 [V17,T02] ( 7, 7 ) ref -> rdi class-hnd single-def "Inlining Arg" -; V18 tmp14 [V18,T28] ( 3, 1.50) ref -> rax class-hnd single-def "Inline stloc first use temp" -; 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" -; V21 tmp17 [V21,T25] ( 2, 2 ) int -> r13 "impAppendStmt" -; V22 tmp18 [V22,T16] ( 3, 3 ) ref -> rbx class-hnd exact single-def "Inlining Arg" -; V23 tmp19 [V23,T10] ( 4, 4 ) ref -> r15 class-hnd exact single-def "Inlining Arg" -; V24 tmp20 [V24,T03] ( 7, 7 ) ref -> rdi class-hnd single-def "Inlining Arg" -; V25 tmp21 [V25,T29] ( 3, 1.50) ref -> rax class-hnd single-def "Inline stloc first use temp" -; 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" -; V28 tmp24 [V28,T11] ( 4, 4 ) ref -> r15 class-hnd exact single-def "Inlining Arg" -; V29 tmp25 [V29,T04] ( 7, 7 ) ref -> rdi class-hnd single-def "Inlining Arg" -; V30 tmp26 [V30,T30] ( 3, 1.50) ref -> rax class-hnd single-def "Inline stloc first use temp" -; 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" +; V11 tmp7 [V11,T01] ( 7, 7 ) ref -> rdi class-hnd single-def "Inlining Arg" +; V12 tmp8 [V12,T23] ( 3, 1.50) ref -> rax class-hnd single-def "Inline stloc first use temp" +; 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" +; V15 tmp11 [V15,T02] ( 7, 7 ) ref -> rdi class-hnd single-def "Inlining Arg" +; V16 tmp12 [V16,T24] ( 3, 1.50) ref -> rax class-hnd single-def "Inline stloc first use temp" +; 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" +; V19 tmp15 [V19,T21] ( 2, 2 ) int -> r13 "impAppendStmt" +; V20 tmp16 [V20,T12] ( 3, 3 ) ref -> rbx class-hnd exact single-def "Inlining Arg" +; V21 tmp17 [V21,T03] ( 7, 7 ) ref -> rdi class-hnd single-def "Inlining Arg" +; V22 tmp18 [V22,T25] ( 3, 1.50) ref -> rax class-hnd single-def "Inline stloc first use temp" +; 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" +; V25 tmp21 [V25,T04] ( 7, 7 ) ref -> rdi class-hnd single-def "Inlining Arg" +; V26 tmp22 [V26,T26] ( 3, 1.50) ref -> rax class-hnd single-def "Inline stloc first use temp" +; 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 commented 1 month ago

Top method improvements

-166 (-21.28 % of base) - System.Net.Security.SslSessionsCache:g__ShrinkCredentialCache|5_0() ```diff ; Assembly listing for method System.Net.Security.SslSessionsCache: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 -;* V01 loc1 [V01,T30] ( 0, 0 ) int -> zero-ref -; V02 loc2 [V02,T00] ( 8, 20 ) ref -> [rbp-0x90] class-hnd -; V03 loc3 [V03,T07] ( 3, 10 ) ref -> [rbp-0x98] class-hnd spill-single-def -; V04 loc4 [V04 ] ( 2, 4 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd +; V00 loc0 [V00,T08] ( 5, 9 ) ref -> r15 class-hnd single-def +;* V01 loc1 [V01,T27] ( 0, 0 ) int -> zero-ref +; V02 loc2 [V02,T00] ( 7, 18 ) ref -> [rbp-0x60] class-hnd +; V03 loc3 [V03,T05] ( 3, 10 ) ref -> [rbp-0x68] class-hnd spill-single-def +; V04 loc4 [V04 ] ( 1, 2 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd ; 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" -; V07 tmp2 [V07,T13] ( 2, 8 ) struct (24) [rbp-0x48] do-not-enreg[S] must-init "spilled call-like call argument" -; V08 tmp3 [V08,T04] ( 3, 12 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "impAppendStmt" -; V09 tmp4 [V09,T14] ( 2, 8 ) struct (24) [rbp-0x60] do-not-enreg[S] must-init "spilled call-like call argument" -; V10 tmp5 [V10,T10] ( 2, 8 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "impAppendStmt" -; V11 tmp6 [V11,T15] ( 2, 8 ) struct (24) [rbp-0x78] do-not-enreg[S] must-init "spilled call-like call argument" -; V12 tmp7 [V12,T17] ( 3, 3 ) ref -> r14 class-hnd exact single-def "dup spill" -; V13 tmp8 [V13,T18] ( 3, 3 ) ref -> r13 class-hnd exact single-def "Single-def Box Helper" -;* 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" -; V18 tmp13 [V18,T11] ( 2, 8 ) ref -> rdi class-hnd "dup spill" -;* 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" -; V22 tmp17 [V22,T12] ( 2, 8 ) ref -> [rbp-0xB8] class-hnd exact spill-single-def "impAppendStmt" -; 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" -;* 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" -;* V27 tmp22 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V28 tmp23 [V28,T16] ( 4, 4 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" -;* V29 tmp24 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" -; 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" +; V07 tmp2 [V07,T12] ( 2, 8 ) struct (24) [rbp-0x48] do-not-enreg[S] must-init "spilled call-like call argument" +;* V08 tmp3 [V08 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "spilled call-like call argument" +; V09 tmp4 [V09,T14] ( 3, 3 ) ref -> r14 class-hnd exact single-def "dup spill" +; V10 tmp5 [V10,T15] ( 3, 3 ) ref -> r13 class-hnd exact single-def "Single-def Box Helper" +;* 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" +; V15 tmp10 [V15,T09] ( 2, 8 ) ref -> rdi class-hnd "dup spill" +;* 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" +; V19 tmp14 [V19,T10] ( 2, 8 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "impAppendStmt" +; 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" +;* 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" +; V24 tmp19 [V24,T13] ( 4, 4 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" +; 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" -; 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" +; 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: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: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 ```diff ; 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 ; V01 arg1 [V01,T16] ( 3, 3 ) ref -> r15 class-hnd single-def ; V02 arg2 [V02,T17] ( 3, 3 ) ref -> r14 class-hnd single-def -; V03 arg3 [V03,T08] ( 5, 4.50) ref -> rbx class-hnd single-def +; V03 arg3 [V03,T09] ( 5, 4.50) ref -> rbx class-hnd single-def ;* V04 arg4 [V04 ] ( 0, 0 ) struct ( 8) zero-ref single-def ;* V05 loc0 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def -; V06 loc1 [V06,T25] ( 2, 2 ) ref -> rsi class-hnd exact single-def +; V06 loc1 [V06,T24] ( 2, 2 ) ref -> rsi class-hnd exact single-def ; 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" +; 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" ; V14 tmp7 [V14,T02] ( 6, 11 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" -; V15 tmp8 [V15,T11] ( 3, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" +; V15 tmp8 [V15,T12] ( 3, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" ;* V16 tmp9 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" ;* V17 tmp10 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V18 tmp11 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" -; V19 tmp12 [V19,T00] ( 22, 40 ) ref -> [rbp-0x38] class-hnd exact spill-single-def "NewObj constructor temp" -; V20 tmp13 [V20,T03] ( 7, 10 ) ref -> r12 class-hnd exact single-def "Inlining Arg" -; V21 tmp14 [V21,T04] ( 5, 10 ) ref -> [rbp-0x40] class-hnd exact spill-single-def "NewObj constructor temp" -; V22 tmp15 [V22,T12] ( 3, 6 ) ref -> [rbp-0x48] class-hnd exact spill-single-def "NewObj constructor temp" -; V23 tmp16 [V23,T18] ( 3, 5 ) ref -> [rbp-0x50] class-hnd "Inlining Arg" -; V24 tmp17 [V24,T05] ( 6, 8 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "impAppendStmt" -; V25 tmp18 [V25,T09] ( 6, 6 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "NewObj constructor temp" -; V26 tmp19 [V26,T22] ( 3, 3 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "NewObj constructor temp" -;* V27 tmp20 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V28 tmp21 [V28,T07] ( 5, 7 ) ref -> rsi class-hnd exact single-def "Inlining Arg" -; 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" -; V32 tmp25 [V32,T28] ( 2, 2 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "Inlining Arg" -; V33 tmp26 [V33,T23] ( 4, 2.50) ref -> [rbp-0x80] class-hnd "Inline stloc first use temp" -; V34 tmp27 [V34,T15] ( 4, 5 ) ref -> [rbp-0x88] class-hnd "Inlining Arg" -; V35 tmp28 [V35,T01] ( 8, 13 ) ref -> [rbp-0x90] class-hnd spill-single-def "Inlining Arg" -;* 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" -; V38 tmp31 [V38,T06] ( 4, 8 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" -; 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" +; V20 tmp13 [V20,T03] ( 5, 10 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" +; V21 tmp14 [V21,T13] ( 3, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" +; V22 tmp15 [V22,T18] ( 3, 5 ) ref -> r12 class-hnd "Inlining Arg" +; V23 tmp16 [V23,T07] ( 5, 7 ) ref -> [rbp-0x38] class-hnd exact spill-single-def "impAppendStmt" +; V24 tmp17 [V24,T10] ( 6, 6 ) ref -> [rbp-0x40] class-hnd exact spill-single-def "NewObj constructor temp" +; V25 tmp18 [V25,T21] ( 3, 3 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" +;* V26 tmp19 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V27 tmp20 [V27,T08] ( 5, 7 ) ref -> rsi class-hnd exact single-def "Inlining Arg" +; 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" +; V31 tmp24 [V31,T06] ( 6, 7 ) ref -> [rbp-0x50] class-hnd "Inlining Arg" +; V32 tmp25 [V32,T01] ( 8, 13 ) ref -> [rbp-0x58] class-hnd spill-single-def "Inlining Arg" +;* V33 tmp26 [V33 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" +; V34 tmp27 [V34,T14] ( 3, 6 ) ref -> r12 class-hnd single-def "Inlining Arg" +; V35 tmp28 [V35,T04] ( 4, 8 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" +; 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 commented 1 month ago

@MichalPetryka