Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[JitDiff X64] MichalPetryka/runtime/patch-38 #675

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

[JitDiff X64] MichalPetryka/runtime/patch-38 #675

MihuBot opened this issue Oct 1, 2024 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Oct 1, 2024

Job completed in 20 minutes 19 seconds.

Diffs

Diffs
Found 379 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 39446035
Total bytes of diff: 39531044
Total bytes of delta: 85009 (0.22 % of base)
Total relative delta: 349.89
    diff is a regression.
    relative diff is a regression.


Top file regressions (bytes):
       25698 : System.Collections.Immutable.dasm (1.25 % of base)
       12389 : System.Data.Common.dasm (0.76 % of base)
       10747 : System.Private.Xml.dasm (0.26 % of base)
        6582 : System.Private.CoreLib.dasm (0.10 % of base)
        4569 : System.Data.Odbc.dasm (1.93 % of base)
        3597 : System.Net.Http.dasm (0.43 % of base)
        2554 : System.Text.Json.dasm (0.20 % of base)
        2278 : System.CodeDom.dasm (1.10 % of base)
        2102 : System.Private.DataContractSerialization.dasm (0.21 % of base)
        1607 : System.Net.NetworkInformation.dasm (3.20 % of base)
        1433 : System.Reflection.MetadataLoadContext.dasm (0.66 % of base)
        1353 : System.Formats.Tar.dasm (1.06 % of base)
        1219 : System.Diagnostics.TextWriterTraceListener.dasm (6.68 % of base)
        1187 : System.Configuration.ConfigurationManager.dasm (0.29 % of base)
         945 : System.Net.Primitives.dasm (1.09 % of base)
         893 : System.Net.Requests.dasm (0.61 % of base)
         774 : System.Security.Cryptography.dasm (0.07 % of base)
         532 : System.ServiceModel.Syndication.dasm (0.33 % of base)
         513 : System.Net.HttpListener.dasm (0.49 % of base)
         507 : System.Linq.Parallel.dasm (0.02 % of base)
         494 : System.Diagnostics.Process.dasm (0.51 % of base)
         459 : System.ComponentModel.TypeConverter.dasm (0.15 % of base)
         420 : System.Net.Security.dasm (0.18 % of base)
         418 : System.Linq.Expressions.dasm (0.05 % of base)
         371 : Microsoft.Extensions.Logging.Console.dasm (0.64 % of base)
         368 : Microsoft.Extensions.Hosting.dasm (0.54 % of base)
         326 : Microsoft.Extensions.FileSystemGlobbing.dasm (1.29 % of base)
         317 : System.Diagnostics.DiagnosticSource.dasm (0.13 % of base)
         302 : System.Diagnostics.TraceSource.dasm (0.63 % of base)
         257 : System.Net.Mail.dasm (0.14 % of base)
         236 : System.IO.Hashing.dasm (0.92 % of base)
         231 : Microsoft.VisualBasic.Core.dasm (0.04 % of base)
         220 : Microsoft.CSharp.dasm (0.06 % of base)
         217 : System.Linq.dasm (0.02 % of base)
         200 : Microsoft.Extensions.Configuration.Xml.dasm (1.97 % of base)
         188 : System.Formats.Nrbf.dasm (0.40 % of base)
         188 : System.Composition.Hosting.dasm (0.18 % of base)
         176 : System.Net.WebSockets.Client.dasm (0.81 % of base)
         171 : System.Net.Ping.dasm (0.32 % of base)
         154 : System.Collections.Concurrent.dasm (0.04 % of base)
         144 : System.Text.RegularExpressions.dasm (0.02 % of base)
         132 : System.Private.Xml.Linq.dasm (0.07 % of base)
         121 : System.Collections.dasm (0.03 % of base)
          88 : System.Security.Cryptography.Xml.dasm (0.04 % of base)
          87 : Microsoft.Extensions.Configuration.dasm (0.53 % of base)
          60 : System.ComponentModel.Primitives.dasm (0.37 % of base)
          58 : System.IO.Packaging.dasm (0.05 % of base)
          51 : ILCompiler.Reflection.ReadyToRun.dasm (0.02 % of base)
          48 : System.ComponentModel.Composition.Registration.dasm (0.05 % of base)
          33 : System.Threading.Tasks.Parallel.dasm (0.01 % of base)
          32 : System.Net.WebHeaderCollection.dasm (0.22 % of base)
          29 : Microsoft.Extensions.Configuration.Binder.dasm (0.13 % of base)
          29 : System.Runtime.Serialization.Schema.dasm (0.05 % of base)
          24 : Microsoft.Extensions.Options.dasm (0.09 % of base)
          23 : Microsoft.Extensions.Logging.Abstractions.dasm (0.03 % of base)
          15 : System.Numerics.Tensors.dasm (0.00 % of base)
          14 : System.Security.Cryptography.Pkcs.dasm (0.00 % of base)
          12 : System.Threading.Channels.dasm (0.01 % of base)
           7 : System.ObjectModel.dasm (0.01 % of base)
           7 : System.Linq.Queryable.dasm (0.00 % of base)
           6 : System.Security.Cryptography.Cose.dasm (0.01 % of base)
           5 : System.Transactions.Local.dasm (0.00 % of base)
           4 : System.Composition.Convention.dasm (0.00 % of base)
           4 : System.Net.ServerSentEvents.dasm (0.01 % of base)
           3 : System.Memory.dasm (0.00 % of base)
           2 : System.Threading.RateLimiting.dasm (0.00 % of base)

Top file improvements (bytes):
       -1821 : System.Threading.Tasks.Dataflow.dasm (-0.15 % of base)
        -531 : System.Net.WebSockets.dasm (-0.36 % of base)
        -141 : System.ComponentModel.Composition.dasm (-0.03 % of base)
        -105 : System.Web.HttpUtility.dasm (-0.54 % of base)
         -94 : System.Reflection.Metadata.dasm (-0.02 % of base)
         -67 : System.Console.dasm (-0.08 % of base)
         -64 : System.Net.Sockets.dasm (-0.02 % of base)
         -61 : System.Formats.Asn1.dasm (-0.07 % of base)
         -43 : System.Resources.Extensions.dasm (-0.09 % of base)
         -41 : System.Net.WebClient.dasm (-0.08 % of base)
         -31 : System.Formats.Cbor.dasm (-0.07 % of base)
         -30 : System.Private.Uri.dasm (-0.03 % of base)
         -29 : Microsoft.Extensions.DependencyModel.dasm (-0.04 % of base)
         -28 : System.Resources.Writer.dasm (-0.31 % of base)
         -25 : System.IO.Compression.dasm (-0.03 % of base)
         -18 : System.Collections.Specialized.dasm (-0.14 % of base)
         -18 : System.Composition.TypedParts.dasm (-0.04 % of base)
         -17 : Microsoft.Extensions.FileProviders.Physical.dasm (-0.10 % of base)
         -14 : Microsoft.Extensions.Caching.Memory.dasm (-0.08 % of base)
         -12 : System.Runtime.Caching.dasm (-0.02 % of base)
         -11 : System.ComponentModel.Annotations.dasm (-0.02 % of base)
          -9 : System.IO.Pipelines.dasm (-0.01 % of base)
          -5 : System.Net.Http.Json.dasm (-0.00 % of base)
          -3 : System.DirectoryServices.Protocols.dasm (-0.00 % of base)
          -3 : System.Net.Quic.dasm (-0.00 % of base)

91 total files with Code Size differences (25 improved, 66 regressed), 168 unchanged.

Top method regressions (bytes):
        1798 (25.07 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.String,System.String,byref):ubyte (FullOpts)
         654 (15.18 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.StringParsingHelpers:ParseInterfaceStatisticsTableFromFile(System.String,System.String):System.Net.NetworkInformation.IPInterfaceStatisticsTable (FullOpts)
         468 (29.98 % of base) : System.Net.Requests.dasm - System.Net.FtpControlStream:QueueOrCreateDataConection(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,byref):int:this (FullOpts)
         457 (146.47 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ToUpperInvariant(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]):int (FullOpts)
         451 (145.95 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ToLowerInvariant(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]):int (FullOpts)
         448 (18.75 % of base) : System.Data.Common.dasm - System.Data.NewDiffgramGen:GenerateTableErrors(System.Data.DataTable):this (FullOpts)
         440 (13.93 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<CloseAsyncPrivate>d__69:MoveNext():this (FullOpts)
         440 (52.13 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.CryptoConfig:EncodeOID(System.String):ubyte[] (FullOpts)
         432 (33.05 % of base) : System.Data.Common.dasm - System.Data.NewDiffgramGen:GenerateRow(System.Data.DataRow):this (FullOpts)
         431 (391.82 % of base) : System.Private.CoreLib.dasm - System.Char:ToUpperInvariant(ushort):ushort (FullOpts)
         431 (226.84 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeIdentifier+<>c:<MakePascal>b__2_0(System.Span`1[ushort],System.String):this (FullOpts)
         425 (386.36 % of base) : System.Private.CoreLib.dasm - System.Char:ToLowerInvariant(ushort):ushort (FullOpts)
         425 (223.68 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeIdentifier+<>c:<MakeCamel>b__3_0(System.Span`1[ushort],System.String):this (FullOpts)
         414 (20.31 % of base) : System.Net.Primitives.dasm - System.Net.CookieParser:Get():System.Net.Cookie:this (FullOpts)
         413 (36.45 % of base) : System.Private.CoreLib.dasm - System.Net.WebUtility:HtmlDecode(System.ReadOnlySpan`1[ushort],byref) (FullOpts)
         400 (59.35 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:ToImmutableHashSet[System.Numerics.Vector`1[float]](System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]] (FullOpts)
         390 (76.77 % of base) : System.Data.Common.dasm - System.Data.XDRSchema:GetMinMax(System.Xml.XmlElement,byref,byref) (FullOpts)
         385 (15.82 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.Patterns.PatternBuilder:Build(System.String):Microsoft.Extensions.FileSystemGlobbing.Internal.IPattern:this (FullOpts)
         368 (50.14 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.HostOptions:Initialize(Microsoft.Extensions.Configuration.IConfiguration):this (FullOpts)
         356 (54.19 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl:ThrowTagMismatch(System.Xml.XmlTextReaderImpl+NodeData):this (FullOpts)
         355 (81.05 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltCompileException:.ctor(System.Exception,System.String,int,int):this (FullOpts)
         353 (113.87 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:NonSeqByteAccess(long,long,System.String):System.Exception (FullOpts)
         353 (74.63 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XslLoadException:AppendLineInfoMessage(System.String,System.Xml.Xsl.ISourceLineInfo):System.String (FullOpts)
         346 (38.27 % of base) : System.Data.Common.dasm - System.Data.SimpleType:ToNode(System.Xml.XmlDocument,System.Collections.Hashtable,ubyte):System.Xml.XmlNode:this (FullOpts)
         346 (52.11 % of base) : System.Diagnostics.TextWriterTraceListener.dasm - System.Diagnostics.DelimitedListTraceListener:WriteFooter(System.Diagnostics.TraceEventCache):this (FullOpts)
         342 (24.59 % of base) : System.Private.Xml.dasm - System.Xml.XmlTextReaderImpl+<ThrowTagMismatchAsync>d__530:MoveNext():this (FullOpts)
         338 (128.03 % of base) : System.Private.CoreLib.dasm - System.Version:TryParseComponent(System.ReadOnlySpan`1[ushort],System.String,ubyte,byref):ubyte (FullOpts)
         337 (130.62 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:CollectionIndexInt32(int,System.Type,int):System.IndexOutOfRangeException (FullOpts)
         337 (130.62 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CollectionIndexInt32(int,System.Type,int):System.IndexOutOfRangeException (FullOpts)
         337 (125.75 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InvalidDestinationBufferIndex(int,int,System.String):System.ArgumentOutOfRangeException (FullOpts)
         337 (125.75 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InvalidSourceBufferIndex(int,long,System.String):System.ArgumentOutOfRangeException (FullOpts)
         337 (66.60 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.PaxTarEntry:.ctor(System.Formats.Tar.TarEntry):this (FullOpts)
         337 (80.05 % of base) : System.Private.Xml.dasm - System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String (FullOpts)
         334 (93.04 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:InvalidDestinationBufferIndex(int,int,System.String):System.ArgumentOutOfRangeException (FullOpts)
         334 (93.04 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:InvalidSourceBufferIndex(int,long,System.String):System.ArgumentOutOfRangeException (FullOpts)
         332 (140.68 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InvalidBufferSizeOrIndex(int,int):System.IndexOutOfRangeException (FullOpts)
         332 (140.68 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:InvalidBufferSizeOrIndex(int,int):System.IndexOutOfRangeException (FullOpts)
         332 (89.49 % of base) : System.Data.Common.dasm - System.Data.ExceptionBuilder:IndexKeyLength(int,int):System.Exception (FullOpts)
         332 (120.73 % of base) : System.Data.Common.dasm - System.Data.ExceptionBuilder:RangeArgument(int,int):System.Exception (FullOpts)
         331 (62.22 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltException:CreateMessage(System.String,System.String[],System.String,int,int):System.String (FullOpts)
         330 (94.56 % of base) : System.Private.Xml.dasm - System.Xml.XmlReader:AddLineInfo(System.String,System.Xml.IXmlLineInfo):System.String (FullOpts)
         329 (61.04 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:UpdateConcurrencyViolation(int,int,int,System.Data.DataRow[]):System.Exception (FullOpts)
         329 (64.01 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.ContentDispositionHeaderValue:set_Size(System.Nullable`1[long]):this (FullOpts)
         329 (26.36 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:FindChoiceEnumValue(System.Xml.Serialization.ElementAccessor,System.Xml.Serialization.EnumMapping,ubyte):System.String (FullOpts)
         326 (31.14 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract:GetDataContractNameForGenericName(System.String,System.Text.StringBuilder):System.Collections.Generic.List`1[int] (FullOpts)
         325 (69.00 % of base) : System.Net.Mail.dasm - System.Net.Mime.SmtpDateTime:ValidateAndGetTimeZoneOffsetValues(System.String,byref,byref,byref) (FullOpts)
         325 (15.78 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlUntypedConverter:ToString(System.Object,System.Xml.IXmlNamespaceResolver):System.String:this (FullOpts)
         314 (39.65 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
         299 (75.51 % of base) : System.Diagnostics.Process.dasm - Interop+procfs:<TryParseMapsEntry>g__TryParseAddressRange|19_0(System.String,byref,byref):System.ValueTuple`2[long,int] (FullOpts)
         299 (7.07 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XsdDuration:TryFormat(System.Span`1[ushort],byref,int):ubyte:this (FullOpts)
         297 (44.07 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:ToImmutableHashSet[System.Nullable`1[int]](System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]],System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableHashSet`1[System.Nullable`1[int]] (FullOpts)
         289 (23.98 % of base) : System.Data.Common.dasm - System.Data.XmlTreeGen:AddColumnProperties(System.Data.DataColumn,System.Xml.XmlElement):this (FullOpts)
         288 (27.07 % of base) : System.Private.Xml.dasm - System.Xml.Schema.Compiler:CheckParticleDerivation(System.Xml.Schema.XmlSchemaComplexType):this (FullOpts)
         283 (55.17 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:ToImmutableHashSet[System.Numerics.Vector`1[float]](System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]] (FullOpts)
         268 (29.65 % of base) : System.Private.CoreLib.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
         249 (7.40 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts)
         245 (120.69 % of base) : System.Data.Common.dasm - System.Data.Common.DataStorage:ImplementsInterfaces(int,System.Type,byref,byref,byref,byref,byref) (FullOpts)
         241 (35.76 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:ToImmutableHashSet[double](System.Collections.Generic.IEnumerable`1[double],System.Collections.Generic.IEqualityComparer`1[double]):System.Collections.Immutable.ImmutableHashSet`1[double] (FullOpts)
         240 (37.68 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[short,System.Nullable`1[int]](byref,short,System.Func`2[short,System.Nullable`1[int]],System.Func`3[short,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         240 (37.74 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[ubyte,System.Nullable`1[int]](byref,ubyte,System.Func`2[ubyte,System.Nullable`1[int]],System.Func`3[ubyte,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         237 (40.86 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[short,System.Nullable`1[int]](byref,short,System.Nullable`1[int],System.Func`3[short,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         237 (40.93 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[ubyte,System.Nullable`1[int]](byref,ubyte,System.Nullable`1[int],System.Func`3[ubyte,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         236 (153.25 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.NonCryptographicHashAlgorithm+CopyToDestinationStream:BeginWrite(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
         233 (34.57 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:ToImmutableHashSet[short](System.Collections.Generic.IEnumerable`1[short],System.Collections.Generic.IEqualityComparer`1[short]):System.Collections.Immutable.ImmutableHashSet`1[short] (FullOpts)
         233 (34.57 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:ToImmutableHashSet[ubyte](System.Collections.Generic.IEnumerable`1[ubyte],System.Collections.Generic.IEqualityComparer`1[ubyte]):System.Collections.Immutable.ImmutableHashSet`1[ubyte] (FullOpts)
         233 (40.31 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:TryRemove[System.Numerics.Vector`1[float],System.Nullable`1[int]](byref,System.Numerics.Vector`1[float],byref):ubyte (FullOpts)
         231 (34.27 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:ToImmutableHashSet[long](System.Collections.Generic.IEnumerable`1[long],System.Collections.Generic.IEqualityComparer`1[long]):System.Collections.Immutable.ImmutableHashSet`1[long] (FullOpts)
         229 (33.98 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:ToImmutableHashSet[int](System.Collections.Generic.IEnumerable`1[int],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Immutable.ImmutableHashSet`1[int] (FullOpts)
         228 (43.76 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:Create[System.Numerics.Vector`1[float]](System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float][]):System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]] (FullOpts)
         228 (48.10 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:Create[System.Numerics.Vector`1[float]](System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]] (FullOpts)
         228 (36.42 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[int,System.Nullable`1[int]](byref,int,System.Func`2[int,System.Nullable`1[int]],System.Func`3[int,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         228 (40.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[int,System.Nullable`1[int]](byref,int,System.Nullable`1[int],System.Func`3[int,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         228 (36.13 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[long,System.Nullable`1[int]](byref,long,System.Func`2[long,System.Nullable`1[int]],System.Func`3[long,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         228 (39.72 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[long,System.Nullable`1[int]](byref,long,System.Nullable`1[int],System.Func`3[long,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         228 (228.00 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent+LimitArrayPoolWriteStream:BeginWrite(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
         225 (592.11 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoModule:GetUniqueConstructedGenericType(System.Reflection.TypeLoading.RoDefinitionType,System.Reflection.TypeLoading.RoType[]):System.Reflection.TypeLoading.RoConstructedGenericType:this (FullOpts)
         222 (198.21 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoArrayType:this (FullOpts)
         222 (198.21 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoModule:GetUniqueByRefType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoByRefType:this (FullOpts)
         221 (15.87 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReader:ParseArrayType(System.String):System.Xml.Serialization.XmlSerializationReader+SoapArrayInfo:this (FullOpts)
         220 (15.43 % of base) : System.Net.Requests.dasm - System.Net.FtpControlStream:QueueOrCreateFtpDataStream(byref):int:this (FullOpts)
         220 (7.28 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:GetSerializedString(System.TimeZoneInfo):System.String (FullOpts)
         218 (42.50 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:ToImmutableHashSet[System.Nullable`1[int]](System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableHashSet`1[System.Nullable`1[int]] (FullOpts)
         218 (196.40 % of base) : System.Private.CoreLib.dasm - System.IO.Stream+NullStream:BeginRead(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
         218 (196.40 % of base) : System.Private.CoreLib.dasm - System.IO.Stream+NullStream:BeginWrite(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
         217 (6.08 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterCodeGen:WriteEnumMethod(System.Xml.Serialization.EnumMapping):this (FullOpts)
         214 (22.46 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:GetOrAdd[System.Numerics.Vector`1[float],System.Nullable`1[int]](byref,System.Numerics.Vector`1[float],System.Nullable`1[int]):System.Nullable`1[int] (FullOpts)
         213 (22.26 % of base) : System.Net.Http.dasm - System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.Nullable`1[int]]:MoveNext():this (FullOpts)
         212 (33.12 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[double,System.Nullable`1[int]](byref,double,System.Func`2[double,System.Nullable`1[int]],System.Func`3[double,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         212 (36.43 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[double,System.Nullable`1[int]](byref,double,System.Nullable`1[int],System.Func`3[double,System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         212 (31.13 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[System.Nullable`1[int],System.Nullable`1[int]](byref,System.Nullable`1[int],System.Func`2[System.Nullable`1[int],System.Nullable`1[int]],System.Func`3[System.Nullable`1[int],System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         212 (33.92 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[System.Nullable`1[int],System.Nullable`1[int]](byref,System.Nullable`1[int],System.Nullable`1[int],System.Func`3[System.Nullable`1[int],System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         211 (22.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:TryAdd[System.Numerics.Vector`1[float],System.Nullable`1[int]](byref,System.Numerics.Vector`1[float],System.Nullable`1[int]):ubyte (FullOpts)
         210 (17.60 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[System.Numerics.Vector`1[float],System.Nullable`1[int]](byref,System.Numerics.Vector`1[float],System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Func`3[System.Numerics.Vector`1[float],System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         210 (18.58 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:AddOrUpdate[System.Numerics.Vector`1[float],System.Nullable`1[int]](byref,System.Numerics.Vector`1[float],System.Nullable`1[int],System.Func`3[System.Numerics.Vector`1[float],System.Nullable`1[int],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         210 (16.51 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableInterlocked:GetOrAdd[System.Numerics.Vector`1[float],System.Nullable`1[int]](byref,System.Numerics.Vector`1[float],System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts)
         210 (122.81 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaModule:GetGenericInstantiation(System.Reflection.TypeLoading.RoType,System.Collections.Immutable.ImmutableArray`1[System.Reflection.TypeLoading.RoType]):System.Reflection.TypeLoading.RoType:this (FullOpts)
         209 (16.32 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.SchemaExporter:ExportEnumDataContract(System.Runtime.Serialization.DataContracts.EnumDataContract,System.Xml.Schema.XmlSchema):this (FullOpts)
         208 (76.47 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.WarningHeaderValue:TryReadCode(System.String,byref,byref):ubyte (FullOpts)
         206 (56.44 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateRange[System.Numerics.Vector`1[float]](System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]],System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]] (FullOpts)
         205 (15.28 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.RetryConditionHeaderValue:GetRetryConditionLength(System.String,int,byref):int (FullOpts)

Top method improvements (bytes):
        -207 (-6.00 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[double]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[double],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[double]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[double] (FullOpts)
        -204 (-7.86 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationErrorsException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
        -182 (-5.33 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[short]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[short],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[short]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[short] (FullOpts)
        -181 (-5.31 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[int]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[int],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[int]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[int] (FullOpts)
        -180 (-5.27 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[long]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[long],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[long]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[long] (FullOpts)
        -180 (-5.27 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[ubyte]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[ubyte],System.Collections.Immutable.ImmutableHashSet`1+MutationInput[ubyte]):System.Collections.Immutable.ImmutableHashSet`1+MutationResult[ubyte] (FullOpts)
        -175 (-2.02 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[int]:MoveNext():this (FullOpts)
        -175 (-2.01 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[short]:MoveNext():this (FullOpts)
        -175 (-1.90 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.Numerics.Vector`1[float]]:MoveNext():this (FullOpts)
        -175 (-2.01 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[ubyte]:MoveNext():this (FullOpts)
        -164 (-5.51 % of base) : System.Net.Http.dasm - System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13:MoveNext():this (FullOpts)
        -157 (-10.14 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
        -151 (-1.73 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[double]:MoveNext():this (FullOpts)
        -151 (-1.73 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[long]:MoveNext():this (FullOpts)
        -123 (-10.78 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):this (FullOpts)
        -104 (-1.82 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteAttributes(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],System.Xml.Serialization.XmlSerializationReaderILGen+Member,System.String,System.Reflection.Emit.LocalBuilder):this (FullOpts)
         -99 (-1.35 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteElement(System.String,System.String,System.String,System.Xml.Serialization.ElementAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte,int,int):this (FullOpts)
         -91 (-10.92 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -89 (-3.60 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:TryCreateBuiltInDataContract(System.Type,byref):ubyte (FullOpts)
         -76 (-3.04 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:MatchCountPattern(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilIterator):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -74 (-4.45 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CreateGeneralKeyFunction():System.Xml.Xsl.Qil.QilFunction:this (FullOpts)
         -67 (-2.31 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FinishRevocation(int,int,int):this (FullOpts)
         -63 (-0.90 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
         -62 (-4.18 % of base) : System.Net.Mail.dasm - System.Net.Mime.BaseWriter:WriteAndFold(System.String,int,ubyte):this (FullOpts)
         -62 (-3.63 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileFnDocument(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -59 (-3.49 % of base) : System.Web.HttpUtility.dasm - System.Web.HttpUtility+HttpQSCollection:ToString():System.String:this (FullOpts)
         -55 (-4.37 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateBaseSerializer(System.String,System.String,System.String,System.Xml.Serialization.CodeIdentifiers):System.String:this (FullOpts)
         -54 (-1.66 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpClient:Send(System.Net.Mail.MailMessage):this (FullOpts)
         -54 (-1.55 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteEnumAndArrayTypes():this (FullOpts)
         -54 (-2.92 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:XslChoose():System.Xml.Xsl.Xslt.XslNode:this (FullOpts)
         -53 (-3.11 % of base) : System.Console.dasm - System.IO.StdInReader:ReadLineCore(ubyte):ubyte:this (FullOpts)
         -52 (-3.52 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateTypeElement(System.Xml.Serialization.XmlTypeMapping):System.String:this (FullOpts)
         -52 (-2.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.XsltLoader:LoadTemplate(System.Xml.Xsl.Xslt.NsDecl):this (FullOpts)
         -50 (-3.93 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteSerializationInfo(System.Runtime.Serialization.XmlWriterDelegator,System.Type,System.Runtime.Serialization.SerializationInfo):this (FullOpts)
         -49 (-4.37 % of base) : System.Text.Json.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyName(double):this (FullOpts)
         -48 (-1.02 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonFormatReaderGenerator+CriticalHelper:ReadCollection(System.Runtime.Serialization.DataContracts.CollectionDataContract):this (FullOpts)
         -48 (-2.23 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationILGen:GenerateSerializerContract(System.Xml.Serialization.XmlMapping[],System.Type[],System.String,System.String[],System.String,System.String[],System.Collections.Generic.Dictionary`2[System.String,System.String]):this (FullOpts)
         -47 (-2.94 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileFnKey(System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.Qil.QilNode,System.Xml.Xsl.XPath.IFocus):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -47 (-0.71 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:PrecompileProtoTemplatesHeaders():this (FullOpts)
         -46 (-1.69 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteArray(System.String,System.String,System.Xml.Serialization.ArrayMapping,ubyte,ubyte,int):this (FullOpts)
         -40 (-1.10 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteArrayItems(System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.Xml.Serialization.TypeDesc,System.String,System.String):this (FullOpts)
         -39 (-5.42 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.DataContractJsonSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -35 (-1.68 % of base) : System.Private.CoreLib.dasm - System.Version:ParseVersion(System.ReadOnlySpan`1[ushort],ubyte):System.Version (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[double]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[int]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[long]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[short]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[System.Nullable`1[int]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[System.Numerics.Vector`1[float]]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -34 (-1.59 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1[ubyte]:.ctor(int,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions):this (FullOpts)
         -33 (-0.52 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteElements(System.Xml.Serialization.SourceInfo,System.String,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte):this (FullOpts)
         -32 (-1.36 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -31 (-2.10 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1+ObserversState[System.__Canon]:.ctor(System.Threading.Tasks.Dataflow.DataflowBlock+SourceObservable`1[System.__Canon]):this (FullOpts)
         -30 (-0.75 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaInference:RefineSimpleType(System.String,byref):System.Xml.XmlQualifiedName:this (FullOpts)
         -30 (-3.67 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlCanonicalWriter:SetOutput(System.IO.Stream,ubyte,System.String[]):this (FullOpts)
         -29 (-0.33 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__61`1[System.Nullable`1[int]]:MoveNext():this (FullOpts)
         -29 (-1.28 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteText(System.Xml.Serialization.XmlSerializationReaderILGen+Member):this (FullOpts)
         -28 (-1.15 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],System.DateTimeOffset,ubyte,int):System.Diagnostics.Activity:this (FullOpts)
         -28 (-4.27 % of base) : System.Formats.Cbor.dasm - System.Formats.Cbor.CborReader:ReadDateTimeOffset():System.DateTimeOffset:this (FullOpts)
         -28 (-7.00 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpConnection+ConnectAndHandshakeAsyncResult:AuthenticateContinue():ubyte:this (FullOpts)
         -28 (-2.87 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteMemberElements(System.Xml.Serialization.XmlSerializationReaderILGen+Member[],System.String,System.String,System.Xml.Serialization.XmlSerializationReaderILGen+Member,System.Xml.Serialization.XmlSerializationReaderILGen+Member):this (FullOpts)
         -28 (-1.27 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileKeys():this (FullOpts)
         -27 (-4.58 % of base) : System.Private.Uri.dasm - System.DomainNameHelper:ParseCanonicalName(System.String,int,int,byref):System.String (FullOpts)
         -27 (-0.96 % of base) : System.Net.WebSockets.dasm - System.Net.WebSockets.ManagedWebSocket+<SendCloseFrameAsync>d__70:MoveNext():this (FullOpts)
         -26 (-0.80 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:AdjustCallArgumentsForParams(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,byref):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]:.ctor(System.Func`2[double,System.Nullable`1[int]],System.Func`2[double,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[int,System.Nullable`1[int]]:.ctor(System.Func`2[int,System.Nullable`1[int]],System.Func`2[int,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:.ctor(System.Func`2[long,System.Nullable`1[int]],System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[short,System.Nullable`1[int]]:.ctor(System.Func`2[short,System.Nullable`1[int]],System.Func`2[short,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Func`2[System.Nullable`1[int],System.Nullable`1[int]],System.Func`2[System.Nullable`1[int],System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Func`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],System.Func`2[System.Numerics.Vector`1[float],System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-0.86 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[ubyte,System.Nullable`1[int]]:.ctor(System.Func`2[ubyte,System.Nullable`1[int]],System.Func`2[ubyte,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
         -26 (-1.82 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.QilGenerator:CompileCopyOf(System.Xml.Xsl.Xslt.XslNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -26 (-3.69 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.MessageAction:Execute(System.Xml.Xsl.XsltOld.Processor,System.Xml.Xsl.XsltOld.ActionFrame):this (FullOpts)
         -25 (-1.26 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexLWCGCompiler:FactoryInstanceFromCode(System.String,System.Text.RegularExpressions.RegexTree,int,ubyte):System.Text.RegularExpressions.RegexRunnerFactory:this (FullOpts)
         -25 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[System.__Canon,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -25 (-0.80 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteAttribute(System.Xml.Serialization.XmlSerializationReaderILGen+Member):this (FullOpts)
         -25 (-0.48 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteEnumAndArrayTypes():this (FullOpts)
         -24 (-2.73 % of base) : System.Net.WebClient.dasm - System.Net.WebClient:GetValuesToUpload(System.Collections.Specialized.NameValueCollection):ubyte[]:this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[double,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[double,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[int,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[int,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[long,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[long,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[short,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[short,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[System.Numerics.Vector`1[float],long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.02 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformManyBlock`2[ubyte,System.Nullable`1[int]]:Initialize(System.Action`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions,byref,byref,byref,ubyte):this (FullOpts)
         -24 (-1.58 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.MatcherBuilder:BuildMatcher(System.Xml.Xsl.Qil.QilIterator,System.Collections.Generic.IList`1[System.Xml.Xsl.Xslt.XslNode],System.Xml.Xsl.Qil.QilNode):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
         -23 (-2.81 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:WireCancellationToComplete(System.Threading.CancellationToken,System.Threading.Tasks.Task,System.Action`2[System.Object,System.Threading.CancellationToken],System.Object) (FullOpts)
         -23 (-2.09 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[double]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-2.09 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[int]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-2.08 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[long]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-2.08 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[short]:ProcessMessagesLoopCore():this (FullOpts)
         -23 (-2.08 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.TargetCore`1[ubyte]:ProcessMessagesLoopCore():this (FullOpts)
         -22 (-0.60 % of base) : System.Resources.Extensions.dasm - System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts)
         -22 (-0.59 % of base) : System.Resources.Writer.dasm - System.Resources.ResourceWriter:Generate():this (FullOpts)
         -22 (-3.99 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonReaderWriterFactory:CreateJsonWriter(System.IO.Stream):System.Xml.XmlDictionaryWriter (FullOpts)
         -22 (-2.31 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[double,System.Nullable`1[int]]:ProcessMessageWithTask(System.Func`2[double,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Collections.Generic.KeyValuePair`2[double,long]):this (FullOpts)
         -22 (-2.31 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:ProcessMessageWithTask(System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Collections.Generic.KeyValuePair`2[long,long]):this (FullOpts)
         -22 (-2.31 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.TransformBlock`2[System.Nullable`1[int],System.Nullable`1[int]]:ProcessMessageWithTask(System.Func`2[System.Nullable`1[int],System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],long]):this (FullOpts)
         -21 (-5.95 % of base) : System.Configuration.ConfigurationManager.dasm - System.Diagnostics.SourceElement:ResetProperties():this (FullOpts)

Top method regressions (percentages):
         177 (680.77 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Builder[double]:Replace(double,double):this (FullOpts)
         195 (672.41 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadPool:UnsafeQueueHighPriorityWorkItemInternal(System.Threading.IThreadPoolWorkItem) (FullOpts)
         165 (634.62 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Builder[int]:Replace(int,int):this (FullOpts)
         165 (634.62 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Builder[long]:Replace(long,long):this (FullOpts)
         225 (592.11 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoModule:GetUniqueConstructedGenericType(System.Reflection.TypeLoading.RoDefinitionType,System.Reflection.TypeLoading.RoType[]):System.Reflection.TypeLoading.RoConstructedGenericType:this (FullOpts)
         163 (493.94 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Builder[ubyte]:Replace(ubyte,ubyte):this (FullOpts)
         162 (476.47 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Builder[short]:Replace(short,short):this (FullOpts)
         431 (391.82 % of base) : System.Private.CoreLib.dasm - System.Char:ToUpperInvariant(ushort):ushort (FullOpts)
         425 (386.36 % of base) : System.Private.CoreLib.dasm - System.Char:ToLowerInvariant(ushort):ushort (FullOpts)
          99 (380.77 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.AttributeCollection:.ctor():this (FullOpts)
          81 (311.54 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeDomProvider:GetAllCompilerInfo():System.CodeDom.Compiler.CompilerInfo[] (FullOpts)
          78 (278.57 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.Design.HelpKeywordAttribute:IsDefaultAttribute():ubyte:this (FullOpts)
         124 (275.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[double]:Clear():System.Collections.Immutable.ImmutableSortedSet`1[double]:this (FullOpts)
         124 (275.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[int]:Clear():System.Collections.Immutable.ImmutableSortedSet`1[int]:this (FullOpts)
         124 (275.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[long]:Clear():System.Collections.Immutable.ImmutableSortedSet`1[long]:this (FullOpts)
         124 (275.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[short]:Clear():System.Collections.Immutable.ImmutableSortedSet`1[short]:this (FullOpts)
         124 (275.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:Clear():System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:this (FullOpts)
         124 (275.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:Clear():System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:this (FullOpts)
         124 (275.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[ubyte]:Clear():System.Collections.Immutable.ImmutableSortedSet`1[ubyte]:this (FullOpts)
         228 (228.00 % of base) : System.Net.Http.dasm - System.Net.Http.HttpContent+LimitArrayPoolWriteStream:BeginWrite(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
         431 (226.84 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeIdentifier+<>c:<MakePascal>b__2_0(System.Span`1[ushort],System.String):this (FullOpts)
         425 (223.68 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeIdentifier+<>c:<MakeCamel>b__3_0(System.Span`1[ushort],System.String):this (FullOpts)
         222 (198.21 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoArrayType:this (FullOpts)
         222 (198.21 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoModule:GetUniqueByRefType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoByRefType:this (FullOpts)
         218 (196.40 % of base) : System.Private.CoreLib.dasm - System.IO.Stream+NullStream:BeginRead(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
         218 (196.40 % of base) : System.Private.CoreLib.dasm - System.IO.Stream+NullStream:BeginWrite(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
         164 (190.70 % of base) : System.Private.Xml.dasm - System.Xml.XmlConvert:ToString(int):System.String (FullOpts)
         173 (184.04 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.Int128Converter:TryParse(System.ReadOnlySpan`1[ubyte],byref):ubyte (FullOpts)
         173 (184.04 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Converters.UInt128Converter:TryParse(System.ReadOnlySpan`1[ubyte],byref):ubyte (FullOpts)
         164 (182.22 % of base) : System.Private.Xml.dasm - System.Xml.XmlConvert:ToString(long):System.String (FullOpts)
         164 (182.22 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlConverter:ToString(long):System.String (FullOpts)
         164 (180.22 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceEventCache:get_ThreadId():System.String:this (FullOpts)
         161 (176.92 % of base) : System.Private.Xml.dasm - System.Xml.XmlConvert:ToString(byte):System.String (FullOpts)
         161 (176.92 % of base) : System.Private.Xml.dasm - System.Xml.XmlConvert:ToString(short):System.String (FullOpts)
         172 (172.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:GenerateDoubleValue(double):this (FullOpts)
         172 (172.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:GenerateSingleFloatValue(float):this (FullOpts)
         172 (165.38 % of base) : System.Private.Xml.dasm - System.Xml.XmlWriter:WriteValue(int):this (FullOpts)
         173 (164.76 % of base) : System.Formats.Tar.dasm - System.Formats.Tar.TarHelpers:GetTimestampStringFromDateTimeOffset(System.DateTimeOffset):System.String (FullOpts)
         173 (164.76 % of base) : System.Private.Xml.dasm - System.Xml.BinXmlSqlMoney:ToString():System.String:this (FullOpts)
         174 (162.62 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HeaderUtilities:TryParseInt32(System.String,byref):ubyte (FullOpts)
          45 (160.71 % of base) : System.Private.Xml.dasm - System.Xml.XmlConvert:TrimString(System.String):System.String (FullOpts)
          45 (160.71 % of base) : System.Private.Xml.dasm - System.Xml.XmlConvert:TrimStringEnd(System.String):System.String (FullOpts)
          45 (160.71 % of base) : System.Private.Xml.dasm - System.Xml.XmlConvert:TrimStringStart(System.String):System.String (FullOpts)
         172 (159.26 % of base) : System.Private.Xml.dasm - System.Xml.XmlWriter:WriteValue(long):this (FullOpts)
         173 (155.86 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CodeGenerator:GenerateDecimalValue(System.Decimal):this (FullOpts)
         172 (154.95 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcCommandBuilder:GetParameterName(int):System.String:this (FullOpts)
         236 (153.25 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.NonCryptographicHashAlgorithm+CopyToDestinationStream:BeginWrite(ubyte[],int,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
         180 (152.54 % of base) : System.Data.Common.dasm - System.Data.Common.DataAdapter:GetSourceTableName(System.String,int):System.String (FullOpts)
         161 (151.89 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.Compiler:GetUnicRtfId():System.String:this (FullOpts)
         457 (146.47 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ToUpperInvariant(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]):int (FullOpts)
         180 (146.34 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.EnumDataContract:GetStringFromEnumValue(long):System.String:this (FullOpts)
         451 (145.95 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions:ToLowerInvariant(System.ReadOnlySpan`1[ushort],System.Span`1[ushort]):int (FullOpts)
         199 (144.20 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType,int):System.Reflection.TypeLoading.RoArrayType:this (FullOpts)
         332 (140.68 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InvalidBufferSizeOrIndex(int,int):System.IndexOutOfRangeException (FullOpts)
         332 (140.68 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:InvalidBufferSizeOrIndex(int,int):System.IndexOutOfRangeException (FullOpts)
         180 (135.34 % of base) : System.Data.Common.dasm - System.Data.ConstraintCollection:MakeName(int):System.String (FullOpts)
         172 (134.38 % of base) : System.ServiceModel.Syndication.dasm - System.ServiceModel.Channels.UriGenerator:Next():System.String:this (FullOpts)
         176 (132.33 % of base) : System.Data.Common.dasm - System.Data.DataColumnCollection:MakeName(int):System.String (FullOpts)
         176 (132.33 % of base) : System.Data.Common.dasm - System.Data.DataRelationCollection:MakeName(int):System.String (FullOpts)
         176 (132.33 % of base) : System.Data.Common.dasm - System.Data.DataTableCollection:MakeName(int):System.String (FullOpts)
         337 (130.62 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:CollectionIndexInt32(int,System.Type,int):System.IndexOutOfRangeException (FullOpts)
         337 (130.62 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:CollectionIndexInt32(int,System.Type,int):System.IndexOutOfRangeException (FullOpts)
         338 (128.03 % of base) : System.Private.CoreLib.dasm - System.Version:TryParseComponent(System.ReadOnlySpan`1[ushort],System.String,ubyte,byref):ubyte (FullOpts)
         164 (126.15 % of base) : System.Data.Common.dasm - System.Data.Common.Int32Storage:ConvertObjectToXml(System.Object):System.String:this (FullOpts)
         337 (125.75 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InvalidDestinationBufferIndex(int,int,System.String):System.ArgumentOutOfRangeException (FullOpts)
         337 (125.75 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InvalidSourceBufferIndex(int,long,System.String):System.ArgumentOutOfRangeException (FullOpts)
         164 (124.24 % of base) : System.Data.Common.dasm - System.Data.Common.Int16Storage:ConvertObjectToXml(System.Object):System.String:this (FullOpts)
         164 (124.24 % of base) : System.Data.Common.dasm - System.Data.Common.SByteStorage:ConvertObjectToXml(System.Object):System.String:this (FullOpts)
         174 (123.40 % of base) : System.CodeDom.dasm - Microsoft.VisualBasic.VBCodeGenerator:GenerateDecimalValue(System.Decimal):this (FullOpts)
         210 (122.81 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaModule:GetGenericInstantiation(System.Reflection.TypeLoading.RoType,System.Collections.Immutable.ImmutableArray`1[System.Reflection.TypeLoading.RoType]):System.Reflection.TypeLoading.RoType:this (FullOpts)
         164 (122.39 % of base) : System.Data.Common.dasm - System.Data.Common.Int64Storage:ConvertObjectToXml(System.Object):System.String:this (FullOpts)
         176 (122.22 % of base) : System.Net.Http.dasm - System.Net.Http.GlobalHttpSettings+SocketsHttpHandler:GetMaxHttp2StreamWindowSize():int (FullOpts)
         332 (120.73 % of base) : System.Data.Common.dasm - System.Data.ExceptionBuilder:RangeArgument(int,int):System.Exception (FullOpts)
         245 (120.69 % of base) : System.Data.Common.dasm - System.Data.Common.DataStorage:ImplementsInterfaces(int,System.Type,byref,byref,byref,byref,byref) (FullOpts)
         172 (120.28 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:UpdateMismatchRowTable(int):System.ArgumentException (FullOpts)
         171 (117.93 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.Helpers:FormatObjectHash(System.Object):System.String (FullOpts)
         172 (117.01 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:InvalidDataLength(long):System.Exception (FullOpts)
         172 (117.01 % of base) : System.Data.Common.dasm - System.Data.Common.ADP:InvalidDataLength(long):System.Exception (FullOpts)
         177 (116.45 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XPathConvert:StringToDouble(System.String):double (FullOpts)
         181 (114.56 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HeaderUtilities:TryParseInt32(System.String,int,int,byref):ubyte (FullOpts)
         353 (113.87 % of base) : System.Data.Odbc.dasm - System.Data.Common.ADP:NonSeqByteAccess(long,long,System.String):System.Exception (FullOpts)
         181 (113.84 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.HeaderUtilities:TryParseInt64(System.String,int,int,byref):ubyte (FullOpts)
         176 (113.55 % of base) : System.Net.Http.dasm - System.Net.Http.GlobalHttpSettings+SocketsHttpHandler:GetHttp2StreamWindowScaleThresholdMultiplier():double (FullOpts)
         181 (113.13 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.ContentDispositionHeaderValue:get_Size():System.Nullable`1[long]:this (FullOpts)
         172 (110.97 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.StringParsingHelpers:ParseUInt64AndClampToInt64(System.ReadOnlySpan`1[ushort]):long (FullOpts)
         185 (108.19 % of base) : System.Net.Http.dasm - System.Net.Http.RuntimeSettingParser:ParseInt32EnvironmentVariableValue(System.String,int):int (FullOpts)
         180 (107.14 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet`1[System.Numerics.Vector`1[float]]:.ctor(System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):this (FullOpts)
         154 (106.21 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.StringParsingHelpers:ParseIPv4HexString(System.ReadOnlySpan`1[ushort]):System.Net.IPAddress (FullOpts)
         124 (105.98 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslCrlCache:GetCachedCrlPath(System.String,ubyte):System.String (FullOpts)
         184 (103.95 % of base) : System.Net.Http.dasm - System.Net.Http.RuntimeSettingParser:ParseDoubleEnvironmentVariableValue(System.String,double):double (FullOpts)
         176 (102.92 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo+StringSerializer:GetNextInt32Value():int:this (FullOpts)
         195 (100.52 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.InfiniteIntConverter:ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type):System.Object:this (FullOpts)
         174 (99.43 % of base) : System.CodeDom.dasm - Microsoft.CSharp.CSharpCodeGenerator:GenerateDecimalValue(System.Decimal):this (FullOpts)
         169 (98.26 % of base) : System.Data.Common.dasm - System.Data.Common.BigIntegerStorage:ConvertObjectToXml(System.Object):System.String:this (FullOpts)
         174 (97.75 % of base) : System.Net.Http.dasm - System.Net.Http.Headers.CacheControlHeaderValue:TrySetTimeSpan(System.String,byref):ubyte (FullOpts)
         189 (96.43 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.Numerics.Vector`1[float],System.Nullable`1[int]]],System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.Numerics.Vector`1[float],System.Nullable`1[int]],int):this (FullOpts)
          46 (95.83 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlBaseConverter:StringToBase64Binary(System.String):ubyte[] (FullOpts)
         173 (95.58 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.FormattingHelpers:TryFormat[double](double,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):ubyte (FullOpts)
         173 (95.05 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(double,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):ubyte (FullOpts)
         173 (95.05 % of base) : System.Private.CoreLib.dasm - System.Buffers.Text.Utf8Formatter:TryFormat(float,System.Span`1[ubyte],byref,System.Buffers.StandardFormat):ubyte (FullOpts)

Top method improvements (percentages):
         -17 (-20.48 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.DotNetReferenceAssembliesPathResolver:Resolve():System.String (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[double]():System.Collections.Immutable.ImmutableHashSet`1+Builder[double] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[int]():System.Collections.Immutable.ImmutableHashSet`1+Builder[int] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[long]():System.Collections.Immutable.ImmutableHashSet`1+Builder[long] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[short]():System.Collections.Immutable.ImmutableHashSet`1+Builder[short] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[System.Nullable`1[int]]():System.Collections.Immutable.ImmutableHashSet`1+Builder[System.Nullable`1[int]] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[System.Numerics.Vector`1[float]]():System.Collections.Immutable.ImmutableHashSet`1+Builder[System.Numerics.Vector`1[float]] (FullOpts)
         -12 (-18.75 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableHashSet:CreateBuilder[ubyte]():System.Collections.Immutable.ImmutableHashSet`1+Builder[ubyte] (FullOpts)
         -12 (-18.18 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.WeakHashtable:.ctor():this (FullOpts)
         -13 (-17.81 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableStack:Create[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableStack`1[System.Numerics.Vector`1[float]] (FullOpts)
         -14 (-16.87 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.XmlJsonWriter+JsonNodeWriter:.ctor():this (FullOpts)
         -14 (-16.87 % of base) : System.Private.DataContractSerialization.dasm - System.Xml.XmlUTF8NodeWriter:.ctor():this (FullOpts)
         -12 (-14.46 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.TypeDescriptor+<>c:<get_AssociationTable>b__27_0():System.ComponentModel.WeakHashtable:this (FullOpts)
         -15 (-14.42 % of base) : System.Collections.Specialized.dasm - System.Collections.Specialized.HybridDictionary:get_List():System.Collections.Specialized.ListDictionary:this (FullOpts)
         -18 (-12.86 % of base) : System.Net.WebClient.dasm - System.Net.WebClient:UrlEncode(System.String):System.String (FullOpts)
         -18 (-12.86 % of base) : System.Web.HttpUtility.dasm - System.Web.HttpUtility:UrlEncode(System.String):System.String (FullOpts)
         -12 (-12.12 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:.ctor():this (FullOpts)
         -18 (-11.69 % of base) : System.Text.Json.dasm - System.Text.Json.Schema.JsonSchema:EnsureMutable(byref) (FullOpts)
         -12 (-11.01 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.CompositionElement:.ctor(System.Object):this (FullOpts)
         -91 (-10.92 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[double,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[int,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[long,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[short,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[System.Numerics.Vector`1[float],System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableDictionary`2+Comparers[ubyte,System.Nullable`1[int]]:.cctor() (FullOpts)
         -12 (-10.81 % of base) : System.Private.CoreLib.dasm - System.IO.File:CreateText(System.String):System.IO.StreamWriter (FullOpts)
        -123 (-10.78 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonXmlDataContract:WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.RuntimeTypeHandle):this (FullOpts)
         -18 (-10.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.NewLateBinding:FallbackSetComplex(System.Object,System.String,System.Object[],ubyte,ubyte) (FullOpts)
         -18 (-10.78 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Primitives.CompositionElementExtensions:ToElementCore(System.Object):System.ComponentModel.Composition.Primitives.ICompositionElement (FullOpts)
         -18 (-10.71 % of base) : System.Net.Mail.dasm - System.Net.Mail.SendMailAsyncResult:SendMailFrom():this (FullOpts)
         -12 (-10.53 % of base) : System.Private.CoreLib.dasm - System.IO.File:AppendText(System.String):System.IO.StreamWriter (FullOpts)
         -18 (-10.47 % of base) : System.Net.Mail.dasm - System.Net.Mail.SmtpConnection+ConnectAndHandshakeAsyncResult:SendHello():ubyte:this (FullOpts)
          -7 (-10.45 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.BMPEncoding:.ctor():this (FullOpts)
          -7 (-10.45 % of base) : System.Formats.Asn1.dasm - System.Formats.Asn1.SpanBasedEncoding:.ctor():this (FullOpts)
        -157 (-10.14 % of base) : System.Net.HttpListener.dasm - System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
         -16 (-10.00 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CompilerParameters:get_TempFiles():System.CodeDom.Compiler.TempFileCollection:this (FullOpts)
         -12 (-9.92 % of base) : System.Private.CoreLib.dasm - System.IO.FileInfo:CreateText():System.IO.StreamWriter:this (FullOpts)
         -13 (-9.77 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[int]:CreateLeaf(int):System.Collections.Immutable.ImmutableList`1+Node[int] (FullOpts)
         -13 (-9.77 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[ubyte]:CreateLeaf(ubyte):System.Collections.Immutable.ImmutableList`1+Node[ubyte] (FullOpts)
         -13 (-9.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[long]:CreateLeaf(long):System.Collections.Immutable.ImmutableList`1+Node[long] (FullOpts)
         -13 (-9.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[short]:CreateLeaf(short):System.Collections.Immutable.ImmutableList`1+Node[short] (FullOpts)
         -13 (-9.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]]:CreateLeaf(System.Nullable`1[int]):System.Collections.Immutable.ImmutableList`1+Node[System.Nullable`1[int]] (FullOpts)
         -12 (-9.68 % of base) : System.Private.CoreLib.dasm - System.IO.FileInfo:AppendText():System.IO.StreamWriter:this (FullOpts)
         -12 (-9.23 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:.ctor(System.String):this (FullOpts)
         -12 (-8.70 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:CreateLeaf(System.Numerics.Vector`1[float]):System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]] (FullOpts)
         -12 (-8.39 % of base) : System.Private.CoreLib.dasm - System.CodeDom.Compiler.IndentedTextWriter:.ctor(System.IO.TextWriter,System.String):this (FullOpts)
         -18 (-8.18 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteTypeInfo(System.Runtime.Serialization.XmlWriterDelegator,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString):this (FullOpts)
         -12 (-8.16 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:HlAddChild(System.String,System.Configuration.BaseConfigurationRecord):this (FullOpts)
         -12 (-8.05 % of base) : System.Runtime.Caching.dasm - System.Runtime.Caching.FileChangeNotificationSystem:.ctor():this (FullOpts)
         -12 (-8.00 % of base) : System.Net.Mail.dasm - System.Net.Mime.ContentDisposition:get_Parameters():System.Collections.Specialized.StringDictionary:this (FullOpts)
        -204 (-7.86 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationErrorsException:GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext):this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.AsmxCharDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.AsmxGuidDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.BooleanDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ByteArrayDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CharDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DateDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DateTimeDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DecimalDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.DoubleDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ENTITIESDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ENTITYDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.FloatDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GDayDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GMonthDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GMonthDayDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GuidDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GYearDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GYearMonthDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.HexBinaryDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IDDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IDREFDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IDREFSDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IntDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.IntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.LanguageDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.LongDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NameDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NCNameDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NegativeIntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NMTOKENDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NMTOKENSDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NonNegativeIntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NonPositiveIntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.NormalizedStringDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ObjectDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.PositiveIntegerDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.QNameDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ShortDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.SignedByteDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.StringDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.TimeDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.TimeSpanDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.TokenDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UnsignedByteDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UnsignedIntDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UnsignedLongDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UnsignedShortDataContract:.ctor():this (FullOpts)
         -14 (-7.49 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.UriDataContract:.ctor():this (FullOpts)

2102 total methods with Code Size differences (943 improved, 1159 regressed), 230436 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 1, 2024

Top method regressions

468 (29.98 % of base) - System.Net.FtpControlStream:QueueOrCreateDataConection(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,byref):int:this
 ; Assembly listing for method System.Net.FtpControlStream:QueueOrCreateDataConection(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,byref):int:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 20 single block inlinees; 8 inlinees without PGO data
+; 0 inlinees with PGO data; 36 single block inlinees; 18 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 28, 15   )     ref  ->  rbx         this class-hnd single-def <System.Net.FtpControlStream>
-;  V01 arg1         [V01,T03] (  3,  2.50)     ref  ->  rsi         class-hnd single-def <System.Net.CommandStream+PipelineEntry>
-;  V02 arg2         [V02,T01] (  6,  4   )     ref  ->  r15         class-hnd single-def <System.Net.ResponseDescription>
-;  V03 arg3         [V03,T02] (  5,  4   )   byref  ->  r14         single-def
-;* V04 loc0         [V04,T52] (  0,  0   )   ubyte  ->  zero-ref   
-;  V05 loc1         [V05,T24] (  3,  1.50)     int  ->  r13        
-;  V06 loc2         [V06,T25] (  4,  2   )     int  ->  r14        
+;  V01 arg1         [V01,T07] (  3,  2.50)     ref  ->  rsi         class-hnd single-def <System.Net.CommandStream+PipelineEntry>
+;  V02 arg2         [V02,T03] (  6,  4   )     ref  ->  r15         class-hnd single-def <System.Net.ResponseDescription>
+;  V03 arg3         [V03,T04] (  5,  4   )   byref  ->  r14         single-def
+;* V04 loc0         [V04,T60] (  0,  0   )   ubyte  ->  zero-ref   
+;  V05 loc1         [V05,T34] (  3,  1.50)     int  ->  r13        
+;  V06 loc2         [V06,T35] (  4,  2   )     int  ->  r14        
 ;* V07 loc3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Net.IPEndPoint>
-;  V08 loc4         [V08,T38] (  3,  1.50)     ref  ->  r15         class-hnd single-def <System.Net.IPEndPoint>
-;  V09 loc5         [V09,T49] (  3,  0.50)     ref  ->  [rbp-0x30]  class-hnd EH-live single-def <System.Net.Sockets.Socket>
+;  V08 loc4         [V08,T44] (  3,  1.50)     ref  ->  r15         class-hnd single-def <System.Net.IPEndPoint>
+;  V09 loc5         [V09,T57] (  3,  0.50)     ref  ->  [rbp-0x30]  class-hnd EH-live single-def <System.Net.Sockets.Socket>
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "non-inline candidate call" <System.Net.IPAddress>
-;  V12 tmp2         [V12,T56] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Net.WebException>
-;  V13 tmp3         [V13,T04] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
-;  V14 tmp4         [V14,T10] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
+;  V12 tmp2         [V12,T64] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Net.WebException>
+;  V13 tmp3         [V13,T08] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
+;  V14 tmp4         [V14,T18] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
 ;* V15 tmp5         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.ObjectDisposedException>
-;  V16 tmp6         [V16,T11] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
-;  V17 tmp7         [V17,T26] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "impImportAndPushBox" <System.String>
+;  V16 tmp6         [V16,T19] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
+;  V17 tmp7         [V17,T36] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "impImportAndPushBox" <System.String>
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;  V19 tmp9         [V19,T08] (  5,  3   )     ref  ->  rax         single-def "spilling varStr"
+;  V19 tmp9         [V19,T16] (  5,  3   )     ref  ->  rax         single-def "spilling varStr"
 ;* V20 tmp10        [V20    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V21 tmp11        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;  V22 tmp12        [V22,T09] (  5,  3   )     ref  ->  rax         single-def "spilling varStr"
+;  V22 tmp12        [V22,T17] (  5,  3   )     ref  ->  rax         single-def "spilling varStr"
 ;* V23 tmp13        [V23    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;* V24 tmp14        [V24,T53] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp14        [V24,T61] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp15        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;  V26 tmp16        [V26,T20] (  4,  2.75)     ref  ->  rdi         single-def "spilling varStr"
+;  V26 tmp16        [V26,T30] (  4,  2.75)     ref  ->  rdi         single-def "spilling varStr"
 ;* V27 tmp17        [V27    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V28 tmp18        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.Sockets.NetworkStream>
 ;* V29 tmp19        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.Sockets.NetworkStream>
-;  V30 tmp20        [V30,T27] (  2,  2   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Net.IPEndPoint>
-;  V31 tmp21        [V31,T12] (  3,  3   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Net.IPAddress>
+;  V30 tmp20        [V30,T37] (  2,  2   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Net.IPEndPoint>
+;  V31 tmp21        [V31,T20] (  3,  3   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Net.IPAddress>
 ;* V32 tmp22        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.ArgumentOutOfRangeException>
 ;* V33 tmp23        [V33    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V34 tmp24        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;  V35 tmp25        [V35,T13] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-;  V36 tmp26        [V36,T28] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "non-inline candidate call" <System.String>
+;  V35 tmp25        [V35,T21] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+;  V36 tmp26        [V36,T38] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "non-inline candidate call" <System.String>
 ;* V37 tmp27        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.String>
-;  V38 tmp28        [V38,T43] (  2,  1   )     ref  ->  rdi         single-def
-;* V39 tmp29        [V39,T54] (  0,  0   )     int  ->  zero-ref   
-;  V40 tmp30        [V40,T44] (  2,  1   )     ref  ->  rdx         single-def
-;* V41 tmp31        [V41,T50] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V42 tmp32        [V42,T29] (  2,  2   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V43 tmp33        [V43,T14] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
-;  V44 tmp34        [V44,T30] (  2,  2   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.AsyncCallback>
-;  V45 tmp35        [V45,T15] (  3,  3   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
-;  V46 tmp36        [V46,T31] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult>
-;* V47 tmp37        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;  V48 tmp38        [V48,T16] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-;  V49 tmp39        [V49,T32] (  2,  2   )     ref  ->  r15         class-hnd exact single-def "non-inline candidate call" <System.String>
-;* V50 tmp40        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.String>
-;  V51 tmp41        [V51,T45] (  2,  1   )     ref  ->  rdi         single-def
-;* V52 tmp42        [V52,T55] (  0,  0   )     int  ->  zero-ref   
-;  V53 tmp43        [V53,T46] (  2,  1   )     ref  ->  rdx         single-def
-;* V54 tmp44        [V54,T51] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V55 tmp45        [V55,T33] (  2,  2   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V56 tmp46        [V56,T17] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
-;  V57 tmp47        [V57,T34] (  2,  2   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.AsyncCallback>
-;  V58 tmp48        [V58,T18] (  3,  3   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Net.Sockets.Socket]>
-;  V59 tmp49        [V59,T35] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult>
-;* V60 tmp50        [V60    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.IPEndPoint>
-;  V61 tmp51        [V61,T21] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
-;  V62 tmp52        [V62,T36] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V63 tmp53        [V63,T22] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
-;  V64 tmp54        [V64,T19] (  3,  3   )     ref  ->  r15         single-def "argument with side effect"
-;  V65 tmp55        [V65,T37] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V66 tmp56        [V66,T57] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;* V67 tmp57        [V67    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V68 PSPSym       [V68,T47] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V69 cse0         [V69,T07] (  6,  3   )     ref  ->  r13         multi-def "CSE #17: moderate"
-;  V70 cse1         [V70,T48] (  5,  0.62)    long  ->  rax         multi-def "CSE #06: conservative"
-;  V71 cse2         [V71,T23] (  4,  2   )     ref  ->  rdi         "CSE #01: conservative"
-;  V72 cse3         [V72,T40] (  3,  1.50)     int  ->  rcx         "CSE #07: conservative"
-;  V73 cse4         [V73,T39] (  3,  1.50)     ref  ->  r15         "CSE #12: conservative"
-;  V74 rat0         [V74,T05] (  5,  3.75)     ref  ->  r15         "replacement local"
-;  V75 rat1         [V75,T41] (  3,  1.25)    long  ->  rdi         "CSE for expectedClsNode"
-;  V76 rat2         [V76,T06] (  5,  3.75)     ref  ->  rcx         "replacement local"
-;  V77 rat3         [V77,T42] (  3,  1.25)    long  ->  rdi         "CSE for expectedClsNode"
+;  V38 tmp28        [V38,T49] (  2,  1   )     ref  ->  rdi         single-def
+;* V39 tmp29        [V39,T62] (  0,  0   )     int  ->  zero-ref   
+;  V40 tmp30        [V40,T50] (  2,  1   )     ref  ->  rdx         single-def
+;* V41 tmp31        [V41,T58] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V42 tmp32        [V42,T39] (  2,  2   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V43 tmp33        [V43,T22] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
+;  V44 tmp34        [V44,T09] (  4,  4   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;  V45 tmp35        [V45,T01] (  8,  8   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult>
+;* V46 tmp36        [V46    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V47 tmp37        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+;  V48 tmp38        [V48,T05] (  5,  5   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Action>
+;* V49 tmp39        [V49    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V50 tmp40        [V50,T10] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V51 tmp41        [V51    ] (  0,  0   )     ref  ->  zero-ref   
+;* V52 tmp42        [V52    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;* V53 tmp43        [V53    ] (  0,  0   )     int  ->  zero-ref   
+;* V54 tmp44        [V54    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V55 tmp45        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+;  V56 tmp46        [V56,T23] (  3,  3   )     ref  ->  r15         class-hnd "Inlining Arg" <System.Action>
+;* V57 tmp47        [V57    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V58 tmp48        [V58,T53] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;* V59 tmp49        [V59    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
+;* V60 tmp50        [V60    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
+;  V61 tmp51        [V61,T24] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+;  V62 tmp52        [V62,T40] (  2,  2   )     ref  ->  r15         class-hnd exact single-def "non-inline candidate call" <System.String>
+;* V63 tmp53        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "dup spill" <System.String>
+;  V64 tmp54        [V64,T51] (  2,  1   )     ref  ->  rdi         single-def
+;* V65 tmp55        [V65,T63] (  0,  0   )     int  ->  zero-ref   
+;  V66 tmp56        [V66,T52] (  2,  1   )     ref  ->  rdx         single-def
+;* V67 tmp57        [V67,T59] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V68 tmp58        [V68,T41] (  2,  2   )     ref  ->   r8         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V69 tmp59        [V69,T25] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
+;  V70 tmp60        [V70,T11] (  4,  4   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Net.Sockets.Socket]>
+;  V71 tmp61        [V71,T02] (  8,  8   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult>
+;* V72 tmp62        [V72    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V73 tmp63        [V73    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+;  V74 tmp64        [V74,T06] (  5,  5   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Action>
+;* V75 tmp65        [V75    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;  V76 tmp66        [V76,T12] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V77 tmp67        [V77    ] (  0,  0   )     ref  ->  zero-ref   
+;* V78 tmp68        [V78    ] (  0,  0   )     ref  ->  zero-ref    single-def
+;* V79 tmp69        [V79    ] (  0,  0   )     int  ->  zero-ref   
+;* V80 tmp70        [V80    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V81 tmp71        [V81    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+;  V82 tmp72        [V82,T26] (  3,  3   )     ref  ->  r15         class-hnd "Inlining Arg" <System.Action>
+;* V83 tmp73        [V83    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V84 tmp74        [V84,T54] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;* V85 tmp75        [V85    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
+;* V86 tmp76        [V86    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.IPEndPoint>
+;* V87 tmp77        [V87    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V47.m_task (fldOffset=0x0)" P-INDEP
+;* V88 tmp78        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V47.m_options (fldOffset=0x8)" P-INDEP
+;* V89 tmp79        [V89    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V55.m_task (fldOffset=0x0)" P-INDEP
+;* V90 tmp80        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V55.m_options (fldOffset=0x8)" P-INDEP
+;* V91 tmp81        [V91    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V73.m_task (fldOffset=0x0)" P-INDEP
+;* V92 tmp82        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V73.m_options (fldOffset=0x8)" P-INDEP
+;* V93 tmp83        [V93    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V81.m_task (fldOffset=0x0)" P-INDEP
+;* V94 tmp84        [V94    ] (  0,  0   )     int  ->  zero-ref    "field V81.m_options (fldOffset=0x8)" P-INDEP
+;  V95 tmp85        [V95,T31] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
+;  V96 tmp86        [V96,T42] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
+;  V97 tmp87        [V97,T32] (  3,  2.25)     ref  ->  rax         single-def "argument with side effect"
+;  V98 tmp88        [V98,T27] (  3,  3   )     ref  ->  r15         single-def "argument with side effect"
+;  V99 tmp89        [V99,T43] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
+;  V100 tmp90       [V100,T65] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;* V101 tmp91       [V101    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
+;  V102 PSPSym      [V102,T55] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V103 cse0        [V103,T15] (  6,  3   )     ref  ->  r13         multi-def "CSE #17: moderate"
+;  V104 cse1        [V104,T56] (  5,  0.62)    long  ->  rax         multi-def "CSE #06: conservative"
+;  V105 cse2        [V105,T33] (  4,  2   )     ref  ->  rdi         "CSE #01: conservative"
+;  V106 cse3        [V106,T46] (  3,  1.50)     int  ->  rcx         "CSE #07: conservative"
+;  V107 cse4        [V107,T45] (  3,  1.50)     ref  ->  r15         "CSE #12: conservative"
+;  V108 rat0        [V108,T13] (  5,  3.75)     ref  ->  r15         "replacement local"
+;  V109 rat1        [V109,T47] (  3,  1.25)    long  ->  rdi         "CSE for expectedClsNode"
+;  V110 rat2        [V110,T14] (  5,  3.75)     ref  ->  rcx         "replacement local"
+;  V111 rat3        [V111,T48] (  3,  1.25)    long  ->  rdi         "CSE for expectedClsNode"
+;  V112 rat4        [V112,T28] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V113 rat5        [V113,T29] (  3,  3   )     ref  ->  rax         "delegate invoke call"
 ;
 ; Lcl frame size = 24
 
 G_M46174_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        lea      rbp, [rsp+0x40]
        mov      qword ptr [rbp-0x40], rsp
        mov      rbx, rdi
        mov      r15, rdx
        mov      r14, rcx
 						;; size=32 bbWeight=1 PerfScore 8.50
 G_M46174_IG02:
        mov      byte  ptr [r14], 0
        cmp      byte  ptr [rbx+0x61], 0
-       jne      G_M46174_IG35
+       jne      G_M46174_IG43
 						;; size=14 bbWeight=1 PerfScore 5.00
 G_M46174_IG03:
        mov      byte  ptr [rbx+0x61], 1
        mov      rdi, gword ptr [rsi+0x08]
        mov      rax, rdi
        test     rax, rax
        je       SHORT G_M46174_IG06
 						;; size=16 bbWeight=0.50 PerfScore 2.25
 G_M46174_IG04:
        cmp      dword ptr [rax+0x08], 6
        jne      SHORT G_M46174_IG06
 						;; size=6 bbWeight=0.25 PerfScore 1.00
 G_M46174_IG05:
        mov      rcx, 0xD1FFAB1E
        xor      rcx, qword ptr [rax+0x0C]
        mov      eax, dword ptr [rax+0x14]
        xor      eax, 0xD1FFAB1E
        or       rcx, rax
        je       SHORT G_M46174_IG09
 						;; size=27 bbWeight=0.12 PerfScore 0.84
 G_M46174_IG06:
        mov      rax, rdi
        test     rax, rax
        je       G_M46174_IG22
 						;; size=12 bbWeight=0.50 PerfScore 0.75
 G_M46174_IG07:
        cmp      dword ptr [rax+0x08], 6
        jne      G_M46174_IG22
 						;; size=10 bbWeight=0.25 PerfScore 1.00
 G_M46174_IG08:
        mov      rcx, 0xD1FFAB1E
        xor      rcx, qword ptr [rax+0x0C]
        mov      eax, dword ptr [rax+0x14]
        xor      eax, 0xD1FFAB1E
        or       rcx, rax
        jne      G_M46174_IG22
 						;; size=31 bbWeight=0.12 PerfScore 0.84
 G_M46174_IG09:
        mov      ecx, dword ptr [r15+0x20]
        cmp      ecx, 200
        jge      SHORT G_M46174_IG12
 						;; size=12 bbWeight=0.50 PerfScore 1.62
 G_M46174_IG10:
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; 'net_ftp_server_failed_passive'
        mov      rax, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String):System.String
        call     [rax]System.SR:GetResourceString(System.String):System.String
        mov      rdi, rax
        mov      esi, dword ptr [r15+0x20]
        mov      dword ptr [r14+0x08], esi
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.SR:Format(System.String,System.Object):System.String
        call     [rax]System.SR:Format(System.String,System.Object):System.String
        lea      rdi, bword ptr [rbx+0x38]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        xor      eax, eax
 						;; size=80 bbWeight=0.50 PerfScore 6.88
 G_M46174_IG11:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M46174_IG12:
        cmp      ecx, 299
        jg       SHORT G_M46174_IG10
        test     rdi, rdi
        je       SHORT G_M46174_IG15
 						;; size=13 bbWeight=0.50 PerfScore 1.25
 G_M46174_IG13:
        cmp      dword ptr [rdi+0x08], 6
        jne      SHORT G_M46174_IG15
 						;; size=6 bbWeight=0.25 PerfScore 1.00
 G_M46174_IG14:
        mov      rcx, 0xD1FFAB1E
        xor      rcx, qword ptr [rdi+0x0C]
        or       rax, rcx
        je       SHORT G_M46174_IG16
 						;; size=19 bbWeight=0.12 PerfScore 0.56
 G_M46174_IG15:
        mov      rdi, gword ptr [r15+0x08]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.FtpControlStream:GetPortV6(System.String):int
        call     [rax]System.Net.FtpControlStream:GetPortV6(System.String):int
        mov      r13d, eax
        jmp      SHORT G_M46174_IG17
 						;; size=21 bbWeight=0.50 PerfScore 3.75
 G_M46174_IG16:
        mov      rdi, gword ptr [r15+0x08]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.FtpControlStream:GetPortV4(System.String):int
        call     [rax]System.Net.FtpControlStream:GetPortV4(System.String):int
        mov      r13d, eax
 						;; size=19 bbWeight=0.50 PerfScore 2.75
 G_M46174_IG17:
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.FtpControlStream:CreateFtpDataSocket(System.Net.Sockets.Socket):System.Net.Sockets.Socket
        call     [rax]System.Net.FtpControlStream:CreateFtpDataSocket(System.Net.Sockets.Socket):System.Net.Sockets.Socket
        lea      rdi, bword ptr [rbx+0x68]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        nop      
 						;; size=33 bbWeight=0.50 PerfScore 4.62
 G_M46174_IG18:
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:get_LocalEndPoint():System.Net.EndPoint:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Sockets.Socket:get_LocalEndPoint():System.Net.EndPoint:this
        mov      r15, rax
        test     r15, r15
        je       SHORT G_M46174_IG21
 						;; size=30 bbWeight=0.50 PerfScore 5.88
 G_M46174_IG19:
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPEndPoint
        cmp      qword ptr [r15], rdi
        je       SHORT G_M46174_IG21
 						;; size=15 bbWeight=0.25 PerfScore 1.06
 G_M46174_IG20:
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      r15, rax
 						;; size=18 bbWeight=0.12 PerfScore 0.47
 G_M46174_IG21:
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPEndPoint
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rsi, gword ptr [r15+0x08]
        test     rsi, rsi
-       je       G_M46174_IG46
+       je       G_M46174_IG56
        xor      edi, edi
        mov      dword ptr [r12+0x10], edi
        lea      rdi, bword ptr [r12+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, gword ptr [rbx+0x68]
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Bind(System.Net.EndPoint):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Sockets.Socket:Bind(System.Net.EndPoint):this
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPEndPoint
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkStreamWrapper:get_ServerAddress():System.Net.IPAddress:this
        call     [rax]System.Net.NetworkStreamWrapper:get_ServerAddress():System.Net.IPAddress:this
        mov      rsi, rax
        mov      rdi, r15
        mov      edx, r13d
        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
        call     [rax]System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
        lea      rdi, bword ptr [rbx+0x78]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
 						;; size=135 bbWeight=0.50 PerfScore 13.38
 G_M46174_IG22:
        mov      r15, gword ptr [rbx+0x78]
        test     r15, r15
-       jne      G_M46174_IG27
+       jne      G_M46174_IG31
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M46174_IG43
+       je       G_M46174_IG51
 						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M46174_IG23:
        mov      rdi, 0xD1FFAB1E      ; data for System.Net.NetEventSource:Log
        mov      r13, gword ptr [rdi]
        cmp      byte  ptr [r13+0x9D], 0
        je       SHORT G_M46174_IG24
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
        call     [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; 'starting Accept()'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:Format(System.Object):System.String
        call     [rax]System.Net.NetEventSource:Format(System.Object):System.String
        mov      r8, rax
        cmp      byte  ptr [r13], r13b
        mov      rdi, r13
        mov      rdx, r15
        mov      esi, 1
        mov      rcx, 0xD1FFAB1E      ; 'QueueOrCreateDataConection'
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
 						;; size=103 bbWeight=0.50 PerfScore 10.50
 G_M46174_IG24:
        cmp      byte  ptr [rbx+0x5D], 0
        je       SHORT G_M46174_IG25
        mov      rdi, gword ptr [rbx+0x68]
-       mov      rax, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [rax]
        cmp      byte  ptr [rdi], dil
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:AcceptAsync():System.Threading.Tasks.Task`1[System.Net.Sockets.Socket]:this
        call     [rax]System.Net.Sockets.Socket:AcceptAsync():System.Threading.Tasks.Task`1[System.Net.Sockets.Socket]:this
-       mov      r15, rax
-       test     r15, r15
+       mov      r14, rax
+       test     r14, r14
        jne      SHORT G_M46174_IG26
-       jmp      G_M46174_IG45
-						;; size=51 bbWeight=0.50 PerfScore 9.00
+       jmp      G_M46174_IG55
+						;; size=38 bbWeight=0.50 PerfScore 7.88
 G_M46174_IG25:
        mov      rdi, gword ptr [rbx+0x68]
        mov      gword ptr [rbp-0x30], rdi
-       jmp      G_M46174_IG37
+       jmp      G_M46174_IG45
 						;; size=13 bbWeight=0.50 PerfScore 2.50
 G_M46174_IG26:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult
        call     CORINFO_HELP_NEWSFAST
-       mov      rdi, rax
+       mov      r15, rax
+       lea      rdi, bword ptr [r15+0x08]
+       mov      rsi, r14
+       call     CORINFO_HELP_ASSIGN_REF
+       lea      rdi, bword ptr [r15+0x18]
+       mov      rsi, rbx
+       call     CORINFO_HELP_ASSIGN_REF
+       test     dword ptr [r14+0x34], 0xD1FFAB1E
+       jne      G_M46174_IG30
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rdi]
+       lea      rdi, bword ptr [r15+0x10]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rbx, gword ptr [r15+0x08]
+       cmp      byte  ptr [rbx], bl
+       mov      rdi, 0xD1FFAB1E      ; System.Action
+       call     CORINFO_HELP_NEWSFAST
+       mov      r14, rax
+       lea      rdi, bword ptr [r14+0x08]
        mov      rsi, r15
-       mov      rdx, rbx
-       mov      rcx, r14
-       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:.ctor(System.Threading.Tasks.Task,System.Object,System.AsyncCallback):this
-       call     [rax]System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:.ctor(System.Threading.Tasks.Task,System.Object,System.AsyncCallback):this
-       jmp      G_M46174_IG32
-						;; size=44 bbWeight=0.50 PerfScore 3.75
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rdi, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:<.ctor>b__2_0():this
+       mov      qword ptr [r14+0x18], rdi
+       mov      r15, r14
+       mov      rdi, 0xD1FFAB1E      ; global ptr
+       test     byte  ptr [rdi], 1
+       je       G_M46174_IG52
+						;; size=150 bbWeight=0.50 PerfScore 13.38
 G_M46174_IG27:
+       mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.TplEventSource:Log
+       mov      rdi, gword ptr [rdi]
+       cmp      byte  ptr [rdi+0x9D], 0
+       jne      SHORT G_M46174_IG28
+       mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.Task:s_asyncDebuggingEnabled
+       cmp      byte  ptr [rdi], 0
+       je       SHORT G_M46174_IG29
+						;; size=37 bbWeight=0.50 PerfScore 5.25
+G_M46174_IG28:
+       mov      rdi, rbx
+       mov      rsi, r14
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action
+       call     [rax]System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action
+       mov      r15, rax
+						;; size=21 bbWeight=0.50 PerfScore 2.00
+G_M46174_IG29:
+       mov      rdi, rbx
+       mov      rsi, r15
+       xor      edx, edx
+       mov      ecx, 1
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:SetContinuationForAwait(System.Action,ubyte,ubyte):this
+       call     [rax]System.Threading.Tasks.Task:SetContinuationForAwait(System.Action,ubyte,ubyte):this
+       jmp      G_M46174_IG40
+						;; size=30 bbWeight=0.50 PerfScore 3.12
+G_M46174_IG30:
+       mov      byte  ptr [r15+0x20], 1
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rax, gword ptr [rsi]
+       mov      rsi, r15
+       mov      rdi, gword ptr [rax+0x08]
+       call     [rax+0x18]System.AsyncCallback:Invoke(System.IAsyncResult):this
+       jmp      G_M46174_IG40
+						;; size=33 bbWeight=0.50 PerfScore 5.25
+G_M46174_IG31:
        xor      rdi, rdi
        mov      gword ptr [rbx+0x78], rdi
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M46174_IG44
+       je       G_M46174_IG53
 						;; size=25 bbWeight=0.50 PerfScore 2.75
-G_M46174_IG28:
+G_M46174_IG32:
        mov      rdi, 0xD1FFAB1E      ; data for System.Net.NetEventSource:Log
        mov      r13, gword ptr [rdi]
        cmp      byte  ptr [r13+0x9D], 0
-       je       SHORT G_M46174_IG29
+       je       SHORT G_M46174_IG33
        mov      r14, r13
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
        call     [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
        mov      r13, rax
        mov      rdi, 0xD1FFAB1E      ; 'starting Connect()'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:Format(System.Object):System.String
        call     [rax]System.Net.NetEventSource:Format(System.Object):System.String
        mov      r8, rax
        cmp      byte  ptr [r14], r14b
        mov      rdi, r14
        mov      rdx, r13
        mov      esi, 1
        mov      rcx, 0xD1FFAB1E      ; 'QueueOrCreateDataConection'
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
 						;; size=105 bbWeight=0.50 PerfScore 10.62
-G_M46174_IG29:
+G_M46174_IG33:
        cmp      byte  ptr [rbx+0x5D], 0
-       je       SHORT G_M46174_IG30
+       je       SHORT G_M46174_IG34
        mov      rdi, gword ptr [rbx+0x68]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [rsi]
        cmp      byte  ptr [rdi], dil
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:ConnectAsync(System.Net.EndPoint):System.Threading.Tasks.Task:this
        call     [rax]System.Net.Sockets.Socket:ConnectAsync(System.Net.EndPoint):System.Threading.Tasks.Task:this
-       mov      r15, rax
-       test     r15, r15
-       jne      SHORT G_M46174_IG31
-       jmp      G_M46174_IG45
-						;; size=54 bbWeight=0.50 PerfScore 9.12
-G_M46174_IG30:
+       mov      r14, rax
+       test     r14, r14
+       jne      SHORT G_M46174_IG35
+       jmp      G_M46174_IG55
+						;; size=41 bbWeight=0.50 PerfScore 8.00
+G_M46174_IG34:
        mov      rdi, gword ptr [rbx+0x68]
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Connect(System.Net.EndPoint):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Sockets.Socket:Connect(System.Net.EndPoint):this
        mov      r14d, 1
-       jmp      SHORT G_M46174_IG33
-						;; size=29 bbWeight=0.50 PerfScore 5.38
-G_M46174_IG31:
+       jmp      G_M46174_IG41
+						;; size=32 bbWeight=0.50 PerfScore 5.38
+G_M46174_IG35:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult
        call     CORINFO_HELP_NEWSFAST
-       mov      rdi, rax
+       mov      r15, rax
+       lea      rdi, bword ptr [r15+0x08]
+       mov      rsi, r14
+       call     CORINFO_HELP_ASSIGN_REF
+       lea      rdi, bword ptr [r15+0x18]
+       mov      rsi, rbx
+       call     CORINFO_HELP_ASSIGN_REF
+       test     dword ptr [r14+0x34], 0xD1FFAB1E
+       jne      G_M46174_IG39
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rdi]
+       lea      rdi, bword ptr [r15+0x10]
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rbx, gword ptr [r15+0x08]
+       cmp      byte  ptr [rbx], bl
+       mov      rdi, 0xD1FFAB1E      ; System.Action
+       call     CORINFO_HELP_NEWSFAST
+       mov      r14, rax
+       lea      rdi, bword ptr [r14+0x08]
        mov      rsi, r15
-       mov      rdx, rbx
-       mov      rcx, r14
-       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:.ctor(System.Threading.Tasks.Task,System.Object,System.AsyncCallback):this
-       call     [rax]System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:.ctor(System.Threading.Tasks.Task,System.Object,System.AsyncCallback):this
-						;; size=39 bbWeight=0.50 PerfScore 2.75
-G_M46174_IG32:
+       call     CORINFO_HELP_ASSIGN_REF
+       mov      rdi, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:<.ctor>b__2_0():this
+       mov      qword ptr [r14+0x18], rdi
+       mov      r15, r14
+       mov      rdi, 0xD1FFAB1E      ; global ptr
+       test     byte  ptr [rdi], 1
+       je       G_M46174_IG54
+						;; size=150 bbWeight=0.50 PerfScore 13.38
+G_M46174_IG36:
+       mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.TplEventSource:Log
+       mov      rdi, gword ptr [rdi]
+       cmp      byte  ptr [rdi+0x9D], 0
+       jne      SHORT G_M46174_IG37
+       mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.Task:s_asyncDebuggingEnabled
+       cmp      byte  ptr [rdi], 0
+       je       SHORT G_M46174_IG38
+						;; size=37 bbWeight=0.50 PerfScore 5.25
+G_M46174_IG37:
+       mov      rdi, rbx
+       mov      rsi, r14
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action
+       call     [rax]System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action
+       mov      r15, rax
+						;; size=21 bbWeight=0.50 PerfScore 2.00
+G_M46174_IG38:
+       mov      rdi, rbx
+       mov      rsi, r15
+       xor      edx, edx
+       mov      ecx, 1
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:SetContinuationForAwait(System.Action,ubyte,ubyte):this
+       call     [rax]System.Threading.Tasks.Task:SetContinuationForAwait(System.Action,ubyte,ubyte):this
+       jmp      SHORT G_M46174_IG40
+						;; size=27 bbWeight=0.50 PerfScore 3.12
+G_M46174_IG39:
+       mov      byte  ptr [r15+0x20], 1
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rax, gword ptr [rsi]
+       mov      rsi, r15
+       mov      rdi, gword ptr [rax+0x08]
+       call     [rax+0x18]System.AsyncCallback:Invoke(System.IAsyncResult):this
+						;; size=28 bbWeight=0.50 PerfScore 4.25
+G_M46174_IG40:
        mov      r14d, 2
 						;; size=6 bbWeight=0.50 PerfScore 0.12
-G_M46174_IG33:
+G_M46174_IG41:
        mov      eax, r14d
 						;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M46174_IG34:
+G_M46174_IG42:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M46174_IG35:
+G_M46174_IG43:
        mov      byte  ptr [r14], 1
        mov      eax, 2
 						;; size=9 bbWeight=0.50 PerfScore 0.62
-G_M46174_IG36:
+G_M46174_IG44:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M46174_IG37:
+G_M46174_IG45:
        mov      rdi, gword ptr [rbx+0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Accept():System.Net.Sockets.Socket:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Sockets.Socket:Accept():System.Net.Sockets.Socket:this
        lea      rdi, bword ptr [rbx+0x68]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkStreamWrapper:get_ServerAddress():System.Net.IPAddress:this
        call     [rax]System.Net.NetworkStreamWrapper:get_ServerAddress():System.Net.IPAddress:this
        mov      r15, rax
        mov      rdi, gword ptr [rbx+0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:get_RemoteEndPoint():System.Net.EndPoint:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Sockets.Socket:get_RemoteEndPoint():System.Net.EndPoint:this
        mov      rcx, rax
        test     rcx, rcx
-       je       SHORT G_M46174_IG40
+       je       SHORT G_M46174_IG48
 						;; size=74 bbWeight=0.50 PerfScore 11.75
-G_M46174_IG38:
+G_M46174_IG46:
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPEndPoint
        cmp      qword ptr [rcx], rdi
-       je       SHORT G_M46174_IG40
+       je       SHORT G_M46174_IG48
 						;; size=15 bbWeight=0.25 PerfScore 1.06
-G_M46174_IG39:
+G_M46174_IG47:
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      rcx, rax
 						;; size=18 bbWeight=0.12 PerfScore 0.47
-G_M46174_IG40:
+G_M46174_IG48:
        mov      rsi, gword ptr [rcx+0x08]
        mov      rdi, r15
        mov      rax, qword ptr [r15]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x10]System.Object:Equals(System.Object):ubyte:this
        test     eax, eax
-       je       SHORT G_M46174_IG41
+       je       SHORT G_M46174_IG49
        mov      byte  ptr [r14], 1
        mov      r14d, 2
-       jmp      SHORT G_M46174_IG42
+       jmp      SHORT G_M46174_IG50
 						;; size=33 bbWeight=0.50 PerfScore 6.88
-G_M46174_IG41:
+G_M46174_IG49:
        mov      rdi, gword ptr [rbx+0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Close():this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Sockets.Socket:Close():this
        mov      rdi, 0xD1FFAB1E      ; System.Net.WebException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_ftp_active_address_different():System.String
        call     [rax]System.SR:get_net_ftp_active_address_different():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      edx, 7
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebException:.ctor(System.String,int):this
        call     [rax]System.Net.WebException:.ctor(System.String,int):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=80 bbWeight=0 PerfScore 0.00
-G_M46174_IG42:
+G_M46174_IG50:
        mov      rdi, gword ptr [rbp-0x30]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Close():this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Sockets.Socket:Close():this
-       jmp      G_M46174_IG33
+       jmp      G_M46174_IG41
 						;; size=23 bbWeight=0.50 PerfScore 4.62
-G_M46174_IG43:
+G_M46174_IG51:
        mov      rdi, 0xD1FFAB1E      ; System.Net.NetEventSource
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M46174_IG23
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M46174_IG44:
+G_M46174_IG52:
+       mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TplEventSource
+       call     CORINFO_HELP_GET_GCSTATIC_BASE
+       jmp      G_M46174_IG27
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M46174_IG53:
        mov      rdi, 0xD1FFAB1E      ; System.Net.NetEventSource
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       jmp      G_M46174_IG28
+       jmp      G_M46174_IG32
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M46174_IG45:
+G_M46174_IG54:
+       mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TplEventSource
+       call     CORINFO_HELP_GET_GCSTATIC_BASE
+       jmp      G_M46174_IG36
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M46174_IG55:
        mov      edi, 0x134F0
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
-G_M46174_IG46:
+G_M46174_IG56:
        mov      edi, 0xC15
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
-G_M46174_IG47:
+G_M46174_IG57:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
 						;; size=22 bbWeight=0 PerfScore 0.00
-G_M46174_IG48:
+G_M46174_IG58:
        mov      rax, 0xD1FFAB1E      ; code for System.Net.ExceptionHelper:get_RequestAbortedException():System.Net.WebException
        call     [rax]System.Net.ExceptionHelper:get_RequestAbortedException():System.Net.WebException
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=21 bbWeight=0 PerfScore 0.00
-G_M46174_IG49:
+G_M46174_IG59:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
 						;; size=22 bbWeight=0 PerfScore 0.00
-G_M46174_IG50:
+G_M46174_IG60:
        mov      rdi, gword ptr [rbp-0x30]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Close():this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Sockets.Socket:Close():this
        nop      
 						;; size=19 bbWeight=0 PerfScore 0.00
-G_M46174_IG51:
+G_M46174_IG61:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1561, prolog size 32, PerfScore 155.56, instruction count 374, allocated bytes for code 1561 (MethodHash=8e804ba1) for method System.Net.FtpControlStream:QueueOrCreateDataConection(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,byref):int:this (FullOpts)
+; Total bytes of code 2029, prolog size 32, PerfScore 203.81, instruction count 468, allocated bytes for code 2029 (MethodHash=8e804ba1) for method System.Net.FtpControlStream:QueueOrCreateDataConection(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,byref):int:this (FullOpts)
 ; ============================================================

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

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

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 1, 2024

Top method improvements

-157 (-10.14 % of base) - System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this
 ; Assembly listing for method System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 38 single block inlinees; 11 inlinees without PGO data
+; 0 inlinees with PGO data; 37 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 39, 23   )     ref  ->  rbx         this class-hnd single-def <System.Net.HttpListenerResponse>
-;  V01 arg1         [V01,T06] (  3,  2.50)   ubyte  ->  r13         single-def
+;  V01 arg1         [V01,T05] (  3,  2.50)   ubyte  ->  r13         single-def
 ;  V02 arg2         [V02,T02] (  7,  7   )     ref  ->  r15         class-hnd single-def <System.IO.MemoryStream>
-;  V03 arg3         [V03,T04] (  4,  4   )   ubyte  ->  r14         single-def
-;  V04 loc0         [V04,T09] (  3,  3   )     ref  ->  r13         class-hnd exact single-def <System.Text.UTF8Encoding+UTF8EncodingSealed>
-;  V05 loc1         [V05,T10] (  3,  3   )     ref  ->  rax         class-hnd single-def <ubyte[]>
+;  V03 arg3         [V03,T03] (  4,  4   )   ubyte  ->  r14         single-def
+;  V04 loc0         [V04,T08] (  3,  3   )     ref  ->  r13         class-hnd exact single-def <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V05 loc1         [V05,T09] (  3,  3   )     ref  ->  rax         class-hnd single-def <ubyte[]>
 ;* V06 loc2         [V06    ] (  0,  0   )     int  ->  zero-ref   
-;  V07 loc3         [V07,T07] (  8,  4   )   ubyte  ->  r13        
+;  V07 loc3         [V07,T06] (  8,  4   )   ubyte  ->  r13        
 ;* V08 loc4         [V08    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.DateTime>
 ;* V09 loc5         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V11 tmp1         [V11,T01] (  9, 18   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamWriter>
-;  V12 tmp2         [V12,T05] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
+;  V12 tmp2         [V12,T04] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
 ;* V13 tmp3         [V13    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ubyte]>
-;  V14 tmp4         [V14,T35] (  3,  1.50)     int  ->  rax        
-;  V15 tmp5         [V15,T11] (  3,  3   )     ref  ->  r13         class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
-;  V16 tmp6         [V16,T25] (  2,  2   )   byref  ->  rdi         single-def "impAppendStmt"
+;  V14 tmp4         [V14,T30] (  3,  1.50)     int  ->  rax        
+;  V15 tmp5         [V15,T10] (  3,  3   )     ref  ->  r13         class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
+;* V16 tmp6         [V16    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V17 tmp7         [V17    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V19 tmp9         [V19,T38] (  2,  1   )     int  ->  rdi        
-;  V20 tmp10        [V20,T12] (  3,  3   )     ref  ->  r12         class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
+;  V19 tmp9         [V19,T33] (  2,  1   )     int  ->  rdx        
+;  V20 tmp10        [V20,T11] (  3,  3   )     ref  ->  r12         class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
 ;* V21 tmp11        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
 ;* V22 tmp12        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
-;  V23 tmp13        [V23,T26] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
-;* V24 tmp14        [V24    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.DateTime>
-;* V25 tmp15        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+;* V23 tmp13        [V23    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.DateTime>
+;* V24 tmp14        [V24    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+;  V25 tmp15        [V25,T23] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "impAppendStmt" <System.Globalization.CultureInfo>
 ;* V26 tmp16        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
 ;* V27 tmp17        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
 ;* V28 tmp18        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V29 tmp19        [V29,T13] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Version>
-;  V30 tmp20        [V30,T27] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Version>
+;  V29 tmp19        [V29,T12] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Version>
+;  V30 tmp20        [V30,T24] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Version>
 ;* V31 tmp21        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerResponse>
-;  V32 tmp22        [V32,T28] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Net.HttpListenerResponse>
-;  V33 tmp23        [V33,T29] (  2,  2   )     ref  ->  rdx         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
-;  V34 tmp24        [V34,T37] (  2,  1   )     ref  ->  rdx         class-hnd single-def "Inline return value spill temp" <System.String>
-;  V35 tmp25        [V35,T33] (  2,  2   )    long  ->  rdi         "Inlining Arg"
-;* V36 tmp26        [V36    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V32 tmp22        [V32,T25] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Net.HttpListenerResponse>
+;  V33 tmp23        [V33,T32] (  2,  1   )     ref  ->  rdx         class-hnd single-def "Inline return value spill temp" <System.String>
+;  V34 tmp24        [V34,T28] (  2,  2   )    long  ->  rdi         "Inlining Arg"
+;* V35 tmp25        [V35    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V36 tmp26        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
 ;* V37 tmp27        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V38 tmp28        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V39 tmp29        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V40 tmp30        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpConnection>
-;* V41 tmp31        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V42 tmp32        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
-;* V43 tmp33        [V43    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V44 tmp34        [V44,T14] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Version>
-;  V45 tmp35        [V45,T30] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Version>
-;  V46 tmp36        [V46,T03] (  6,  6   )     ref  ->  r12         class-hnd single-def "Inlining Arg" <System.Net.WebHeaderCollection>
-;  V47 tmp37        [V47,T44] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-;* V48 tmp38        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;  V49 tmp39        [V49    ] (  2,  4   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
-;* V50 tmp40        [V50    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
-;* V51 tmp41        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Object>
-;* V52 tmp42        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "dup spill" <System.IFormatProvider>
-;* V53 tmp43        [V53    ] (  0,  0   )     ref  ->  zero-ref   
-;* V54 tmp44        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V55 tmp45        [V55    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V56 tmp46        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V57 tmp47        [V57    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;* V58 tmp48        [V58    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V59 tmp49        [V59,T39] (  2,  1   )    long  ->  rdi         "field V08._dateData (fldOffset=0x0)" P-INDEP
-;  V60 tmp50        [V60,T40] (  1,  1   )   byref  ->  rax         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V61 tmp51        [V61,T34] (  2,  2   )     int  ->  r13         "field V09._length (fldOffset=0x8)" P-INDEP
-;* V62 tmp52        [V62    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-DEP
-;* V63 tmp53        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-DEP
-;* V64 tmp54        [V64    ] (  0,  0   )    long  ->  zero-ref    "field V24._dateData (fldOffset=0x0)" P-INDEP
-;* V65 tmp55        [V65,T43] (  0,  0   )    long  ->  zero-ref    "field V25._ticks (fldOffset=0x0)" P-INDEP
-;* V66 tmp56        [V66,T41] (  0,  0   )   byref  ->  zero-ref    single-def "field V50._reference (fldOffset=0x0)" P-INDEP
-;* V67 tmp57        [V67,T42] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
-;  V68 tmp58        [V68,T15] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V69 tmp59        [V69,T16] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V70 tmp60        [V70,T17] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V71 tmp61        [V71,T31] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
-;  V72 tmp62        [V72,T18] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V73 tmp63        [V73,T19] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V74 tmp64        [V74,T20] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;  V75 tmp65        [V75,T21] (  3,  3   )     ref  ->  rsi         single-def "arr expr"
-;  V76 tmp66        [V76,T32] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V77 tmp67        [V77,T22] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
-;* V78 tmp68        [V78    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
-;  V79 tmp69        [V79,T08] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V80 tmp70        [V80,T45] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V81 cse0         [V81,T24] (  4,  2   )     int  ->  rdi         "CSE #05: moderate"
-;  V82 cse1         [V82,T36] (  3,  1.50)     int  ->  rdi         "CSE #03: conservative"
-;  V83 rat0         [V83,T23] (  3,  3.00)     int  ->  rax         "ReplaceWithLclVar is creating a new local variable"
+;* V38 tmp28        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Globalization.CultureInfo>
+;* V39 tmp29        [V39    ] (  0,  0   )     ref  ->  zero-ref   
+;* V40 tmp30        [V40    ] (  0,  0   )     ref  ->  zero-ref    "ISINST eval op1"
+;* V41 tmp31        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Globalization.NumberFormatInfo>
+;* V42 tmp32        [V42    ] (  0,  0   )     ref  ->  zero-ref   
+;* V43 tmp33        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "dup spill" <System.Globalization.NumberFormatInfo>
+;* V44 tmp34        [V44    ] (  0,  0   )     ref  ->  zero-ref   
+;* V45 tmp35        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Object>
+;* V46 tmp36        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V47 tmp37        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Globalization.NumberFormatInfo>
+;* V48 tmp38        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Globalization.NumberFormatInfo>
+;* V49 tmp39        [V49    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V50 tmp40        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V51 tmp41        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V52 tmp42        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpConnection>
+;* V53 tmp43        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V54 tmp44        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
+;* V55 tmp45        [V55    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V56 tmp46        [V56,T13] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Version>
+;  V57 tmp47        [V57,T26] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Version>
+;  V58 tmp48        [V58    ] (  2,  4   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
+;* V59 tmp49        [V59    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
+;* V60 tmp50        [V60    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Object>
+;* V61 tmp51        [V61    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "dup spill" <System.IFormatProvider>
+;* V62 tmp52        [V62    ] (  0,  0   )     ref  ->  zero-ref   
+;* V63 tmp53        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V64 tmp54        [V64    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V65 tmp55        [V65    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V66 tmp56        [V66    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
+;* V67 tmp57        [V67    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
+;  V68 tmp58        [V68,T34] (  2,  1   )    long  ->  rdi         "field V08._dateData (fldOffset=0x0)" P-INDEP
+;  V69 tmp59        [V69,T35] (  1,  1   )   byref  ->  rax         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V70 tmp60        [V70,T29] (  2,  2   )     int  ->  r13         "field V09._length (fldOffset=0x8)" P-INDEP
+;* V71 tmp61        [V71    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-DEP
+;* V72 tmp62        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-DEP
+;* V73 tmp63        [V73    ] (  0,  0   )    long  ->  zero-ref    "field V23._dateData (fldOffset=0x0)" P-INDEP
+;* V74 tmp64        [V74,T38] (  0,  0   )    long  ->  zero-ref    "field V24._ticks (fldOffset=0x0)" P-INDEP
+;* V75 tmp65        [V75,T36] (  0,  0   )   byref  ->  zero-ref    single-def "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V76 tmp66        [V76,T37] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
+;  V77 tmp67        [V77,T14] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
+;  V78 tmp68        [V78,T15] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
+;  V79 tmp69        [V79,T16] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
+;  V80 tmp70        [V80,T27] (  2,  2   )     ref  ->  rdx         single-def "argument with side effect"
+;  V81 tmp71        [V81,T17] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
+;  V82 tmp72        [V82,T18] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
+;  V83 tmp73        [V83,T19] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
+;  V84 tmp74        [V84,T20] (  3,  3   )     ref  ->  rdi         single-def "argument with side effect"
+;* V85 tmp75        [V85    ] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
+;  V86 tmp76        [V86,T07] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V87 cse0         [V87,T22] (  4,  2   )     int  ->  rdi         "CSE #05: moderate"
+;  V88 cse1         [V88,T31] (  3,  1.50)     int  ->  rdi         "CSE #03: conservative"
+;  V89 rat0         [V89,T21] (  3,  3.00)     int  ->  rax         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
 G_M40620_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      rbx, rdi
        mov      r13d, esi
        mov      r15, rdx
        mov      r14d, ecx
 						;; size=34 bbWeight=1 PerfScore 9.75
 G_M40620_IG02:
        test     r14b, r14b
-       jne      G_M40620_IG30
+       jne      G_M40620_IG28
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M40620_IG03:
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Server'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x38]System.Collections.Specialized.NameValueCollection:Get(System.String):System.String:this
        test     rax, rax
        jne      SHORT G_M40620_IG04
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Server'
        mov      rdx, 0xD1FFAB1E      ; 'Microsoft-NetCore/2.0'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=63 bbWeight=0.50 PerfScore 10.00
 G_M40620_IG04:
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Date'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x38]System.Collections.Specialized.NameValueCollection:Get(System.String):System.String:this
        test     rax, rax
        jne      SHORT G_M40620_IG05
        mov      r12, gword ptr [rbx+0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.DateTime:get_UtcNow():System.DateTime
        call     [rax]System.DateTime:get_UtcNow():System.DateTime
        mov      rdi, rax
        mov      rcx, 0xD1FFAB1E      ; const ptr
        mov      rdx, gword ptr [rcx]
        mov      rcx, 0xD1FFAB1E
        mov      rsi, 0xD1FFAB1E      ; 'r'
        mov      rax, 0xD1FFAB1E      ; code for System.DateTimeFormat:Format(System.DateTime,System.String,System.IFormatProvider,System.TimeSpan):System.String
        call     [rax]System.DateTimeFormat:Format(System.DateTime,System.String,System.IFormatProvider,System.TimeSpan):System.String
        mov      rdx, rax
        mov      rdi, r12
        mov      rsi, 0xD1FFAB1E      ; 'Date'
        mov      rax, qword ptr [r12]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=120 bbWeight=0.50 PerfScore 14.88
 G_M40620_IG05:
        cmp      dword ptr [rbx+0x50], 4
        jne      G_M40620_IG12
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x20]
        mov      r12, gword ptr [rdi+0x20]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M40620_IG33
+       je       G_M40620_IG31
 						;; size=41 bbWeight=0.50 PerfScore 7.12
 G_M40620_IG06:
        mov      rdi, 0xD1FFAB1E      ; data for System.Net.HttpVersion:Version10
        mov      rsi, gword ptr [rdi]
        test     r12, r12
        je       SHORT G_M40620_IG07
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Version:CompareTo(System.Version):int:this
        call     [rax]System.Version:CompareTo(System.Version):int:this
        test     eax, eax
        jg       SHORT G_M40620_IG08
 						;; size=37 bbWeight=0.50 PerfScore 4.12
 G_M40620_IG07:
        mov      byte  ptr [rbx+0x58], 0
        jmp      SHORT G_M40620_IG09
 						;; size=6 bbWeight=0.50 PerfScore 1.50
 G_M40620_IG08:
        mov      dword ptr [rbx+0x50], 1
 						;; size=7 bbWeight=0.50 PerfScore 0.50
 G_M40620_IG09:
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
        mov      edi, dword ptr [rax+0x54]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
        call     [rax]System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
        test     eax, eax
        jne      SHORT G_M40620_IG11
        xor      edi, edi
        mov      dword ptr [rbx+0x50], edi
 						;; size=42 bbWeight=0.50 PerfScore 8.00
 G_M40620_IG10:
        mov      qword ptr [rbx+0x48], rdi
        jmp      SHORT G_M40620_IG12
 						;; size=6 bbWeight=0.50 PerfScore 1.50
 G_M40620_IG11:
        mov      qword ptr [rbx+0x48], -1
 						;; size=8 bbWeight=0.50 PerfScore 0.50
 G_M40620_IG12:
        mov      edi, dword ptr [rbx+0x50]
        cmp      edi, 1
        je       G_M40620_IG14
        test     edi, edi
        setne    dil
        movzx    rdi, dil
        movzx    rax, r13b
        test     edi, eax
        je       SHORT G_M40620_IG13
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
        mov      edi, dword ptr [rax+0x54]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
        call     [rax]System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
-       mov      edi, -1
-       xor      edx, edx
+       mov      edx, -1
+       xor      edi, edi
        test     eax, eax
-       cmove    edi, edx
-       movsxd   rdi, edi
-       mov      qword ptr [rbx+0x48], rdi
+       cmove    edx, edi
+       movsxd   rdx, edx
+       mov      qword ptr [rbx+0x48], rdx
 						;; size=82 bbWeight=0.50 PerfScore 11.00
 G_M40620_IG13:
        cmp      dword ptr [rbx+0x50], 0
        jne      SHORT G_M40620_IG14
        mov      r13, gword ptr [rbx+0x28]
-       lea      rdi, bword ptr [rbx+0x48]
+       mov      rdi, qword ptr [rbx+0x48]
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rdx, gword ptr [rdx]
-       mov      rdi, qword ptr [rdi]
        mov      rsi, 0xD1FFAB1E      ; 'D'
        mov      rax, 0xD1FFAB1E      ; code for System.Number:<FormatInt64>g__FormatInt64Slow|22_0(long,System.String,System.IFormatProvider):System.String
        call     [rax]System.Number:<FormatInt64>g__FormatInt64Slow|22_0(long,System.String,System.IFormatProvider):System.String
        mov      rdx, rax
        mov      rdi, r13
        mov      rsi, 0xD1FFAB1E      ; 'Content-Length'
        mov      rax, qword ptr [r13]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
-						;; size=79 bbWeight=0.50 PerfScore 11.00
+						;; size=76 bbWeight=0.50 PerfScore 10.75
 G_M40620_IG14:
        mov      edi, dword ptr [rbx+0x54]
        mov      eax, edi
        sub      eax, 400
        cmp      eax, 14
        ja       SHORT G_M40620_IG16
 						;; size=15 bbWeight=0.50 PerfScore 1.88
 G_M40620_IG15:
        mov      ecx, 0x6901
        bt       ecx, eax
        jb       SHORT G_M40620_IG17
 						;; size=10 bbWeight=0.50 PerfScore 0.87
 G_M40620_IG16:
        cmp      edi, 500
        jne      SHORT G_M40620_IG18
 						;; size=8 bbWeight=0.50 PerfScore 0.62
 G_M40620_IG17:
        mov      eax, 1
        jmp      SHORT G_M40620_IG19
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M40620_IG18:
        cmp      edi, 503
        sete     al
        movzx    rax, al
 						;; size=12 bbWeight=0.50 PerfScore 0.75
 G_M40620_IG19:
        movzx    r13, al
        test     r13d, r13d
        jne      SHORT G_M40620_IG20
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x20]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerRequest:get_KeepAlive():ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.HttpListenerRequest:get_KeepAlive():ubyte:this
        test     eax, eax
        sete     r13b
        movzx    r13, r13b
 						;; size=41 bbWeight=0.50 PerfScore 6.62
 G_M40620_IG20:
        cmp      byte  ptr [rbx+0x58], 0
        sete     dil
        movzx    rdi, dil
        or       edi, r13d
        je       SHORT G_M40620_IG21
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Connection'
        mov      rdx, 0xD1FFAB1E      ; 'close'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
        mov      r13d, 1
 						;; size=57 bbWeight=0.50 PerfScore 7.62
 G_M40620_IG21:
        cmp      dword ptr [rbx+0x50], 1
        jne      SHORT G_M40620_IG22
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Transfer-Encoding'
        mov      rdx, 0xD1FFAB1E      ; 'chunked'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=40 bbWeight=0.50 PerfScore 6.75
 G_M40620_IG22:
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x28]
        cmp      dword ptr [rdi+0x90], 100
        jl       SHORT G_M40620_IG23
        mov      byte  ptr [rbx+0x59], 1
        test     r13d, r13d
        jne      SHORT G_M40620_IG23
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Connection'
        mov      rdx, 0xD1FFAB1E      ; 'close'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
        mov      r13d, 1
 						;; size=66 bbWeight=0.50 PerfScore 10.00
 G_M40620_IG23:
        mov      rdi, gword ptr [rbx+0x10]
        mov      rdi, gword ptr [rdi+0x20]
        mov      r12, gword ptr [rdi+0x20]
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M40620_IG34
+       je       G_M40620_IG32
 						;; size=31 bbWeight=0.50 PerfScore 5.12
 G_M40620_IG24:
        mov      rdi, 0xD1FFAB1E      ; data for System.Net.HttpVersion:Version10
        mov      rsi, gword ptr [rdi]
        test     r12, r12
        je       SHORT G_M40620_IG25
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Version:CompareTo(System.Version):int:this
        call     [rax]System.Version:CompareTo(System.Version):int:this
        test     eax, eax
-       jg       G_M40620_IG29
-						;; size=41 bbWeight=0.50 PerfScore 4.12
+       jg       SHORT G_M40620_IG27
+						;; size=37 bbWeight=0.50 PerfScore 4.12
 G_M40620_IG25:
        cmp      byte  ptr [rbx+0x58], 0
-       je       SHORT G_M40620_IG28
-       mov      r12, gword ptr [rbx+0x28]
-       cmp      byte  ptr [r12+0x50], 0
-       jne      SHORT G_M40620_IG26
-       mov      byte  ptr [r12+0x50], 2
-						;; size=24 bbWeight=0.50 PerfScore 5.50
-G_M40620_IG26:
-       cmp      byte  ptr [r12+0x50], 2
-       jne      G_M40620_IG37
-       mov      rdi, 0xD1FFAB1E      ; global ptr
-       test     byte  ptr [rdi], 1
-       je       G_M40620_IG35
-						;; size=31 bbWeight=0.50 PerfScore 4.12
-G_M40620_IG27:
-       mov      rsi, 0xD1FFAB1E      ; data for System.Net.HttpResponseHeaderExtensions:s_names
-       mov      rsi, gword ptr [rsi]
-       cmp      dword ptr [rsi+0x08], 3
-       jbe      G_M40620_IG38
-       mov      rsi, gword ptr [rsi+0x28]
-       mov      rdi, r12
+       je       SHORT G_M40620_IG26
+       mov      rdi, gword ptr [rbx+0x28]
+       mov      esi, 3
        mov      rdx, 0xD1FFAB1E      ; 'true'
-       mov      rax, qword ptr [r12]
-       mov      rax, qword ptr [rax+0x50]
-       call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
-						;; size=51 bbWeight=0.50 PerfScore 7.88
-G_M40620_IG28:
+       mov      rax, 0xD1FFAB1E      ; code for System.Net.WebHeaderCollection:set_Item(int,System.String):this
+       cmp      dword ptr [rdi], edi
+       call     [rax]System.Net.WebHeaderCollection:set_Item(int,System.String):this
+						;; size=39 bbWeight=0.50 PerfScore 6.38
+G_M40620_IG26:
        test     r13d, r13d
-       jne      SHORT G_M40620_IG29
+       jne      SHORT G_M40620_IG27
        mov      rdi, gword ptr [rbx+0x28]
        mov      rsi, 0xD1FFAB1E      ; 'Connection'
        mov      rdx, 0xD1FFAB1E      ; 'keep-alive'
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
 						;; size=39 bbWeight=0.50 PerfScore 5.38
-G_M40620_IG29:
+G_M40620_IG27:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:ComputeCookies():this
        call     [rax]System.Net.HttpListenerResponse:ComputeCookies():this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
-G_M40620_IG30:
+G_M40620_IG28:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r13, gword ptr [rdi]
        mov      rdi, 0xD1FFAB1E      ; System.IO.StreamWriter
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      rdi, r12
        mov      rsi, r15
        mov      rdx, r13
        mov      ecx, 256
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
        call     [rax]System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
        mov      edx, dword ptr [rbx+0x54]
        mov      dword ptr [rax+0x08], edx
        mov      gword ptr [rbp-0x30], rax
        lea      rdx, bword ptr [rbp-0x30]
        mov      ecx, 1
        mov      rdi, r12
        mov      rsi, 0xD1FFAB1E      ; 'HTTP/1.1 {0} '
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:WriteFormatHelper(System.String,System.ReadOnlySpan`1[System.Object],ubyte):this
        call     [rax]System.IO.StreamWriter:WriteFormatHelper(System.String,System.ReadOnlySpan`1[System.Object],ubyte):this
        mov      rdi, gword ptr [r12+0x48]
        test     dword ptr [rdi+0x34], 0xD1FFAB1E
-       je       G_M40620_IG36
+       je       G_M40620_IG33
        mov      rdi, r12
        mov      esi, 1
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:Flush(ubyte,ubyte):this
        call     [rax]System.IO.StreamWriter:Flush(ubyte,ubyte):this
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:get_StatusDescription():System.String:this
        call     [rax]System.Net.HttpListenerResponse:get_StatusDescription():System.String:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebHeaderEncoding:GetBytes(System.String):ubyte[]
        call     [rax]System.Net.WebHeaderEncoding:GetBytes(System.String):ubyte[]
        mov      ecx, dword ptr [rax+0x08]
        mov      rdi, r15
        mov      rsi, rax
        xor      edx, edx
        mov      rax, qword ptr [r15]
        mov      rax, qword ptr [rax+0x60]
        call     [rax+0x30]System.IO.Stream:Write(ubyte[],int,int):this
        mov      rdi, r12
        mov      rsi, 0xD1FFAB1E      ; '  '
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:Write(System.String):this
        call     [rax]System.IO.StreamWriter:Write(System.String):this
        mov      rdi, gword ptr [rbx+0x28]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:FormatHeaders(System.Net.WebHeaderCollection):System.String
        call     [rax]System.Net.HttpListenerResponse:FormatHeaders(System.Net.WebHeaderCollection):System.String
        mov      rsi, rax
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:Write(System.String):this
        call     [rax]System.IO.StreamWriter:Write(System.String):this
        mov      rdi, gword ptr [r12+0x48]
        test     dword ptr [rdi+0x34], 0xD1FFAB1E
 						;; size=287 bbWeight=1 PerfScore 62.75
-G_M40620_IG31:
-       je       G_M40620_IG36
+G_M40620_IG29:
+       je       G_M40620_IG33
        mov      rdi, r12
        mov      esi, 1
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:Flush(ubyte,ubyte):this
        call     [rax]System.IO.StreamWriter:Flush(ubyte,ubyte):this
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:get_Preamble():System.ReadOnlySpan`1[ubyte]:this
        call     [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:get_Preamble():System.ReadOnlySpan`1[ubyte]:this
        mov      r13d, edx
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.HttpListenerResponse:EnsureResponseStream():this
        call     [rax]System.Net.HttpListenerResponse:EnsureResponseStream():this
        mov      esi, r13d
        mov      rdi, r15
        mov      rax, qword ptr [r15]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x18]System.IO.Stream:set_Position(long):this
        test     r14b, r14b
        sete     al
        mov      byte  ptr [rbx+0x5B], al
 						;; size=89 bbWeight=1 PerfScore 22.00
-G_M40620_IG32:
+G_M40620_IG30:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M40620_IG33:
+G_M40620_IG31:
        mov      rdi, 0xD1FFAB1E      ; System.Net.HttpVersion
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M40620_IG06
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M40620_IG34:
+G_M40620_IG32:
        mov      rdi, 0xD1FFAB1E      ; System.Net.HttpVersion
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M40620_IG24
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M40620_IG35:
-       mov      rdi, 0xD1FFAB1E      ; System.Net.HttpResponseHeaderExtensions
-       call     CORINFO_HELP_GET_GCSTATIC_BASE
-       jmp      G_M40620_IG27
-						;; size=20 bbWeight=0 PerfScore 0.00
-G_M40620_IG36:
+G_M40620_IG33:
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:ThrowAsyncIOInProgress()
        call     [rax]System.IO.StreamWriter:ThrowAsyncIOInProgress()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M40620_IG37:
-       mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
-       call     CORINFO_HELP_NEWSFAST
-       mov      rbx, rax
-       mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_headers_rsp():System.String
-       call     [rax]System.SR:get_net_headers_rsp():System.String
-       mov      rsi, rax
-       mov      rdi, rbx
-       mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
-       call     [rax]System.InvalidOperationException:.ctor(System.String):this
-       mov      rdi, rbx
-       call     CORINFO_HELP_THROW
-       int3     
-						;; size=57 bbWeight=0 PerfScore 0.00
-G_M40620_IG38:
-       call     CORINFO_HELP_RNGCHKFAIL
-       int3     
-						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1549, prolog size 22, PerfScore 240.25, instruction count 344, allocated bytes for code 1549 (MethodHash=8c746153) for method System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
+; Total bytes of code 1392, prolog size 22, PerfScore 228.87, instruction count 313, allocated bytes for code 1392 (MethodHash=8c746153) for method System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
 ; ============================================================

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

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

@MihuBot
Copy link
Owner Author

MihuBot commented Oct 1, 2024

@MichalPetryka

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

No branches or pull requests

1 participant