MihuBot / runtime-utils

0 stars 0 forks source link

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

Open MihuBot opened 1 month ago

MihuBot commented 1 month ago

Job completed in 20 minutes 21 seconds.

Diffs

Diffs ``` Found 379 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 39394944 Total bytes of diff: 39397105 Total bytes of delta: 2161 (0.01 % of base) Total relative delta: -3.59 diff is a regression. relative diff is an improvement. Top file regressions (bytes): 2577 : System.Private.DataContractSerialization.dasm (0.26 % of base) 1172 : System.Private.Xml.dasm (0.03 % of base) 655 : System.Private.CoreLib.dasm (0.01 % of base) 409 : System.Linq.Expressions.dasm (0.04 % of base) 326 : System.Net.Http.dasm (0.04 % of base) 217 : System.Linq.dasm (0.02 % of base) 184 : System.Linq.Parallel.dasm (0.01 % of base) 133 : System.Net.HttpListener.dasm (0.13 % of base) 124 : System.Collections.dasm (0.03 % of base) 122 : System.Collections.Concurrent.dasm (0.03 % of base) 100 : System.Formats.Tar.dasm (0.08 % of base) 68 : ILCompiler.Reflection.ReadyToRun.dasm (0.03 % of base) 67 : System.Net.Quic.dasm (0.04 % of base) 33 : System.Threading.Tasks.Parallel.dasm (0.01 % of base) 24 : System.ComponentModel.TypeConverter.dasm (0.01 % of base) 24 : Microsoft.Extensions.Options.dasm (0.09 % of base) 17 : System.CodeDom.dasm (0.01 % of base) 15 : System.Numerics.Tensors.dasm (0.00 % of base) 14 : System.Security.Cryptography.Pkcs.dasm (0.00 % of base) 14 : System.Formats.Nrbf.dasm (0.03 % of base) 14 : System.Configuration.ConfigurationManager.dasm (0.00 % of base) 13 : System.ComponentModel.Composition.Registration.dasm (0.01 % of base) 12 : System.Threading.Channels.dasm (0.01 % of base) 11 : System.Text.Json.dasm (0.00 % of base) 9 : System.Data.Odbc.dasm (0.00 % of base) 9 : System.Composition.Hosting.dasm (0.01 % of base) 7 : System.ObjectModel.dasm (0.01 % of base) 7 : System.Linq.Queryable.dasm (0.00 % of base) 6 : System.Security.Cryptography.Cose.dasm (0.01 % 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 : Microsoft.VisualBasic.Core.dasm (0.00 % of base) 3 : System.Memory.dasm (0.00 % of base) 3 : System.Threading.RateLimiting.dasm (0.00 % of base) Top file improvements (bytes): -1632 : System.Collections.Immutable.dasm (-0.08 % of base) -1008 : System.Threading.Tasks.Dataflow.dasm (-0.08 % of base) -158 : System.Net.WebSockets.dasm (-0.11 % of base) -144 : System.Net.Sockets.dasm (-0.06 % of base) -141 : System.Data.Common.dasm (-0.01 % of base) -127 : System.Net.NetworkInformation.dasm (-0.25 % of base) -112 : System.Security.Cryptography.dasm (-0.01 % of base) -87 : System.Reflection.Metadata.dasm (-0.02 % of base) -85 : System.Text.RegularExpressions.dasm (-0.01 % of base) -71 : System.Net.Security.dasm (-0.03 % of base) -60 : System.Formats.Asn1.dasm (-0.07 % of base) -59 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.23 % of base) -53 : System.Net.Requests.dasm (-0.04 % of base) -52 : System.Console.dasm (-0.06 % of base) -37 : System.Resources.Extensions.dasm (-0.07 % of base) -36 : Microsoft.CSharp.dasm (-0.01 % of base) -36 : System.Reflection.MetadataLoadContext.dasm (-0.02 % of base) -36 : Microsoft.Extensions.DependencyModel.dasm (-0.05 % of base) -36 : System.Diagnostics.DiagnosticSource.dasm (-0.01 % of base) -30 : System.Private.Uri.dasm (-0.03 % of base) -26 : System.Net.Mail.dasm (-0.01 % of base) -25 : System.IO.Compression.dasm (-0.03 % of base) -22 : System.Resources.Writer.dasm (-0.24 % of base) -18 : System.Composition.TypedParts.dasm (-0.04 % of base) -15 : System.Collections.Specialized.dasm (-0.12 % of base) -14 : System.Net.NameResolution.dasm (-0.03 % of base) -14 : Microsoft.Extensions.Caching.Memory.dasm (-0.08 % of base) -14 : System.ServiceModel.Syndication.dasm (-0.01 % of base) -14 : System.Composition.Convention.dasm (-0.01 % of base) -14 : System.Web.HttpUtility.dasm (-0.07 % of base) -13 : System.ComponentModel.Composition.dasm (-0.00 % of base) -12 : System.Diagnostics.Process.dasm (-0.01 % of base) -11 : System.Diagnostics.TraceSource.dasm (-0.02 % of base) -11 : Microsoft.Extensions.FileProviders.Physical.dasm (-0.06 % of base) -8 : System.IO.Packaging.dasm (-0.01 % of base) -5 : System.Net.Http.Json.dasm (-0.00 % of base) -4 : System.ComponentModel.Annotations.dasm (-0.01 % of base) -2 : System.Net.Primitives.dasm (-0.00 % of base) -2 : System.IO.Hashing.dasm (-0.01 % of base) 74 total files with Code Size differences (39 improved, 35 regressed), 185 unchanged. Top method regressions (bytes): 2572 (40.21 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.String,System.String,byref):ubyte (FullOpts) 490 (8.10 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WritePrimitive(System.Xml.Serialization.TypeMapping,System.String):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) 207 (2.12 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts) 205 (2.87 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteStructMethod(System.Xml.Serialization.StructMapping):this (FullOpts) 175 (1.71 % 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) 160 (7.07 % 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) 158 (16.74 % of base) : System.Private.CoreLib.dasm - System.IO.StreamReader+d__66:MoveNext():this (FullOpts) 154 (11.06 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts) 142 (1.42 % 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) 127 (1.79 % 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) 123 (17.42 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:ReadPosixAndGnuSharedAttributes(System.ReadOnlySpan`1[ubyte]):this (FullOpts) 107 (2.70 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:SelectClientCertificate():System.Security.Cryptography.X509Certificates.X509Certificate2:this (FullOpts) 102 (12.52 % of base) : System.Net.Mail.dasm - System.Net.Mail.CheckCommand:BeginSend(System.Net.Mail.SmtpConnection,System.AsyncCallback,System.Object):System.IAsyncResult (FullOpts) 100 (1.08 % of base) : System.Data.Common.dasm - System.Data.Common.SqlConvert:ChangeTypeForXML(System.Object,System.Type):System.Object (FullOpts) 94 (1.40 % 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) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[double]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[int]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[long]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[short]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.Nullable`1[int]]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.Numerics.Vector`1[float]]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[ubyte]:CleanupAndComplete(int):this (FullOpts) 82 (5.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.__Canon]:CleanupAndComplete(int):this (FullOpts) 76 (11.50 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileThrowUnaryExpression(System.Linq.Expressions.Expression,ubyte):this (FullOpts) 74 (1.36 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicApi:.cctor() (FullOpts) 73 (2.00 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+d__63:MoveNext():this (FullOpts) 73 (1.18 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:PrecompileProtoTemplatesHeaders():this (FullOpts) 68 (3.57 % of base) : System.Net.Security.dasm - System.Net.Security.NegotiateAuthentication:CheckSpn():ubyte:this (FullOpts) 63 (1.08 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatReaderGenerator+CriticalHelper:ReadCollection(System.Runtime.Serialization.DataContracts.CollectionDataContract):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) 56 (1.31 % 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) 56 (2.16 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPath.XPathBuilder:Function(System.String,System.String,System.Collections.Generic.IList`1[System.Xml.Xsl.Qil.QilNode]):System.Xml.Xsl.Qil.QilNode: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) 49 (2.56 % 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) 49 (1.53 % 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) 47 (1.70 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:SerializeTransitionTime(System.TimeZoneInfo+TransitionTime,byref) (FullOpts) 45 (2.12 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateTypeElement(System.Xml.Serialization.XmlTypeMapping):System.String:this (FullOpts) 41 (3.20 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TypeScope:GetEnumeratorElementType(System.Type,byref):System.Type (FullOpts) 40 (0.71 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:GenerateMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String: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) 32 (2.99 % of base) : System.Private.Xml.dasm - System.Xml.XmlWellFormedWriter+AttributeValueCache:Trim():this (FullOpts) 31 (1.33 % 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) 26 (11.26 % of base) : System.Net.Http.dasm - System.Net.Http.RedirectHandler:RequestRequiresForceGet(int,System.Net.Http.HttpMethod):ubyte (FullOpts) 24 (8.60 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEventArgs:AfterConnectAcceptTelemetry():this (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) 20 (0.20 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+d__61`1[System.__Canon]:MoveNext():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 (1.21 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CreateGeneralKeyFunction():System.Xml.Xsl.Qil.QilFunction:this (FullOpts) 18 (3.42 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:EmitIndexGet(System.Linq.Expressions.IndexExpression):this (FullOpts) 18 (0.55 % 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) 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) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[double]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[long]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[short]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.14 % 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) 17 (5.52 % 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) 17 (5.52 % 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) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[ubyte]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[double]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[int]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[long]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[short]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (3.30 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % 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) 17 (4.19 % 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) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[ubyte]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):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) Top method improvements (bytes): -345 (-10.04 % 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.08 % 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 (-10.03 % 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.99 % 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.99 % 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) -164 (-5.51 % of base) : System.Net.Http.dasm - System.Net.Http.SocksHelper+d__13:MoveNext():this (FullOpts) -162 (-21.74 % of base) : System.Net.Security.dasm - System.Net.Security.SslSessionsCache:g__ShrinkCredentialCache|5_0() (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) -93 (-2.16 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.StringParsingHelpers:ParseInterfaceStatisticsTableFromFile(System.String,System.String):System.Net.NetworkInformation.IPInterfaceStatisticsTable (FullOpts) -74 (-2.98 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCache:Add(System.Text.RegularExpressions.RegexCache+Key,System.Text.RegularExpressions.Regex) (FullOpts) (2 methods) -63 (-4.30 % of base) : System.Net.Mail.dasm - System.Net.Mime.BaseWriter:WriteAndFold(System.String,int,ubyte):this (FullOpts) -60 (-1.99 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:GetSerializedString(System.TimeZoneInfo):System.String (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) -56 (-1.19 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonFormatReaderGenerator+CriticalHelper:ReadCollection(System.Runtime.Serialization.DataContracts.CollectionDataContract):this (FullOpts) -53 (-3.11 % of base) : System.Console.dasm - System.IO.StdInReader:ReadLineCore(ubyte):ubyte:this (FullOpts) -50 (-2.39 % 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) -45 (-1.68 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteArray(System.String,System.String,System.Xml.Serialization.ArrayMapping,ubyte,ubyte,int):this (FullOpts) -41 (-2.83 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateTypeElement(System.Xml.Serialization.XmlTypeMapping):System.String:this (FullOpts) -40 (-3.28 % 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) -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) -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) -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) -29 (-2.02 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:FillAttributes(System.Collections.IList):this (FullOpts) -29 (-0.83 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteEnumAndArrayTypes():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.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 (-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) -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.96 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+d__70:MoveNext():this (FullOpts) -26 (-5.04 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoResourceModule:GetTypeCoreNoCache(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],byref):System.Reflection.TypeLoading.RoDefinitionType:this (FullOpts) -26 (-2.49 % 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) -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) -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) -24 (-1.83 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:TryFindCGroupPathForSubsystem(int,System.String,System.String,byref):ubyte (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 (-0.38 % 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) -23 (-10.36 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpAuthenticationManager:GetModules():System.Net.Mail.ISmtpAuthenticationModule[] (FullOpts) -23 (-3.01 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):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) -22 (-2.78 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts) -22 (-2.94 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:LogCertificateValidation(System.Net.Security.RemoteCertificateValidationCallback,int,ubyte,System.Security.Cryptography.X509Certificates.X509Chain):this (FullOpts) -22 (-0.60 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts) -22 (-0.59 % of base) : System.Resources.Writer.dasm - System.Resources.ResourceWriter:Generate():this (FullOpts) -22 (-2.31 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]:ProcessMessageWithTask(System.Func`2[double,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Collections.Generic.KeyValuePair`2[double,long]):this (FullOpts) -22 (-2.31 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:ProcessMessageWithTask(System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Collections.Generic.KeyValuePair`2[long,long]):this (FullOpts) -22 (-2.31 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:ProcessMessageWithTask(System.Func`2[System.Nullable`1[int],System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],long]):this (FullOpts) -21 (-0.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Nullable`1[int]]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[System.Nullable`1[int]] (FullOpts) -21 (-5.95 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.SourceElement:ResetProperties():this (FullOpts) -21 (-1.67 % of base) : System.Net.Http.dasm - System.Net.Http.ConnectionSetupDistributedTracing:StartConnectionSetupActivity(ubyte,System.Net.Http.HttpAuthority):System.Diagnostics.Activity (FullOpts) -21 (-3.30 % of base) : System.Private.CoreLib.dasm - System.Threading.RegisteredWaitHandle:UnregisterPortableCore(System.Threading.WaitHandle):ubyte:this (FullOpts) -21 (-2.91 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState+<>c[System.__Canon]:<.ctor>b__6_1(System.Threading.Tasks.Task,System.Object):this (FullOpts) -21 (-0.41 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteEnumAndArrayTypes():this (FullOpts) -20 (-1.96 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.CompositionServices:GetPartMetadataForType(System.Type,int):System.Collections.Generic.IDictionary`2[System.String,System.Object] (FullOpts) -20 (-0.82 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketsTelemetry:ConnectStart(System.Net.SocketAddress,int,System.Net.EndPoint,ubyte):System.Diagnostics.Activity:this (FullOpts) -20 (-1.03 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[double,System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-1.03 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[int,System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-1.03 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[long,System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-1.03 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[short,System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-1.03 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-1.03 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-1.03 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchedJoinBlock`2[ubyte,System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-1.53 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[double]:.ctor(System.Func`2[double,double],System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.53 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[int]:.ctor(System.Func`2[int,int],System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.53 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[long]:.ctor(System.Func`2[long,long],System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.53 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[short]:.ctor(System.Func`2[short,short],System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.53 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.Nullable`1[int]]:.ctor(System.Func`2[System.Nullable`1[int],System.Nullable`1[int]],System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.53 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[System.Numerics.Vector`1[float]]:.ctor(System.Func`2[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.53 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1[ubyte]:.ctor(System.Func`2[ubyte,ubyte],System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.34 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[double]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.34 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[int]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.34 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[long]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.34 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[short]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.34 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.34 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[System.Numerics.Vector`1[float]]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-1.34 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BufferBlock`1[ubyte]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlockOptions):this (FullOpts) -20 (-0.98 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[System.__Canon,System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts) -20 (-1.77 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteXmlNodeEqual(System.String,System.String,System.String,ubyte):this (FullOpts) Top method regressions (percentages): 2572 (40.21 % 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) 123 (17.42 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHeader:ReadPosixAndGnuSharedAttributes(System.ReadOnlySpan`1[ubyte]):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) 102 (12.52 % of base) : System.Net.Mail.dasm - System.Net.Mail.CheckCommand:BeginSend(System.Net.Mail.SmtpConnection,System.AsyncCallback,System.Object):System.IAsyncResult (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) 154 (11.06 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (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) 24 (8.60 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEventArgs:AfterConnectAcceptTelemetry():this (FullOpts) 490 (8.10 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WritePrimitive(System.Xml.Serialization.TypeMapping,System.String):this (FullOpts) 20 (7.75 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.TypedElement:.ctor(System.Type):this (FullOpts) 160 (7.07 % 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) 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) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[double]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[long]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[short]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (5.52 % 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) 17 (5.52 % 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) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[ubyte]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (5.52 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[double]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[int]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[long]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[short]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.Nullable`1[int]]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.Numerics.Vector`1[float]]:CleanupAndComplete(int):this (FullOpts) 84 (5.50 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[ubyte]:CleanupAndComplete(int):this (FullOpts) 82 (5.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+ReceiveTarget`1[System.__Canon]:CleanupAndComplete(int):this (FullOpts) 14 (5.28 % of base) : System.Formats.Nrbf.dasm - System.Formats.Nrbf.BinaryArrayRecord:MapElementType(System.Type,byref):System.Type (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) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[double]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[int]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[long]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[short]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.19 % 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) 17 (4.19 % 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) 17 (4.19 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[ubyte]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):this (FullOpts) 17 (4.14 % 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) 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) 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) 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) 17 (3.30 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:System.Runtime.CompilerServices.IStateMachineBoxAwareAwaiter.AwaitUnsafeOnCompleted(System.Runtime.CompilerServices.IAsyncStateMachineBox):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) 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) Top method improvements (percentages): -162 (-21.74 % of base) : System.Net.Security.dasm - System.Net.Security.SslSessionsCache:g__ShrinkCredentialCache|5_0() (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) -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) -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) -12 (-12.12 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:.ctor():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) -6 (-10.53 % of base) : System.Private.CoreLib.dasm - System.Net.WebUtility:IsUrlSafe(ushort):ubyte (FullOpts) -6 (-10.53 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Helpers:NeedsEscapingInTypeName(ushort):ubyte (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) -343 (-10.08 % 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.04 % 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) -341 (-10.03 % 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.99 % 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.99 % 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) -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) -10 (-9.62 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.XPathParser:GetAxis():int:this (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.22 % of base) : System.Data.Common.dasm - System.Data.XSDSchema:XsdtoClr(System.String):System.Type (FullOpts) -12 (-8.00 % of base) : System.Net.Requests.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.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) -10 (-7.30 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:InsertAggregate(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType) (FullOpts) -16 (-7.24 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:IsPrimitiveNumeric(System.Xml.Xsl.XmlQueryType):ubyte (FullOpts) -16 (-7.24 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.XmlILOptimizerVisitor:MatchesContentTest(System.Xml.Xsl.XmlQueryType):ubyte (FullOpts) -3 (-6.82 % of base) : System.Text.Json.dasm - System.Text.Json.JsonReaderHelper:ContainsSpecialCharacters(System.ReadOnlySpan`1[ushort]):ubyte (FullOpts) -10 (-6.67 % of base) : System.Net.Http.dasm - System.Net.Http.RedirectHandler:Trace(System.String,int,System.String):this (FullOpts) -10 (-6.67 % of base) : System.Net.Http.dasm - System.Net.Http.RedirectHandler:TraceError(System.String,int,System.String):this (FullOpts) -12 (-6.49 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.SwitchElement:ResetProperties():this (FullOpts) -14 (-6.19 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.NetworkChange:add_NetworkAddressChanged(System.Net.NetworkInformation.NetworkAddressChangedEventHandler) (FullOpts) -3 (-6.12 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:InsertArray(Microsoft.CSharp.RuntimeBinder.Semantics.CType,int,Microsoft.CSharp.RuntimeBinder.Semantics.ArrayType) (FullOpts) -21 (-5.95 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.SourceElement:ResetProperties():this (FullOpts) -12 (-5.94 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent:CheckTaskNotNull(System.Threading.Tasks.Task):this (FullOpts) -3 (-5.88 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:InsertParameterModifier(Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,Microsoft.CSharp.RuntimeBinder.Semantics.ParameterModifierType) (FullOpts) -8 (-5.88 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:LookupAggregate(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType (FullOpts) -3 (-5.88 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:LookupArray(Microsoft.CSharp.RuntimeBinder.Semantics.CType,int):Microsoft.CSharp.RuntimeBinder.Semantics.ArrayType (FullOpts) -3 (-5.66 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:LookupParameterModifier(Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte):Microsoft.CSharp.RuntimeBinder.Semantics.ParameterModifierType (FullOpts) -12 (-5.53 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.RestrictedAsciiStringEncoding:.ctor(System.String):this (FullOpts) -164 (-5.51 % of base) : System.Net.Http.dasm - System.Net.Http.SocksHelper+d__13:MoveNext():this (FullOpts) -12 (-5.48 % of base) : System.Text.Json.dasm - System.Text.Json.JsonReaderHelper:GetUtf8ByteCount(System.ReadOnlySpan`1[ushort]):int (FullOpts) -19 (-5.21 % of base) : System.Net.Security.dasm - System.Net.Security.SslConnectionInfo:UpdateSslConnectionInfo(Microsoft.Win32.SafeHandles.SafeSslHandle):this (FullOpts) -8 (-5.19 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEventArgs:LogBytesTransferEvents(System.Nullable`1[int],int,int) (FullOpts) -16 (-5.11 % of base) : System.Private.CoreLib.dasm - System.Runtime.Serialization.SerializationInfo:StartDeserialization():System.Runtime.Serialization.DeserializationToken (FullOpts) -26 (-5.04 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoResourceModule:GetTypeCoreNoCache(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],byref):System.Reflection.TypeLoading.RoDefinitionType:this (FullOpts) -10 (-4.95 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.__Canon,System.Nullable`1[int]]:.cctor() (FullOpts) -12 (-4.92 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:GetPartMetadata(System.Reflection.TypeInfo):System.Collections.Generic.IDictionary`2[System.String,System.Object]:this (FullOpts) -14 (-4.78 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.Socket:.ctor(int,int,int):this (FullOpts) -12 (-4.60 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.TcpListener:.ctor(System.Net.IPEndPoint):this (FullOpts) -27 (-4.58 % of base) : System.Private.Uri.dasm - System.DomainNameHelper:ParseCanonicalName(System.String,int,int,byref):System.String (FullOpts) -7 (-4.55 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.T61Encoding:GetByteCount(System.ReadOnlySpan`1[ushort]):int:this (FullOpts) -63 (-4.30 % of base) : System.Net.Mail.dasm - System.Net.Mime.BaseWriter:WriteAndFold(System.String,int,ubyte):this (FullOpts) -7 (-4.27 % of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:ReadUtf8(byref,int,byref,int):int (FullOpts) -12 (-4.20 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.Socket:Listen(int):this (FullOpts) -14 (-4.19 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(System.Data.DataSet):int:this (FullOpts) -3 (-4.05 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack:Create[double](double):System.Collections.Immutable.ImmutableStack`1[double] (FullOpts) -12 (-4.00 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.CacheEntry:PropagateOptionsToCurrent():this (FullOpts) -11 (-3.79 % of base) : System.Text.Json.dasm - System.Text.Json.JsonReaderHelper:TranscodeHelper(System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int (FullOpts) -16 (-3.76 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:Fill(int,int,System.Data.DataTable[]):int:this (FullOpts) -9 (-3.75 % of base) : System.Text.Json.dasm - System.Text.Json.JsonReaderHelper:GetUtf8FromText(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int (FullOpts) -8 (-3.67 % of base) : System.ObjectModel.dasm - System.Collections.ObjectModel.ReadOnlyObservableCollection`1[System.__Canon]:.cctor() (FullOpts) -7 (-3.55 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.T61Encoding:GetByteCount(System.String):int:this (FullOpts) -3 (-3.53 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore:LookupSym(Microsoft.CSharp.RuntimeBinder.Syntax.Name,Microsoft.CSharp.RuntimeBinder.Semantics.ParentSymbol,long):Microsoft.CSharp.RuntimeBinder.Semantics.Symbol (FullOpts) -8 (-3.45 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.T61Encoding:GetCharCount(System.ReadOnlySpan`1[ubyte]):int:this (FullOpts) -8 (-3.40 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableQueue`1[System.Numerics.Vector`1[float]]:Enqueue(System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableQueue`1[System.Numerics.Vector`1[float]]:this (FullOpts) -21 (-3.30 % of base) : System.Private.CoreLib.dasm - System.Threading.RegisteredWaitHandle:UnregisterPortableCore(System.Threading.WaitHandle):ubyte:this (FullOpts) -40 (-3.28 % 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) -8 (-3.24 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableQueue`1[double]:Enqueue(double):System.Collections.Immutable.ImmutableQueue`1[double]:this (FullOpts) -2 (-3.17 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack:Create[int](int):System.Collections.Immutable.ImmutableStack`1[int] (FullOpts) -2 (-3.17 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack:Create[ubyte](ubyte):System.Collections.Immutable.ImmutableStack`1[ubyte] (FullOpts) -2 (-3.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack:Create[long](long):System.Collections.Immutable.ImmutableStack`1[long] (FullOpts) -2 (-3.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack:Create[short](short):System.Collections.Immutable.ImmutableStack`1[short] (FullOpts) -2 (-3.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack:Create[System.Nullable`1[int]](System.Nullable`1[int]):System.Collections.Immutable.ImmutableStack`1[System.Nullable`1[int]] (FullOpts) -53 (-3.11 % of base) : System.Console.dasm - System.IO.StdInReader:ReadLineCore(ubyte):ubyte:this (FullOpts) -5 (-3.11 % of base) : System.Web.HttpUtility.dasm - System.Web.Util.HttpEncoder:NeedsEncoding(System.ReadOnlySpan`1[ubyte],byref):ubyte (FullOpts) -7 (-3.07 % of base) : System.Security.Cryptography.Cose.dasm - System.Security.Cryptography.Cose.CoseHelpers:GetTextStringEncodedSize(System.String):int (FullOpts) -23 (-3.01 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts) -12 (-2.98 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.TcpListener:.ctor(System.Net.IPAddress,int):this (FullOpts) 1491 total methods with Code Size differences (792 improved, 699 regressed), 231061 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) ; ============================================================ ```

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

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

MihuBot commented 1 month ago

Top method improvements

-162 (-21.74 % 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,T21] ( 3, 1.25) ref -> rax class-hnd single-def -;* V01 loc1 [V01,T30] ( 0, 0 ) int -> zero-ref -; V02 loc2 [V02,T00] ( 8, 20 ) ref -> r13 class-hnd -; V03 loc3 [V03,T05] ( 3, 10 ) ref -> r12 class-hnd -; V04 loc4 [V04 ] ( 2, 4 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd +; V00 loc0 [V00,T17] ( 3, 1.25) ref -> rax class-hnd single-def +;* V01 loc1 [V01,T26] ( 0, 0 ) int -> zero-ref +; V02 loc2 [V02,T00] ( 7, 18 ) ref -> r13 class-hnd +; V03 loc3 [V03,T04] ( 3, 10 ) ref -> r12 class-hnd +; 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,T11] ( 2, 8 ) struct (24) [rbp-0x48] do-not-enreg[S] must-init "spilled call-like call argument" -; V07 tmp2 [V07,T12] ( 2, 8 ) struct (24) [rbp-0x60] do-not-enreg[S] must-init "spilled call-like call argument" -; V08 tmp3 [V08,T13] ( 2, 8 ) struct (24) [rbp-0x78] do-not-enreg[S] must-init "spilled call-like call argument" -; V09 tmp4 [V09,T16] ( 3, 3 ) ref -> r14 class-hnd exact single-def "dup spill" -; V10 tmp5 [V10,T17] ( 3, 3 ) ref -> r13 class-hnd exact single-def "Single-def Box Helper" +;* V06 tmp1 [V06 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "spilled call-like call argument" +; V07 tmp2 [V07,T09] ( 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,T12] ( 3, 3 ) ref -> r14 class-hnd exact single-def "dup spill" +; V10 tmp5 [V10,T13] ( 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,T07] ( 2, 8 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "Inlining Arg" -;* V15 tmp10 [V15 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" -; V16 tmp11 [V16,T08] ( 2, 8 ) ref -> rdi class-hnd "dup spill" -;* V17 tmp12 [V17 ] ( 0, 0 ) ref -> zero-ref -;* V18 tmp13 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -; V19 tmp14 [V19,T03] ( 3, 12 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "Inlining Arg" -;* V20 tmp15 [V20 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" -; V21 tmp16 [V21,T09] ( 2, 8 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "impAppendStmt" -; V22 tmp17 [V22 ] ( 2, 4 ) ref -> [rbp-0x80] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" -;* V23 tmp18 [V23 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" -;* V24 tmp19 [V24 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V25 tmp20 [V25,T10] ( 2, 8 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "Inlining Arg" -;* 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,T14] ( 4, 4 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" -; V29 tmp24 [V29,T23] ( 2, 1 ) ref -> r15 single-def -; V30 tmp25 [V30,T24] ( 2, 1 ) ref -> r14 single-def -;* V31 tmp26 [V31 ] ( 0, 0 ) ref -> zero-ref single-def -; V32 tmp27 [V32,T25] ( 2, 1 ) ref -> r15 single-def -; V33 tmp28 [V33,T26] ( 2, 1 ) ref -> r14 single-def -;* V34 tmp29 [V34,T28] ( 0, 0 ) ref -> zero-ref single-def -; V35 tmp30 [V35,T27] ( 2, 1 ) ref -> r8 single-def -;* V36 tmp31 [V36 ] ( 0, 0 ) ref -> zero-ref single-def -;* V37 tmp32 [V37 ] ( 0, 0 ) int -> zero-ref -;* V38 tmp33 [V38 ] ( 0, 0 ) ref -> zero-ref single-def -;* V39 tmp34 [V39,T29] ( 0, 0 ) ref -> zero-ref -;* V40 tmp35 [V40,T18] ( 0, 0 ) ubyte -> zero-ref "field V20.hasValue (fldOffset=0x0)" P-INDEP -;* V41 tmp36 [V41,T19] ( 0, 0 ) int -> zero-ref "field V20.value (fldOffset=0x4)" P-INDEP -; V42 tmp37 [V42,T04] ( 3, 12 ) struct ( 8) [rbp-0x88] do-not-enreg[SF] "by-value struct argument" -; V43 cse0 [V43,T06] ( 7, 9 ) ref -> rbx "CSE #01: moderate" -; V44 cse1 [V44,T20] ( 3, 1.50) ref -> r15 "CSE #07: moderate" -;* V45 cse2 [V45,T15] ( 0, 0 ) long -> zero-ref "CSE #03: aggressive" -; V46 cse3 [V46,T22] ( 3, 1.25) int -> r15 "CSE #06: moderate" -; V47 rat0 [V47,T01] ( 7, 18.25) byref -> r14 "Strength reduced derived IV" -; V48 rat1 [V48,T02] ( 4, 12.25) int -> r15 "Trip count IV" +;* V14 tmp9 [V14 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" +; V15 tmp10 [V15,T07] ( 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,T08] ( 2, 8 ) ref -> [rbp-0x60] 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,T10] ( 4, 4 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" +; V25 tmp20 [V25,T19] ( 2, 1 ) ref -> r15 single-def +; V26 tmp21 [V26,T20] ( 2, 1 ) ref -> r14 single-def +;* V27 tmp22 [V27 ] ( 0, 0 ) ref -> zero-ref single-def +; V28 tmp23 [V28,T21] ( 2, 1 ) ref -> r15 single-def +; V29 tmp24 [V29,T22] ( 2, 1 ) ref -> r14 single-def +;* V30 tmp25 [V30,T24] ( 0, 0 ) ref -> zero-ref single-def +; V31 tmp26 [V31,T23] ( 2, 1 ) ref -> r8 single-def +;* V32 tmp27 [V32 ] ( 0, 0 ) ref -> zero-ref single-def +;* V33 tmp28 [V33 ] ( 0, 0 ) int -> zero-ref +;* V34 tmp29 [V34 ] ( 0, 0 ) ref -> zero-ref single-def +;* V35 tmp30 [V35,T25] ( 0, 0 ) ref -> zero-ref +;* V36 tmp31 [V36,T14] ( 0, 0 ) ubyte -> zero-ref "field V18.hasValue (fldOffset=0x0)" P-INDEP +;* V37 tmp32 [V37,T15] ( 0, 0 ) int -> zero-ref "field V18.value (fldOffset=0x4)" P-INDEP +; V38 tmp33 [V38,T03] ( 3, 12 ) struct ( 8) [rbp-0x58] do-not-enreg[SF] "by-value struct argument" +; V39 cse0 [V39,T06] ( 7, 9 ) ref -> rbx "CSE #01: aggressive" +; V40 cse1 [V40,T16] ( 3, 1.50) ref -> r15 "CSE #07: moderate" +;* V41 cse2 [V41,T11] ( 0, 0 ) long -> zero-ref "CSE #04: aggressive" +; V42 cse3 [V42,T05] ( 3, 10 ) ref -> rdi "CSE #02: aggressive" +; V43 cse4 [V43,T18] ( 3, 1.25) int -> r15 "CSE #06: moderate" +; V44 rat0 [V44,T01] ( 6, 16.25) byref -> r14 "Strength reduced derived IV" +; V45 rat1 [V45,T02] ( 4, 12.25) int -> r15 "Trip count IV" ; -; Lcl frame size = 168 +; Lcl frame size = 88 G_M28232_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 168 - lea rbp, [rsp+0xD0] + sub rsp, 88 + lea rbp, [rsp+0x80] 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_IG15 + 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 r15d, dword ptr [rax+0x08] test r15d, r15d - jle G_M28232_IG14 + jle G_M28232_IG11 ;; size=28 bbWeight=0.50 PerfScore 3.38 G_M28232_IG04: lea r14, bword ptr [rax+0x10] ;; size=4 bbWeight=0.25 PerfScore 0.12 G_M28232_IG05: mov r13, gword ptr [r14] - mov r12, gword ptr [r13+0x08] - test r12, r12 - je G_M28232_IG11 - ;; size=16 bbWeight=4 PerfScore 21.00 -G_M28232_IG06: mov rdi, gword ptr [r13+0x08] + mov r12, rdi + test r12, r12 + je SHORT G_M28232_IG07 + ;; size=15 bbWeight=4 PerfScore 22.00 +G_M28232_IG06: xor esi, esi mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this call [rax]System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this xor rdi, rdi mov gword ptr [r13+0x08], rdi mov rdi, r13 call System.GC:_SuppressFinalize(System.Object) mov rdi, r12 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 mov r13, rax test r13, r13 - jne SHORT G_M28232_IG09 - ;; size=55 bbWeight=2 PerfScore 26.00 + jne SHORT G_M28232_IG08 + ;; size=51 bbWeight=2 PerfScore 22.00 G_M28232_IG07: + lea rdx, bword ptr [r14+0x08] + lea rdi, [rsp] + mov rsi, rdx + 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=55 bbWeight=2 PerfScore 26.50 +G_M28232_IG08: vmovdqu xmm0, xmmword ptr [r14+0x08] vmovdqu xmmword ptr [rbp-0x48], xmm0 mov rcx, qword ptr [r14+0x18] mov qword ptr [rbp-0x38], rcx ;; size=19 bbWeight=2 PerfScore 16.00 -G_M28232_IG08: - mov gword ptr [rbp-0xA8], rbx +G_M28232_IG09: + mov rsi, gword ptr [rbx+0x08] + mov gword ptr [rbp-0x60], rsi 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-0xA8] + mov byte ptr [rbp-0x58], 0 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_IG13 - ;; size=66 bbWeight=2 PerfScore 29.50 -G_M28232_IG09: - vmovdqu xmm0, xmmword ptr [r14+0x08] - vmovdqu xmmword ptr [rbp-0x60], xmm0 - mov rcx, qword ptr [r14+0x18] - mov qword ptr [rbp-0x50], rcx - ;; size=19 bbWeight=2 PerfScore 16.00 -G_M28232_IG10: - mov rdi, rbx - mov gword ptr [rbp-0x98], rdi - mov rsi, gword ptr [rdi+0x08] - mov gword ptr [rbp-0xA0], 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 dword ptr [rbp-0x54], edx + lea rdx, [rbp-0x50] mov qword ptr [rsp+0x18], rdx - mov rdx, qword ptr [rbp-0x88] - mov rsi, gword ptr [rbp-0xA0] - mov rdi, gword ptr [rbp-0x98] + mov rdx, qword ptr [rbp-0x58] + mov rdi, rbx + mov rsi, gword ptr [rbp-0x60] mov rcx, r13 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_IG13 - ;; size=128 bbWeight=2 PerfScore 49.50 -G_M28232_IG11: - vmovdqu xmm0, xmmword ptr [r14+0x08] - vmovdqu xmmword ptr [rbp-0x78], xmm0 - mov rcx, qword ptr [r14+0x18] - mov qword ptr [rbp-0x68], rcx - ;; size=19 bbWeight=2 PerfScore 16.00 -G_M28232_IG12: - mov gword ptr [rbp-0x90], rbx - 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-0x90] - 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=61 bbWeight=2 PerfScore 25.50 -G_M28232_IG13: + xor rdi, rdi + mov gword ptr [rbp-0x50], rdi + ;; size=97 bbWeight=2 PerfScore 41.50 +G_M28232_IG10: add r14, 32 dec r15d jne G_M28232_IG05 ;; size=13 bbWeight=4 PerfScore 6.00 -G_M28232_IG14: +G_M28232_IG11: mov rdi, 0xD1FFAB1E ; const ptr mov r15, gword ptr [rdi] cmp byte ptr [r15+0x9D], 0 - je G_M28232_IG15 + 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_IG15: +G_M28232_IG12: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M28232_IG16: - add rsp, 168 +G_M28232_IG13: + 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 745, prolog size 51, PerfScore 250.83, instruction count 169, allocated bytes for code 745 (MethodHash=c18491b7) for method System.Net.Security.SslSessionsCache:g__ShrinkCredentialCache|5_0() (FullOpts) +; Total bytes of code 583, prolog size 38, PerfScore 175.33, instruction count 141, allocated bytes for code 583 (MethodHash=c18491b7) for method System.Net.Security.SslSessionsCache:g__ShrinkCredentialCache|5_0() (FullOpts) ; ============================================================ ```
-74 (-2.98 % of base) - System.Text.RegularExpressions.RegexCache:Add(System.Text.RegularExpressions.RegexCache+Key,System.Text.RegularExpressions.Regex) ```diff ; Assembly listing for method System.Text.RegularExpressions.RegexCache:Add(System.Text.RegularExpressions.RegexCache+Key,System.Text.RegularExpressions.Regex) (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; 13 single block inlinees; 11 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T39] ( 3, 1.50) struct (32) [rbp+0x10] do-not-enreg[S] single-def -; V01 arg1 [V01,T14] ( 3, 2.50) ref -> rbx class-hnd single-def -; V02 loc0 [V02,T35] ( 4, 1.50) ref -> [rbp-0x88] class-hnd exact EH-live spill-single-def +; V00 arg0 [V00,T32] ( 3, 1.50) struct (32) [rbp+0x10] do-not-enreg[S] single-def +; V01 arg1 [V01,T12] ( 3, 2.50) ref -> rbx class-hnd single-def +; V02 loc0 [V02,T28] ( 4, 1.50) ref -> [rbp-0x88] class-hnd exact EH-live spill-single-def ; V03 loc1 [V03 ] ( 5, 4 ) ubyte -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op ;* V04 loc2 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def -; V05 loc3 [V05,T36] ( 3, 1.50) ref -> rdi class-hnd exact single-def +; V05 loc3 [V05,T29] ( 3, 1.50) ref -> rdi class-hnd exact single-def ; V06 loc4 [V06 ] ( 2, 1 ) ref -> [rbp-0x38] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd -; V07 loc5 [V07,T12] ( 4, 5.50) int -> r12 -; V08 loc6 [V08,T13] ( 3, 5 ) ubyte -> [rbp-0x3C] -; V09 loc7 [V09,T10] ( 10, 6.50) int -> [rbp-0x40] -; V10 loc8 [V10,T11] ( 3, 6.50) long -> [rbp-0x48] +; V07 loc5 [V07,T10] ( 4, 5.50) int -> r12 +; V08 loc6 [V08,T11] ( 3, 5 ) ubyte -> [rbp-0x3C] +; V09 loc7 [V09,T08] ( 10, 6.50) int -> [rbp-0x40] +; V10 loc8 [V10,T09] ( 3, 6.50) long -> [rbp-0x48] ; V11 loc9 [V11,T03] ( 5, 14.50) int -> [rbp-0x4C] ;* V12 loc10 [V12 ] ( 0, 0 ) int -> zero-ref -; V13 loc11 [V13,T07] ( 3, 10 ) long -> rsi +; V13 loc11 [V13,T06] ( 3, 10 ) long -> rsi ; V14 OutArgs [V14 ] ( 1, 1 ) struct (40) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V15 tmp1 [V15,T08] ( 8, 8 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" -; V16 tmp2 [V16,T40] ( 3, 1.50) int -> registers +; V15 tmp1 [V15,T07] ( 8, 8 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" +; V16 tmp2 [V16,T33] ( 3, 1.50) int -> registers ; V17 tmp3 [V17,T02] ( 6, 18 ) int -> registers -; V18 tmp4 [V18,T30] ( 2, 2 ) ref -> rdi class-hnd exact single-def "dup spill" -;* V19 tmp5 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -;* V20 tmp6 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -;* V21 tmp7 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V22 tmp8 [V22,T18] ( 4, 3 ) int -> r13 "Inlining Arg" -;* V23 tmp9 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V24 tmp10 [V24,T19] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" -;* V25 tmp11 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V26 tmp12 [V26,T04] ( 4, 12 ) int -> [rbp-0x50] spill-single-def "Inlining Arg" -;* V27 tmp13 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V28 tmp14 [V28,T00] ( 3, 24 ) ref -> rsi class-hnd exact "Inlining Arg" -; V29 tmp15 [V29,T20] ( 3, 3 ) ref -> rcx class-hnd exact single-def "Inlining Arg" -;* V30 tmp16 [V30 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V31 tmp17 [V31,T34] ( 2, 2 ) struct (32) [rbp-0x70] do-not-enreg[S] must-init "Inlining Arg" -; V32 tmp18 [V32,T31] ( 2, 2 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "Inlining Arg" -;* V33 tmp19 [V33 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" -; V34 tmp20 [V34,T16] ( 4, 4 ) int -> rsi "Inlining Arg" -; V35 tmp21 [V35,T15] ( 4, 4 ) ref -> r13 class-hnd exact single-def "Inlining Arg" -; V36 tmp22 [V36,T32] ( 2, 2 ) ref -> rax class-hnd single-def "Inlining Arg" -;* V37 tmp23 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V38 tmp24 [V38,T09] ( 7, 7 ) ref -> rdi class-hnd exact single-def "Inlining Arg" -; V39 tmp25 [V39,T37] ( 3, 1.50) ref -> rbx class-hnd single-def "Inline stloc first use temp" -; V40 tmp26 [V40,T27] ( 4, 2 ) int -> r14 "Inline stloc first use temp" -;* V41 tmp27 [V41 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V42 tmp28 [V42,T21] ( 3, 3 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "Inlining Arg" -;* V43 tmp29 [V43 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" -; V44 tmp30 [V44,T33] ( 2, 2 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "impAppendStmt" -; V45 tmp31 [V45 ] ( 2, 1 ) ref -> [rbp-0x78] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" -;* V46 tmp32 [V46,T44] ( 0, 0 ) ubyte -> zero-ref "field V43.hasValue (fldOffset=0x0)" P-INDEP -;* V47 tmp33 [V47,T45] ( 0, 0 ) int -> zero-ref "field V43.value (fldOffset=0x4)" P-INDEP -; V48 tmp34 [V48,T46] ( 2, 0 ) ref -> rsi single-def "argument with side effect" -; V49 tmp35 [V49,T22] ( 3, 3 ) ref -> rdi single-def "argument with side effect" -; V50 tmp36 [V50,T23] ( 3, 3 ) ref -> rdi single-def "arr expr" -; V51 tmp37 [V51,T47] ( 2, 0 ) ref -> rsi "argument with side effect" -; V52 tmp38 [V52,T05] ( 3, 12 ) ref -> rdi "argument with side effect" -; V53 tmp39 [V53,T01] ( 3, 24 ) ref -> rsi "arr expr" -; V54 tmp40 [V54,T24] ( 3, 3 ) ref -> rcx single-def "arr expr" -; V55 tmp41 [V55,T25] ( 3, 3 ) ref -> rax single-def "arr expr" -; V56 tmp42 [V56,T26] ( 3, 3 ) struct ( 8) [rbp-0x80] do-not-enreg[SF] "by-value struct argument" -; V57 PSPSym [V57,T43] ( 1, 1 ) long -> [rbp-0xA8] do-not-enreg[V] "PSPSym" -; V58 cse0 [V58,T28] ( 4, 2 ) int -> r13 "CSE #05: moderate" -; V59 cse1 [V59,T06] ( 11, 10.50) ref -> r14 "CSE #04: aggressive" -; V60 cse2 [V60,T17] ( 5, 3.50) ref -> r15 "CSE #01: moderate" -; V61 cse3 [V61,T41] ( 3, 1.50) int -> rdi "CSE #03: conservative" -; V62 cse4 [V62,T42] ( 2, 1 ) int -> rsi "CSE #10: conservative" -; V63 cse5 [V63,T29] ( 4, 2 ) int -> rdi "CSE #07: conservative" -; V64 cse6 [V64,T38] ( 3, 1.50) ref -> rdx "CSE #08: conservative" +; V18 tmp4 [V18,T16] ( 3, 3 ) ref -> rdi class-hnd exact single-def "dup spill" +; V19 tmp5 [V19,T15] ( 4, 3 ) int -> r13 "Inlining Arg" +; V20 tmp6 [V20,T04] ( 4, 12 ) int -> [rbp-0x50] spill-single-def "Inlining Arg" +;* V21 tmp7 [V21 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V22 tmp8 [V22 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inlining Arg" +;* V23 tmp9 [V23 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" +; V24 tmp10 [V24,T14] ( 4, 4 ) int -> rdx "Inlining Arg" +; V25 tmp11 [V25,T25] ( 2, 2 ) ref -> rdx class-hnd single-def "Inlining Arg" +; V26 tmp12 [V26,T30] ( 3, 1.50) ref -> rbx class-hnd single-def "Inline stloc first use temp" +; V27 tmp13 [V27,T22] ( 4, 2 ) int -> r12 "Inline stloc first use temp" +;* V28 tmp14 [V28 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V29 tmp15 [V29 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" +; V30 tmp16 [V30,T26] ( 2, 2 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "impAppendStmt" +; V31 tmp17 [V31 ] ( 2, 1 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" +;* V32 tmp18 [V32,T37] ( 0, 0 ) ubyte -> zero-ref "field V29.hasValue (fldOffset=0x0)" P-INDEP +;* V33 tmp19 [V33,T38] ( 0, 0 ) int -> zero-ref "field V29.value (fldOffset=0x4)" P-INDEP +; V34 tmp20 [V34,T39] ( 2, 0 ) ref -> rsi single-def "argument with side effect" +; V35 tmp21 [V35,T17] ( 3, 3 ) ref -> rdi single-def "argument with side effect" +; V36 tmp22 [V36,T18] ( 3, 3 ) ref -> rdi single-def "arr expr" +; V37 tmp23 [V37,T40] ( 2, 0 ) ref -> rsi "argument with side effect" +; V38 tmp24 [V38,T05] ( 3, 12 ) ref -> rdi "argument with side effect" +; V39 tmp25 [V39,T00] ( 3, 24 ) ref -> rsi "arr expr" +; V40 tmp26 [V40,T19] ( 3, 3 ) ref -> rcx single-def "arr expr" +; V41 tmp27 [V41,T27] ( 2, 2 ) struct (32) [rbp-0x78] do-not-enreg[S] must-init single-def "argument with side effect" +; V42 tmp28 [V42,T20] ( 3, 3 ) ref -> rax single-def "arr expr" +; V43 tmp29 [V43,T21] ( 3, 3 ) struct ( 8) [rbp-0x80] do-not-enreg[SF] "by-value struct argument" +; V44 PSPSym [V44,T36] ( 1, 1 ) long -> [rbp-0x98] do-not-enreg[V] "PSPSym" +; V45 cse0 [V45,T23] ( 4, 2 ) int -> r13 "CSE #05: moderate" +; V46 cse1 [V46,T01] ( 20, 18.50) ref -> r14 "CSE #04: aggressive" +; V47 cse2 [V47,T13] ( 6, 4 ) ref -> r15 "CSE #01: moderate" +; V48 cse3 [V48,T34] ( 3, 1.50) int -> rdi "CSE #03: conservative" +; V49 cse4 [V49,T35] ( 2, 1 ) int -> rdi "CSE #10: conservative" +; V50 cse5 [V50,T24] ( 4, 2 ) int -> rsi "CSE #07: moderate" +; V51 cse6 [V51,T31] ( 3, 1.50) ref -> rdi "CSE #08: conservative" ; -; Lcl frame size = 168 +; Lcl frame size = 152 G_M48688_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 168 - lea rbp, [rsp+0xD0] + sub rsp, 152 + lea rbp, [rsp+0xC0] xor eax, eax mov qword ptr [rbp-0x78], rax vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x70], ymm8 vmovdqu ymmword ptr [rbp-0x50], ymm8 - mov qword ptr [rbp-0xA8], rsp + mov qword ptr [rbp-0x98], rsp mov rbx, rdi ;; size=56 bbWeight=1 PerfScore 13.58 G_M48688_IG02: mov rsi, 0xD1FFAB1E ; const ptr mov r15, gword ptr [rsi] mov rdx, r15 mov gword ptr [rbp-0x88], rdx xor esi, esi mov dword ptr [rbp-0x30], esi ;; size=28 bbWeight=1 PerfScore 4.75 G_M48688_IG03: cmp byte ptr [rbp-0x30], 0 jne G_M48688_IG23 lea rsi, [rbp-0x30] mov rdi, rdx call System.Threading.Monitor:ReliableEnter(System.Object,byref) mov rcx, 0xD1FFAB1E ; data for System.Text.RegularExpressions.RegexCache:s_maxCacheSize cmp dword ptr [rcx], 0 je G_M48688_IG25 ;; size=41 bbWeight=1 PerfScore 9.00 G_M48688_IG04: lea rdi, [rsp] lea rsi, [rbp+0x10] mov rcx, gword ptr [rsi] mov gword ptr [rsp], rcx add rsi, 8 add rdi, 8 mov rcx, gword ptr [rsi] mov gword ptr [rsp+0x08], rcx add rsi, 8 add rdi, 8 movsq movsq mov rdi, r15 lea rsi, [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryGetValue(System.Text.RegularExpressions.RegexCache+Key,byref):ubyte:this call [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryGetValue(System.Text.RegularExpressions.RegexCache+Key,byref):ubyte:this test eax, eax jne G_M48688_IG25 mov rdi, 0xD1FFAB1E ; const ptr mov r14, gword ptr [rdi] mov r13d, dword ptr [r14+0x10] mov rdi, 0xD1FFAB1E ; data for System.Text.RegularExpressions.RegexCache:s_maxCacheSize mov edi, dword ptr [rdi] cmp r13d, edi jne G_M48688_IG16 cmp edi, 30 jle SHORT G_M48688_IG05 mov r12d, 30 mov dword ptr [rbp-0x3C], 1 test r13d, r13d jl G_M48688_IG20 mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] mov rdi, gword ptr [rdi+0x08] mov esi, r13d mov rcx, qword ptr [rdi] mov rcx, qword ptr [rcx+0x40] call [rcx+0x30]System.Random+ImplBase:Next(int):int:this mov r13d, eax mov eax, r13d mov r13d, dword ptr [rbp-0x3C] jmp SHORT G_M48688_IG06 ;; size=177 bbWeight=0.50 PerfScore 20.88 G_M48688_IG05: mov r12d, r13d xor eax, eax xor r13d, r13d ;; size=8 bbWeight=0.50 PerfScore 0.38 G_M48688_IG06: - mov rdi, r14 - cmp eax, dword ptr [rdi+0x10] + cmp eax, dword ptr [r14+0x10] jae G_M48688_IG22 - mov rdi, gword ptr [rdi+0x08] + mov rdi, gword ptr [r14+0x08] cmp eax, dword ptr [rdi+0x08] jae G_M48688_IG24 mov dword ptr [rbp-0x40], eax mov esi, eax mov rdi, gword ptr [rdi+8*rsi+0x10] mov rcx, qword ptr [rdi+0x10] mov qword ptr [rbp-0x48], rcx mov dword ptr [rbp-0x4C], 1 cmp r12d, 1 jle G_M48688_IG13 - ;; size=60 bbWeight=0.50 PerfScore 9.38 + ;; size=58 bbWeight=0.50 PerfScore 9.25 G_M48688_IG07: test r13d, r13d je SHORT G_M48688_IG09 ;; size=5 bbWeight=4 PerfScore 5.00 G_M48688_IG08: mov r8d, dword ptr [r14+0x10] mov dword ptr [rbp-0x50], r8d test r8d, r8d jl G_M48688_IG21 mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] mov rdi, gword ptr [rdi+0x08] mov esi, r8d mov r8, qword ptr [rdi] mov r8, qword ptr [r8+0x40] call [r8+0x30]System.Random+ImplBase:Next(int):int:this mov edi, eax mov edx, dword ptr [rbp-0x4C] jmp SHORT G_M48688_IG10 ;; size=55 bbWeight=2 PerfScore 38.00 G_M48688_IG09: mov edx, dword ptr [rbp-0x4C] mov edi, edx ;; size=5 bbWeight=2 PerfScore 2.50 G_M48688_IG10: - mov rsi, r14 - cmp edi, dword ptr [rsi+0x10] + cmp edi, dword ptr [r14+0x10] jae G_M48688_IG22 - mov rsi, gword ptr [rsi+0x08] + mov rsi, gword ptr [r14+0x08] cmp edi, dword ptr [rsi+0x08] jae G_M48688_IG24 mov r8d, edi mov rsi, gword ptr [rsi+8*r8+0x10] mov rsi, qword ptr [rsi+0x10] mov rcx, qword ptr [rbp-0x48] cmp rsi, rcx jge SHORT G_M48688_IG12 - ;; size=46 bbWeight=4 PerfScore 67.00 + ;; size=44 bbWeight=4 PerfScore 66.00 G_M48688_IG11: mov eax, edi mov rcx, rsi mov dword ptr [rbp-0x40], eax ;; size=8 bbWeight=2 PerfScore 3.00 G_M48688_IG12: inc edx cmp edx, r12d mov dword ptr [rbp-0x4C], edx mov qword ptr [rbp-0x48], rcx jl G_M48688_IG07 ;; size=18 bbWeight=4 PerfScore 14.00 G_M48688_IG13: - mov rcx, r14 mov eax, dword ptr [rbp-0x40] - cmp eax, dword ptr [rcx+0x10] + cmp eax, dword ptr [r14+0x10] jae G_M48688_IG22 - mov gword ptr [rbp-0x90], r15 - mov rcx, gword ptr [rcx+0x08] + mov rcx, gword ptr [r14+0x08] cmp eax, dword ptr [rcx+0x08] jae G_M48688_IG24 mov dword ptr [rbp-0x40], eax - mov esi, eax - mov rcx, gword ptr [rcx+8*rsi+0x10] - ;; size=45 bbWeight=0.50 PerfScore 7.75 + mov edi, eax + mov rcx, gword ptr [rcx+8*rdi+0x10] + ;; size=36 bbWeight=0.50 PerfScore 7.12 G_M48688_IG14: vmovdqu ymm0, ymmword ptr [rcx+0x18] - vmovdqu ymmword ptr [rbp-0x70], ymm0 + vmovdqu ymmword ptr [rbp-0x78], ymm0 ;; size=10 bbWeight=0.50 PerfScore 3.00 G_M48688_IG15: lea rdi, [rsp] - lea rsi, [rbp-0x70] + lea rsi, [rbp-0x78] mov rcx, gword ptr [rsi] mov gword ptr [rsp], rcx add rsi, 8 add rdi, 8 mov rcx, gword ptr [rsi] mov gword ptr [rsp+0x08], rcx add rsi, 8 add rdi, 8 movsq movsq + mov rdi, r15 lea rsi, [rbp-0x38] - mov rdi, gword ptr [rbp-0x90] xor edx, edx xor rcx, rcx mov r8, 0xD1FFAB1E ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryRemoveInternal(System.Text.RegularExpressions.RegexCache+Key,byref,ubyte,System.__Canon):ubyte:this call [r8]System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryRemoveInternal(System.Text.RegularExpressions.RegexCache+Key,byref,ubyte,System.__Canon):ubyte:this mov rdi, r14 - mov edi, dword ptr [rdi+0x10] - lea esi, [rdi-0x01] - cmp esi, edi + mov esi, dword ptr [rdi+0x10] + lea edx, [rsi-0x01] + cmp edx, esi jae G_M48688_IG22 - mov r13, r14 - mov rdx, gword ptr [r13+0x08] - mov rax, rdx - cmp esi, dword ptr [rax+0x08] + mov rdi, gword ptr [rdi+0x08] + mov rax, rdi + cmp edx, dword ptr [rax+0x08] jae G_M48688_IG24 - mov rax, gword ptr [rax+8*rsi+0x10] - mov r12d, dword ptr [rbp-0x40] - cmp r12d, edi + mov rdx, gword ptr [rax+8*rdx+0x10] + mov r13d, dword ptr [rbp-0x40] + cmp r13d, esi jae G_M48688_IG22 - mov rdi, rdx - movsxd rsi, r12d - mov rdx, rax + movsxd rsi, r13d mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST call [rax]CORINFO_HELP_ARRADDR_ST - inc dword ptr [r13+0x14] + inc dword ptr [r14+0x14] mov esi, dword ptr [r14+0x10] dec esi mov rdi, r14 mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:RemoveAt(int):this call [rax]System.Collections.Generic.List`1[System.__Canon]:RemoveAt(int):this - ;; size=171 bbWeight=0.50 PerfScore 21.38 + ;; size=158 bbWeight=0.50 PerfScore 20.62 G_M48688_IG16: mov rdi, 0xD1FFAB1E ; System.Text.RegularExpressions.RegexCache+Node call CORINFO_HELP_NEWSFAST mov r13, rax lea rdi, bword ptr [r13+0x18] lea rsi, bword ptr [rbp+0x10] call CORINFO_HELP_ASSIGN_BYREF call CORINFO_HELP_ASSIGN_BYREF movsq movsq lea rdi, bword ptr [r13+0x08] mov rsi, rbx call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; data for System.Text.RegularExpressions.RegexCache:s_lastAccessed mov rdi, gword ptr [rdi] test rdi, rdi je SHORT G_M48688_IG17 mov rdi, qword ptr [rdi+0x10] inc rdi mov qword ptr [r13+0x10], rdi ;; size=81 bbWeight=0.50 PerfScore 7.50 G_M48688_IG17: mov rdi, 0xD1FFAB1E ; data for System.Text.RegularExpressions.RegexCache:s_lastAccessed mov rsi, r13 call CORINFO_HELP_ASSIGN_REF - mov rdi, r14 - inc dword ptr [rdi+0x14] - mov rbx, gword ptr [rdi+0x08] - mov r14d, dword ptr [rdi+0x10] - mov esi, dword ptr [rbx+0x08] - cmp esi, r14d + inc dword ptr [r14+0x14] + mov rbx, gword ptr [r14+0x08] + mov r12d, dword ptr [r14+0x10] + mov edi, dword ptr [rbx+0x08] + cmp edi, r12d ja SHORT G_M48688_IG18 + mov rdi, r14 mov rsi, r13 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_M48688_IG19 - ;; size=57 bbWeight=0.50 PerfScore 8.75 + ;; size=58 bbWeight=0.50 PerfScore 8.75 G_M48688_IG18: - lea esi, [r14+0x01] - mov dword ptr [rdi+0x10], esi - mov edi, r14d + lea edi, [r12+0x01] + mov dword ptr [r14+0x10], edi + mov edi, r12d lea rdi, bword ptr [rbx+8*rdi+0x10] mov rsi, r13 call CORINFO_HELP_ASSIGN_REF - ;; size=23 bbWeight=0.50 PerfScore 2.00 + ;; size=25 bbWeight=0.50 PerfScore 2.00 G_M48688_IG19: - mov rdi, r15 - mov gword ptr [rbp-0x98], rdi - mov rsi, gword ptr [rdi+0x08] - mov gword ptr [rbp-0xA0], rsi + mov rsi, gword ptr [r15+0x08] + mov gword ptr [rbp-0x90], rsi lea rdi, [rsp] lea rsi, [rbp+0x10] mov rcx, gword ptr [rsi] mov gword ptr [rsp], rcx add rsi, 8 add rdi, 8 mov rcx, gword ptr [rsi] mov gword ptr [rsp+0x08], rcx add rsi, 8 add rdi, 8 movsq movsq mov byte ptr [rbp-0x80], 0 xor edx, edx mov dword ptr [rbp-0x7C], edx - lea rdx, [rbp-0x78] + lea rdx, [rbp-0x58] mov qword ptr [rsp+0x20], rdx mov rdx, qword ptr [rbp-0x80] - mov rsi, gword ptr [rbp-0xA0] - mov rdi, gword ptr [rbp-0x98] + mov rdi, r15 + mov rsi, gword ptr [rbp-0x90] mov rcx, r13 xor r8d, r8d mov r9d, 1 mov rax, 0xD1FFAB1E ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.Text.RegularExpressions.RegexCache+Key,System.__Canon],System.Text.RegularExpressions.RegexCache+Key,System.Nullable`1[int],System.__Canon,ubyte,ubyte,byref):ubyte:this call [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Text.RegularExpressions.RegexCache+Key,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.Text.RegularExpressions.RegexCache+Key,System.__Canon],System.Text.RegularExpressions.RegexCache+Key,System.Nullable`1[int],System.__Canon,ubyte,ubyte,byref):ubyte:this xor rdi, rdi - mov gword ptr [rbp-0x78], rdi + mov gword ptr [rbp-0x58], rdi jmp SHORT G_M48688_IG25 - ;; size=132 bbWeight=0.50 PerfScore 14.12 + ;; size=118 bbWeight=0.50 PerfScore 13.12 G_M48688_IG20: mov edi, 0x23C6 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rsi, rax mov edi, r13d mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String) call [rax]System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String) int3 ;; size=39 bbWeight=0 PerfScore 0.00 G_M48688_IG21: mov edi, 0x23C6 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rsi, rax mov edi, dword ptr [rbp-0x50] mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String) call [rax]System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String) int3 ;; size=39 bbWeight=0 PerfScore 0.00 G_M48688_IG22: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M48688_IG23: mov rax, 0xD1FFAB1E ; code for System.Threading.Monitor:ThrowLockTakenException() call [rax]System.Threading.Monitor:ThrowLockTakenException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M48688_IG24: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 G_M48688_IG25: cmp byte ptr [rbp-0x30], 0 je SHORT G_M48688_IG27 ;; size=6 bbWeight=1 PerfScore 3.00 G_M48688_IG26: mov rdi, gword ptr [rbp-0x88] call System.Threading.Monitor:Exit(System.Object) ;; size=12 bbWeight=0.50 PerfScore 1.00 G_M48688_IG27: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M48688_IG28: vzeroupper - add rsp, 168 + add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=21 bbWeight=1 PerfScore 5.25 G_M48688_IG29: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 56 mov rbp, qword ptr [rdi+0x28] mov qword ptr [rsp+0x28], rbp - lea rbp, [rbp+0xD0] + lea rbp, [rbp+0xC0] ;; size=30 bbWeight=0 PerfScore 0.00 G_M48688_IG30: cmp byte ptr [rbp-0x30], 0 je SHORT G_M48688_IG31 mov rdi, gword ptr [rbp-0x88] call System.Threading.Monitor:Exit(System.Object) ;; size=18 bbWeight=0 PerfScore 0.00 G_M48688_IG31: nop ;; size=1 bbWeight=0 PerfScore 0.00 G_M48688_IG32: vzeroupper add rsp, 56 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1243, prolog size 56, PerfScore 261.46, instruction count 315, allocated bytes for code 1243 (MethodHash=894241cf) for method System.Text.RegularExpressions.RegexCache:Add(System.Text.RegularExpressions.RegexCache+Key,System.Text.RegularExpressions.Regex) (FullOpts) +; Total bytes of code 1206, prolog size 56, PerfScore 257.96, instruction count 306, allocated bytes for code 1206 (MethodHash=894241cf) for method System.Text.RegularExpressions.RegexCache:Add(System.Text.RegularExpressions.RegexCache+Key,System.Text.RegularExpressions.Regex) (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/6809d567300a7adda732de891bae1ea6

MihuBot commented 1 month ago

@MichalPetryka