Skip to content

[X64] [EgorBo] JIT: Optimize out write barriers for fields in ref-like structs #469

Open
@MihuBot

Description

@MihuBot

Job completed in 15 minutes.
dotnet/runtime#103503

Diffs

Diffs
Found 277 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 41571980
Total bytes of diff: 41569410
Total bytes of delta: -2570 (-0.01 % of base)
Total relative delta: -16.75
    diff is an improvement.
    relative diff is an improvement.


Top file improvements (bytes):
       -1155 : System.Private.CoreLib.dasm (-0.02 % of base)
        -817 : System.Text.RegularExpressions.dasm (-0.11 % of base)
        -200 : System.Runtime.Numerics.dasm (-0.17 % of base)
         -70 : System.Text.Json.dasm (-0.01 % of base)
         -34 : System.Reflection.Metadata.dasm (-0.01 % of base)
         -31 : System.Security.Cryptography.dasm (-0.00 % of base)
         -28 : System.Private.Uri.dasm (-0.03 % of base)
         -28 : System.Diagnostics.Process.dasm (-0.03 % of base)
         -28 : System.Net.Http.dasm (-0.00 % of base)
         -28 : Microsoft.Extensions.Logging.Abstractions.dasm (-0.04 % of base)
         -26 : System.Web.HttpUtility.dasm (-0.13 % of base)
         -25 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (-0.04 % of base)
         -20 : System.Net.Mail.dasm (-0.01 % of base)
         -20 : System.Console.dasm (-0.02 % of base)
         -20 : System.Text.Encodings.Web.dasm (-0.08 % of base)
         -20 : System.Private.Xml.dasm (-0.00 % of base)
         -20 : System.Diagnostics.DiagnosticSource.dasm (-0.01 % of base)

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

Top method improvements (bytes):
        -216 (-4.16 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:ScanRegex():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods)
        -124 (-35.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:.ctor(System.String,int,System.Globalization.CultureInfo,System.Collections.Hashtable,int,System.Collections.Hashtable,System.Span`1[int]):this (FullOpts) (2 methods)
         -64 (-2.00 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:AssignNameSlots():this (FullOpts) (2 methods)
         -43 (-43.88 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex+ValueSplitEnumerator:.ctor(System.Text.RegularExpressions.Regex,System.ReadOnlySpan`1[ushort],int,int,ubyte):this (FullOpts)
         -37 (-34.58 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadBlockingInfo+Scope:.ctor(System.Object,int,int):this (FullOpts)
         -35 (-16.91 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[double,long]:FromManaged(double[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[int,long]:FromManaged(int[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[long,long]:FromManaged(long[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[short,long]:FromManaged(short[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:FromManaged(System.__Canon[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.Nullable`1[int],long]:FromManaged(System.Nullable`1[int][],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.Numerics.Vector`1[float],long]:FromManaged(System.Numerics.Vector`1[float][],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[ubyte,long]:FromManaged(ubyte[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[double,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[int,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[long,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[short,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[System.Numerics.Vector`1[float],long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[ubyte,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-17.84 % of base) : System.Text.Json.dasm - System.Text.Json.Schema.JsonSchemaExporter+GenerationState:.ctor(System.Text.Json.JsonSerializerOptions,System.Text.Json.Schema.JsonSchemaExporterOptions):this (FullOpts)
         -33 (-24.63 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexWriter:.ctor(System.Text.RegularExpressions.RegexTree,System.Span`1[int],System.Span`1[int]):this (FullOpts)
         -32 (-53.33 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex+ValueMatchEnumerator:.ctor(System.Text.RegularExpressions.Regex,System.ReadOnlySpan`1[ushort],int):this (FullOpts)
         -25 (-69.44 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities+ConstructorMatcher:.ctor(Microsoft.Extensions.DependencyInjection.ActivatorUtilities+ConstructorInfoEx,System.Span`1[System.Object]):this (FullOpts)
         -24 (-7.82 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[double]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[double]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[long]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[long]:Grow(int):this (FullOpts)
         -24 (-7.84 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[short]:Grow(int):this (FullOpts)
         -24 (-7.84 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[short]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[System.Nullable`1[int]]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[System.Nullable`1[int]]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[System.Numerics.Vector`1[float]]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[System.Numerics.Vector`1[float]]:Grow(int):this (FullOpts)
         -24 (-7.92 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts)
         -24 (-7.92 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts)
         -24 (-16.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:.ctor(int,int,System.Span`1[ushort],System.IFormatProvider,byref):this (FullOpts)
         -24 (-18.46 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this (FullOpts)
         -24 (-16.22 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:.ctor(int,int,System.Span`1[ubyte],System.IFormatProvider,byref):this (FullOpts)
         -23 (-23.71 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadBlockingInfo+Scope:.ctor(System.Threading.Lock,int):this (FullOpts)
         -22 (-20.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.EH:RhRethrow(byref,byref) (FullOpts)
         -22 (-23.16 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:StartGroup(System.Text.RegularExpressions.RegexNode):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[double]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[int]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[int]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[int]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[long]:Grow(int):this (FullOpts)
         -20 (-8.06 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[short]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[System.Nullable`1[int]]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[System.Numerics.Vector`1[float]]:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts)
         -20 (-7.35 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:Grow():this (FullOpts)
         -20 (-7.35 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:Grow(int):this (FullOpts)
         -20 (-7.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowCore(uint):this (FullOpts)
         -20 (-6.37 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:NoteCaptureName(System.String,int):this (FullOpts)
         -20 (-10.93 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:PopGroup():this (FullOpts)
         -20 (-8.16 % of base) : System.Reflection.Metadata.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Private.Uri.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Diagnostics.Process.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Net.Mail.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Security.Cryptography.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Web.HttpUtility.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Console.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Text.RegularExpressions.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Text.Encodings.Web.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Private.Xml.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Net.Http.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Private.CoreLib.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Runtime.Numerics.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Text.Json.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -18 (-35.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.EH+ExInfo:Init(System.Object,byref):this (FullOpts)
         -18 (-39.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.EH+ExInfo:Init(System.Object,ubyte):this (FullOpts)
         -18 (-72.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Lock+Scope:.ctor(System.Threading.Lock,System.Threading.Lock+ThreadId):this (FullOpts)
         -16 (-16.67 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+TimeSpanRawInfo:Init(System.Globalization.DateTimeFormatInfo):this (FullOpts)
         -16 (-2.69 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:ScanReplacement():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods)
         -15 (-0.48 % of base) : System.Private.CoreLib.dasm - System.DateTimeParse:Lex(int,byref,byref,byref,byref,byref,int):ubyte (FullOpts)
         -14 (-10.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.EH:RhThrowEx(System.Object,byref) (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[double]:.ctor(System.ReadOnlySpan`1[double],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[double]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[int]:.ctor(System.ReadOnlySpan`1[int],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[int]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[long]:.ctor(System.ReadOnlySpan`1[long],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[long]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[short]:.ctor(System.ReadOnlySpan`1[short],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[short]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[System.__Canon]:.ctor(System.ReadOnlySpan`1[System.__Canon],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[System.__Canon]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[System.Nullable`1[int]]:.ctor(System.ReadOnlySpan`1[System.Nullable`1[int]],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[System.Nullable`1[int]]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[System.Numerics.Vector`1[float]]:.ctor(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[System.Numerics.Vector`1[float]]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[ubyte]:.ctor(System.ReadOnlySpan`1[ubyte],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[ubyte]):this (FullOpts)
         -12 (-13.48 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase+StackAllocatedArguments:.ctor(System.Object,System.Object,System.Object,System.Object):this (FullOpts)
         -12 (-2.44 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:AddGroup():this (FullOpts) (2 methods)
         -11 (-9.48 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this (FullOpts)
         -11 (-3.93 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Utf8DataEncoding:.ctor(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):this (FullOpts)
          -9 (-8.33 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo+PropertyHierarchyResolutionState:.ctor(System.Text.Json.JsonSerializerOptions):this (FullOpts)
          -9 (-5.70 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:AddAlternate():this (FullOpts)
          -8 (-6.45 % of base) : System.Private.CoreLib.dasm - System.__DTString:.ctor(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,ubyte):this (FullOpts)
          -8 (-6.78 % of base) : System.Private.CoreLib.dasm - System.__DTString:.ctor(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo):this (FullOpts)
          -8 (-1.64 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[System.__Canon]:Grow(int):this (FullOpts)
          -8 (-1.64 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[System.__Canon]:Grow(int):this (FullOpts)
          -8 (-1.64 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[System.__Canon]:Grow(int):this (FullOpts)
          -8 (-3.24 % of base) : System.Private.CoreLib.dasm - System.Runtime.EH:RhThrowHwEx(uint,byref) (FullOpts)
          -8 (-9.20 % of base) : System.Reflection.Metadata.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)

Top method improvements (percentages):
         -18 (-72.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Lock+Scope:.ctor(System.Threading.Lock,System.Threading.Lock+ThreadId):this (FullOpts)
         -25 (-69.44 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities+ConstructorMatcher:.ctor(Microsoft.Extensions.DependencyInjection.ActivatorUtilities+ConstructorInfoEx,System.Span`1[System.Object]):this (FullOpts)
         -32 (-53.33 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex+ValueMatchEnumerator:.ctor(System.Text.RegularExpressions.Regex,System.ReadOnlySpan`1[ushort],int):this (FullOpts)
         -43 (-43.88 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Regex+ValueSplitEnumerator:.ctor(System.Text.RegularExpressions.Regex,System.ReadOnlySpan`1[ushort],int,int,ubyte):this (FullOpts)
         -18 (-39.13 % of base) : System.Private.CoreLib.dasm - System.Runtime.EH+ExInfo:Init(System.Object,ubyte):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[double]:.ctor(System.ReadOnlySpan`1[double],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[double]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[int]:.ctor(System.ReadOnlySpan`1[int],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[int]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[long]:.ctor(System.ReadOnlySpan`1[long],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[long]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[short]:.ctor(System.ReadOnlySpan`1[short],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[short]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[System.__Canon]:.ctor(System.ReadOnlySpan`1[System.__Canon],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[System.__Canon]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[System.Nullable`1[int]]:.ctor(System.ReadOnlySpan`1[System.Nullable`1[int]],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[System.Nullable`1[int]]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[System.Numerics.Vector`1[float]]:.ctor(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[System.Numerics.Vector`1[float]]):this (FullOpts)
         -13 (-37.14 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.TextSegmentationUtility+Processor`1[ubyte]:.ctor(System.ReadOnlySpan`1[ubyte],System.Text.Unicode.TextSegmentationUtility+DecodeFirstRune`1[ubyte]):this (FullOpts)
        -124 (-35.43 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:.ctor(System.String,int,System.Globalization.CultureInfo,System.Collections.Hashtable,int,System.Collections.Hashtable,System.Span`1[int]):this (FullOpts) (2 methods)
         -18 (-35.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.EH+ExInfo:Init(System.Object,byref):this (FullOpts)
         -37 (-34.58 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadBlockingInfo+Scope:.ctor(System.Object,int,int):this (FullOpts)
         -33 (-24.63 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexWriter:.ctor(System.Text.RegularExpressions.RegexTree,System.Span`1[int],System.Span`1[int]):this (FullOpts)
         -23 (-23.71 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadBlockingInfo+Scope:.ctor(System.Threading.Lock,int):this (FullOpts)
         -22 (-23.16 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:StartGroup(System.Text.RegularExpressions.RegexNode):this (FullOpts)
         -22 (-20.56 % of base) : System.Private.CoreLib.dasm - System.Runtime.EH:RhRethrow(byref,byref) (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[double,long]:FromManaged(double[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[int,long]:FromManaged(int[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[long,long]:FromManaged(long[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[short,long]:FromManaged(short[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.__Canon,long]:FromManaged(System.__Canon[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.Nullable`1[int],long]:FromManaged(System.Nullable`1[int][],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.Numerics.Vector`1[float],long]:FromManaged(System.Numerics.Vector`1[float][],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[ubyte,long]:FromManaged(ubyte[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[double,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[int,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[long,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[short,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[System.Numerics.Vector`1[float],long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -33 (-18.75 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.PointerArrayMarshaller`2+ManagedToUnmanagedIn[ubyte,long]:FromManaged(ulong[],System.Span`1[long]):this (FullOpts)
         -24 (-18.46 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider,System.Span`1[ushort]):this (FullOpts)
          -6 (-18.18 % of base) : System.Web.HttpUtility.dasm - System.Web.Util.HttpEncoder+UrlDecoder:.ctor(System.Span`1[ushort],System.Span`1[ubyte],System.Text.Encoding):this (FullOpts)
         -33 (-17.84 % of base) : System.Text.Json.dasm - System.Text.Json.Schema.JsonSchemaExporter+GenerationState:.ctor(System.Text.Json.JsonSerializerOptions,System.Text.Json.Schema.JsonSchemaExporterOptions):this (FullOpts)
         -35 (-16.91 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int,System.IFormatProvider):this (FullOpts)
         -16 (-16.67 % of base) : System.Private.CoreLib.dasm - System.Globalization.TimeSpanParse+TimeSpanRawInfo:Init(System.Globalization.DateTimeFormatInfo):this (FullOpts)
         -24 (-16.22 % of base) : System.Private.CoreLib.dasm - System.MemoryExtensions+TryWriteInterpolatedStringHandler:.ctor(int,int,System.Span`1[ushort],System.IFormatProvider,byref):this (FullOpts)
         -24 (-16.22 % of base) : System.Private.CoreLib.dasm - System.Text.Unicode.Utf8+TryWriteInterpolatedStringHandler:.ctor(int,int,System.Span`1[ubyte],System.IFormatProvider,byref):this (FullOpts)
         -12 (-13.48 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase+StackAllocatedArguments:.ctor(System.Object,System.Object,System.Object,System.Object):this (FullOpts)
          -6 (-11.11 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParser:.ctor(System.ReadOnlySpan`1[ushort],ubyte,System.Reflection.Metadata.TypeNameParseOptions):this (FullOpts)
         -14 (-10.94 % of base) : System.Private.CoreLib.dasm - System.Runtime.EH:RhThrowEx(System.Object,byref) (FullOpts)
         -20 (-10.93 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:PopGroup():this (FullOpts)
         -11 (-9.48 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this (FullOpts)
          -8 (-9.20 % of base) : System.Reflection.Metadata.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)
          -8 (-9.20 % of base) : System.Private.Uri.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)
          -8 (-9.20 % of base) : System.Text.RegularExpressions.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)
          -8 (-9.20 % of base) : System.Net.Http.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)
          -8 (-9.20 % of base) : System.Private.CoreLib.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)
          -8 (-9.20 % of base) : System.Runtime.Numerics.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)
          -8 (-9.20 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)
          -8 (-9.20 % of base) : System.Text.Json.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)
          -6 (-8.70 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:PushGroup():this (FullOpts)
          -9 (-8.33 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo+PropertyHierarchyResolutionState:.ctor(System.Text.Json.JsonSerializerOptions):this (FullOpts)
         -20 (-8.16 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Reflection.Metadata.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Private.Uri.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Diagnostics.Process.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Net.Mail.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Security.Cryptography.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Web.HttpUtility.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Console.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Text.RegularExpressions.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Text.Encodings.Web.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Private.Xml.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Net.Http.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Private.CoreLib.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Runtime.Numerics.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.16 % of base) : System.Text.Json.dasm - System.Text.ValueStringBuilder:Grow(int):this (FullOpts)
         -20 (-8.06 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[short]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[double]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[int]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[int]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[int]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[long]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[System.Nullable`1[int]]:Grow(int):this (FullOpts)
         -20 (-8.03 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.ValueListBuilder`1[System.Numerics.Vector`1[float]]:Grow(int):this (FullOpts)
         -24 (-7.92 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts)
         -24 (-7.92 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[ubyte]:Grow(int):this (FullOpts)
         -24 (-7.84 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[short]:Grow(int):this (FullOpts)
         -24 (-7.84 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[short]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[double]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[double]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[long]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[long]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[System.Nullable`1[int]]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[System.Nullable`1[int]]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Text.RegularExpressions.dasm - System.Collections.Generic.ValueListBuilder`1[System.Numerics.Vector`1[float]]:Grow(int):this (FullOpts)
         -24 (-7.82 % of base) : System.Runtime.Numerics.dasm - System.Collections.Generic.ValueListBuilder`1[System.Numerics.Vector`1[float]]:Grow(int):this (FullOpts)
         -20 (-7.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowCore(uint):this (FullOpts)
         -20 (-7.35 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:Grow():this (FullOpts)
         -20 (-7.35 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:Grow(int):this (FullOpts)
          -8 (-6.78 % of base) : System.Private.CoreLib.dasm - System.__DTString:.ctor(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo):this (FullOpts)
          -8 (-6.45 % of base) : System.Private.CoreLib.dasm - System.__DTString:.ctor(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,ubyte):this (FullOpts)
         -20 (-6.37 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:NoteCaptureName(System.String,int):this (FullOpts)
          -9 (-5.70 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:AddAlternate():this (FullOpts)

114 total methods with Code Size differences (114 improved, 0 regressed), 252098 unchanged.

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

Artifacts:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions