MihuBot / runtime-utils

0 stars 0 forks source link

[X64] [EgorBo] Batched write barrier for byrefs #266

Open MihuBot opened 4 months ago

MihuBot commented 4 months ago

Build completed in 1 hour 57 minutes. https://github.com/dotnet/runtime/pull/99096

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 7338747
Total bytes of diff: 7338689
Total bytes of delta: -58 (-0.00 % of base)
Total relative delta: 0.15
    diff is an improvement.
    relative diff is a regression.

Top file improvements (bytes):
         -58 : System.Private.CoreLib.dasm (-0.00 % of base)

1 total files with Code Size differences (1 improved, 0 regressed), 0 unchanged.

Top method regressions (bytes):
           3 (0.69 % of base) : System.Private.CoreLib.dasm - System.Threading.AsyncLocalValueMap+TwoElementAsyncLocalValueMap:Set(System.Threading.IAsyncLocal,System.Object,ubyte):System.Threading.IAsyncLocalValueMap:this (FullOpts)
           1 (0.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:AddWithResize(System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet):this (FullOpts)
           1 (1.85 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.CounterPayload+<get_ForEnumeration>d__51:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (1.85 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPayload+<GetEnumerator>d__17:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (1.85 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.IncrementingCounterPayload+<get_ForEnumeration>d__39:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (0.80 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_NegativeLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts)
           1 (0.81 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_PositiveLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts)
           1 (0.08 % of base) : System.Private.CoreLib.dasm - System.IO.File+<InternalReadAllLinesAsync>d__96:MoveNext():this (FullOpts)
           1 (0.08 % of base) : System.Private.CoreLib.dasm - System.IO.File+<IterateFileLinesAsync>d__112:MoveNext():this (FullOpts)
           1 (1.54 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeTypedArgument:GetHashCode():int:this (FullOpts)
           1 (0.04 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeTypedArgument:ToString(ubyte):System.String:this (FullOpts)
           1 (0.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (6.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.__Canon]:.ctor(byref):this (FullOpts)
           1 (3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]:this (FullOpts)
           1 (6.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]:.ctor(byref):this (FullOpts)
           1 (6.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:.ctor(byref):this (FullOpts)
           1 (1.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.LibraryNameVariation+<DetermineLibraryNameVariations>d__5:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (0.51 % of base) : System.Private.CoreLib.dasm - System.Threading.AsyncLocalValueMap+OneElementAsyncLocalValueMap:Set(System.Threading.IAsyncLocal,System.Object,ubyte):System.Threading.IAsyncLocalValueMap:this (FullOpts)
           1 (3.70 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:this (FullOpts)
           1 (0.45 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:Preserve():System.Threading.Tasks.ValueTask`1[System.__Canon]:this (FullOpts)

Top method improvements (bytes):
         -36 (-2.15 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.MarshalAsAttribute):this (FullOpts)
         -32 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.DllImportAttribute):this (FullOpts)
          -4 (-5.71 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:GetHashCode():int:this (FullOpts)
          -4 (-1.79 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:ToString():System.String:this (FullOpts)
          -4 (-13.33 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+ChunkEnumerator:GetEnumerator():System.Text.StringBuilder+ChunkEnumerator:this (FullOpts)

Top method regressions (percentages):
           1 (6.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.__Canon]:.ctor(byref):this (FullOpts)
           1 (6.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]:.ctor(byref):this (FullOpts)
           1 (6.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:.ctor(byref):this (FullOpts)
           1 (3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]:this (FullOpts)
           1 (3.70 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:this (FullOpts)
           1 (1.85 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.CounterPayload+<get_ForEnumeration>d__51:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (1.85 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPayload+<GetEnumerator>d__17:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (1.85 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.IncrementingCounterPayload+<get_ForEnumeration>d__39:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (1.85 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.LibraryNameVariation+<DetermineLibraryNameVariations>d__5:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (1.54 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeTypedArgument:GetHashCode():int:this (FullOpts)
           1 (0.84 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts)
           1 (0.81 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_PositiveLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts)
           1 (0.80 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_NegativeLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts)
           1 (0.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:AddWithResize(System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet):this (FullOpts)
           3 (0.69 % of base) : System.Private.CoreLib.dasm - System.Threading.AsyncLocalValueMap+TwoElementAsyncLocalValueMap:Set(System.Threading.IAsyncLocal,System.Object,ubyte):System.Threading.IAsyncLocalValueMap:this (FullOpts)
           1 (0.51 % of base) : System.Private.CoreLib.dasm - System.Threading.AsyncLocalValueMap+OneElementAsyncLocalValueMap:Set(System.Threading.IAsyncLocal,System.Object,ubyte):System.Threading.IAsyncLocalValueMap:this (FullOpts)
           1 (0.45 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:Preserve():System.Threading.Tasks.ValueTask`1[System.__Canon]:this (FullOpts)
           1 (0.08 % of base) : System.Private.CoreLib.dasm - System.IO.File+<InternalReadAllLinesAsync>d__96:MoveNext():this (FullOpts)
           1 (0.08 % of base) : System.Private.CoreLib.dasm - System.IO.File+<IterateFileLinesAsync>d__112:MoveNext():this (FullOpts)
           1 (0.04 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeTypedArgument:ToString(ubyte):System.String:this (FullOpts)

Top method improvements (percentages):
          -4 (-13.33 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+ChunkEnumerator:GetEnumerator():System.Text.StringBuilder+ChunkEnumerator:this (FullOpts)
          -4 (-5.71 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:GetHashCode():int:this (FullOpts)
         -32 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.DllImportAttribute):this (FullOpts)
         -36 (-2.15 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.MarshalAsAttribute):this (FullOpts)
          -4 (-1.79 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:ToString():System.String:this (FullOpts)

25 total methods with Code Size differences (5 improved, 20 regressed), 56468 unchanged.

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

Frameworks diffs

Diffs ``` Found 304 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38781651 Total bytes of diff: 38775595 Total bytes of delta: -6056 (-0.02 % of base) Total relative delta: Infinity diff is an improvement. relative diff is a regression. Top file regressions (bytes): 1259 : System.Linq.Parallel.dasm (0.06 % of base) 172 : System.Net.Sockets.dasm (0.07 % of base) 66 : System.Memory.dasm (0.02 % of base) 50 : System.Net.Http.Json.dasm (0.02 % of base) 24 : System.Data.Common.dasm (0.00 % of base) 17 : Microsoft.Extensions.DependencyInjection.dasm (0.02 % of base) 14 : Microsoft.Extensions.Logging.Abstractions.dasm (0.02 % of base) 11 : System.ComponentModel.Composition.dasm (0.00 % of base) 10 : System.Threading.RateLimiting.dasm (0.01 % of base) 9 : System.Formats.Tar.dasm (0.01 % of base) 8 : System.Net.Ping.dasm (0.02 % of base) 7 : System.IO.Pipelines.dasm (0.01 % of base) 7 : System.Text.RegularExpressions.dasm (0.00 % of base) 6 : System.Threading.Tasks.Dataflow.dasm (0.00 % of base) 4 : System.Diagnostics.Process.dasm (0.00 % of base) 3 : System.Net.WebSockets.Client.dasm (0.01 % of base) 3 : System.Threading.Channels.dasm (0.00 % of base) 3 : Microsoft.Extensions.Http.dasm (0.00 % of base) 2 : Microsoft.Extensions.FileSystemGlobbing.dasm (0.01 % of base) 2 : System.IO.FileSystem.Watcher.dasm (0.01 % of base) 2 : System.Net.Quic.dasm (0.00 % of base) 2 : Microsoft.Extensions.Configuration.dasm (0.01 % of base) 2 : System.IO.Packaging.dasm (0.00 % of base) 1 : System.IO.Pipes.dasm (0.00 % of base) 1 : System.Formats.Cbor.dasm (0.00 % of base) 1 : System.ComponentModel.TypeConverter.dasm (0.00 % of base) 1 : Microsoft.Extensions.Configuration.Abstractions.dasm (0.02 % of base) 1 : System.Reflection.Emit.dasm (0.00 % of base) 1 : System.Private.DataContractSerialization.dasm (0.00 % of base) 1 : System.Runtime.Caching.dasm (0.00 % of base) 1 : System.Net.Security.dasm (0.00 % of base) Top file improvements (bytes): -5119 : System.Collections.Immutable.dasm (-0.25 % of base) -1039 : System.Security.Cryptography.dasm (-0.10 % of base) -404 : System.Collections.dasm (-0.07 % of base) -255 : System.Text.Json.dasm (-0.02 % of base) -240 : System.Security.Cryptography.Pkcs.dasm (-0.06 % of base) -216 : System.Private.Xml.dasm (-0.01 % of base) -135 : System.Diagnostics.DiagnosticSource.dasm (-0.06 % of base) -62 : Microsoft.Extensions.DependencyModel.dasm (-0.08 % of base) -58 : System.Private.CoreLib.dasm (-0.00 % of base) -55 : System.Reflection.MetadataLoadContext.dasm (-0.02 % of base) -52 : System.Net.Http.dasm (-0.01 % of base) -33 : System.Linq.Expressions.dasm (-0.00 % of base) -31 : System.Reflection.Metadata.dasm (-0.01 % of base) -30 : Microsoft.Extensions.Logging.dasm (-0.08 % of base) -13 : System.DirectoryServices.Protocols.dasm (-0.01 % of base) -4 : System.Net.HttpListener.dasm (-0.00 % of base) -1 : System.Net.Primitives.dasm (-0.00 % of base) 48 total files with Code Size differences (17 improved, 31 regressed), 208 unchanged. Top method regressions (bytes): 169 (Infinity of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:TryRegisterSocket(long,System.Net.Sockets.SocketAsyncContext,byref,byref):ubyte (FullOpts) 61 (1.52 % of base) : System.Net.Http.dasm - System.Net.Http.HPack.H2StaticTable:.cctor() (FullOpts) 28 (2.33 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList:Insert(int,System.Collections.Generic.KeyValuePair`2[System.String,System.Object]):this (FullOpts) 14 (0.37 % of base) : System.Text.Json.dasm - System.Text.Json.JsonDocument:TryParseValue(byref,byref,ubyte,ubyte):ubyte (FullOpts) 12 (0.18 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g__TryFindRawFixedSets|3_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (FullOpts) (2 methods) 8 (1.74 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList:.ctor(System.ReadOnlySpan`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]):this (FullOpts) 8 (1.79 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList:CopyTo(System.Span`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]):this (FullOpts) 8 (0.17 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool+d__103:MoveNext():this (FullOpts) 7 (1.75 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList:RemoveAt(int):this (FullOpts) 6 (1.32 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Nullable`1[int]]:Remove(System.__Canon,System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]]],byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Nullable`1[int]]:this (FullOpts) 6 (0.22 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializer:GetReaderScopedToNextValue(byref,byref):System.Text.Json.Utf8JsonReader (FullOpts) 5 (0.40 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Nullable`1[int]]:Add(System.__Canon,System.Nullable`1[int],System.Collections.Generic.IEqualityComparer`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.Nullable`1[int]]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]],int,byref):System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.Nullable`1[int]]:this (FullOpts) 4 (0.07 % of base) : System.Net.Http.dasm - System.Net.Http.AuthenticationHelper+d__17:MoveNext():this (FullOpts) 3 (0.14 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (FullOpts) 3 (0.16 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarReader+d__15:MoveNext():this (FullOpts) 3 (0.21 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:ReadAtLeastAsync(int,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (FullOpts) 3 (0.13 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+d__16`1[double]:MoveNext():this (FullOpts) 3 (0.13 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+d__16`1[int]:MoveNext():this (FullOpts) 3 (0.13 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+d__16`1[long]:MoveNext():this (FullOpts) 3 (0.13 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+d__16`1[short]:MoveNext():this (FullOpts) 3 (0.12 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+d__16`1[System.__Canon]:MoveNext():this (FullOpts) 3 (0.13 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+d__16`1[System.Nullable`1[int]]:MoveNext():this (FullOpts) 3 (0.13 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+d__16`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts) 3 (0.13 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader+d__16`1[ubyte]:MoveNext():this (FullOpts) 3 (0.60 % of base) : System.Net.Primitives.dasm - System.Net.CredentialHostKey:Equals(System.Net.CredentialHostKey):ubyte:this (FullOpts) 3 (0.04 % of base) : System.Net.Http.dasm - System.Net.Http.HttpConnectionPool+d__89:MoveNext():this (FullOpts) 3 (0.69 % of base) : System.Private.CoreLib.dasm - System.Threading.AsyncLocalValueMap+TwoElementAsyncLocalValueMap:Set(System.Threading.IAsyncLocal,System.Object,ubyte):System.Threading.IAsyncLocalValueMap:this (FullOpts) 3 (0.22 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:RetrievePostponedItemsGreedyBounded(ubyte):this (FullOpts) 3 (0.17 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[System.__Canon]:RetrievePostponedItemsNonGreedy(ubyte):this (FullOpts) 2 (0.18 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:TryCreateExact(Microsoft.Extensions.DependencyInjection.ServiceDescriptor,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,int):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite:this (FullOpts) 2 (0.15 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:TryReadTo(byref,System.ReadOnlySpan`1[double],ubyte):ubyte:this (FullOpts) (2 methods) 2 (0.15 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:TryReadTo(byref,System.ReadOnlySpan`1[int],ubyte):ubyte:this (FullOpts) (2 methods) 2 (0.15 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:TryReadTo(byref,System.ReadOnlySpan`1[long],ubyte):ubyte:this (FullOpts) (2 methods) 2 (0.15 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:TryReadTo(byref,System.ReadOnlySpan`1[short],ubyte):ubyte:this (FullOpts) (2 methods) 2 (0.15 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:TryReadTo(byref,System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],ubyte):ubyte:this (FullOpts) (2 methods) 2 (0.15 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:TryReadTo(byref,System.ReadOnlySpan`1[ubyte],ubyte):ubyte:this (FullOpts) (2 methods) 2 (0.83 % of base) : System.Data.Common.dasm - System.Data.Common.SqlStringStorage:.ctor(System.Data.DataColumn):this (FullOpts) 2 (0.19 % of base) : System.Data.Common.dasm - System.Data.Common.SqlStringStorage:Aggregate(int[],int):System.Object:this (FullOpts) 2 (0.09 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarReader+d__19:MoveNext():this (FullOpts) 2 (0.12 % of base) : System.IO.FileSystem.Watcher.dasm - System.IO.FileSystemWatcher:WaitForChanged(int,int):System.IO.WaitForChangedResult:this (FullOpts) 2 (0.50 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:GetReadResult(byref):this (FullOpts) 2 (0.28 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (FullOpts) 2 (0.76 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.SequencePipeReader:ReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (FullOpts) 2 (0.26 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.StreamPipeReader:ReadInternalAsync(System.Nullable`1[int],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Pipelines.ReadResult]:this (FullOpts) 2 (0.09 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.StreamPipeReader+<g__Core|40_0>d:MoveNext():this (FullOpts) 2 (0.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[double]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[double]:this (FullOpts) 2 (0.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[int]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[int]:this (FullOpts) 2 (0.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[long]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[long]:this (FullOpts) 2 (0.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[short]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[short]:this (FullOpts) 2 (0.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Numerics.Vector`1[float]]:this (FullOpts) 2 (0.43 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1[ubyte]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[ubyte]:this (FullOpts) 2 (0.61 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1+ConcatQueryOperatorResults[double]:NewResults(System.Linq.Parallel.QueryResults`1[double],System.Linq.Parallel.QueryResults`1[double],System.Linq.Parallel.ConcatQueryOperator`1[double],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[double] (FullOpts) 2 (0.61 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1+ConcatQueryOperatorResults[int]:NewResults(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.ConcatQueryOperator`1[int],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[int] (FullOpts) 2 (0.61 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1+ConcatQueryOperatorResults[long]:NewResults(System.Linq.Parallel.QueryResults`1[long],System.Linq.Parallel.QueryResults`1[long],System.Linq.Parallel.ConcatQueryOperator`1[long],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[long] (FullOpts) 2 (0.61 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1+ConcatQueryOperatorResults[short]:NewResults(System.Linq.Parallel.QueryResults`1[short],System.Linq.Parallel.QueryResults`1[short],System.Linq.Parallel.ConcatQueryOperator`1[short],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[short] (FullOpts) 2 (0.58 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1+ConcatQueryOperatorResults[System.__Canon]:NewResults(System.Linq.Parallel.QueryResults`1[System.__Canon],System.Linq.Parallel.QueryResults`1[System.__Canon],System.Linq.Parallel.ConcatQueryOperator`1[System.__Canon],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.__Canon] (FullOpts) 2 (0.61 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1+ConcatQueryOperatorResults[System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]],System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]],System.Linq.Parallel.ConcatQueryOperator`1[System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.61 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1+ConcatQueryOperatorResults[System.Numerics.Vector`1[float]]:NewResults(System.Linq.Parallel.QueryResults`1[System.Numerics.Vector`1[float]],System.Linq.Parallel.QueryResults`1[System.Numerics.Vector`1[float]],System.Linq.Parallel.ConcatQueryOperator`1[System.Numerics.Vector`1[float]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Numerics.Vector`1[float]] (FullOpts) 2 (0.61 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ConcatQueryOperator`1+ConcatQueryOperatorResults[ubyte]:NewResults(System.Linq.Parallel.QueryResults`1[ubyte],System.Linq.Parallel.QueryResults`1[ubyte],System.Linq.Parallel.ConcatQueryOperator`1[ubyte],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[ubyte] (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2[double,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2[int,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2[long,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2[short,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2[System.Nullable`1[int],System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2[ubyte,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2+IndexedSelectQueryOperatorResults[double,System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[double],System.Linq.Parallel.IndexedSelectQueryOperator`2[double,System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2+IndexedSelectQueryOperatorResults[int,System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.IndexedSelectQueryOperator`2[int,System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2+IndexedSelectQueryOperatorResults[long,System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[long],System.Linq.Parallel.IndexedSelectQueryOperator`2[long,System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2+IndexedSelectQueryOperatorResults[short,System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[short],System.Linq.Parallel.IndexedSelectQueryOperator`2[short,System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.72 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2+IndexedSelectQueryOperatorResults[System.__Canon,System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[System.__Canon],System.Linq.Parallel.IndexedSelectQueryOperator`2[System.__Canon,System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2+IndexedSelectQueryOperatorResults[System.Nullable`1[int],System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]],System.Linq.Parallel.IndexedSelectQueryOperator`2[System.Nullable`1[int],System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2+IndexedSelectQueryOperatorResults[System.Numerics.Vector`1[float],System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[System.Numerics.Vector`1[float]],System.Linq.Parallel.IndexedSelectQueryOperator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.79 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.IndexedSelectQueryOperator`2+IndexedSelectQueryOperatorResults[ubyte,System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[ubyte],System.Linq.Parallel.IndexedSelectQueryOperator`2[ubyte,System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1[double]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[double]:this (FullOpts) 2 (0.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1[int]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[int]:this (FullOpts) 2 (0.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1[long]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[long]:this (FullOpts) 2 (0.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1[short]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[short]:this (FullOpts) 2 (0.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1[System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1[System.Numerics.Vector`1[float]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Numerics.Vector`1[float]]:this (FullOpts) 2 (0.66 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1[ubyte]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[ubyte]:this (FullOpts) 2 (0.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1+ReverseQueryOperatorResults[double]:NewResults(System.Linq.Parallel.QueryResults`1[double],System.Linq.Parallel.ReverseQueryOperator`1[double],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[double] (FullOpts) 2 (0.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1+ReverseQueryOperatorResults[int]:NewResults(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.ReverseQueryOperator`1[int],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[int] (FullOpts) 2 (0.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1+ReverseQueryOperatorResults[long]:NewResults(System.Linq.Parallel.QueryResults`1[long],System.Linq.Parallel.ReverseQueryOperator`1[long],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[long] (FullOpts) 2 (0.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1+ReverseQueryOperatorResults[short]:NewResults(System.Linq.Parallel.QueryResults`1[short],System.Linq.Parallel.ReverseQueryOperator`1[short],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[short] (FullOpts) 2 (0.75 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1+ReverseQueryOperatorResults[System.__Canon]:NewResults(System.Linq.Parallel.QueryResults`1[System.__Canon],System.Linq.Parallel.ReverseQueryOperator`1[System.__Canon],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.__Canon] (FullOpts) 2 (0.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1+ReverseQueryOperatorResults[System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]],System.Linq.Parallel.ReverseQueryOperator`1[System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1+ReverseQueryOperatorResults[System.Numerics.Vector`1[float]]:NewResults(System.Linq.Parallel.QueryResults`1[System.Numerics.Vector`1[float]],System.Linq.Parallel.ReverseQueryOperator`1[System.Numerics.Vector`1[float]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Numerics.Vector`1[float]] (FullOpts) 2 (0.83 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ReverseQueryOperator`1+ReverseQueryOperatorResults[ubyte]:NewResults(System.Linq.Parallel.QueryResults`1[ubyte],System.Linq.Parallel.ReverseQueryOperator`1[ubyte],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[ubyte] (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2[double,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2[int,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2[long,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2[short,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2[System.Nullable`1[int],System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.63 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2[ubyte,System.Nullable`1[int]]:Open(System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]]:this (FullOpts) 2 (0.78 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2+SelectQueryOperatorResults[double,System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[double],System.Linq.Parallel.SelectQueryOperator`2[double,System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.78 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2+SelectQueryOperatorResults[int,System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[int],System.Linq.Parallel.SelectQueryOperator`2[int,System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) 2 (0.78 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SelectQueryOperator`2+SelectQueryOperatorResults[long,System.Nullable`1[int]]:NewResults(System.Linq.Parallel.QueryResults`1[long],System.Linq.Parallel.SelectQueryOperator`2[long,System.Nullable`1[int]],System.Linq.Parallel.QuerySettings,ubyte):System.Linq.Parallel.QueryResults`1[System.Nullable`1[int]] (FullOpts) Top method improvements (bytes): -121 (-22.32 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStack:Pop(ubyte):this (FullOpts) -121 (-12.98 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStack:Push():this (FullOpts) -69 (-33.82 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]:this (FullOpts) -69 (-33.82 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -69 (-69.70 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList+Enumerator:.ctor(byref):this (FullOpts) -69 (-19.77 % of base) : System.Net.Http.dasm - System.Net.Http.Metrics.ConnectionMetrics:GetTags():System.Diagnostics.TagList:this (FullOpts) -69 (-16.24 % of base) : System.Net.Http.dasm - System.Net.Http.Metrics.MetricsHandler:InitializeCommonTags(System.Net.Http.HttpRequestMessage):System.Diagnostics.TagList (FullOpts) -61 (-12.32 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStack:Pop(ubyte):this (FullOpts) -52 (-6.93 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+d__6:MoveNext():ubyte:this (FullOpts) -52 (-5.57 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+d__8:MoveNext():ubyte:this (FullOpts) -47 (-12.50 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECOpenSsl:ExportNamedCurveParameters(Microsoft.Win32.SafeHandles.SafeEcKeyHandle,ubyte):System.Security.Cryptography.ECParameters (FullOpts) -43 (-1.31 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:GetECCurveParameters(Microsoft.Win32.SafeHandles.SafeEcKeyHandle,ubyte):System.Security.Cryptography.ECParameters (FullOpts) -43 (-3.97 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:GetECKeyParameters(Microsoft.Win32.SafeHandles.SafeEcKeyHandle,ubyte):System.Security.Cryptography.ECParameters (FullOpts) -43 (-3.00 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.EccKeyFormatHelper:FromECPrivateKey(System.ReadOnlySpan`1[ubyte],byref):System.Security.Cryptography.ECParameters (FullOpts) -43 (-2.63 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.EccKeyFormatHelper:FromECPrivateKey(System.Security.Cryptography.Asn1.ECPrivateKey,byref,byref) (FullOpts) -43 (-3.86 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.EccKeyFormatHelper:FromECPublicKey(System.ReadOnlyMemory`1[ubyte],byref,byref) (FullOpts) -43 (-14.33 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ExportParameters(ubyte):System.Security.Cryptography.ECParameters:this (FullOpts) -43 (-13.74 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSslPublicKey:ExportExplicitParameters():System.Security.Cryptography.ECParameters:this (FullOpts) -43 (-7.30 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSslPublicKey:ExportParameters():System.Security.Cryptography.ECParameters:this (FullOpts) -43 (-14.33 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsaOpenSsl:ExportParameters(ubyte):System.Security.Cryptography.ECParameters:this (FullOpts) -43 (-14.73 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECOpenSsl:ExportExplicitCurveParameters(Microsoft.Win32.SafeHandles.SafeEcKeyHandle,ubyte):System.Security.Cryptography.ECParameters (FullOpts) -43 (-17.55 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECOpenSsl:ExportParameters(Microsoft.Win32.SafeHandles.SafeEcKeyHandle,ubyte):System.Security.Cryptography.ECParameters (FullOpts) -38 (-6.48 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStack:Push():this (FullOpts) -36 (-2.15 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.MarshalAsAttribute):this (FullOpts) -36 (-1.96 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.CustomAttributeHelpers+<>c__DisplayClass5_0:b__0():System.Reflection.TypeLoading.CustomAttributeArguments:this (FullOpts) -34 (-8.50 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:Close(ubyte):this (FullOpts) -34 (-12.98 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:PopEntity():this (FullOpts) -34 (-17.53 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:PopParsingState():this (FullOpts) -34 (-10.37 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:PushParsingState():this (FullOpts) -32 (-2.38 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.DllImportAttribute):this (FullOpts) -29 (-11.03 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAKeyFormatHelper:ReadRsaPublicKey(System.ReadOnlyMemory`1[ubyte],byref,byref) (FullOpts) -29 (-22.83 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl+<>c:b__29_0(System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte]):System.Security.Cryptography.RSAParameters:this (FullOpts) -29 (-13.68 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl+<>c:b__29_1(System.ReadOnlyMemory`1[ubyte]):System.Security.Cryptography.RSAParameters:this (FullOpts) -28 (-3.89 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.EccKeyFormatHelper:GetCurve(System.Security.Cryptography.Asn1.ECDomainParameters):System.Security.Cryptography.ECCurve (FullOpts) -28 (-6.62 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.EccKeyFormatHelper:GetSpecifiedECCurve(System.Security.Cryptography.Asn1.SpecifiedECDomain):System.Security.Cryptography.ECCurve (FullOpts) -28 (-0.87 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.EccKeyFormatHelper:GetSpecifiedECCurveCore(System.Security.Cryptography.Asn1.SpecifiedECDomain):System.Security.Cryptography.ECCurve (FullOpts) -28 (-20.14 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECCurve:CreateFromOid(System.Security.Cryptography.Oid):System.Security.Cryptography.ECCurve (FullOpts) -28 (-7.84 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECCurve:CreateFromValueAndName(System.String,System.String):System.Security.Cryptography.ECCurve (FullOpts) -27 (-9.12 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:ScheduleWithContext(System.IO.Pipelines.PipeScheduler,byref) (FullOpts) -26 (-3.77 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Asn1.GeneralNameAsn:Decode(System.ReadOnlyMemory`1[ubyte],int):System.Security.Cryptography.Asn1.GeneralNameAsn (FullOpts) -26 (-1.72 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Asn1.CadesIssuerSerial:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[ubyte],byref) (FullOpts) -26 (-0.85 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Asn1.Rfc3161TstInfo:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[ubyte],byref) (FullOpts) -26 (-1.18 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.Asn1.DistributionPointAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[ubyte],byref) (FullOpts) -26 (-1.56 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.Asn1.DistributionPointNameAsn:DecodeCore(byref,System.ReadOnlyMemory`1[ubyte],byref) (FullOpts) -26 (-2.11 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension:Decode(System.ReadOnlySpan`1[ubyte]):System.Collections.Generic.List`1[System.Security.Cryptography.Asn1.GeneralNameAsn] (FullOpts) -25 (-3.29 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Asn1.Rfc3161TstInfo:Decode(System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[ubyte],int):System.Security.Cryptography.Pkcs.Asn1.Rfc3161TstInfo (FullOpts) -25 (-12.38 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo:.ctor(ubyte[],System.Security.Cryptography.Pkcs.Asn1.Rfc3161TstInfo):this (FullOpts) -25 (-5.67 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo:TryDecode(System.ReadOnlyMemory`1[ubyte],byref,byref):ubyte (FullOpts) -25 (-2.05 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo:TryDecode(System.ReadOnlyMemory`1[ubyte],ubyte,byref,byref,byref):ubyte (FullOpts) -24 (-3.39 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:ExportDsaParameters(Microsoft.Win32.SafeHandles.SafeDsaHandle,ubyte):System.Security.Cryptography.DSAParameters (FullOpts) -24 (-3.86 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTarget(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+Target:this (FullOpts) -24 (-2.10 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargetLibrary(byref,System.String):Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+TargetLibrary:this (FullOpts) -24 (-0.95 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CapiHelper:ToDSAParameters(ubyte[],ubyte,ubyte[]):System.Security.Cryptography.DSAParameters (FullOpts) -24 (-2.80 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSAKeyFormatHelper:ReadDsaPrivateKey(System.ReadOnlyMemory`1[ubyte],byref,byref) (FullOpts) -24 (-3.02 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSAKeyFormatHelper:ReadDsaPublicKey(System.ReadOnlyMemory`1[ubyte],byref,byref) (FullOpts) -24 (-11.94 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSAOpenSsl:ExportParameters(ubyte):System.Security.Cryptography.DSAParameters:this (FullOpts) -23 (-10.27 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:GetEnumerator():System.Collections.Immutable.ImmutableHashSet`1+Enumerator[System.__Canon]:this (FullOpts) -23 (-6.39 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this (FullOpts) -23 (-10.13 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -23 (-10.36 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:GetEnumerator():System.Collections.Immutable.ImmutableHashSet`1+Enumerator[System.__Canon]:this (FullOpts) -23 (-10.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this (FullOpts) -23 (-10.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -23 (-10.45 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+NodeEnumerable[System.__Canon]:GetEnumerator():System.Collections.Immutable.ImmutableHashSet`1+Enumerator[System.__Canon]:this (FullOpts) -23 (-10.31 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+NodeEnumerable[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this (FullOpts) -23 (-10.31 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+NodeEnumerable[System.__Canon]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -19 (-4.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Enumerator[System.__Canon]:MoveNext():ubyte:this (FullOpts) -19 (-17.43 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]:GetEnumerator():System.Collections.Immutable.ImmutableHashSet`1+HashBucket+Enumerator[System.__Canon]:this (FullOpts) -18 (-2.81 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Asn1.EdiPartyNameAsn:Decode(System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[ubyte],int):System.Security.Cryptography.Asn1.EdiPartyNameAsn (FullOpts) -18 (-1.55 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileSort(System.Xml.Xsl.Xslt.Sort,System.Xml.Xsl.Qil.QilList,byref):this (FullOpts) -17 (-0.50 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Asn1.GeneralNameAsn:DecodeCore(byref,System.ReadOnlyMemory`1[ubyte],byref) (FullOpts) -17 (-0.51 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Asn1.GeneralNameAsn:DecodeCore(byref,System.ReadOnlyMemory`1[ubyte],byref) (FullOpts) -14 (-1.29 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextJsonReader:ReadTargetLibraryRuntimeTargets(byref):System.Collections.Generic.List`1[Microsoft.Extensions.DependencyModel.DependencyContextJsonReader+RuntimeTargetEntryStub]:this (FullOpts) -14 (-2.15 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapConnection:BindSasl():int:this (FullOpts) -14 (-1.43 % of base) : System.Private.Xml.dasm - System.Xml.Schema.SequenceNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this (FullOpts) -14 (-1.31 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReader:Init(System.Xml.XmlReader,System.Xml.Serialization.XmlDeserializationEvents,System.String):this (FullOpts) -13 (-1.98 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.Logger+LoggerDebugView:get_Providers():System.Collections.Generic.List`1[Microsoft.Extensions.Logging.Logger+LoggerProviderDebugView]:this (FullOpts) -13 (-2.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[double,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableDictionary`2+Enumerator[double,System.Nullable`1[int]]:this (FullOpts) -13 (-2.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[double,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[double,System.Nullable`1[int]]]:this (FullOpts) -13 (-2.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[double,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts) -13 (-2.51 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[double,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -13 (-2.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[int,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableDictionary`2+Enumerator[int,System.Nullable`1[int]]:this (FullOpts) -13 (-2.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[int,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[int,System.Nullable`1[int]]]:this (FullOpts) -13 (-2.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[int,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts) -13 (-2.51 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[int,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -13 (-2.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[long,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableDictionary`2+Enumerator[long,System.Nullable`1[int]]:this (FullOpts) -13 (-2.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[long,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[long,System.Nullable`1[int]]]:this (FullOpts) -13 (-2.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[long,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts) -13 (-2.51 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[long,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -13 (-2.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[short,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableDictionary`2+Enumerator[short,System.Nullable`1[int]]:this (FullOpts) -13 (-2.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[short,System.Nullable`1[int]]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[short,System.Nullable`1[int]]]:this (FullOpts) -13 (-2.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[short,System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts) -13 (-2.51 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[short,System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -13 (-2.61 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableDictionary`2+Enumerator[System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts) -13 (-2.16 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]:this (FullOpts) -13 (-2.37 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts) -13 (-2.51 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -13 (-2.58 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableDictionary`2+Enumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:this (FullOpts) -13 (-2.14 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]]:this (FullOpts) -13 (-2.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.IDictionary.GetEnumerator():System.Collections.IDictionaryEnumerator:this (FullOpts) -13 (-2.49 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) Top method regressions (percentages): 169 (Infinity of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:TryRegisterSocket(long,System.Net.Sockets.SocketAsyncContext,byref,byref):ubyte (FullOpts) 1 (6.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.__Canon]:.ctor(byref):this (FullOpts) 1 (6.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]:.ctor(byref):this (FullOpts) 1 (6.25 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:.ctor(byref):this (FullOpts) 1 (4.55 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.SequencePipeReader:.ctor(System.Buffers.ReadOnlySequence`1[ubyte]):this (FullOpts) 1 (4.55 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.IteratorDescriptor:set_Storage(System.Xml.Xsl.IlGen.StorageDescriptor):this (FullOpts) 1 (4.35 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache:set_Key(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey):this (FullOpts) 1 (4.00 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache:.ctor(int,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey):this (FullOpts) 1 (4.00 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite:.ctor(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache):this (FullOpts) 1 (4.00 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:set_ValueSequence(System.Buffers.ReadOnlySequence`1[ubyte]):this (FullOpts) 1 (3.70 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]:this (FullOpts) 1 (3.70 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.ValueTask`1[System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.ValueTaskAwaiter`1[System.__Canon]:this (FullOpts) 1 (3.57 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache:get_Key():Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey:this (FullOpts) 1 (3.57 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[double]:get_Sequence():System.Buffers.ReadOnlySequence`1[double]:this (FullOpts) 1 (3.57 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[int]:get_Sequence():System.Buffers.ReadOnlySequence`1[int]:this (FullOpts) 1 (3.57 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[long]:get_Sequence():System.Buffers.ReadOnlySequence`1[long]:this (FullOpts) 1 (3.57 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[short]:get_Sequence():System.Buffers.ReadOnlySequence`1[short]:this (FullOpts) 1 (3.57 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[System.Numerics.Vector`1[float]]:get_Sequence():System.Buffers.ReadOnlySequence`1[System.Numerics.Vector`1[float]]:this (FullOpts) 1 (3.57 % of base) : System.Memory.dasm - System.Buffers.SequenceReader`1[ubyte]:get_Sequence():System.Buffers.ReadOnlySequence`1[ubyte]:this (FullOpts) 1 (3.57 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition:get_ExportingLazyMember():System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo:this (FullOpts) 1 (3.57 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.ReflectionMemberImportDefinition:get_ImportingLazyMember():System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo:this (FullOpts) 1 (3.57 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.ReadResult:get_Buffer():System.Buffers.ReadOnlySequence`1[ubyte]:this (FullOpts) 1 (3.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (3.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[double]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (3.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[int]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (3.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[long]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (3.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[short]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (3.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.__Canon]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (3.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (3.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[System.Numerics.Vector`1[float]]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (3.57 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery`1[ubyte]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (3.57 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.PolymorphicTypeResolver:get_CustomTypeDiscriminatorPropertyNameJsonEncoded():System.Nullable`1[System.Text.Json.JsonEncodedText]:this (FullOpts) 1 (3.57 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.IteratorDescriptor:get_Storage():System.Xml.Xsl.IlGen.StorageDescriptor:this (FullOpts) 1 (3.45 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.IteratorDescriptor:SetIterator(System.Reflection.Emit.Label,System.Xml.Xsl.IlGen.StorageDescriptor):this (FullOpts) 1 (3.33 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite:get_Cache():Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache:this (FullOpts) 1 (3.33 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1+d__34[double]:System.Collections.Generic.IEnumerator.ScopeRecord>.get_Current():System.Xml.Xsl.Xslt.CompilerScopeManager`1+ScopeRecord[double]:this (FullOpts) 1 (3.33 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1+d__34[int]:System.Collections.Generic.IEnumerator.ScopeRecord>.get_Current():System.Xml.Xsl.Xslt.CompilerScopeManager`1+ScopeRecord[int]:this (FullOpts) 1 (3.33 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1+d__34[long]:System.Collections.Generic.IEnumerator.ScopeRecord>.get_Current():System.Xml.Xsl.Xslt.CompilerScopeManager`1+ScopeRecord[long]:this (FullOpts) 1 (3.33 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1+d__34[short]:System.Collections.Generic.IEnumerator.ScopeRecord>.get_Current():System.Xml.Xsl.Xslt.CompilerScopeManager`1+ScopeRecord[short]:this (FullOpts) 1 (3.33 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1+d__34[System.Nullable`1[int]]:System.Collections.Generic.IEnumerator.ScopeRecord>.get_Current():System.Xml.Xsl.Xslt.CompilerScopeManager`1+ScopeRecord[System.Nullable`1[int]]:this (FullOpts) 1 (3.33 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1+d__34[ubyte]:System.Collections.Generic.IEnumerator.ScopeRecord>.get_Current():System.Xml.Xsl.Xslt.CompilerScopeManager`1+ScopeRecord[ubyte]:this (FullOpts) 1 (3.23 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:get_OriginalSequence():System.Buffers.ReadOnlySequence`1[ubyte]:this (FullOpts) 1 (3.23 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonReader:get_ValueSequence():System.Buffers.ReadOnlySequence`1[ubyte]:this (FullOpts) 1 (3.03 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[double]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts) 1 (3.03 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[int]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts) 1 (3.03 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[long]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts) 1 (3.03 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[short]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts) 1 (3.03 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.__Canon]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts) 1 (3.03 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Nullable`1[int]]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts) 1 (3.03 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Numerics.Vector`1[float]]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts) 1 (3.03 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[ubyte]:GetContext():System.Diagnostics.ActivityContext:this (FullOpts) 1 (3.03 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityLink:get_Context():System.Diagnostics.ActivityContext:this (FullOpts) 1 (2.94 % of base) : System.Linq.Parallel.dasm - System.Linq.ParallelQuery:get_SpecifiedQuerySettings():System.Linq.Parallel.QuerySettings:this (FullOpts) 1 (2.94 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1+d__34[System.Numerics.Vector`1[float]]:System.Collections.Generic.IEnumerator.ScopeRecord>.get_Current():System.Xml.Xsl.Xslt.CompilerScopeManager`1+ScopeRecord[System.Numerics.Vector`1[float]]:this (FullOpts) 1 (2.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[double]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[int]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[long]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[short]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.__Canon]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.Numerics.Vector`1[float]]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.70 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[ubyte]:.ctor(System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.70 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.IlGen.IteratorDescriptor:SetIterator(System.Xml.Xsl.IlGen.IteratorDescriptor):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionerQueryOperator`1+PartitionerQueryOperatorResults[double]:.ctor(System.Collections.Concurrent.Partitioner`1[double],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionerQueryOperator`1+PartitionerQueryOperatorResults[int]:.ctor(System.Collections.Concurrent.Partitioner`1[int],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionerQueryOperator`1+PartitionerQueryOperatorResults[long]:.ctor(System.Collections.Concurrent.Partitioner`1[long],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionerQueryOperator`1+PartitionerQueryOperatorResults[short]:.ctor(System.Collections.Concurrent.Partitioner`1[short],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionerQueryOperator`1+PartitionerQueryOperatorResults[System.__Canon]:.ctor(System.Collections.Concurrent.Partitioner`1[System.__Canon],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionerQueryOperator`1+PartitionerQueryOperatorResults[System.Nullable`1[int]]:.ctor(System.Collections.Concurrent.Partitioner`1[System.Nullable`1[int]],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionerQueryOperator`1+PartitionerQueryOperatorResults[System.Numerics.Vector`1[float]]:.ctor(System.Collections.Concurrent.Partitioner`1[System.Numerics.Vector`1[float]],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.PartitionerQueryOperator`1+PartitionerQueryOperatorResults[ubyte]:.ctor(System.Collections.Concurrent.Partitioner`1[ubyte],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ScanQueryOperator`1+ScanEnumerableQueryOperatorResults[double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ScanQueryOperator`1+ScanEnumerableQueryOperatorResults[int]:.ctor(System.Collections.Generic.IEnumerable`1[int],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ScanQueryOperator`1+ScanEnumerableQueryOperatorResults[long]:.ctor(System.Collections.Generic.IEnumerable`1[long],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ScanQueryOperator`1+ScanEnumerableQueryOperatorResults[short]:.ctor(System.Collections.Generic.IEnumerable`1[short],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ScanQueryOperator`1+ScanEnumerableQueryOperatorResults[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ScanQueryOperator`1+ScanEnumerableQueryOperatorResults[System.Nullable`1[int]]:.ctor(System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ScanQueryOperator`1+ScanEnumerableQueryOperatorResults[System.Numerics.Vector`1[float]]:.ctor(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]],System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.38 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.ScanQueryOperator`1+ScanEnumerableQueryOperatorResults[ubyte]:.ctor(System.Collections.Generic.IEnumerable`1[ubyte],System.Linq.Parallel.QuerySettings):this (FullOpts) 28 (2.33 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList:Insert(int,System.Collections.Generic.KeyValuePair`2[System.String,System.Object]):this (FullOpts) 1 (2.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[double]:.ctor(ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[int]:.ctor(ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[long]:.ctor(ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[short]:.ctor(ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.__Canon]:.ctor(ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.Nullable`1[int]]:.ctor(ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[System.Numerics.Vector`1[float]]:.ctor(ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.QueryOperator`1[ubyte]:.ctor(ubyte,System.Linq.Parallel.QuerySettings):this (FullOpts) 1 (2.22 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeReader:Create(System.Buffers.ReadOnlySequence`1[ubyte]):System.IO.Pipelines.PipeReader (FullOpts) 1 (2.04 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCache+Node:.ctor(System.Text.RegularExpressions.RegexCache+Key,System.Text.RegularExpressions.Regex):this (FullOpts) 1 (1.92 % of base) : System.Linq.Parallel.dasm - System.Linq.OrderedParallelQuery`1[double]:.ctor(System.Linq.Parallel.QueryOperator`1[double]):this (FullOpts) 1 (1.92 % of base) : System.Linq.Parallel.dasm - System.Linq.OrderedParallelQuery`1[int]:.ctor(System.Linq.Parallel.QueryOperator`1[int]):this (FullOpts) 1 (1.92 % of base) : System.Linq.Parallel.dasm - System.Linq.OrderedParallelQuery`1[long]:.ctor(System.Linq.Parallel.QueryOperator`1[long]):this (FullOpts) 1 (1.92 % of base) : System.Linq.Parallel.dasm - System.Linq.OrderedParallelQuery`1[short]:.ctor(System.Linq.Parallel.QueryOperator`1[short]):this (FullOpts) 1 (1.92 % of base) : System.Linq.Parallel.dasm - System.Linq.OrderedParallelQuery`1[System.__Canon]:.ctor(System.Linq.Parallel.QueryOperator`1[System.__Canon]):this (FullOpts) 1 (1.92 % of base) : System.Linq.Parallel.dasm - System.Linq.OrderedParallelQuery`1[System.Nullable`1[int]]:.ctor(System.Linq.Parallel.QueryOperator`1[System.Nullable`1[int]]):this (FullOpts) 1 (1.92 % of base) : System.Linq.Parallel.dasm - System.Linq.OrderedParallelQuery`1[System.Numerics.Vector`1[float]]:.ctor(System.Linq.Parallel.QueryOperator`1[System.Numerics.Vector`1[float]]):this (FullOpts) 1 (1.92 % of base) : System.Linq.Parallel.dasm - System.Linq.OrderedParallelQuery`1[ubyte]:.ctor(System.Linq.Parallel.QueryOperator`1[ubyte]):this (FullOpts) 1 (1.85 % of base) : Microsoft.Extensions.Configuration.Abstractions.dasm - Microsoft.Extensions.Configuration.ConfigurationExtensions+d__3:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) 1 (1.85 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.FormattedLogValues+d__14:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) Top method improvements (percentages): -69 (-69.70 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList+Enumerator:.ctor(byref):this (FullOpts) -69 (-33.82 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]:this (FullOpts) -69 (-33.82 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.TagList:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -9 (-28.12 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionArray+DebugView:.ctor(System.Linq.Expressions.Interpreter.InstructionArray):this (FullOpts) -9 (-23.68 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.Interpreter:get_Instructions():System.Linq.Expressions.Interpreter.InstructionArray:this (FullOpts) -29 (-22.83 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl+<>c:b__29_0(System.ReadOnlyMemory`1[ubyte],System.ReadOnlyMemory`1[ubyte]):System.Security.Cryptography.RSAParameters:this (FullOpts) -121 (-22.32 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStack:Pop(ubyte):this (FullOpts) -28 (-20.14 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECCurve:CreateFromOid(System.Security.Cryptography.Oid):System.Security.Cryptography.ECCurve (FullOpts) -69 (-19.77 % of base) : System.Net.Http.dasm - System.Net.Http.Metrics.ConnectionMetrics:GetTags():System.Diagnostics.TagList:this (FullOpts) -9 (-18.75 % of base) : Microsoft.Extensions.Logging.dasm - Microsoft.Extensions.Logging.Logger+LoggerProviderDebugView:.ctor(System.String,System.Nullable`1[Microsoft.Extensions.Logging.MessageLogger]):this (FullOpts) -43 (-17.55 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECOpenSsl:ExportParameters(Microsoft.Win32.SafeHandles.SafeEcKeyHandle,ubyte):System.Security.Cryptography.ECParameters (FullOpts) -34 (-17.53 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:PopParsingState():this (FullOpts) -19 (-17.43 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+HashBucket[System.__Canon]:GetEnumerator():System.Collections.Immutable.ImmutableHashSet`1+HashBucket+Enumerator[System.__Canon]:this (FullOpts) -69 (-16.24 % of base) : System.Net.Http.dasm - System.Net.Http.Metrics.MetricsHandler:InitializeCommonTags(System.Net.Http.HttpRequestMessage):System.Diagnostics.TagList (FullOpts) -43 (-14.73 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECOpenSsl:ExportExplicitCurveParameters(Microsoft.Win32.SafeHandles.SafeEcKeyHandle,ubyte):System.Security.Cryptography.ECParameters (FullOpts) -43 (-14.33 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSsl:ExportParameters(ubyte):System.Security.Cryptography.ECParameters:this (FullOpts) -43 (-14.33 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDsaOpenSsl:ExportParameters(ubyte):System.Security.Cryptography.ECParameters:this (FullOpts) -43 (-13.74 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECDiffieHellmanOpenSslPublicKey:ExportExplicitParameters():System.Security.Cryptography.ECParameters:this (FullOpts) -29 (-13.68 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAOpenSsl+<>c:b__29_1(System.ReadOnlyMemory`1[ubyte]):System.Security.Cryptography.RSAParameters:this (FullOpts) -4 (-13.33 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobBuilder+Blobs:GetEnumerator():System.Reflection.Metadata.BlobBuilder+Blobs:this (FullOpts) -4 (-13.33 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobBuilder+Chunks:GetEnumerator():System.Reflection.Metadata.BlobBuilder+Chunks:this (FullOpts) -4 (-13.33 % of base) : System.Private.CoreLib.dasm - System.Text.StringBuilder+ChunkEnumerator:GetEnumerator():System.Text.StringBuilder+ChunkEnumerator:this (FullOpts) -121 (-12.98 % of base) : System.Text.Json.dasm - System.Text.Json.ReadStack:Push():this (FullOpts) -34 (-12.98 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:PopEntity():this (FullOpts) -4 (-12.90 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HttpHeadersNonValidated+Enumerator:get_Current():System.Collections.Generic.KeyValuePair`2[System.String,System.Net.Http.Headers.HeaderStringValues]:this (FullOpts) -47 (-12.50 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.ECOpenSsl:ExportNamedCurveParameters(Microsoft.Win32.SafeHandles.SafeEcKeyHandle,ubyte):System.Security.Cryptography.ECParameters (FullOpts) -25 (-12.38 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo:.ctor(ubyte[],System.Security.Cryptography.Pkcs.Asn1.Rfc3161TstInfo):this (FullOpts) -61 (-12.32 % of base) : System.Text.Json.dasm - System.Text.Json.WriteStack:Pop(ubyte):this (FullOpts) -4 (-12.12 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.CompilerScopeManager`1+d__34[System.__Canon]:System.Collections.Generic.IEnumerator.ScopeRecord>.get_Current():System.Xml.Xsl.Xslt.CompilerScopeManager`1+ScopeRecord[System.__Canon]:this (FullOpts) -24 (-11.94 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DSAOpenSsl:ExportParameters(ubyte):System.Security.Cryptography.DSAParameters:this (FullOpts) -4 (-11.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:get_LiteralAfterLoop():System.Nullable`1[System.ValueTuple`2[System.Text.RegularExpressions.RegexNode,System.ValueTuple`4[ushort,System.String,int,ushort[]]]]:this (FullOpts) -29 (-11.03 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RSAKeyFormatHelper:ReadRsaPublicKey(System.ReadOnlyMemory`1[ubyte],byref,byref) (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[double,System.Nullable`1[int]]:GetEnumerator(System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[double,System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[double,System.Nullable`1[int]]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[int,System.Nullable`1[int]]:GetEnumerator(System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[int,System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[int,System.Nullable`1[int]]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[long,System.Nullable`1[int]]:GetEnumerator(System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[long,System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[long,System.Nullable`1[int]]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[short,System.Nullable`1[int]]:GetEnumerator(System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[short,System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[short,System.Nullable`1[int]]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:GetEnumerator(System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Nullable`1[int],System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:GetEnumerator(System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[ubyte,System.Nullable`1[int]]:GetEnumerator(System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[ubyte,System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[ubyte,System.Nullable`1[int]]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[double]:GetEnumerator(System.Collections.Immutable.ImmutableSortedSet`1+Builder[double]):System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[double]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[int]:GetEnumerator(System.Collections.Immutable.ImmutableSortedSet`1+Builder[int]):System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[int]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[long]:GetEnumerator(System.Collections.Immutable.ImmutableSortedSet`1+Builder[long]):System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[long]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[short]:GetEnumerator(System.Collections.Immutable.ImmutableSortedSet`1+Builder[short]):System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[short]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.Nullable`1[int]]:GetEnumerator(System.Collections.Immutable.ImmutableSortedSet`1+Builder[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[System.Nullable`1[int]]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.Numerics.Vector`1[float]]:GetEnumerator(System.Collections.Immutable.ImmutableSortedSet`1+Builder[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts) -9 (-10.59 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[ubyte]:GetEnumerator(System.Collections.Immutable.ImmutableSortedSet`1+Builder[ubyte]):System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[ubyte]:this (FullOpts) -23 (-10.45 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+NodeEnumerable[System.__Canon]:GetEnumerator():System.Collections.Immutable.ImmutableHashSet`1+Enumerator[System.__Canon]:this (FullOpts) -34 (-10.37 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:PushParsingState():this (FullOpts) -23 (-10.36 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:GetEnumerator():System.Collections.Immutable.ImmutableHashSet`1+Enumerator[System.__Canon]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[double,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[double,System.Nullable`1[int]]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[int,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[int,System.Nullable`1[int]]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[long,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[long,System.Nullable`1[int]]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[short,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[short,System.Nullable`1[int]]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Nullable`1[int],System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[System.Numerics.Vector`1[float],System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Node[ubyte,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[ubyte,System.Nullable`1[int]]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[double]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[double]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[int]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[int]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[long]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[long]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[short]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[short]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[System.Nullable`1[int]]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts) -9 (-10.34 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[ubyte]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[ubyte]:this (FullOpts) -23 (-10.31 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+NodeEnumerable[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this (FullOpts) -23 (-10.31 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+NodeEnumerable[System.__Canon]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -23 (-10.27 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:GetEnumerator():System.Collections.Immutable.ImmutableHashSet`1+Enumerator[System.__Canon]:this (FullOpts) -23 (-10.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this (FullOpts) -23 (-10.22 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1+Builder[System.__Canon]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -23 (-10.13 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.__Canon]:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[double,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[double,System.Nullable`1[int]]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[int,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[int,System.Nullable`1[int]]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[long,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[long,System.Nullable`1[int]]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[short,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[short,System.Nullable`1[int]]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2[ubyte,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[ubyte,System.Nullable`1[int]]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[double]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[double]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[int]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[int]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[long]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[long]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[short]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[short]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[System.Nullable`1[int]]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts) -9 (-9.89 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[ubyte]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[ubyte]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[double,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[double,System.Nullable`1[int]]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[int,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[int,System.Nullable`1[int]]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[long,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[long,System.Nullable`1[int]]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[short,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[short,System.Nullable`1[int]]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Nullable`1[int],System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[System.Nullable`1[int],System.Nullable`1[int]]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[System.Numerics.Vector`1[float],System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedDictionary`2+Builder[ubyte,System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedDictionary`2+Enumerator[ubyte,System.Nullable`1[int]]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Builder[double]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[double]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Builder[int]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[int]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Builder[long]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[long]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Builder[short]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[short]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Builder[System.Nullable`1[int]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[System.Nullable`1[int]]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Builder[System.Numerics.Vector`1[float]]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[System.Numerics.Vector`1[float]]:this (FullOpts) -9 (-9.78 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Builder[ubyte]:GetEnumerator():System.Collections.Immutable.ImmutableSortedSet`1+Enumerator[ubyte]:this (FullOpts) -27 (-9.12 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.Pipe:ScheduleWithContext(System.IO.Pipelines.PipeScheduler,byref) (FullOpts) -34 (-8.50 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:Close(ubyte):this (FullOpts) -9 (-8.49 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1+Node[double]:Reverse():System.Collections.Generic.IEnumerator`1[double]:this (FullOpts) 2397 total methods with Code Size differences (726 improved, 1671 regressed), 236979 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 4 months ago

Top method regressions

3 (0.69 % of base) - System.Threading.AsyncLocalValueMap+TwoElementAsyncLocalValueMap:Set(System.Threading.IAsyncLocal,System.Object,ubyte):System.Threading.IAsyncLocalValueMap:this ```diff ; Assembly listing for method System.Threading.AsyncLocalValueMap+TwoElementAsyncLocalValueMap:Set(System.Threading.IAsyncLocal,System.Object,ubyte):System.Threading.IAsyncLocalValueMap:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 16 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 15, 8.50) ref -> rbx this class-hnd single-def ; V01 arg1 [V01,T04] ( 5, 3.50) ref -> rsi class-hnd single-def ; V02 arg2 [V02,T05] ( 4, 3.50) ref -> rdx class-hnd single-def ; V03 arg3 [V03,T07] ( 3, 2.50) ubyte -> rcx single-def ;* V04 loc0 [V04 ] ( 0, 0 ) struct (16) zero-ref ;* V05 loc1 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd ;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V07 tmp1 [V07,T03] ( 6, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" ; V08 tmp2 [V08,T06] ( 5, 5 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" ; V09 tmp3 [V09,T01] ( 8, 8 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" ; V10 tmp4 [V10,T10] ( 3, 3 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" ; V11 tmp5 [V11,T11] ( 3, 3 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" ;* V12 tmp6 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V13 tmp7 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V14 tmp8 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V15 tmp9 [V15 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ;* V16 tmp10 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ;* V17 tmp11 [V17 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ;* V18 tmp12 [V18 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ;* V19 tmp13 [V19 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V20 tmp14 [V20 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V21 tmp15 [V21 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ;* V22 tmp16 [V22 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ; V23 tmp17 [V23,T02] ( 7, 8 ) ref -> r12 "Single return block return value" ;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "field V04.key (fldOffset=0x0)" P-INDEP ;* V25 tmp19 [V25 ] ( 0, 0 ) ref -> zero-ref single-def "field V04.value (fldOffset=0x8)" P-INDEP ; V26 tmp20 [V26,T09] ( 6, 3 ) ref -> r15 single-def "field V12.key (fldOffset=0x0)" P-INDEP ; V27 tmp21 [V27,T12] ( 4, 2 ) ref -> r14 single-def "field V12.value (fldOffset=0x8)" P-INDEP ; V28 tmp22 [V28,T13] ( 2, 1 ) ref -> rsi single-def "field V15.key (fldOffset=0x0)" P-INDEP ; V29 tmp23 [V29,T14] ( 2, 1 ) ref -> [rbp-0x30] spill-single-def "field V15.value (fldOffset=0x8)" P-INDEP ; V30 tmp24 [V30,T15] ( 2, 1 ) ref -> r13 single-def "field V16.key (fldOffset=0x0)" P-INDEP ; V31 tmp25 [V31,T16] ( 2, 1 ) ref -> rbx single-def "field V16.value (fldOffset=0x8)" P-INDEP ;* V32 tmp26 [V32 ] ( 0, 0 ) ref -> zero-ref "field V17.key (fldOffset=0x0)" P-INDEP ;* V33 tmp27 [V33 ] ( 0, 0 ) ref -> zero-ref "field V17.value (fldOffset=0x8)" P-INDEP ; V34 tmp28 [V34,T17] ( 2, 1 ) ref -> r13 single-def "field V18.key (fldOffset=0x0)" P-INDEP ; V35 tmp29 [V35,T18] ( 2, 1 ) ref -> rbx single-def "field V18.value (fldOffset=0x8)" P-INDEP ;* V36 tmp30 [V36 ] ( 0, 0 ) ref -> zero-ref "field V21.key (fldOffset=0x0)" P-INDEP ;* V37 tmp31 [V37 ] ( 0, 0 ) ref -> zero-ref "field V21.value (fldOffset=0x8)" P-INDEP ;* V38 tmp32 [V38 ] ( 0, 0 ) ref -> zero-ref "field V22.key (fldOffset=0x0)" P-INDEP ;* V39 tmp33 [V39 ] ( 0, 0 ) ref -> zero-ref "field V22.value (fldOffset=0x8)" P-INDEP ; V40 cse0 [V40,T08] ( 7, 3.50) ref -> r13 multi-def "CSE #02: aggressive" ; ; Lcl frame size = 8 G_M50945_IG01: push rbp push r15 push r14 push r13 push r12 push rbx push rax lea rbp, [rsp+0x30] mov rbx, rdi ;; size=19 bbWeight=1 PerfScore 7.75 G_M50945_IG02: test rdx, rdx jne SHORT G_M50945_IG04 ;; size=5 bbWeight=1 PerfScore 1.25 G_M50945_IG03: test cl, cl jne G_M50945_IG07 ;; size=8 bbWeight=0.50 PerfScore 0.62 G_M50945_IG04: mov r15, rsi mov r14, rdx cmp r15, gword ptr [rbx+0x08] je G_M50945_IG06 mov r13, gword ptr [rbx+0x18] cmp r15, r13 je SHORT G_M50945_IG05 mov rdi, 0xD1FFAB1E ; System.Threading.AsyncLocalValueMap+ThreeElementAsyncLocalValueMap call CORINFO_HELP_NEWSFAST mov r12, rax mov rsi, gword ptr [rbx+0x08] mov rax, gword ptr [rbx+0x10] mov gword ptr [rbp-0x30], rax mov rbx, gword ptr [rbx+0x20] lea rdi, bword ptr [r12+0x08] call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x10] mov rsi, gword ptr [rbp-0x30] call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x18] mov rsi, r13 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x20] mov rsi, rbx call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x28] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x30] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF jmp G_M50945_IG10 ;; size=140 bbWeight=0.50 PerfScore 14.62 G_M50945_IG05: mov rdi, 0xD1FFAB1E ; System.Threading.AsyncLocalValueMap+TwoElementAsyncLocalValueMap call CORINFO_HELP_NEWSFAST mov r12, rax lea rsi, bword ptr [rbx+0x08] lea rdi, bword ptr [r12+0x08] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH lea rdi, bword ptr [r12+0x18] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x20] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF jmp G_M50945_IG10 - ;; size=68 bbWeight=0.50 PerfScore 5.00 + ;; size=69 bbWeight=0.50 PerfScore 4.62 G_M50945_IG06: mov rdi, 0xD1FFAB1E ; System.Threading.AsyncLocalValueMap+TwoElementAsyncLocalValueMap call CORINFO_HELP_NEWSFAST mov r12, rax mov r13, gword ptr [rbx+0x18] mov rbx, gword ptr [rbx+0x20] lea rdi, bword ptr [r12+0x08] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x10] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x18] mov rsi, r13 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x20] mov rsi, rbx call CORINFO_HELP_ASSIGN_REF jmp SHORT G_M50945_IG10 ;; size=80 bbWeight=0.50 PerfScore 7.25 G_M50945_IG07: cmp rsi, gword ptr [rbx+0x08] je SHORT G_M50945_IG09 mov r13, gword ptr [rbx+0x18] cmp rsi, r13 je SHORT G_M50945_IG08 mov r12, rbx jmp SHORT G_M50945_IG10 ;; size=20 bbWeight=0.50 PerfScore 4.75 G_M50945_IG08: mov rdi, 0xD1FFAB1E ; System.Threading.AsyncLocalValueMap+OneElementAsyncLocalValueMap call CORINFO_HELP_NEWSFAST mov r12, rax lea rsi, bword ptr [rbx+0x08] lea rdi, bword ptr [r12+0x08] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH jmp SHORT G_M50945_IG10 - ;; size=39 bbWeight=0.50 PerfScore 3.25 + ;; size=40 bbWeight=0.50 PerfScore 2.88 G_M50945_IG09: mov rdi, 0xD1FFAB1E ; System.Threading.AsyncLocalValueMap+OneElementAsyncLocalValueMap call CORINFO_HELP_NEWSFAST mov r12, rax lea rsi, bword ptr [rbx+0x18] lea rdi, bword ptr [r12+0x08] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - ;; size=37 bbWeight=0.50 PerfScore 2.25 + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH + ;; size=38 bbWeight=0.50 PerfScore 1.88 G_M50945_IG10: mov rax, r12 ;; size=3 bbWeight=1 PerfScore 0.25 G_M50945_IG11: add rsp, 8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 -; Total bytes of code 434, prolog size 16, PerfScore 51.25, instruction count 108, allocated bytes for code 434 (MethodHash=1ec838fe) for method System.Threading.AsyncLocalValueMap+TwoElementAsyncLocalValueMap:Set(System.Threading.IAsyncLocal,System.Object,ubyte):System.Threading.IAsyncLocalValueMap:this (FullOpts) +; Total bytes of code 437, prolog size 16, PerfScore 50.12, instruction count 108, allocated bytes for code 437 (MethodHash=1ec838fe) for method System.Threading.AsyncLocalValueMap+TwoElementAsyncLocalValueMap:Set(System.Threading.IAsyncLocal,System.Object,ubyte):System.Threading.IAsyncLocalValueMap:this (FullOpts) ```
1 (0.70 % of base) - System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:AddWithResize(System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet):this ```diff ; Assembly listing for method System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:AddWithResize(System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 7, 7 ) ref -> rbx this class-hnd single-def ; V01 arg1 [V01,T08] ( 1, 1 ) struct (32) [rbp+0x10] do-not-enreg[S] single-def ; V02 loc0 [V02,T04] ( 4, 4 ) int -> r15 ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ; V05 tmp2 [V05,T07] ( 3, 2 ) int -> rsi ; V06 tmp3 [V06,T01] ( 8, 8 ) int -> rsi "Inline stloc first use temp" ; V07 tmp4 [V07,T03] ( 3, 6 ) int -> rdi "Inlining Arg" ; V08 tmp5 [V08,T02] ( 3, 6 ) ref -> rdi single-def "arr expr" ; V09 cse0 [V09,T06] ( 3, 2.50) ref -> rsi "CSE #01: aggressive" ; V10 cse1 [V10,T05] ( 3, 3 ) int -> r14 "CSE #02: aggressive" ; ; Lcl frame size = 8 G_M28774_IG01: push rbp push r15 push r14 push rbx push rax lea rbp, [rsp+0x20] mov rbx, rdi ;; size=15 bbWeight=1 PerfScore 5.75 G_M28774_IG02: mov r15d, dword ptr [rbx+0x10] lea r14d, [r15+0x01] mov edi, r14d mov rsi, gword ptr [rbx+0x08] cmp dword ptr [rsi+0x08], 0 je SHORT G_M28774_IG04 ;; size=21 bbWeight=1 PerfScore 8.75 G_M28774_IG03: mov esi, dword ptr [rsi+0x08] add esi, esi jmp SHORT G_M28774_IG05 ;; size=7 bbWeight=0.50 PerfScore 2.12 G_M28774_IG04: mov esi, 4 ;; size=5 bbWeight=0.50 PerfScore 0.12 G_M28774_IG05: mov eax, 0xD1FFAB1E cmp esi, 0xD1FFAB1E cmova esi, eax cmp esi, edi cmovl esi, edi mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:set_Capacity(int):this call [rax]System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:set_Capacity(int):this mov dword ptr [rbx+0x10], r14d mov rdi, gword ptr [rbx+0x08] cmp r15d, dword ptr [rdi+0x08] jae SHORT G_M28774_IG07 mov esi, r15d shl rsi, 5 lea rdi, bword ptr [rdi+rsi+0x10] lea rsi, bword ptr [rbp+0x10] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH movsq movsq - ;; size=78 bbWeight=1 PerfScore 18.00 + ;; size=79 bbWeight=1 PerfScore 17.25 G_M28774_IG06: add rsp, 8 pop rbx pop r14 pop r15 pop rbp ret ;; size=11 bbWeight=1 PerfScore 3.25 G_M28774_IG07: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 143, prolog size 12, PerfScore 38.00, instruction count 45, allocated bytes for code 143 (MethodHash=23188f99) for method System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:AddWithResize(System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet):this (FullOpts) +; Total bytes of code 144, prolog size 12, PerfScore 37.25, instruction count 45, allocated bytes for code 144 (MethodHash=23188f99) for method System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]:AddWithResize(System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet):this (FullOpts) ```
1 (1.85 % of base) - System.Diagnostics.Tracing.CounterPayload+d__51:System.Collections.IEnumerator.get_Current():System.Object:this ```diff ; Assembly listing for method System.Diagnostics.Tracing.CounterPayload+d__51:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T01] ( 3, 3 ) ref -> rbx this class-hnd single-def d__51> ;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> r15 class-hnd exact single-def "Single-def Box Helper" ; ; Lcl frame size = 8 G_M58033_IG01: push r15 push rbx push rax mov rbx, rdi ;; size=7 bbWeight=1 PerfScore 3.25 G_M58033_IG02: mov rdi, 0xD1FFAB1E ; System.Collections.Generic.KeyValuePair`2[System.String,System.Object] call CORINFO_HELP_NEWSFAST mov r15, rax lea rsi, bword ptr [rbx+0x18] lea rdi, bword ptr [r15+0x08] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rax, r15 - ;; size=39 bbWeight=1 PerfScore 4.75 + ;; size=40 bbWeight=1 PerfScore 4.00 G_M58033_IG03: add rsp, 8 pop rbx pop r15 ret ;; size=8 bbWeight=1 PerfScore 2.25 -; Total bytes of code 54, prolog size 4, PerfScore 10.25, instruction count 16, allocated bytes for code 54 (MethodHash=48461d4e) for method System.Diagnostics.Tracing.CounterPayload+d__51:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) +; Total bytes of code 55, prolog size 4, PerfScore 9.50, instruction count 16, allocated bytes for code 55 (MethodHash=48461d4e) for method System.Diagnostics.Tracing.CounterPayload+d__51:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) ```
1 (1.85 % of base) - System.Diagnostics.Tracing.EventPayload+d__17:System.Collections.IEnumerator.get_Current():System.Object:this ```diff ; Assembly listing for method System.Diagnostics.Tracing.EventPayload+d__17:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T01] ( 3, 3 ) ref -> rbx this class-hnd single-def d__17> ;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> r15 class-hnd exact single-def "Single-def Box Helper" ; ; Lcl frame size = 8 G_M54330_IG01: push r15 push rbx push rax mov rbx, rdi ;; size=7 bbWeight=1 PerfScore 3.25 G_M54330_IG02: mov rdi, 0xD1FFAB1E ; System.Collections.Generic.KeyValuePair`2[System.String,System.Object] call CORINFO_HELP_NEWSFAST mov r15, rax lea rsi, bword ptr [rbx+0x18] lea rdi, bword ptr [r15+0x08] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rax, r15 - ;; size=39 bbWeight=1 PerfScore 4.75 + ;; size=40 bbWeight=1 PerfScore 4.00 G_M54330_IG03: add rsp, 8 pop rbx pop r15 ret ;; size=8 bbWeight=1 PerfScore 2.25 -; Total bytes of code 54, prolog size 4, PerfScore 10.25, instruction count 16, allocated bytes for code 54 (MethodHash=45022bc5) for method System.Diagnostics.Tracing.EventPayload+d__17:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) +; Total bytes of code 55, prolog size 4, PerfScore 9.50, instruction count 16, allocated bytes for code 55 (MethodHash=45022bc5) for method System.Diagnostics.Tracing.EventPayload+d__17:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) ```
1 (1.85 % of base) - System.Diagnostics.Tracing.IncrementingCounterPayload+d__39:System.Collections.IEnumerator.get_Current():System.Object:this ```diff ; Assembly listing for method System.Diagnostics.Tracing.IncrementingCounterPayload+d__39:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T01] ( 3, 3 ) ref -> rbx this class-hnd single-def d__39> ;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> r15 class-hnd exact single-def "Single-def Box Helper" ; ; Lcl frame size = 8 G_M25694_IG01: push r15 push rbx push rax mov rbx, rdi ;; size=7 bbWeight=1 PerfScore 3.25 G_M25694_IG02: mov rdi, 0xD1FFAB1E ; System.Collections.Generic.KeyValuePair`2[System.String,System.Object] call CORINFO_HELP_NEWSFAST mov r15, rax lea rsi, bword ptr [rbx+0x18] lea rdi, bword ptr [r15+0x08] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rax, r15 - ;; size=39 bbWeight=1 PerfScore 4.75 + ;; size=40 bbWeight=1 PerfScore 4.00 G_M25694_IG03: add rsp, 8 pop rbx pop r15 ret ;; size=8 bbWeight=1 PerfScore 2.25 -; Total bytes of code 54, prolog size 4, PerfScore 10.25, instruction count 16, allocated bytes for code 54 (MethodHash=8d149ba1) for method System.Diagnostics.Tracing.IncrementingCounterPayload+d__39:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) +; Total bytes of code 55, prolog size 4, PerfScore 9.50, instruction count 16, allocated bytes for code 55 (MethodHash=8d149ba1) for method System.Diagnostics.Tracing.IncrementingCounterPayload+d__39:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) ```
1 (0.80 % of base) - System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_NegativeLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this ```diff ; Assembly listing for method System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_NegativeLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 8, 6 ) byref -> rbx this single-def ; V01 RetBuf [V01,T01] ( 4, 4 ) byref -> r15 single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V03 tmp1 [V03,T03] ( 2, 2 ) byref -> rdi single-def "impAppendStmt" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" ; V06 tmp4 [V06,T02] ( 4, 4 ) ref -> rsi class-hnd exact single-def "Inlining Arg" ;* V07 tmp5 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V08 tmp6 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" ; V09 tmp7 [V09,T04] ( 2, 2 ) byref -> rdx single-def "Inlining Arg" ; V10 tmp8 [V10,T05] ( 2, 2 ) int -> rsi "Inlining Arg" ;* V11 tmp9 [V11 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP ;* V12 tmp10 [V12 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP ; V13 tmp11 [V13,T06] ( 3, 1.50) byref -> registers "field V05._reference (fldOffset=0x0)" P-INDEP ; V14 tmp12 [V14,T07] ( 3, 1.50) int -> registers "field V05._length (fldOffset=0x8)" P-INDEP ; V15 tmp13 [V15,T08] ( 2, 1 ) byref -> rdx single-def "field V07._reference (fldOffset=0x0)" P-INDEP ; V16 tmp14 [V16,T09] ( 2, 1 ) int -> rsi "field V07._length (fldOffset=0x8)" P-INDEP ;* V17 tmp15 [V17 ] ( 0, 0 ) byref -> zero-ref single-def "field V08._reference (fldOffset=0x0)" P-INDEP ;* V18 tmp16 [V18 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 0 G_M16428_IG01: push rbp push r15 push rbx lea rbp, [rsp+0x10] mov rbx, rdi mov r15, rsi ;; size=15 bbWeight=1 PerfScore 4.00 G_M16428_IG02: cmp byte ptr [rbx+0x1E], 0 jne SHORT G_M16428_IG06 ;; size=6 bbWeight=1 PerfScore 4.00 G_M16428_IG03: xor esi, esi mov qword ptr [rbx+0x48], rsi mov qword ptr [rbx+0x50], rsi mov qword ptr [rbx+0x58], rsi mov qword ptr [rbx+0x60], rsi mov qword ptr [rbx+0x68], rsi lea rdi, bword ptr [rbx+0x48] mov rsi, gword ptr [rbx+0x08] test rsi, rsi jne SHORT G_M16428_IG04 xor rsi, rsi xor edx, edx jmp SHORT G_M16428_IG05 ;; size=41 bbWeight=0.50 PerfScore 5.75 G_M16428_IG04: lea rdx, bword ptr [rsi+0x0C] mov esi, dword ptr [rsi+0x08] mov ecx, esi mov rsi, rdx mov edx, ecx ;; size=14 bbWeight=0.50 PerfScore 1.62 G_M16428_IG05: xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.Globalization.TimeSpanFormat+FormatLiterals:Init(System.ReadOnlySpan`1[ushort],ubyte):this call [rax]System.Globalization.TimeSpanFormat+FormatLiterals:Init(System.ReadOnlySpan`1[ushort],ubyte):this mov byte ptr [rbx+0x1E], 1 ;; size=18 bbWeight=0.50 PerfScore 2.25 G_M16428_IG06: lea rsi, bword ptr [rbx+0x48] mov rdi, r15 - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH movsq movsq movsq mov rax, r15 - ;; size=26 bbWeight=1 PerfScore 6.00 + ;; size=27 bbWeight=1 PerfScore 5.25 G_M16428_IG07: pop rbx pop r15 pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 -; Total bytes of code 125, prolog size 9, PerfScore 26.12, instruction count 42, allocated bytes for code 125 (MethodHash=2fecbfd3) for method System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_NegativeLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts) +; Total bytes of code 126, prolog size 9, PerfScore 25.38, instruction count 42, allocated bytes for code 126 (MethodHash=2fecbfd3) for method System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_NegativeLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts) ```
1 (0.81 % of base) - System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_PositiveLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this ```diff ; Assembly listing for method System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_PositiveLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 8, 6 ) byref -> rbx this single-def ; V01 RetBuf [V01,T01] ( 4, 4 ) byref -> r15 single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V03 tmp1 [V03,T03] ( 2, 2 ) byref -> rdi single-def "impAppendStmt" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" ; V06 tmp4 [V06,T02] ( 4, 4 ) ref -> rsi class-hnd exact single-def "Inlining Arg" ;* V07 tmp5 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V08 tmp6 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" ; V09 tmp7 [V09,T04] ( 2, 2 ) byref -> rdx single-def "Inlining Arg" ; V10 tmp8 [V10,T05] ( 2, 2 ) int -> rsi "Inlining Arg" ;* V11 tmp9 [V11 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP ;* V12 tmp10 [V12 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP ; V13 tmp11 [V13,T06] ( 3, 1.50) byref -> registers "field V05._reference (fldOffset=0x0)" P-INDEP ; V14 tmp12 [V14,T07] ( 3, 1.50) int -> registers "field V05._length (fldOffset=0x8)" P-INDEP ; V15 tmp13 [V15,T08] ( 2, 1 ) byref -> rdx single-def "field V07._reference (fldOffset=0x0)" P-INDEP ; V16 tmp14 [V16,T09] ( 2, 1 ) int -> rsi "field V07._length (fldOffset=0x8)" P-INDEP ;* V17 tmp15 [V17 ] ( 0, 0 ) byref -> zero-ref single-def "field V08._reference (fldOffset=0x0)" P-INDEP ;* V18 tmp16 [V18 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 0 G_M40548_IG01: push rbp push r15 push rbx lea rbp, [rsp+0x10] mov rbx, rdi mov r15, rsi ;; size=15 bbWeight=1 PerfScore 4.00 G_M40548_IG02: cmp byte ptr [rbx+0x1D], 0 jne SHORT G_M40548_IG06 ;; size=6 bbWeight=1 PerfScore 4.00 G_M40548_IG03: xor esi, esi mov qword ptr [rbx+0x20], rsi mov qword ptr [rbx+0x28], rsi mov qword ptr [rbx+0x30], rsi mov qword ptr [rbx+0x38], rsi mov qword ptr [rbx+0x40], rsi lea rdi, bword ptr [rbx+0x20] mov rsi, gword ptr [rbx] test rsi, rsi jne SHORT G_M40548_IG04 xor rsi, rsi xor edx, edx jmp SHORT G_M40548_IG05 ;; size=40 bbWeight=0.50 PerfScore 5.75 G_M40548_IG04: lea rdx, bword ptr [rsi+0x0C] mov esi, dword ptr [rsi+0x08] mov ecx, esi mov rsi, rdx mov edx, ecx ;; size=14 bbWeight=0.50 PerfScore 1.62 G_M40548_IG05: xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.Globalization.TimeSpanFormat+FormatLiterals:Init(System.ReadOnlySpan`1[ushort],ubyte):this call [rax]System.Globalization.TimeSpanFormat+FormatLiterals:Init(System.ReadOnlySpan`1[ushort],ubyte):this mov byte ptr [rbx+0x1D], 1 ;; size=18 bbWeight=0.50 PerfScore 2.25 G_M40548_IG06: lea rsi, bword ptr [rbx+0x20] mov rdi, r15 - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH movsq movsq movsq mov rax, r15 - ;; size=26 bbWeight=1 PerfScore 6.00 + ;; size=27 bbWeight=1 PerfScore 5.25 G_M40548_IG07: pop rbx pop r15 pop rbp ret ;; size=5 bbWeight=1 PerfScore 2.50 -; Total bytes of code 124, prolog size 9, PerfScore 26.12, instruction count 42, allocated bytes for code 124 (MethodHash=1ced619b) for method System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_PositiveLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts) +; Total bytes of code 125, prolog size 9, PerfScore 25.38, instruction count 42, allocated bytes for code 125 (MethodHash=1ced619b) for method System.Globalization.TimeSpanParse+TimeSpanRawInfo:get_PositiveLocalized():System.Globalization.TimeSpanFormat+FormatLiterals:this (FullOpts) ```
1 (0.08 % of base) - System.IO.File+d__96:MoveNext():this ```diff ; Assembly listing for method System.IO.File+d__96:MoveNext():this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 24 single block inlinees; 14 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T01] ( 26, 36 ) byref -> [rbp-0x60] this EH-live single-def ; V01 loc0 [V01,T22] ( 7, 7 ) int -> [rbp-0x24] do-not-enreg[Z] EH-live ; V02 loc1 [V02,T26] ( 4, 4 ) ref -> r15 class-hnd single-def ;* V03 loc2 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ;* V04 loc3 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact ; V05 loc4 [V05 ] ( 12, 43 ) struct (24) [rbp-0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op ; V06 loc5 [V06 ] ( 4, 16 ) struct (24) [rbp-0x58] do-not-enreg[XS] must-init addr-exposed ld-addr-op ;* V07 loc6 [V07 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op ;* V08 loc7 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def ; V09 OutArgs [V09 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V10 tmp1 [V10 ] ( 0, 0 ) int -> zero-ref "dup spill" ; V11 tmp2 [V11,T24] ( 3, 6 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" ; V12 tmp3 [V12,T40] ( 2, 0 ) ref -> rdx class-hnd single-def "impSpillSpecialSideEff" ; V13 tmp4 [V13,T23] ( 4, 6 ) byref -> rax single-def "Inlining Arg" ;* V14 tmp5 [V14,T38] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V15 tmp6 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ; V16 tmp7 [V16,T00] ( 7, 56 ) ref -> rdi class-hnd "Inlining Arg" ; V17 tmp8 [V17,T13] ( 3, 12 ) ref -> rax class-hnd "Inline stloc first use temp" ; V18 tmp9 [V18,T07] ( 4, 16 ) int -> rcx "Inline stloc first use temp" ; V19 tmp10 [V19,T08] ( 3, 16 ) byref -> rdi "Inlining Arg" ;* V20 tmp11 [V20,T29] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V21 tmp12 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V22 tmp13 [V22 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" ;* V23 tmp14 [V23 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" ;* V24 tmp15 [V24 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" ; V25 tmp16 [V25,T09] ( 2, 16 ) ref -> rsi class-hnd "Inlining Arg" ; V26 tmp17 [V26,T10] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" ; V27 tmp18 [V27,T11] ( 2, 16 ) short -> rax "Inlining Arg" ;* V28 tmp19 [V28 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" ;* V29 tmp20 [V29,T30] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V30 tmp21 [V30,T06] ( 4, 16 ) ref -> r15 class-hnd "Inline stloc first use temp" ; V31 tmp22 [V31,T14] ( 3, 12 ) ref -> rax class-hnd "Inline stloc first use temp" ;* V32 tmp23 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" ;* V33 tmp24 [V33 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V34 tmp25 [V34 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V35 tmp26 [V35 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V36 tmp27 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" ; V37 tmp28 [V37,T02] ( 6, 28 ) ref -> rsi class-hnd "Inline return value spill temp" ; V38 tmp29 [V38,T03] ( 4, 24 ) ref -> r15 class-hnd "Inline stloc first use temp" ; V39 tmp30 [V39,T05] ( 5, 20 ) ref -> r14 class-hnd "Inline stloc first use temp" ;* V40 tmp31 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" ; V41 tmp32 [V41,T16] ( 4, 8 ) byref -> rbx single-def "Inlining Arg" ; V42 tmp33 [V42,T32] ( 3, 3 ) ref -> rsi class-hnd "Inline return value spill temp" ;* V43 tmp34 [V43 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" ; V44 tmp35 [V44,T17] ( 4, 8 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" ;* V45 tmp36 [V45 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" ;* V46 tmp37 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" ;* V47 tmp38 [V47 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ; V48 tmp39 [V48,T25] ( 3, 6 ) ref -> rbx class-hnd single-def "Inlining Arg" ; V49 tmp40 [V49,T12] ( 6, 12 ) ref -> r14 class-hnd exact single-def "impAppendStmt" ;* V50 tmp41 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; V51 tmp42 [V51,T28] ( 2, 4 ) int -> r13 "Inlining Arg" ;* V52 tmp43 [V52,T37] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V53 tmp44 [V53 ] ( 2, 8 ) ref -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V06._obj (fldOffset=0x0)" P-DEP ; V54 tmp45 [V54 ] ( 2, 8 ) ref -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V06._result (fldOffset=0x8)" P-DEP ; V55 tmp46 [V55 ] ( 2, 8 ) short -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V06._token (fldOffset=0x10)" P-DEP ; V56 tmp47 [V56 ] ( 1, 4 ) ubyte -> [rbp-0x46] do-not-enreg[X] addr-exposed "field V06._continueOnCapturedContext (fldOffset=0x12)" P-DEP ; V57 tmp48 [V57,T18] ( 2, 8 ) ref -> rsi "field V22._obj (fldOffset=0x0)" P-INDEP ; V58 tmp49 [V58,T19] ( 2, 8 ) ref -> rdi "field V22._result (fldOffset=0x8)" P-INDEP ; V59 tmp50 [V59,T20] ( 2, 8 ) short -> rax "field V22._token (fldOffset=0x10)" P-INDEP ;* V60 tmp51 [V60,T31] ( 0, 0 ) ubyte -> zero-ref "field V22._continueOnCapturedContext (fldOffset=0x12)" P-INDEP ;* V61 tmp52 [V61 ] ( 0, 0 ) ref -> zero-ref "field V45._source (fldOffset=0x0)" P-INDEP ; V62 tmp53 [V62,T04] ( 3, 24 ) ref -> rax "argument with side effect" ; V63 tmp54 [V63,T27] ( 2, 4 ) ref -> rdx "argument with side effect" ; V64 PSPSym [V64,T39] ( 1, 1 ) long -> [rbp-0x68] do-not-enreg[V] "PSPSym" ; V65 cse0 [V65,T33] ( 3, 3 ) ref -> r14 "CSE #10: conservative" ; V66 cse1 [V66,T36] ( 3, 3 ) int -> rsi "CSE #11: conservative" ; V67 cse2 [V67,T34] ( 3, 3 ) ref -> rdi "CSE #07: conservative" ; V68 cse3 [V68,T35] ( 3, 3 ) ref -> rdi "CSE #12: conservative" ; V69 cse4 [V69,T21] ( 2, 8 ) int -> rdx "CSE #02: moderate" ; V70 cse5 [V70,T15] ( 3, 12 ) ref -> rax "CSE #04: moderate" ; ; Lcl frame size = 80 G_M59075_IG01: push rbp push r15 push r14 push r13 push rbx sub rsp, 80 lea rbp, [rsp+0x70] xor eax, eax mov qword ptr [rbp-0x58], rax vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x50], ymm8 mov qword ptr [rbp-0x30], rax mov qword ptr [rbp-0x68], rsp mov bword ptr [rbp-0x60], rdi ;; size=45 bbWeight=1 PerfScore 12.33 G_M59075_IG02: mov esi, dword ptr [rdi+0x20] mov dword ptr [rbp-0x24], esi ;; size=6 bbWeight=1 PerfScore 3.00 G_M59075_IG03: cmp dword ptr [rbp-0x24], 0 je SHORT G_M59075_IG04 mov rdi, gword ptr [rdi] mov rsi, bword ptr [rbp-0x60] mov rsi, gword ptr [rsi+0x08] mov rax, 0xD1FFAB1E ; code for System.IO.File:AsyncStreamReader(System.String,System.Text.Encoding):System.IO.StreamReader call [rax]System.IO.File:AsyncStreamReader(System.String,System.Text.Encoding):System.IO.StreamReader mov rsi, bword ptr [rbp-0x60] lea rdi, bword ptr [rsi+0x10] mov rsi, rax call CORINFO_HELP_CHECKED_ASSIGN_REF mov rdi, bword ptr [rbp-0x60] ;; size=49 bbWeight=1 PerfScore 15.00 G_M59075_IG04: cmp dword ptr [rbp-0x24], 0 je G_M59075_IG21 lea rax, bword ptr [rdi+0x30] cmp gword ptr [rax], 0 je SHORT G_M59075_IG05 mov rcx, gword ptr [rax] cmp dword ptr [rcx+0x20], 0 jne G_M59075_IG12 ;; size=33 bbWeight=1 PerfScore 13.50 G_M59075_IG05: mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.String] call CORINFO_HELP_NEWSFAST mov rdi, 0xD1FFAB1E ; 'System.String[]' mov gword ptr [rax+0x08], rdi mov rdi, bword ptr [rbp-0x60] lea rdi, bword ptr [rdi+0x18] mov rsi, rax call CORINFO_HELP_CHECKED_ASSIGN_REF ;; size=45 bbWeight=1 PerfScore 5.25 G_M59075_IG06: mov rdi, bword ptr [rbp-0x60] mov rax, gword ptr [rdi+0x10] mov rdi, rax mov rbx, bword ptr [rbp-0x60] mov rdx, gword ptr [rbx+0x30] lea rsi, [rbp-0x58] mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x50] call [rax+0x08]System.IO.TextReader:ReadLineAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.String]:this mov rsi, gword ptr [rbp-0x58] mov rdi, gword ptr [rbp-0x50] movsx rax, word ptr [rbp-0x48] mov gword ptr [rbp-0x40], rsi mov gword ptr [rbp-0x38], rdi mov word ptr [rbp-0x30], ax mov byte ptr [rbp-0x2E], 0 mov r15, gword ptr [rbp-0x40] test r15, r15 jne G_M59075_IG16 ;; size=75 bbWeight=4 PerfScore 100.00 G_M59075_IG07: mov r15, gword ptr [rbp-0x40] test r15, r15 jne G_M59075_IG23 ;; size=13 bbWeight=8 PerfScore 18.00 G_M59075_IG08: mov rsi, gword ptr [rbp-0x38] ;; size=4 bbWeight=4 PerfScore 4.00 G_M59075_IG09: test rsi, rsi jne SHORT G_M59075_IG13 ;; size=5 bbWeight=8 PerfScore 10.00 G_M59075_IG10: mov rdi, gword ptr [rbx+0x18] mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this cmp dword ptr [rdi], edi call [rax]System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this mov r15, rax jmp G_M59075_IG26 ;; size=26 bbWeight=1 PerfScore 10.50 G_M59075_IG11: mov rax, 0xD1FFAB1E ; code for System.Threading.CancellationToken:ThrowOperationCanceledException():this call [rax]System.Threading.CancellationToken:ThrowOperationCanceledException():this int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M59075_IG12: mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.Threading.CancellationToken:ThrowOperationCanceledException():this call [rax]System.Threading.CancellationToken:ThrowOperationCanceledException():this int3 ;; size=16 bbWeight=0 PerfScore 0.00 G_M59075_IG13: mov rdi, gword ptr [rbx+0x18] inc dword ptr [rdi+0x14] mov rax, gword ptr [rdi+0x08] mov ecx, dword ptr [rdi+0x10] mov edx, dword ptr [rax+0x08] cmp edx, ecx jbe SHORT G_M59075_IG14 lea edx, [rcx+0x01] mov dword ptr [rdi+0x10], edx mov edi, ecx lea rdi, bword ptr [rax+8*rdi+0x10] call CORINFO_HELP_ASSIGN_REF jmp SHORT G_M59075_IG15 ;; size=41 bbWeight=4 PerfScore 72.00 G_M59075_IG14: 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 ;; size=12 bbWeight=4 PerfScore 13.00 G_M59075_IG15: lea rdi, bword ptr [rbx+0x30] mov rax, gword ptr [rdi] test rax, rax je G_M59075_IG06 cmp dword ptr [rax+0x20], 0 jne SHORT G_M59075_IG11 jmp G_M59075_IG06 ;; size=27 bbWeight=4 PerfScore 39.00 G_M59075_IG16: mov rsi, r15 mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[System.String] call CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M59075_IG18 test dword ptr [rax+0x34], 0xD1FFAB1E jne G_M59075_IG07 ;; size=36 bbWeight=4 PerfScore 27.00 G_M59075_IG17: jmp SHORT G_M59075_IG19 ;; size=2 bbWeight=1 PerfScore 2.00 G_M59075_IG18: mov rdi, r15 movsx rsi, word ptr [rbp-0x30] mov r11, 0xD1FFAB1E ; code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetStatus(short):int:this call [r11]System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetStatus(short):int:this test eax, eax jne G_M59075_IG07 ;; size=29 bbWeight=4 PerfScore 31.00 G_M59075_IG19: xor edi, edi mov dword ptr [rbp-0x24], edi ;; size=5 bbWeight=1 PerfScore 1.25 G_M59075_IG20: mov dword ptr [rbx+0x20], edi lea rdi, bword ptr [rbx+0x38] lea rsi, bword ptr [rbp-0x40] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 2 + call CORINFO_HELP_ASSIGN_BYREF_BATCH movsq lea rdx, bword ptr [rbx+0x28] mov rsi, rbx mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.String[]]:GetStateMachineBox[System.IO.File+d__96](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:GetStateMachineBox[System.IO.File+d__96](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:GetStateMachineBox[System.IO.File+d__96](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox mov rdx, rax lea rsi, [rbp-0x40] mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.String[]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.String]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox) mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox) call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox) jmp G_M59075_IG27 - ;; size=86 bbWeight=1 PerfScore 15.50 + ;; size=87 bbWeight=1 PerfScore 14.75 G_M59075_IG21: vmovdqu xmm0, xmmword ptr [rdi+0x38] vmovdqu xmmword ptr [rbp-0x40], xmm0 mov rsi, qword ptr [rdi+0x48] mov qword ptr [rbp-0x30], rsi ;; size=18 bbWeight=1 PerfScore 8.00 G_M59075_IG22: xor esi, esi mov qword ptr [rdi+0x38], rsi mov qword ptr [rdi+0x40], rsi mov qword ptr [rdi+0x48], rsi mov dword ptr [rbp-0x24], -1 mov dword ptr [rdi+0x20], -1 mov rbx, rdi jmp G_M59075_IG07 ;; size=36 bbWeight=1 PerfScore 7.50 G_M59075_IG23: mov rsi, r15 mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[System.String] call CORINFO_HELP_ISINSTANCEOFCLASS mov r14, rax test r14, r14 je SHORT G_M59075_IG25 mov edi, dword ptr [r14+0x34] and edi, 0xD1FFAB1E cmp edi, 0xD1FFAB1E je SHORT G_M59075_IG24 mov rdi, r14 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=61 bbWeight=4 PerfScore 41.00 G_M59075_IG24: mov rsi, gword ptr [r14+0x38] jmp G_M59075_IG09 ;; size=9 bbWeight=4 PerfScore 16.00 G_M59075_IG25: mov rdi, r15 movsx rsi, word ptr [rbp-0x30] mov r11, 0xD1FFAB1E ; code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetResult(short):System.__Canon:this call [r11]System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetResult(short):System.__Canon:this mov rsi, rax jmp G_M59075_IG09 ;; size=29 bbWeight=4 PerfScore 35.00 G_M59075_IG26: cmp dword ptr [rbp-0x24], 0 jge SHORT G_M59075_IG29 mov rdi, gword ptr [rbx+0x10] test rdi, rdi je SHORT G_M59075_IG29 mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this call [r11]System.IDisposable:Dispose():this jmp SHORT G_M59075_IG29 ;; size=30 bbWeight=1 PerfScore 11.50 G_M59075_IG27: mov rdi, rsp call G_M59075_IG36 ;; size=8 bbWeight=1 PerfScore 1.25 G_M59075_IG28: jmp G_M59075_IG34 ;; size=5 bbWeight=1 PerfScore 2.00 G_M59075_IG29: mov dword ptr [rbx+0x20], -2 add rbx, 40 cmp gword ptr [rbx], 0 jne SHORT G_M59075_IG32 test r15, r15 jne SHORT G_M59075_IG30 mov rdi, 0xD1FFAB1E mov esi, 665 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.Task`1[System.String[]]:s_defaultResultTask mov rsi, gword ptr [rdi] jmp SHORT G_M59075_IG31 ;; size=57 bbWeight=1 PerfScore 12.25 G_M59075_IG30: mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[System.String[]] call CORINFO_HELP_NEWSFAST mov r14, rax mov dword ptr [r14+0x34], 0xD1FFAB1E lea rdi, bword ptr [r14+0x38] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF mov rsi, r14 ;; size=41 bbWeight=1 PerfScore 4.50 G_M59075_IG31: mov rdi, rbx call CORINFO_HELP_CHECKED_ASSIGN_REF jmp G_M59075_IG34 ;; size=13 bbWeight=1 PerfScore 3.25 G_M59075_IG32: mov rbx, gword ptr [rbx] mov rdi, 0xD1FFAB1E ; const ptr mov r14, gword ptr [rdi] cmp byte ptr [r14+0x9D], 0 je SHORT G_M59075_IG33 mov rdi, rbx 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 r13d, eax movzx rsi, byte ptr [r14+0x9D] test esi, esi je SHORT G_M59075_IG33 xor ecx, ecx mov dword ptr [rsp], ecx mov rcx, qword ptr [r14+0x80] mov edx, dword ptr [r14+0x98] mov rdi, r14 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_M59075_IG33 mov rdi, r14 mov edx, r13d 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=136 bbWeight=1 PerfScore 33.00 G_M59075_IG33: mov rdi, rbx mov rsi, r15 mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[System.__Canon]:TrySetResult(System.__Canon):ubyte:this cmp dword ptr [rdi], edi call [rax]System.Threading.Tasks.Task`1[System.__Canon]:TrySetResult(System.__Canon):ubyte:this test eax, eax je SHORT G_M59075_IG35 ;; size=24 bbWeight=1 PerfScore 8.00 G_M59075_IG34: add rsp, 80 pop rbx pop r13 pop r14 pop r15 pop rbp ret ;; size=13 bbWeight=1 PerfScore 3.75 G_M59075_IG35: 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_M59075_IG36: push rbp push r15 push r14 push r13 push rbx sub rsp, 16 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp lea rbp, [rbp+0x70] ;; size=25 bbWeight=1 PerfScore 8.75 G_M59075_IG37: cmp dword ptr [rbp-0x24], 0 jge SHORT G_M59075_IG38 mov rbx, bword ptr [rbp-0x60] mov rdi, gword ptr [rbx+0x10] test rdi, rdi je SHORT G_M59075_IG38 mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this call [r11]System.IDisposable:Dispose():this ;; size=32 bbWeight=1 PerfScore 10.50 G_M59075_IG38: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M59075_IG39: add rsp, 16 pop rbx pop r13 pop r14 pop r15 pop rbp ret ;; size=13 bbWeight=1 PerfScore 3.75 G_M59075_IG40: push rbp push r15 push r14 push r13 push rbx sub rsp, 16 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp lea rbp, [rbp+0x70] ;; size=25 bbWeight=0 PerfScore 0.00 G_M59075_IG41: mov rdx, rsi mov rbx, bword ptr [rbp-0x60] mov dword ptr [rbx+0x20], -2 lea rdi, bword ptr [rbx+0x28] mov rsi, 0xD1FFAB1E ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.String[]] mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:SetException(System.Exception):this call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:SetException(System.Exception):this lea rax, G_M59075_IG34 ;; size=47 bbWeight=0 PerfScore 0.00 G_M59075_IG42: add rsp, 16 pop rbx pop r13 pop r14 pop r15 pop rbp ret ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1222, prolog size 45, PerfScore 602.58, instruction count 302, allocated bytes for code 1222 (MethodHash=7905193c) for method System.IO.File+d__96:MoveNext():this (FullOpts) +; Total bytes of code 1223, prolog size 45, PerfScore 601.83, instruction count 302, allocated bytes for code 1223 (MethodHash=7905193c) for method System.IO.File+d__96:MoveNext():this (FullOpts) ```

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

MihuBot commented 4 months ago

Top method improvements

-36 (-2.15 % of base) - System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.MarshalAsAttribute):this ```diff ; Assembly listing for method System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.MarshalAsAttribute):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 13 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T06] ( 5, 5 ) ref -> r15 this class-hnd single-def ; V01 arg1 [V01,T00] ( 20, 18 ) ref -> rbx class-hnd single-def ;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def ; V03 loc1 [V03,T01] ( 20, 13.50) int -> [rbp-0x2C] ; V04 loc2 [V04,T02] ( 12, 10 ) ref -> r12 class-hnd exact single-def ; V05 OutArgs [V05 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V06 tmp1 [V06,T07] ( 3, 6 ) ref -> r13 class-hnd exact single-def "dup spill" ; V07 tmp2 [V07,T08] ( 3, 6 ) ref -> r12 class-hnd exact single-def "Single-def Box Helper" ;* V08 tmp3 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V09 tmp4 [V09 ] ( 0, 0 ) int -> zero-ref "impSpillLclRefs" ; V10 tmp5 [V10,T09] ( 3, 6 ) ref -> r13 class-hnd exact single-def "Single-def Box Helper" ; V11 tmp6 [V11,T17] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V12 tmp7 [V12 ] ( 2, 4 ) struct (24) [rbp-0x48] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ;* V13 tmp8 [V13 ] ( 0, 0 ) int -> zero-ref "impSpillLclRefs" ; V14 tmp9 [V14,T10] ( 3, 6 ) ref -> [rbp-0x138] class-hnd exact spill-single-def "Single-def Box Helper" ; V15 tmp10 [V15,T18] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V16 tmp11 [V16 ] ( 2, 4 ) struct (24) [rbp-0x60] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ;* V17 tmp12 [V17 ] ( 0, 0 ) int -> zero-ref "impSpillLclRefs" ; V18 tmp13 [V18,T11] ( 3, 6 ) ref -> [rbp-0x140] class-hnd exact spill-single-def "Single-def Box Helper" ; V19 tmp14 [V19,T19] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V20 tmp15 [V20 ] ( 2, 4 ) struct (24) [rbp-0x78] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ;* V21 tmp16 [V21 ] ( 0, 0 ) int -> zero-ref "impSpillLclRefs" ; V22 tmp17 [V22,T12] ( 3, 6 ) ref -> [rbp-0x148] class-hnd exact spill-single-def "Single-def Box Helper" ; V23 tmp18 [V23,T20] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V24 tmp19 [V24 ] ( 2, 4 ) struct (24) [rbp-0x90] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ;* V25 tmp20 [V25 ] ( 0, 0 ) int -> zero-ref "impSpillLclRefs" ; V26 tmp21 [V26,T13] ( 3, 6 ) ref -> [rbp-0x150] class-hnd exact spill-single-def "Single-def Box Helper" ; V27 tmp22 [V27,T21] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V28 tmp23 [V28 ] ( 2, 4 ) struct (24) [rbp-0xA8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ;* V29 tmp24 [V29 ] ( 0, 0 ) int -> zero-ref "impSpillLclRefs" ; V30 tmp25 [V30 ] ( 2, 2 ) struct (24) [rbp-0xC0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V31 tmp26 [V31,T15] ( 4, 4 ) int -> [rbp-0xC4] spill-single-def "impSpillLclRefs" ; V32 tmp27 [V32 ] ( 2, 2 ) struct (24) [rbp-0xE0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V33 tmp28 [V33,T16] ( 4, 4 ) int -> [rbp-0xE4] spill-single-def "impSpillLclRefs" ; V34 tmp29 [V34 ] ( 2, 2 ) struct (24) [rbp-0x100] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ;* V35 tmp30 [V35 ] ( 0, 0 ) int -> zero-ref "impSpillLclRefs" ; V36 tmp31 [V36 ] ( 2, 2 ) struct (24) [rbp-0x118] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V37 tmp32 [V37 ] ( 9, 5.50) struct (24) [rbp-0x130] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ; V38 tmp33 [V38,T22] ( 5, 3.50) ref -> r13 class-hnd "Inline return value spill temp" ; V39 tmp34 [V39,T23] ( 3, 3 ) ref -> r13 class-hnd exact single-def "dup spill" ; V40 tmp35 [V40,T05] ( 4, 8 ) ref -> r12 class-hnd exact single-def "Inlining Arg" ; V41 tmp36 [V41,T24] ( 2, 2 ) ref -> rax class-hnd "Inline return value spill temp" ;* V42 tmp37 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" ; V43 tmp38 [V43,T25] ( 2, 2 ) ref -> [rbp-0x158] spill-single-def "field V08._value (fldOffset=0x0)" P-INDEP ; V44 tmp39 [V44,T26] ( 2, 2 ) ref -> r12 single-def "field V08._argumentType (fldOffset=0x8)" P-INDEP ; V45 tmp40 [V45 ] ( 3, 2 ) ref -> [rbp-0x130] do-not-enreg[X] addr-exposed "field V37._items (fldOffset=0x0)" P-DEP ; V46 tmp41 [V46 ] ( 2, 1.50) ref -> [rbp-0x128] do-not-enreg[X] addr-exposed "field V37._item (fldOffset=0x8)" P-DEP ; V47 tmp42 [V47 ] ( 5, 3.50) int -> [rbp-0x120] do-not-enreg[X] addr-exposed "field V37._count (fldOffset=0x10)" P-DEP ; V48 tmp43 [V48 ] ( 2, 1.50) int -> [rbp-0x11C] do-not-enreg[X] addr-exposed "field V37._capacity (fldOffset=0x14)" P-DEP ; V49 tmp44 [V49,T14] ( 3, 6 ) byref -> [rbp-0x160] spill-single-def "BlockOp address local" ; V50 tmp45 [V50,T27] ( 2, 2 ) ref -> rsi single-def "argument with side effect" ; V51 tmp46 [V51,T28] ( 2, 2 ) ref -> rsi single-def "argument with side effect" ; V52 tmp47 [V52,T29] ( 2, 2 ) ref -> rsi single-def "argument with side effect" ; V53 tmp48 [V53,T30] ( 2, 2 ) ref -> rsi single-def "argument with side effect" ; V54 cse0 [V54,T03] ( 11, 9 ) ref -> r14 "CSE #02: aggressive" ; V55 cse1 [V55,T04] ( 10, 8 ) int -> r13 "CSE #03: aggressive" ; ; Lcl frame size = 328 G_M32578_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 328 lea rbp, [rsp+0x170] vxorps xmm8, xmm8, xmm8 vmovdqa xmmword ptr [rbp-0x130], xmm8 mov rax, -240 vmovdqa xmmword ptr [rbp+rax-0x30], xmm8 vmovdqa xmmword ptr [rbp+rax-0x20], xmm8 vmovdqa xmmword ptr [rbp+rax-0x10], xmm8 add rax, 48 jne SHORT -5 instr mov r15, rdi mov rbx, rsi ;; size=78 bbWeight=1 PerfScore 17.08 G_M32578_IG02: xor esi, esi mov dword ptr [rsp], esi lea rsi, [rbp-0x130] mov r14, 0xD1FFAB1E ; 'System.Runtime.InteropServices.MarshalAsAttribute' mov rdi, r14 xor rdx, rdx mov ecx, 20 mov r8d, 3 xor r9, r9 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetConstructorCandidates(System.String,int,int,System.Type[],ubyte):System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]:this call [rax]System.RuntimeType:GetConstructorCandidates(System.String,int,int,System.Type[],ubyte):System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]:this cmp dword ptr [rbp-0x120], 0 jne SHORT G_M32578_IG04 ;; size=62 bbWeight=1 PerfScore 9.50 G_M32578_IG03: mov r13, 0xD1FFAB1E ; 'System.Reflection.ConstructorInfo[]' jmp SHORT G_M32578_IG06 ;; size=12 bbWeight=0.50 PerfScore 1.12 G_M32578_IG04: cmp dword ptr [rbp-0x120], 1 jne SHORT G_M32578_IG05 mov rdi, 0xD1FFAB1E ; System.Reflection.ConstructorInfo[] mov esi, 1 call CORINFO_HELP_NEWARR_1_OBJ mov r13, rax mov rdi, r13 mov rdx, gword ptr [rbp-0x128] xor esi, esi call CORINFO_HELP_ARRADDR_ST jmp SHORT G_M32578_IG06 ;; size=51 bbWeight=0.50 PerfScore 4.62 G_M32578_IG05: lea rsi, [rbp-0x130] mov edx, dword ptr [rbp-0x120] mov rdi, 0xD1FFAB1E ; System.Array:Resize[System.Reflection.ConstructorInfo](byref,int) mov rax, 0xD1FFAB1E ; code for System.Array:Resize[System.__Canon](byref,int) call [rax]System.Array:Resize[System.__Canon](byref,int) mov edi, dword ptr [rbp-0x120] mov dword ptr [rbp-0x11C], edi mov r13, gword ptr [rbp-0x130] ;; size=54 bbWeight=0.50 PerfScore 4.00 G_M32578_IG06: cmp dword ptr [r13+0x08], 0 jbe G_M32578_IG24 mov rsi, gword ptr [r13+0x10] lea rdi, bword ptr [r15+0x08] call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; System.Reflection.CustomAttributeTypedArgument[] mov esi, 1 call CORINFO_HELP_NEWARR_1_VC mov r13, rax mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.UnmanagedType call CORINFO_HELP_NEWSFAST mov r12, rax mov edi, dword ptr [rbx+0x28] mov dword ptr [r12+0x08], edi mov rdi, r12 mov rsi, 0xD1FFAB1E ; 'value' mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String) call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String) mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Enum:GetValue():System.Object:this call [rax]System.Enum:GetValue():System.Object:this mov gword ptr [rbp-0x158], rax mov rdi, r12 call System.Object:GetType():System.Type:this mov r12, rax lea rax, bword ptr [r13+0x10] mov bword ptr [rbp-0x160], rax mov rsi, gword ptr [rbp-0x158] mov rdi, rax call CORINFO_HELP_ASSIGN_REF mov rdi, bword ptr [rbp-0x160] lea rdi, bword ptr [rdi+0x08] mov rsi, r12 call CORINFO_HELP_ASSIGN_REF mov rdi, r13 mov rax, 0xD1FFAB1E ; code for System.Array:AsReadOnly[System.Reflection.CustomAttributeTypedArgument](System.Reflection.CustomAttributeTypedArgument[]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeTypedArgument] call [rax]System.Array:AsReadOnly[System.Reflection.CustomAttributeTypedArgument](System.Reflection.CustomAttributeTypedArgument[]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeTypedArgument] lea rdi, bword ptr [r15+0x28] mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov r13d, 3 mov esi, 4 cmp gword ptr [rbx+0x10], 0 cmovne r13d, esi cmp gword ptr [rbx+0x18], 0 je SHORT G_M32578_IG08 ;; size=230 bbWeight=1 PerfScore 43.00 G_M32578_IG07: inc r13d ;; size=3 bbWeight=0.50 PerfScore 0.12 G_M32578_IG08: cmp gword ptr [rbx+0x20], 0 je SHORT G_M32578_IG10 ;; size=7 bbWeight=1 PerfScore 4.00 G_M32578_IG09: inc r13d ;; size=3 bbWeight=0.50 PerfScore 0.12 G_M32578_IG10: add r13d, 2 cmp gword ptr [rbx+0x08], 0 je SHORT G_M32578_IG12 ;; size=11 bbWeight=1 PerfScore 4.25 G_M32578_IG11: inc r13d ;; size=3 bbWeight=0.50 PerfScore 0.12 G_M32578_IG12: movsxd rsi, r13d mov rdi, 0xD1FFAB1E ; System.Reflection.CustomAttributeNamedArgument[] call CORINFO_HELP_NEWARR_1_VC mov r12, rax mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.UnmanagedType call CORINFO_HELP_NEWSFAST mov r13, rax mov rdi, r14 mov rsi, 0xD1FFAB1E ; 'ArraySubType' mov edx, 28 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov edx, dword ptr [rbx+0x34] mov dword ptr [r13+0x08], edx mov rdx, r13 lea rdi, [rbp-0x48] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this mov r13d, dword ptr [r12+0x08] test r13d, r13d je G_M32578_IG24 lea rdi, bword ptr [r12+0x10] lea rsi, bword ptr [rbp-0x48] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, 0xD1FFAB1E ; System.Int16 call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0x138], rax mov rdi, r14 mov rsi, 0xD1FFAB1E ; 'SizeParamIndex' mov edx, 28 mov rcx, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rcx]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax movsx rdx, word ptr [rbx+0x3C] mov rdi, gword ptr [rbp-0x138] mov word ptr [rdi+0x08], dx mov rdx, rdi lea rdi, [rbp-0x60] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this cmp r13d, 1 jbe G_M32578_IG24 lea rdi, bword ptr [r12+0x28] lea rsi, bword ptr [rbp-0x60] - call CORINFO_HELP_ASSIGN_BYREF - ;; size=250 bbWeight=1 PerfScore 41.50 -G_M32578_IG13: - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, 0xD1FFAB1E ; System.Int32 call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0x140], rax mov rdi, r14 mov rsi, 0xD1FFAB1E ; 'SizeConst' + ;; size=287 bbWeight=1 PerfScore 42.75 +G_M32578_IG13: mov edx, 28 mov rcx, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rcx]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov edx, dword ptr [rbx+0x38] mov rdi, gword ptr [rbp-0x140] mov dword ptr [rdi+0x08], edx mov rdx, rdi lea rdi, [rbp-0x78] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this cmp r13d, 2 jbe G_M32578_IG24 lea rdi, bword ptr [r12+0x40] lea rsi, bword ptr [rbp-0x78] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, 0xD1FFAB1E ; System.Int32 call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0x148], rax mov rdi, r14 mov rsi, 0xD1FFAB1E ; 'IidParameterIndex' mov edx, 28 mov rcx, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rcx]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov edx, dword ptr [rbx+0x30] mov rdi, gword ptr [rbp-0x148] mov dword ptr [rdi+0x08], edx mov rdx, rdi lea rdi, [rbp-0x90] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this cmp r13d, 3 jbe G_M32578_IG24 lea rdi, bword ptr [r12+0x58] lea rsi, bword ptr [rbp-0x90] - ;; size=243 bbWeight=1 PerfScore 38.50 -G_M32578_IG14: - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov dword ptr [rbp-0x2C], 5 mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.VarEnum call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0x150], rax mov rdi, r14 mov rsi, 0xD1FFAB1E ; 'SafeArraySubType' mov edx, 28 mov rcx, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rcx]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax + ;; size=267 bbWeight=1 PerfScore 40.75 +G_M32578_IG14: mov edx, dword ptr [rbx+0x2C] mov rdi, gword ptr [rbp-0x150] mov dword ptr [rdi+0x08], edx mov rdx, rdi lea rdi, [rbp-0xA8] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this cmp r13d, 4 jbe G_M32578_IG24 lea rdi, bword ptr [r12+0x70] lea rsi, bword ptr [rbp-0xA8] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH cmp gword ptr [rbx+0x10], 0 je SHORT G_M32578_IG16 - ;; size=156 bbWeight=1 PerfScore 27.75 + ;; size=75 bbWeight=1 PerfScore 15.50 G_M32578_IG15: mov dword ptr [rbp-0x2C], 6 mov rdi, r14 mov rsi, 0xD1FFAB1E ; 'MarshalType' mov edx, 28 mov rcx, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rcx]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov rdx, gword ptr [rbx+0x10] lea rdi, [rbp-0x118] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this cmp r13d, 5 jbe G_M32578_IG24 lea rdi, bword ptr [r12+0x88] lea rsi, bword ptr [rbp-0x118] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - ;; size=103 bbWeight=0.50 PerfScore 8.12 + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH + ;; size=99 bbWeight=0.50 PerfScore 7.25 G_M32578_IG16: cmp gword ptr [rbx+0x18], 0 je SHORT G_M32578_IG18 ;; size=7 bbWeight=1 PerfScore 4.00 G_M32578_IG17: mov eax, dword ptr [rbp-0x2C] mov ecx, eax mov dword ptr [rbp-0xE4], ecx lea eax, [rcx+0x01] mov dword ptr [rbp-0x2C], eax mov rdi, r14 mov rsi, 0xD1FFAB1E ; 'MarshalTypeRef' mov edx, 28 mov r8, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [r8]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov rdx, gword ptr [rbx+0x18] lea rdi, [rbp-0x100] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this mov edi, dword ptr [rbp-0xE4] cmp edi, r13d jae G_M32578_IG24 lea rdi, [rdi+2*rdi] lea rdi, bword ptr [r12+8*rdi+0x10] lea rsi, bword ptr [rbp-0x100] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - ;; size=120 bbWeight=0.50 PerfScore 10.50 + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH + ;; size=116 bbWeight=0.50 PerfScore 9.62 G_M32578_IG18: cmp gword ptr [rbx+0x20], 0 je SHORT G_M32578_IG20 ;; size=7 bbWeight=1 PerfScore 4.00 G_M32578_IG19: mov eax, dword ptr [rbp-0x2C] mov ecx, eax mov dword ptr [rbp-0xC4], ecx lea eax, [rcx+0x01] mov dword ptr [rbp-0x2C], eax mov rdi, r14 mov rsi, 0xD1FFAB1E ; 'MarshalCookie' mov edx, 28 mov r8, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [r8]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov rdx, gword ptr [rbx+0x20] lea rdi, [rbp-0xE0] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this mov edi, dword ptr [rbp-0xC4] cmp edi, r13d jae G_M32578_IG24 lea rdi, [rdi+2*rdi] lea rdi, bword ptr [r12+8*rdi+0x10] lea rsi, bword ptr [rbp-0xE0] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - ;; size=120 bbWeight=0.50 PerfScore 10.50 + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH + ;; size=116 bbWeight=0.50 PerfScore 9.62 G_M32578_IG20: cmp gword ptr [rbx+0x08], 0 je SHORT G_M32578_IG22 ;; size=7 bbWeight=1 PerfScore 4.00 G_M32578_IG21: mov rdi, r14 mov rsi, 0xD1FFAB1E ; 'SafeArrayUserDefinedSubType' mov edx, 28 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov rdx, gword ptr [rbx+0x08] lea rdi, [rbp-0xC0] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this mov ebx, dword ptr [rbp-0x2C] cmp ebx, r13d jae SHORT G_M32578_IG24 mov edi, ebx lea rdi, [rdi+2*rdi] lea rdi, bword ptr [r12+8*rdi+0x10] lea rsi, bword ptr [rbp-0xC0] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - ;; size=97 bbWeight=0.50 PerfScore 8.75 + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH + ;; size=93 bbWeight=0.50 PerfScore 7.88 G_M32578_IG22: mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Array:AsReadOnly[System.Reflection.CustomAttributeNamedArgument](System.Reflection.CustomAttributeNamedArgument[]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeNamedArgument] call [rax]System.Array:AsReadOnly[System.Reflection.CustomAttributeNamedArgument](System.Reflection.CustomAttributeNamedArgument[]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeNamedArgument] lea rdi, bword ptr [r15+0x30] mov rsi, rax call CORINFO_HELP_ASSIGN_REF nop ;; size=28 bbWeight=1 PerfScore 5.50 G_M32578_IG23: add rsp, 328 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=1 PerfScore 4.25 G_M32578_IG24: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1676, prolog size 72, PerfScore 255.33, instruction count 337, allocated bytes for code 1676 (MethodHash=36b980bd) for method System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.MarshalAsAttribute):this (FullOpts) +; Total bytes of code 1640, prolog size 72, PerfScore 243.08, instruction count 328, allocated bytes for code 1640 (MethodHash=36b980bd) for method System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.MarshalAsAttribute):this (FullOpts) ```
-32 (-2.38 % of base) - System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.DllImportAttribute):this ```diff ; Assembly listing for method System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.DllImportAttribute):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 12 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T03] ( 5, 5 ) ref -> r15 this class-hnd single-def ; V01 arg1 [V01,T01] ( 11, 11 ) ref -> rbx class-hnd single-def ;* V02 loc0 [V02,T27] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def ; V03 OutArgs [V03 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V04 tmp1 [V04,T05] ( 3, 6 ) ref -> r14 class-hnd exact single-def "dup spill" ;* V05 tmp2 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V06 tmp3 [V06,T00] ( 10, 20 ) ref -> r14 class-hnd exact single-def "dup spill" ; V07 tmp4 [V07 ] ( 2, 4 ) struct (24) [rbp-0x40] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V08 tmp5 [V08,T06] ( 3, 6 ) ref -> r13 class-hnd exact single-def "Single-def Box Helper" ; V09 tmp6 [V09,T14] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V10 tmp7 [V10 ] ( 2, 4 ) struct (24) [rbp-0x58] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V11 tmp8 [V11,T07] ( 3, 6 ) ref -> r12 class-hnd exact single-def "Single-def Box Helper" ; V12 tmp9 [V12,T15] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V13 tmp10 [V13 ] ( 2, 4 ) struct (24) [rbp-0x70] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V14 tmp11 [V14,T08] ( 3, 6 ) ref -> r12 class-hnd exact single-def "Single-def Box Helper" ; V15 tmp12 [V15,T16] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V16 tmp13 [V16 ] ( 2, 4 ) struct (24) [rbp-0x88] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V17 tmp14 [V17,T09] ( 3, 6 ) ref -> r12 class-hnd exact single-def "Single-def Box Helper" ; V18 tmp15 [V18,T17] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V19 tmp16 [V19 ] ( 2, 4 ) struct (24) [rbp-0xA0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V20 tmp17 [V20,T10] ( 3, 6 ) ref -> r12 class-hnd exact single-def "Single-def Box Helper" ; V21 tmp18 [V21,T18] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V22 tmp19 [V22 ] ( 2, 4 ) struct (24) [rbp-0xB8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V23 tmp20 [V23,T11] ( 3, 6 ) ref -> r12 class-hnd exact single-def "Single-def Box Helper" ; V24 tmp21 [V24,T19] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V25 tmp22 [V25 ] ( 2, 4 ) struct (24) [rbp-0xD0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V26 tmp23 [V26,T12] ( 3, 6 ) ref -> r13 class-hnd exact single-def "Single-def Box Helper" ; V27 tmp24 [V27,T20] ( 2, 4 ) ref -> rsi class-hnd single-def "impImportAndPushBox" ; V28 tmp25 [V28 ] ( 2, 4 ) struct (24) [rbp-0xE8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" ; V29 tmp26 [V29 ] ( 9, 5.50) struct (24) [rbp-0x100] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" ; V30 tmp27 [V30,T22] ( 5, 3.50) ref -> r14 class-hnd "Inline return value spill temp" ; V31 tmp28 [V31,T23] ( 3, 3 ) ref -> r14 class-hnd exact single-def "dup spill" ; V32 tmp29 [V32,T02] ( 3, 6 ) ref -> r13 class-hnd exact single-def "Inlining Arg" ;* V33 tmp30 [V33,T28] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" ;* V34 tmp31 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" ; V35 tmp32 [V35,T24] ( 3, 3 ) ref -> r13 single-def "field V05._value (fldOffset=0x0)" P-INDEP ; V36 tmp33 [V36,T26] ( 2, 2 ) ref -> r12 single-def "field V05._argumentType (fldOffset=0x8)" P-INDEP ; V37 tmp34 [V37 ] ( 3, 2 ) ref -> [rbp-0x100] do-not-enreg[X] addr-exposed "field V29._items (fldOffset=0x0)" P-DEP ; V38 tmp35 [V38 ] ( 2, 1.50) ref -> [rbp-0xF8] do-not-enreg[X] addr-exposed "field V29._item (fldOffset=0x8)" P-DEP ; V39 tmp36 [V39 ] ( 5, 3.50) int -> [rbp-0xF0] do-not-enreg[X] addr-exposed "field V29._count (fldOffset=0x10)" P-DEP ; V40 tmp37 [V40 ] ( 2, 1.50) int -> [rbp-0xEC] do-not-enreg[X] addr-exposed "field V29._capacity (fldOffset=0x14)" P-DEP ; V41 tmp38 [V41,T13] ( 3, 6 ) byref -> [rbp-0x108] spill-single-def "BlockOp address local" ; V42 tmp39 [V42,T21] ( 2, 4 ) ref -> rsi single-def "argument with side effect" ; V43 cse0 [V43,T04] ( 6, 6 ) long -> r13 "CSE #02: moderate" ; V44 cse1 [V44,T25] ( 2, 2 ) ref -> rdi "CSE #01: moderate" ; ; Lcl frame size = 232 G_M58561_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 232 lea rbp, [rsp+0x110] vxorps xmm8, xmm8, xmm8 vmovdqa xmmword ptr [rbp-0x100], xmm8 mov rax, -192 vmovdqa xmmword ptr [rbp+rax-0x30], xmm8 vmovdqa xmmword ptr [rbp+rax-0x20], xmm8 vmovdqa xmmword ptr [rbp+rax-0x10], xmm8 add rax, 48 jne SHORT -5 instr mov qword ptr [rbp-0x30], rax mov r15, rdi mov rbx, rsi ;; size=82 bbWeight=1 PerfScore 18.08 G_M58561_IG02: mov rdi, 0xD1FFAB1E ; 'System.Runtime.InteropServices.DllImportAttribute' xor esi, esi mov dword ptr [rsp], esi lea rsi, [rbp-0x100] xor rdx, rdx mov ecx, 20 mov r8d, 3 xor r9, r9 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetConstructorCandidates(System.String,int,int,System.Type[],ubyte):System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]:this call [rax]System.RuntimeType:GetConstructorCandidates(System.String,int,int,System.Type[],ubyte):System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]:this cmp dword ptr [rbp-0xF0], 0 jne SHORT G_M58561_IG04 ;; size=59 bbWeight=1 PerfScore 9.25 G_M58561_IG03: mov r14, 0xD1FFAB1E ; 'System.Reflection.ConstructorInfo[]' jmp SHORT G_M58561_IG06 ;; size=12 bbWeight=0.50 PerfScore 1.12 G_M58561_IG04: cmp dword ptr [rbp-0xF0], 1 jne SHORT G_M58561_IG05 mov rdi, 0xD1FFAB1E ; System.Reflection.ConstructorInfo[] mov esi, 1 call CORINFO_HELP_NEWARR_1_OBJ mov r14, rax mov rdi, r14 mov rdx, gword ptr [rbp-0xF8] xor esi, esi call CORINFO_HELP_ARRADDR_ST jmp SHORT G_M58561_IG06 ;; size=51 bbWeight=0.50 PerfScore 4.62 G_M58561_IG05: lea rsi, [rbp-0x100] mov edx, dword ptr [rbp-0xF0] mov rdi, 0xD1FFAB1E ; System.Array:Resize[System.Reflection.ConstructorInfo](byref,int) mov rax, 0xD1FFAB1E ; code for System.Array:Resize[System.__Canon](byref,int) call [rax]System.Array:Resize[System.__Canon](byref,int) mov edi, dword ptr [rbp-0xF0] mov dword ptr [rbp-0xEC], edi mov r14, gword ptr [rbp-0x100] ;; size=54 bbWeight=0.50 PerfScore 4.00 G_M58561_IG06: cmp dword ptr [r14+0x08], 0 - jbe G_M58561_IG12 + jbe G_M58561_IG11 mov rsi, gword ptr [r14+0x10] lea rdi, bword ptr [r15+0x08] call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; System.Reflection.CustomAttributeTypedArgument[] mov esi, 1 call CORINFO_HELP_NEWARR_1_VC mov r14, rax mov r13, gword ptr [rbx+0x08] mov rdi, r13 mov rsi, 0xD1FFAB1E ; 'value' mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String) call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String) mov rdi, r13 call System.Object:GetType():System.Type:this mov r12, rax lea rax, bword ptr [r14+0x10] mov bword ptr [rbp-0x108], rax mov rdi, rax mov rsi, r13 call CORINFO_HELP_ASSIGN_REF mov r13, bword ptr [rbp-0x108] lea rdi, bword ptr [r13+0x08] mov rsi, r12 call CORINFO_HELP_ASSIGN_REF mov rdi, r14 mov rax, 0xD1FFAB1E ; code for System.Array:AsReadOnly[System.Reflection.CustomAttributeTypedArgument](System.Reflection.CustomAttributeTypedArgument[]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeTypedArgument] call [rax]System.Array:AsReadOnly[System.Reflection.CustomAttributeTypedArgument](System.Reflection.CustomAttributeTypedArgument[]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeTypedArgument] lea rdi, bword ptr [r15+0x28] mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; System.Reflection.CustomAttributeNamedArgument[] mov esi, 8 call CORINFO_HELP_NEWARR_1_VC mov r14, rax mov rdi, 0xD1FFAB1E ; 'System.Runtime.InteropServices.DllImportAttribute' mov rsi, 0xD1FFAB1E ; 'EntryPoint' mov edx, 28 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov rdx, gword ptr [rbx+0x10] lea rdi, [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this lea rdi, bword ptr [r14+0x10] lea rsi, bword ptr [rbp-0x40] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.CharSet - ;; size=271 bbWeight=1 PerfScore 43.50 -G_M58561_IG07: call CORINFO_HELP_NEWSFAST mov r13, rax mov rdi, 0xD1FFAB1E ; 'System.Runtime.InteropServices.DllImportAttribute' mov rsi, 0xD1FFAB1E ; 'CharSet' mov edx, 28 + ;; size=300 bbWeight=1 PerfScore 43.75 +G_M58561_IG07: mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov edx, dword ptr [rbx+0x18] mov dword ptr [r13+0x08], edx mov rdx, r13 lea rdi, [rbp-0x58] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this lea rdi, bword ptr [r14+0x28] lea rsi, bword ptr [rbp-0x58] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov r13, 0xD1FFAB1E ; System.Boolean mov rdi, r13 call CORINFO_HELP_NEWSFAST mov r12, rax mov rdi, 0xD1FFAB1E ; 'System.Runtime.InteropServices.DllImportAttribute' mov rsi, 0xD1FFAB1E ; 'ExactSpelling' mov edx, 28 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax movzx rdx, byte ptr [rbx+0x21] mov byte ptr [r12+0x08], dl mov rdx, r12 lea rdi, [rbp-0x70] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this lea rdi, bword ptr [r14+0x40] lea rsi, bword ptr [rbp-0x70] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, r13 call CORINFO_HELP_NEWSFAST mov r12, rax mov rdi, 0xD1FFAB1E ; 'System.Runtime.InteropServices.DllImportAttribute' mov rsi, 0xD1FFAB1E ; 'SetLastError' mov edx, 28 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax - ;; size=260 bbWeight=1 PerfScore 39.25 -G_M58561_IG08: movzx rdx, byte ptr [rbx+0x20] mov byte ptr [r12+0x08], dl mov rdx, r12 lea rdi, [rbp-0x88] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this lea rdi, bword ptr [r14+0x58] lea rsi, bword ptr [rbp-0x88] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, r13 call CORINFO_HELP_NEWSFAST mov r12, rax + ;; size=283 bbWeight=1 PerfScore 44.50 +G_M58561_IG08: mov rdi, 0xD1FFAB1E ; 'System.Runtime.InteropServices.DllImportAttribute' mov rsi, 0xD1FFAB1E ; 'PreserveSig' mov edx, 28 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax movzx rdx, byte ptr [rbx+0x23] mov byte ptr [r12+0x08], dl mov rdx, r12 lea rdi, [rbp-0xA0] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this lea rdi, bword ptr [r14+0x70] lea rsi, bword ptr [rbp-0xA0] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.CallingConvention call CORINFO_HELP_NEWSFAST mov r12, rax mov rdi, 0xD1FFAB1E ; 'System.Runtime.InteropServices.DllImportAttribute' mov rsi, 0xD1FFAB1E ; 'CallingConvention' mov edx, 28 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax mov edx, dword ptr [rbx+0x1C] mov dword ptr [r12+0x08], edx mov rdx, r12 lea rdi, [rbp-0xB8] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this lea rdi, bword ptr [r14+0x88] lea rsi, bword ptr [rbp-0xB8] - ;; size=267 bbWeight=1 PerfScore 41.50 -G_M58561_IG09: - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, r13 call CORINFO_HELP_NEWSFAST mov r12, rax mov rdi, 0xD1FFAB1E ; 'System.Runtime.InteropServices.DllImportAttribute' mov rsi, 0xD1FFAB1E ; 'BestFitMapping' mov edx, 28 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax movzx rdx, byte ptr [rbx+0x22] mov byte ptr [r12+0x08], dl mov rdx, r12 lea rdi, [rbp-0xD0] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this lea rdi, bword ptr [r14+0xA0] lea rsi, bword ptr [rbp-0xD0] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, r13 + ;; size=316 bbWeight=1 PerfScore 43.75 +G_M58561_IG09: call CORINFO_HELP_NEWSFAST mov r13, rax mov rdi, 0xD1FFAB1E ; 'System.Runtime.InteropServices.DllImportAttribute' mov rsi, 0xD1FFAB1E ; 'ThrowOnUnmappableChar' mov edx, 28 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this call [rax]System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this mov rsi, rax movzx rdx, byte ptr [rbx+0x24] mov byte ptr [r13+0x08], dl mov rdx, r13 lea rdi, [rbp-0xE8] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this call [rax]System.Reflection.CustomAttributeNamedArgument:.ctor(System.Reflection.MemberInfo,System.Object):this lea rdi, bword ptr [r14+0xB8] lea rsi, bword ptr [rbp-0xE8] - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, r14 - ;; size=239 bbWeight=1 PerfScore 36.75 -G_M58561_IG10: mov rax, 0xD1FFAB1E ; code for System.Array:AsReadOnly[System.Reflection.CustomAttributeNamedArgument](System.Reflection.CustomAttributeNamedArgument[]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeNamedArgument] call [rax]System.Array:AsReadOnly[System.Reflection.CustomAttributeNamedArgument](System.Reflection.CustomAttributeNamedArgument[]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeNamedArgument] lea rdi, bword ptr [r15+0x30] mov rsi, rax call CORINFO_HELP_ASSIGN_REF nop - ;; size=25 bbWeight=1 PerfScore 5.25 -G_M58561_IG11: + ;; size=131 bbWeight=1 PerfScore 20.25 +G_M58561_IG10: add rsp, 232 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=1 PerfScore 4.25 -G_M58561_IG12: +G_M58561_IG11: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1344, prolog size 76, PerfScore 207.58, instruction count 261, allocated bytes for code 1344 (MethodHash=6c7b1b3e) for method System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.DllImportAttribute):this (FullOpts) +; Total bytes of code 1312, prolog size 76, PerfScore 193.58, instruction count 253, allocated bytes for code 1312 (MethodHash=6c7b1b3e) for method System.Reflection.RuntimeCustomAttributeData:Init(System.Runtime.InteropServices.DllImportAttribute):this (FullOpts) ```
-4 (-5.71 % of base) - System.Reflection.CustomAttributeNamedArgument:GetHashCode():int:this ```diff ; Assembly listing for method System.Reflection.CustomAttributeNamedArgument:GetHashCode():int:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; fully interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T01] ( 3, 3 ) byref -> rbx this single-def ;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> r15 class-hnd exact single-def "Single-def Box Helper" ; ; Lcl frame size = 8 G_M64192_IG01: push r15 push rbx push rax mov rbx, rdi ;; size=7 bbWeight=1 PerfScore 3.25 G_M64192_IG02: mov rdi, 0xD1FFAB1E ; System.Reflection.CustomAttributeNamedArgument call CORINFO_HELP_NEWSFAST mov r15, rax lea rdi, bword ptr [r15+0x08] mov rsi, rbx - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, r15 mov rax, 0xD1FFAB1E ; code for System.ValueType:GetHashCode():int:this - ;; size=53 bbWeight=1 PerfScore 5.75 + ;; size=49 bbWeight=1 PerfScore 4.00 G_M64192_IG03: add rsp, 8 pop rbx pop r15 tail.jmp [rax]System.ValueType:GetHashCode():int:this ;; size=10 bbWeight=1 PerfScore 3.25 -; Total bytes of code 70, prolog size 7, PerfScore 12.25, instruction count 18, allocated bytes for code 70 (MethodHash=de2f053f) for method System.Reflection.CustomAttributeNamedArgument:GetHashCode():int:this (FullOpts) +; Total bytes of code 66, prolog size 7, PerfScore 10.50, instruction count 17, allocated bytes for code 66 (MethodHash=de2f053f) for method System.Reflection.CustomAttributeNamedArgument:GetHashCode():int:this (FullOpts) ```
-4 (-1.79 % of base) - System.Reflection.CustomAttributeNamedArgument:ToString():System.String:this ```diff ; Assembly listing for method System.Reflection.CustomAttributeNamedArgument:ToString():System.String:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 6, 4.50) byref -> rbx this single-def ; V01 loc0 [V01 ] ( 2, 1 ) struct (16) [rbp-0x20] do-not-enreg[XS] must-init addr-exposed ld-addr-op ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V03 tmp1 [V03,T03] ( 2, 2 ) ref -> r15 class-hnd exact single-def "impAppendStmt" ; V04 tmp2 [V04,T04] ( 2, 2 ) ref -> rdi class-hnd exact single-def "Single-def Box Helper" ;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V06 tmp4 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; V07 tmp5 [V07 ] ( 2, 1 ) ref -> [rbp-0x20] do-not-enreg[X] addr-exposed "field V01._value (fldOffset=0x0)" P-DEP ; V08 tmp6 [V08 ] ( 2, 1 ) ref -> [rbp-0x18] do-not-enreg[X] addr-exposed "field V01._argumentType (fldOffset=0x8)" P-DEP ; V09 tmp7 [V09,T01] ( 3, 3 ) ref -> rdi single-def "argument with side effect" ; V10 tmp8 [V10,T06] ( 2, 2 ) int -> rsi "argument with side effect" ; V11 tmp9 [V11,T05] ( 2, 2 ) ref -> rdx single-def "argument with side effect" ;* V12 tmp10 [V12,T07] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect" ; V13 cse0 [V13,T02] ( 3, 2.50) ref -> rdi "CSE #01: aggressive" ; ; Lcl frame size = 16 G_M25834_IG01: push rbp push r15 push rbx sub rsp, 16 lea rbp, [rsp+0x20] xor eax, eax mov qword ptr [rbp-0x20], rax mov qword ptr [rbp-0x18], rax mov rbx, rdi ;; size=26 bbWeight=1 PerfScore 6.25 G_M25834_IG02: mov rdi, gword ptr [rbx] test rdi, rdi jne SHORT G_M25834_IG05 ;; size=8 bbWeight=1 PerfScore 3.25 G_M25834_IG03: mov rdi, 0xD1FFAB1E ; System.Reflection.CustomAttributeNamedArgument call CORINFO_HELP_NEWSFAST mov rdi, rax add rdi, 8 mov rsi, rbx - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rdi, 0xD1FFAB1E ; 'System.Reflection.CustomAttributeNamedArgument' mov esi, 1 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetCachedName(int):System.String:this call [rax]System.RuntimeType:GetCachedName(int):System.String:this nop - ;; size=68 bbWeight=0.50 PerfScore 4.50 + ;; size=64 bbWeight=0.50 PerfScore 3.62 G_M25834_IG04: add rsp, 16 pop rbx pop r15 pop rbp ret ;; size=9 bbWeight=0.50 PerfScore 1.38 G_M25834_IG05: mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] call [rax+0x30]System.Reflection.MemberInfo:get_Name():System.String:this mov r15, rax ;; size=13 bbWeight=0.50 PerfScore 3.62 G_M25834_IG06: vmovdqu xmm0, xmmword ptr [rbx+0x08] vmovdqu xmmword ptr [rbp-0x20], xmm0 ;; size=10 bbWeight=0.50 PerfScore 2.50 G_M25834_IG07: mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeNamedArgument:get_ArgumentType():System.Type:this call [rax]System.Reflection.CustomAttributeNamedArgument:get_ArgumentType():System.Type:this mov rsi, 0xD1FFAB1E ; 'System.Object' cmp rax, rsi setne sil movzx rsi, sil lea rdi, [rbp-0x20] mov rax, 0xD1FFAB1E ; code for System.Reflection.CustomAttributeTypedArgument:ToString(ubyte):System.String:this call [rax]System.Reflection.CustomAttributeTypedArgument:ToString(ubyte):System.String:this mov rdx, rax mov rdi, r15 mov rsi, 0xD1FFAB1E ; ' = ' mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String,System.String):System.String call [rax]System.String:Concat(System.String,System.String,System.String):System.String nop ;; size=81 bbWeight=0.50 PerfScore 6.62 G_M25834_IG08: add rsp, 16 pop rbx pop r15 pop rbp ret ;; size=9 bbWeight=0.50 PerfScore 1.38 -; Total bytes of code 224, prolog size 23, PerfScore 29.50, instruction count 57, allocated bytes for code 224 (MethodHash=d6db9b15) for method System.Reflection.CustomAttributeNamedArgument:ToString():System.String:this (FullOpts) +; Total bytes of code 220, prolog size 23, PerfScore 28.62, instruction count 56, allocated bytes for code 220 (MethodHash=d6db9b15) for method System.Reflection.CustomAttributeNamedArgument:ToString():System.String:this (FullOpts) ```
-4 (-13.33 % of base) - System.Text.StringBuilder+ChunkEnumerator:GetEnumerator():System.Text.StringBuilder+ChunkEnumerator:this ```diff ; Assembly listing for method System.Text.StringBuilder+ChunkEnumerator:GetEnumerator():System.Text.StringBuilder+ChunkEnumerator:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 this [V00,T01] ( 3, 3 ) byref -> rsi this single-def ; V01 RetBuf [V01,T00] ( 4, 4 ) byref -> rbx single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; ; Lcl frame size = 0 G_M7549_IG01: push rbx mov rbx, rsi mov rsi, rdi ;; size=7 bbWeight=1 PerfScore 1.50 G_M7549_IG02: mov rdi, rbx - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF - call CORINFO_HELP_ASSIGN_BYREF + mov r8d, 3 + call CORINFO_HELP_ASSIGN_BYREF_BATCH mov rax, rbx - ;; size=21 bbWeight=1 PerfScore 3.50 + ;; size=17 bbWeight=1 PerfScore 1.75 G_M7549_IG03: pop rbx ret ;; size=2 bbWeight=1 PerfScore 1.50 -; Total bytes of code 30, prolog size 1, PerfScore 6.50, instruction count 10, allocated bytes for code 30 (MethodHash=0952e282) for method System.Text.StringBuilder+ChunkEnumerator:GetEnumerator():System.Text.StringBuilder+ChunkEnumerator:this (FullOpts) +; Total bytes of code 26, prolog size 1, PerfScore 4.75, instruction count 9, allocated bytes for code 26 (MethodHash=0952e282) for method System.Text.StringBuilder+ChunkEnumerator:GetEnumerator():System.Text.StringBuilder+ChunkEnumerator:this (FullOpts) ```
MihuBot commented 4 months ago

@EgorBo