MihuBot / runtime-utils

0 stars 0 forks source link

[X64] MihaZupan/runtime/list-rng #196

Open MihuBot opened 1 year ago

MihuBot commented 1 year ago

Build completed in 2 hours 3 minutes.

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 7228969
Total bytes of diff: 7228607
Total bytes of delta: -362 (-0.01 % of base)
Total relative delta: -1.80
    diff is an improvement.
    relative diff is an improvement.

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

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

Top method regressions (bytes):
          20 (2.50 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) (FullOpts)
           8 (0.57 % of base) : System.Private.CoreLib.dasm - System.Globalization.JapaneseCalendar:IcuGetJapaneseEras():System.Globalization.EraInfo[] (FullOpts)
           4 (0.34 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:EnumerateFilesRecursively(System.String,System.Predicate`1[System.String]) (FullOpts)
           2 (2.38 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[double]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
           2 (0.38 % of base) : System.Private.CoreLib.dasm - System.Globalization.DateTimeFormatInfoScanner:GetDateWordsOfDTFI(System.Globalization.DateTimeFormatInfo):System.String[]:this (FullOpts)
           1 (0.16 % of base) : System.Private.CoreLib.dasm - System.StartupHookProvider:ProcessStartupHooks(System.String) (FullOpts)
           1 (0.28 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskExceptionHolder:CreateExceptionObject(ubyte,System.Exception):System.AggregateException:this (FullOpts)
           1 (0.09 % of base) : System.Private.CoreLib.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)

Top method improvements (bytes):
        -180 (-9.85 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:RunContinuations(System.Object):this (FullOpts)
          -9 (-11.69 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[int]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -9 (-11.39 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[long]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -9 (-11.25 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[short]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -9 (-11.54 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[ubyte]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -8 (-2.59 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:EnumDatePatterns(System.String,ushort,int,byref):ubyte (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[double]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[int]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[long]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[short]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[System.__Canon]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[System.Nullable`1[int]]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[System.Numerics.Vector`1[float]]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[ubyte]:GetId(ubyte):int:this (FullOpts)
          -5 (-1.32 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeMethodBuilder:GetToken():int:this (FullOpts)
          -5 (-1.89 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.TaskAwaiter:ThrowForNonSuccess(System.Threading.Tasks.Task) (FullOpts)
          -4 (-0.50 % of base) : System.Private.CoreLib.dasm - System.AggregateException:Flatten():System.AggregateException:this (FullOpts)
          -4 (-8.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[double]:get_Item(int):double:this (FullOpts)
          -4 (-8.89 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[int]:get_Item(int):int:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[long]:get_Item(int):long:this (FullOpts)
          -4 (-8.51 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[short]:get_Item(int):short:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:get_Item(int):System.__Canon:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Nullable`1[int]]:get_Item(int):System.Nullable`1[int]:this (FullOpts)
          -4 (-5.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Nullable`1[int]]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -4 (-6.25 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:get_Item(int):System.Numerics.Vector`1[float]:this (FullOpts)
          -4 (-4.40 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[ubyte]:get_Item(int):ubyte:this (FullOpts)
          -4 (-1.11 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:EnumMonthNames(System.String,ushort,int,byref,byref):ubyte (FullOpts)
          -4 (-1.63 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicILGenerator:GetCallableMethod(System.Reflection.RuntimeModule,System.Reflection.Emit.DynamicMethod):this (FullOpts)
          -4 (-1.73 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicILInfo:GetCallableMethod(System.Reflection.RuntimeModule,System.Reflection.Emit.DynamicMethod):this (FullOpts)
          -4 (-4.08 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicResolver:GetStringLiteral(int):System.String:this (FullOpts)
          -4 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicScope:get_Item(int):System.Object:this (FullOpts)
          -4 (-4.35 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicScope:GetString(int):System.String:this (FullOpts)
          -4 (-0.34 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.TypeNameBuilder:AddAssemblyQualifiedName(System.Type,int):this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[double]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[int]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[long]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[short]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.30 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[System.__Canon]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.30 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[System.Nullable`1[int]]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.27 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[System.Numerics.Vector`1[float]]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[ubyte]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -3 (-1.35 % of base) : System.Private.CoreLib.dasm - System.AggregateException:.ctor(System.String,System.Collections.Generic.List`1[System.Runtime.ExceptionServices.ExceptionDispatchInfo]):this (FullOpts)
          -3 (-0.46 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventListener:AddEventSource(System.Diagnostics.Tracing.EventSource) (FullOpts)
          -2 (-0.89 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicScope:ResolveSignature(int,int):ubyte[]:this (FullOpts)
          -2 (-1.63 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.TypeNameBuilder:PopOpenGenericArgument():this (FullOpts)
          -1 (-0.14 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicResolver:ResolveToken(int,byref,byref,byref):this (FullOpts)

Top method regressions (percentages):
          20 (2.50 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) (FullOpts)
           2 (2.38 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[double]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
           8 (0.57 % of base) : System.Private.CoreLib.dasm - System.Globalization.JapaneseCalendar:IcuGetJapaneseEras():System.Globalization.EraInfo[] (FullOpts)
           2 (0.38 % of base) : System.Private.CoreLib.dasm - System.Globalization.DateTimeFormatInfoScanner:GetDateWordsOfDTFI(System.Globalization.DateTimeFormatInfo):System.String[]:this (FullOpts)
           4 (0.34 % of base) : System.Private.CoreLib.dasm - System.TimeZoneInfo:EnumerateFilesRecursively(System.String,System.Predicate`1[System.String]) (FullOpts)
           1 (0.28 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.TaskExceptionHolder:CreateExceptionObject(ubyte,System.Exception):System.AggregateException:this (FullOpts)
           1 (0.16 % of base) : System.Private.CoreLib.dasm - System.StartupHookProvider:ProcessStartupHooks(System.String) (FullOpts)
           1 (0.09 % of base) : System.Private.CoreLib.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)

Top method improvements (percentages):
          -9 (-11.69 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[int]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -9 (-11.54 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[ubyte]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -9 (-11.39 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[long]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -9 (-11.25 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[short]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
        -180 (-9.85 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:RunContinuations(System.Object):this (FullOpts)
          -4 (-8.89 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[int]:get_Item(int):int:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[long]:get_Item(int):long:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:get_Item(int):System.__Canon:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Nullable`1[int]]:get_Item(int):System.Nullable`1[int]:this (FullOpts)
          -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[ubyte]:get_Item(int):ubyte:this (FullOpts)
          -4 (-8.51 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[short]:get_Item(int):short:this (FullOpts)
          -4 (-8.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[double]:get_Item(int):double:this (FullOpts)
          -4 (-6.25 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:get_Item(int):System.Numerics.Vector`1[float]:this (FullOpts)
          -4 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicScope:get_Item(int):System.Object:this (FullOpts)
          -4 (-5.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Nullable`1[int]]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -4 (-4.40 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts)
          -4 (-4.35 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicScope:GetString(int):System.String:this (FullOpts)
          -4 (-4.08 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicResolver:GetStringLiteral(int):System.String:this (FullOpts)
          -8 (-2.59 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:EnumDatePatterns(System.String,ushort,int,byref):ubyte (FullOpts)
          -5 (-1.89 % of base) : System.Private.CoreLib.dasm - System.Runtime.CompilerServices.TaskAwaiter:ThrowForNonSuccess(System.Threading.Tasks.Task) (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[double]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[int]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[long]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[short]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[System.__Canon]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[System.Nullable`1[int]]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[System.Numerics.Vector`1[float]]:GetId(ubyte):int:this (FullOpts)
          -6 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Threading.ThreadLocal`1+IdManager[ubyte]:GetId(ubyte):int:this (FullOpts)
          -4 (-1.73 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicILInfo:GetCallableMethod(System.Reflection.RuntimeModule,System.Reflection.Emit.DynamicMethod):this (FullOpts)
          -4 (-1.63 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicILGenerator:GetCallableMethod(System.Reflection.RuntimeModule,System.Reflection.Emit.DynamicMethod):this (FullOpts)
          -2 (-1.63 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.TypeNameBuilder:PopOpenGenericArgument():this (FullOpts)
          -3 (-1.35 % of base) : System.Private.CoreLib.dasm - System.AggregateException:.ctor(System.String,System.Collections.Generic.List`1[System.Runtime.ExceptionServices.ExceptionDispatchInfo]):this (FullOpts)
          -5 (-1.32 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeMethodBuilder:GetToken():int:this (FullOpts)
          -4 (-1.11 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:EnumMonthNames(System.String,ushort,int,byref,byref):ubyte (FullOpts)
          -2 (-0.89 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicScope:ResolveSignature(int,int):ubyte[]:this (FullOpts)
          -4 (-0.50 % of base) : System.Private.CoreLib.dasm - System.AggregateException:Flatten():System.AggregateException:this (FullOpts)
          -3 (-0.46 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventListener:AddEventSource(System.Diagnostics.Tracing.EventSource) (FullOpts)
          -4 (-0.34 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.TypeNameBuilder:AddAssemblyQualifiedName(System.Type,int):this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[int]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[long]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[short]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[ubyte]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.31 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[double]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.30 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[System.Nullable`1[int]]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.30 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[System.__Canon]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -4 (-0.27 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.UnwrapPromise`1[System.Numerics.Vector`1[float]]:TrySetFromTask(System.Threading.Tasks.Task,ubyte):ubyte:this (FullOpts)
          -1 (-0.14 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicResolver:ResolveToken(int,byref,byref,byref):this (FullOpts)

56 total methods with Code Size differences (48 improved, 8 regressed), 55142 unchanged.

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

Frameworks diffs

Diffs ``` Found 319 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38516395 Total bytes of diff: 38515979 Total bytes of delta: -416 (-0.00 % of base) Total relative delta: -11.16 diff is an improvement. relative diff is an improvement. Top file regressions (bytes): 385 : System.Text.RegularExpressions.dasm (0.05 % of base) 266 : System.Linq.Parallel.dasm (0.01 % of base) 241 : System.Diagnostics.DiagnosticSource.dasm (0.10 % of base) 216 : System.Collections.Immutable.dasm (0.01 % of base) 152 : System.Reflection.Metadata.dasm (0.03 % of base) 101 : Microsoft.CSharp.dasm (0.03 % of base) 51 : System.ComponentModel.Composition.dasm (0.01 % of base) 26 : System.Private.DataContractSerialization.dasm (0.00 % of base) 25 : Microsoft.Extensions.Diagnostics.dasm (0.13 % of base) 17 : System.Net.Security.dasm (0.01 % of base) 16 : System.Collections.Concurrent.dasm (0.00 % of base) 12 : System.Net.Mail.dasm (0.01 % of base) 4 : System.CodeDom.dasm (0.00 % of base) 2 : System.Diagnostics.Process.dasm (0.00 % of base) 2 : Microsoft.Extensions.Logging.dasm (0.01 % of base) Top file improvements (bytes): -362 : System.Private.CoreLib.dasm (-0.01 % of base) -340 : System.Linq.dasm (-0.03 % of base) -270 : System.Data.Common.dasm (-0.02 % of base) -91 : System.Security.Cryptography.Xml.dasm (-0.04 % of base) -89 : System.Text.Json.dasm (-0.01 % of base) -85 : System.Linq.Expressions.dasm (-0.01 % of base) -81 : System.ComponentModel.TypeConverter.dasm (-0.03 % of base) -64 : System.Collections.dasm (-0.01 % of base) -60 : System.Data.Odbc.dasm (-0.03 % of base) -58 : Microsoft.Extensions.Logging.Abstractions.dasm (-0.08 % of base) -56 : System.Diagnostics.TraceSource.dasm (-0.11 % of base) -38 : System.Threading.Tasks.Dataflow.dasm (-0.00 % of base) -33 : System.Net.Primitives.dasm (-0.04 % of base) -25 : Microsoft.Extensions.Caching.Memory.dasm (-0.12 % of base) -24 : System.Private.Xml.dasm (-0.00 % of base) -23 : System.Security.Cryptography.Pkcs.dasm (-0.01 % of base) -23 : System.ObjectModel.dasm (-0.03 % of base) -20 : System.Net.NetworkInformation.dasm (-0.04 % of base) -17 : System.Configuration.ConfigurationManager.dasm (-0.00 % of base) -17 : Microsoft.VisualBasic.Core.dasm (-0.00 % of base) -14 : Microsoft.Extensions.Hosting.dasm (-0.02 % of base) -13 : ILCompiler.Reflection.ReadyToRun.dasm (-0.01 % of base) -12 : System.Net.Http.dasm (-0.00 % of base) -12 : System.ComponentModel.Annotations.dasm (-0.02 % of base) -11 : Microsoft.Extensions.DependencyInjection.dasm (-0.01 % of base) -9 : System.Net.Requests.dasm (-0.01 % of base) -8 : Microsoft.Extensions.Http.dasm (-0.01 % of base) -8 : System.IO.Pipelines.dasm (-0.01 % of base) -7 : Microsoft.Extensions.Configuration.Xml.dasm (-0.07 % of base) -7 : System.Security.Cryptography.dasm (-0.00 % of base) -6 : System.Reflection.Emit.dasm (-0.01 % of base) -5 : Microsoft.Extensions.Options.dasm (-0.02 % of base) -5 : Microsoft.Extensions.Logging.TraceSource.dasm (-0.06 % of base) -4 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (-0.01 % of base) -4 : System.IO.Packaging.dasm (-0.00 % of base) -4 : System.ServiceModel.Syndication.dasm (-0.00 % of base) -4 : System.Reflection.Context.dasm (-0.01 % of base) -4 : System.Net.HttpListener.dasm (-0.00 % of base) -4 : Microsoft.Extensions.Configuration.dasm (-0.02 % of base) -3 : Microsoft.Extensions.FileProviders.Composite.dasm (-0.13 % of base) -3 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.01 % of base) -3 : Microsoft.Extensions.Primitives.dasm (-0.01 % of base) -2 : System.Runtime.Serialization.Formatters.dasm (-0.00 % of base) -2 : System.Formats.Cbor.dasm (-0.00 % of base) -2 : System.Reflection.DispatchProxy.dasm (-0.01 % of base) 60 total files with Code Size differences (45 improved, 15 regressed), 196 unchanged. Top method regressions (bytes): 146 (3.65 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCharClass:Canonicalize():this (FullOpts) (2 methods) 122 (4.79 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ComputeMinLength():int:this (FullOpts) (2 methods) 104 (4.81 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (FullOpts) (2 methods) 87 (0.82 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:bindUserDefinedConversion(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,byref,ubyte):ubyte:this (FullOpts) 74 (3.72 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:FindLeadingOrTrailingAnchor(System.Text.RegularExpressions.RegexNode,ubyte):ubyte (FullOpts) (2 methods) 47 (1.10 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteEnumMethod(System.Xml.Serialization.EnumMapping):this (FullOpts) 45 (0.84 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler:g__EmitFixedSet_LeftToRight|156_3(byref):this (FullOpts) 37 (2.84 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract+ClassDataContractCriticalHelper:SetIfMembersHaveConflict(System.Collections.Generic.List`1[System.Runtime.Serialization.DataContracts.DataMember]):this (FullOpts) 35 (1.05 % of base) : System.Private.Xml.dasm - System.Xml.Schema.RangeContentValidator:ValidateElement(System.Xml.XmlQualifiedName,System.Xml.Schema.ValidationState,byref):System.Object:this (FullOpts) 33 (2.22 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.QueryBuilder:ProcessFunction(MS.Internal.Xml.XPath.Function,byref):MS.Internal.Xml.XPath.Query:this (FullOpts) 33 (3.74 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.ControlFlowBuilder:SerializeExceptionTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts) 31 (2.49 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.NumberAction:Format(System.Collections.ArrayList,System.Collections.Generic.List`1[System.Xml.Xsl.XsltOld.NumberAction+FormatInfo],System.String,System.String):System.String (FullOpts) 30 (2.95 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.NumberFormatter:FormatSequence(System.Collections.Generic.IList`1[System.Xml.XPath.XPathItem]):System.String:this (FullOpts) 28 (5.86 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.ControlFlowBuilder:HasSmallExceptionRegions():ubyte:this (FullOpts) 28 (1.01 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:FindLiteralFollowingLeadingLoop(System.Text.RegularExpressions.RegexNode):System.Nullable`1[System.ValueTuple`2[System.Text.RegularExpressions.RegexNode,System.ValueTuple`3[ushort,System.String,ushort[]]]] (FullOpts) (2 methods) 26 (0.68 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Pkcs12SafeContents:ReadBags(System.ReadOnlyMemory`1[ubyte]):System.Collections.Generic.List`1[System.Security.Cryptography.Pkcs.Pkcs12SafeBag] (FullOpts) 24 (1.59 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceAtomic():System.Text.RegularExpressions.RegexNode:this (FullOpts) 22 (3.87 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsIdentity+d__38:MoveNext():ubyte:this (FullOpts) 21 (4.04 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortHelper`2[double,System.Nullable`1[int]]:QuickSortIndicesInPlace(System.Linq.Parallel.GrowingArray`1[System.Nullable`1[int]],System.Collections.Generic.List`1[double],ubyte):this (FullOpts) 20 (2.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:this (FullOpts) 20 (2.50 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) (FullOpts) 20 (1.16 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1+TakeOrSkipWhileQueryOperatorEnumerator`1[System.Nullable`1[int],System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) 20 (0.69 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.EncryptedData:LoadXml(System.Xml.XmlElement):this (FullOpts) 20 (0.19 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:ConvertToSymbolicRegexNode(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[System.Text.RegularExpressions.Symbolic.BDD]:this (FullOpts) 19 (1.17 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1+TakeOrSkipWhileQueryOperatorEnumerator`1[double,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) 19 (1.18 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1+TakeOrSkipWhileQueryOperatorEnumerator`1[short,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) 19 (1.04 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1+TakeOrSkipWhileQueryOperatorEnumerator`1[System.Numerics.Vector`1[float],System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) 19 (1.07 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceConcatenationWithAdjacentLoops():this (FullOpts) 18 (1.08 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:BindStandardUnaryOperator(uint,Microsoft.CSharp.RuntimeBinder.Semantics.Expr):Microsoft.CSharp.RuntimeBinder.Semantics.Expr:this (FullOpts) 18 (2.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:LoadSymbolsFromType(System.Type):Microsoft.CSharp.RuntimeBinder.Semantics.CType (FullOpts) 18 (9.63 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializerOptions+EqualityComparer:g__CompareLists|0_0[System.__Canon](System.Text.Json.Serialization.ConfigurationList`1[System.__Canon],System.Text.Json.Serialization.ConfigurationList`1[System.__Canon]):ubyte (FullOpts) 18 (0.87 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:FindFixedDistanceString(System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]):System.Nullable`1[System.ValueTuple`2[System.String,int]] (FullOpts) (2 methods) 18 (2.51 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (FullOpts) (2 methods) 17 (2.36 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:LeafToRootRefill(System.ReadOnlySpan`1[System.__Canon]):System.Collections.Immutable.ImmutableSortedSet`1[System.__Canon]:this (FullOpts) 16 (4.19 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:FindBestSignatureInList(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):int:this (FullOpts) 16 (2.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortHelper`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:QuickSortIndicesInPlace(System.Linq.Parallel.GrowingArray`1[System.Nullable`1[int]],System.Collections.Generic.List`1[System.Numerics.Vector`1[float]],ubyte):this (FullOpts) 16 (0.94 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1+TakeOrSkipWhileQueryOperatorEnumerator`1[System.__Canon,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) 16 (4.95 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryTypeFactory:AddItemToChoice(System.Collections.Generic.List`1[System.Xml.Xsl.XmlQueryType],System.Xml.Xsl.XmlQueryType) (FullOpts) 15 (2.58 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[int]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[int]):System.Collections.Immutable.ImmutableSortedSet`1[int]:this (FullOpts) 15 (2.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[long]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[long]):System.Collections.Immutable.ImmutableSortedSet`1[long]:this (FullOpts) 15 (2.36 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:this (FullOpts) 15 (1.52 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:RemoveAtInt(int,int,byref,byref,ubyte):ubyte:this (FullOpts) 15 (0.94 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1+TakeOrSkipWhileQueryOperatorEnumerator`1[int,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) 15 (0.93 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1+TakeOrSkipWhileQueryOperatorEnumerator`1[long,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) 15 (0.93 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.TakeOrSkipWhileQueryOperator`1+TakeOrSkipWhileQueryOperatorEnumerator`1[ubyte,System.Nullable`1[int]]:MoveNext(byref,byref):ubyte:this (FullOpts) 15 (0.64 % of base) : System.Net.Security.dasm - System.Net.Security.SslStreamCertificateContext+d__31:MoveNext():this (FullOpts) 15 (1.11 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ComputeMaxLength():System.Nullable`1[int]:this (FullOpts) 15 (0.66 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[double],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[double],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts) 15 (0.66 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[int],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[int],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts) 15 (0.66 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[long],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[long],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts) 15 (0.66 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[short],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[short],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts) 15 (0.66 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte]:StripAndMapEffects(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1[ubyte],uint,System.Collections.Generic.List`1[System.ValueTuple`2[System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ubyte],System.Text.RegularExpressions.Symbolic.DerivativeEffect[]]],System.Collections.Generic.List`1[System.Text.RegularExpressions.Symbolic.DerivativeEffect]):this (FullOpts) 14 (0.86 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunReader:EnsureMethods():this (FullOpts) 14 (2.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[int]:LeafToRootRefill(System.ReadOnlySpan`1[int]):System.Collections.Immutable.ImmutableSortedSet`1[int]:this (FullOpts) 14 (2.82 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[long]:LeafToRootRefill(System.ReadOnlySpan`1[long]):System.Collections.Immutable.ImmutableSortedSet`1[long]:this (FullOpts) 14 (2.38 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[short]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[short]):System.Collections.Immutable.ImmutableSortedSet`1[short]:this (FullOpts) 14 (6.36 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcParameterCollection:IndexOf(System.Object):int:this (FullOpts) 14 (0.70 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:g__ReduceSingleLetterAndNestedAlternations|41_0():this (FullOpts) 14 (0.51 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g__Process|0_0(System.Text.RegularExpressions.RegexNode,byref):ubyte (FullOpts) (2 methods) 13 (1.08 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+GroupToArgsBinder:ReOrderArgsForNamedArguments(Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup,Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos):ubyte (FullOpts) 13 (2.92 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.MetricsSubscriptionManager:.ctor(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Metrics.IMetricsListener],Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions],System.Diagnostics.Metrics.IMeterFactory):this (FullOpts) 13 (2.60 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[short]:LeafToRootRefill(System.ReadOnlySpan`1[short]):System.Collections.Immutable.ImmutableSortedSet`1[short]:this (FullOpts) 13 (2.21 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[ubyte]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[ubyte]):System.Collections.Immutable.ImmutableSortedSet`1[ubyte]:this (FullOpts) 13 (2.52 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortHelper`2[short,System.Nullable`1[int]]:QuickSortIndicesInPlace(System.Linq.Parallel.GrowingArray`1[System.Nullable`1[int]],System.Collections.Generic.List`1[short],ubyte):this (FullOpts) 12 (2.21 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:LeafToRootRefill(System.ReadOnlySpan`1[System.Numerics.Vector`1[float]]):System.Collections.Immutable.ImmutableSortedSet`1[System.Numerics.Vector`1[float]]:this (FullOpts) 12 (2.40 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[ubyte]:LeafToRootRefill(System.ReadOnlySpan`1[ubyte]):System.Collections.Immutable.ImmutableSortedSet`1[ubyte]:this (FullOpts) 12 (0.97 % of base) : Microsoft.Extensions.Diagnostics.dasm - System.Diagnostics.DiagnosticsHelper:CompareTags(System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]):ubyte (FullOpts) 12 (0.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DiagnosticsHelper:CompareTags(System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]):ubyte (FullOpts) 12 (0.38 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:.ctor(System.Text.RegularExpressions.RegexNode,int):this (FullOpts) (2 methods) 12 (0.11 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts) (2 methods) 11 (1.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[double]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[double]):System.Collections.Immutable.ImmutableSortedSet`1[double]:this (FullOpts) 11 (2.17 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[double]:LeafToRootRefill(System.ReadOnlySpan`1[double]):System.Collections.Immutable.ImmutableSortedSet`1[double]:this (FullOpts) 11 (3.83 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithAction(System.Action`2[int,System.Object],System.Object):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[int,double],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[int,int],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[long](System.Diagnostics.ActivitySource+Function`2[int,long],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[short](System.Diagnostics.ActivitySource+Function`2[int,short],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[System.__Canon](System.Diagnostics.ActivitySource+Function`2[int,System.__Canon],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[System.Nullable`1[int]](System.Diagnostics.ActivitySource+Function`2[int,System.Nullable`1[int]],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[System.Numerics.Vector`1[float]](System.Diagnostics.ActivitySource+Function`2[int,System.Numerics.Vector`1[float]],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[ubyte](System.Diagnostics.ActivitySource+Function`2[int,ubyte],byref,byref,byref):this (FullOpts) 11 (3.82 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithAction(System.Action`2[ubyte,System.Object],System.Object):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[ubyte,double],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[ubyte,int],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[long](System.Diagnostics.ActivitySource+Function`2[ubyte,long],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[short](System.Diagnostics.ActivitySource+Function`2[ubyte,short],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[System.__Canon](System.Diagnostics.ActivitySource+Function`2[ubyte,System.__Canon],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[System.Nullable`1[int]](System.Diagnostics.ActivitySource+Function`2[ubyte,System.Nullable`1[int]],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[System.Numerics.Vector`1[float]](System.Diagnostics.ActivitySource+Function`2[ubyte,System.Numerics.Vector`1[float]],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[ubyte](System.Diagnostics.ActivitySource+Function`2[ubyte,ubyte],byref,byref,byref):this (FullOpts) 11 (0.50 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitSwitchBucket(System.Linq.Expressions.Compiler.LambdaCompiler+SwitchInfo,System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+SwitchLabel]):this (FullOpts) 11 (2.16 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortHelper`2[int,System.Nullable`1[int]]:QuickSortIndicesInPlace(System.Linq.Parallel.GrowingArray`1[System.Nullable`1[int]],System.Collections.Generic.List`1[int],ubyte):this (FullOpts) 11 (2.15 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortHelper`2[ubyte,System.Nullable`1[int]]:QuickSortIndicesInPlace(System.Linq.Parallel.GrowingArray`1[System.Nullable`1[int]],System.Collections.Generic.List`1[ubyte],ubyte):this (FullOpts) 11 (8.73 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:ValidateClassLayoutTable():this (FullOpts) 10 (0.65 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:CollectOverloadCandidates(System.Reflection.MemberInfo[],System.Object[],int,System.String[],System.Type[],ubyte,System.Type,byref,byref,Microsoft.VisualBasic.CompilerServices.Symbols+Container):System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method] (FullOpts) 10 (1.63 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:this (FullOpts) 10 (1.91 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:LeafToRootRefill(System.ReadOnlySpan`1[System.Nullable`1[int]]):System.Collections.Immutable.ImmutableSortedSet`1[System.Nullable`1[int]]:this (FullOpts) 10 (3.46 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithAction(System.Action`2[short,System.Object],System.Object):this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[short,double],byref,byref,byref):this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[short,int],byref,byref,byref):this (FullOpts) Top method improvements (bytes): -180 (-9.85 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:RunContinuations(System.Object):this (FullOpts) -129 (-9.54 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:g__ExtractCommonPrefixOneNotoneSet|41_1(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (FullOpts) -82 (-5.12 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler+<>c__DisplayClass157_0:g__EmitBackreferenceConditional|6(System.Text.RegularExpressions.RegexNode):this (FullOpts) -63 (-1.69 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.KeyInfoX509Data:LoadXml(System.Xml.XmlElement):this (FullOpts) -42 (-8.57 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcParameterCollection:CalcParameterBufferSize(System.Data.Odbc.OdbcCommand):int:this (FullOpts) -34 (-1.56 % of base) : System.Data.Common.dasm - System.Data.DataTable:EvaluateDependentExpressions(System.Collections.Generic.List`1[System.Data.DataColumn],System.Data.DataRow,int,System.Collections.Generic.List`1[System.Data.DataRow]):this (FullOpts) -33 (-3.08 % of base) : System.Net.Primitives.dasm - System.Net.CookieContainer:BuildCookieCollectionFromDomainMatches(System.Uri,ubyte,int,byref,System.Collections.Generic.List`1[System.String],ubyte):this (FullOpts) -26 (-4.66 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceAlternation():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods) -25 (-3.09 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaSet:RemoveSchemaFromCaches(System.Xml.Schema.XmlSchema):this (FullOpts) -24 (-0.76 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexParser:AssignNameSlots():this (FullOpts) (2 methods) -23 (-1.03 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.Pkcs.Pkcs12Info:Decode(System.ReadOnlyMemory`1[ubyte],byref,ubyte):System.Security.Cryptography.Pkcs.Pkcs12Info (FullOpts) -20 (-7.66 % of base) : System.Linq.dasm - System.Linq.Enumerable+WhereListIterator`1[double]:ToList():System.Collections.Generic.List`1[double]:this (FullOpts) -17 (-1.39 % of base) : System.Data.Common.dasm - System.Data.ProviderBase.SchemaMapping:.ctor(System.Data.Common.DataAdapter,System.Data.DataSet,System.Data.DataTable,System.Data.ProviderBase.DataReaderContainer,ubyte,int,System.String,ubyte,System.Data.DataColumn,System.Object):this (FullOpts) -17 (-2.01 % of base) : System.Private.Xml.dasm - System.Xml.DocumentXmlWriter:Close(int):this (FullOpts) -16 (-0.24 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:g__TryFindRawFixedSets|2_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (FullOpts) (2 methods) -14 (-5.49 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:MergeBuckets(System.Collections.Generic.List`1[System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+SwitchLabel]]) (FullOpts) -12 (-6.03 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:Remove(System.Data.Common.DataColumnMapping):this (FullOpts) -12 (-6.03 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:Remove(System.Data.Common.DataTableMapping):this (FullOpts) -12 (-0.53 % of base) : System.Net.Http.dasm - System.Net.Http.MultipartContent+d__24:MoveNext():this (FullOpts) -11 (-1.25 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceSource:TraceEvent(int,int):this (FullOpts) -11 (-2.75 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract:CreateChildElementNamespaces():System.Xml.XmlDictionaryString[]:this (FullOpts) -11 (-0.71 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract:RequiresMemberAccessForRead(System.Security.SecurityException):ubyte:this (FullOpts) -10 (-5.49 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:GetValue(System.Object[],int):System.Collections.Generic.KeyValuePair`2[System.String,System.Object]:this (FullOpts) -10 (-3.46 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:GetValues(System.Object[]):System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]:this (FullOpts) -10 (-3.06 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[double]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[double,double],byref,byref,byref):this (FullOpts) -10 (-3.06 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[double]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[double,int],byref,byref,byref):this (FullOpts) -10 (-3.06 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[double]:EnumWithFunc[long](System.Diagnostics.ActivitySource+Function`2[double,long],byref,byref,byref):this (FullOpts) -10 (-3.06 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[double]:EnumWithFunc[short](System.Diagnostics.ActivitySource+Function`2[double,short],byref,byref,byref):this (FullOpts) -10 (-3.06 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[double]:EnumWithFunc[System.__Canon](System.Diagnostics.ActivitySource+Function`2[double,System.__Canon],byref,byref,byref):this (FullOpts) -10 (-3.06 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[double]:EnumWithFunc[System.Nullable`1[int]](System.Diagnostics.ActivitySource+Function`2[double,System.Nullable`1[int]],byref,byref,byref):this (FullOpts) -10 (-3.06 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[double]:EnumWithFunc[System.Numerics.Vector`1[float]](System.Diagnostics.ActivitySource+Function`2[double,System.Numerics.Vector`1[float]],byref,byref,byref):this (FullOpts) -10 (-3.06 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[double]:EnumWithFunc[ubyte](System.Diagnostics.ActivitySource+Function`2[double,ubyte],byref,byref,byref):this (FullOpts) -10 (-2.79 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[System.Numerics.Vector`1[float],double],byref,byref,byref):this (FullOpts) -10 (-2.79 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[System.Numerics.Vector`1[float],int],byref,byref,byref):this (FullOpts) -10 (-2.79 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:EnumWithFunc[long](System.Diagnostics.ActivitySource+Function`2[System.Numerics.Vector`1[float],long],byref,byref,byref):this (FullOpts) -10 (-2.79 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:EnumWithFunc[short](System.Diagnostics.ActivitySource+Function`2[System.Numerics.Vector`1[float],short],byref,byref,byref):this (FullOpts) -10 (-2.79 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:EnumWithFunc[System.__Canon](System.Diagnostics.ActivitySource+Function`2[System.Numerics.Vector`1[float],System.__Canon],byref,byref,byref):this (FullOpts) -10 (-2.79 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:EnumWithFunc[System.Nullable`1[int]](System.Diagnostics.ActivitySource+Function`2[System.Numerics.Vector`1[float],System.Nullable`1[int]],byref,byref,byref):this (FullOpts) -10 (-2.79 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:EnumWithFunc[System.Numerics.Vector`1[float]](System.Diagnostics.ActivitySource+Function`2[System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]],byref,byref,byref):this (FullOpts) -10 (-2.79 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.Numerics.Vector`1[float]]:EnumWithFunc[ubyte](System.Diagnostics.ActivitySource+Function`2[System.Numerics.Vector`1[float],ubyte],byref,byref,byref):this (FullOpts) -10 (-2.07 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:FindPrefixOrdinalCaseInsensitive(System.Text.RegularExpressions.RegexNode):System.String (FullOpts) (2 methods) -9 (-3.90 % of base) : Microsoft.Extensions.Hosting.dasm - Microsoft.Extensions.Hosting.Internal.Host:g__LogAndRethrow|15_3(byref):this (FullOpts) -9 (-11.69 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[int]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -9 (-11.39 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[long]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -9 (-11.25 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[short]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -9 (-11.54 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[ubyte]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -9 (-1.84 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.Hosting.AtomicComposition:Dispose(ubyte):this (FullOpts) -9 (-3.56 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:SetString(System.String,int):this (FullOpts) -9 (-1.22 % of base) : System.Data.Common.dasm - System.Data.DataTable:RestoreIndexEvents(ubyte):this (FullOpts) -8 (-2.76 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.CacheEntry+CacheEntryTokens:InvokeCallbacks(Microsoft.Extensions.Caching.Memory.CacheEntry) (FullOpts) -8 (-1.94 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:ResolveOverloadedCall(System.String,System.Reflection.MemberInfo[],System.Object[],System.String[],System.Type[],int,ubyte,byref,Microsoft.VisualBasic.CompilerServices.Symbols+Container):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts) -8 (-3.64 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.FollSiblingQuery:Visited(System.Xml.XPath.XPathNavigator):ubyte:this (FullOpts) -8 (-3.31 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:FindEditPositionInRange(int,int,ubyte,ubyte):int:this (FullOpts) -8 (-2.79 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:Replace(ushort,int,byref,byref):ubyte:this (FullOpts) -8 (-5.03 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:TestSetChar(ushort,int,byref):ubyte:this (FullOpts) -8 (-3.42 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:IndexOf(System.String):int:this (FullOpts) -8 (-3.92 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:IndexOf(System.String):int:this (FullOpts) -8 (-2.59 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:EnumDatePatterns(System.String,ushort,int,byref):ubyte (FullOpts) -8 (-3.36 % of base) : System.IO.Pipelines.dasm - System.IO.Pipelines.PipeCompletionCallbacks:Execute():this (FullOpts) -8 (-3.88 % of base) : System.Net.HttpListener.dasm - System.Net.HttpEndPointListener:RemoveSpecial(System.Collections.Generic.List`1[System.Net.ListenerPrefix],System.Net.ListenerPrefix):ubyte (FullOpts) -8 (-1.80 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+d__1`1[System.__Canon]:MoveNext():ubyte:this (FullOpts) -8 (-3.20 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[int,System.Nullable`1[int]]:Push(int,System.Nullable`1[int]):this (FullOpts) -8 (-3.08 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaObjectTable+NamesCollection:CopyTo(System.Array,int):this (FullOpts) -8 (-3.08 % of base) : System.Private.Xml.dasm - System.Xml.Schema.XmlSchemaObjectTable+ValuesCollection:CopyTo(System.Array,int):this (FullOpts) -8 (-3.86 % of base) : System.Private.Xml.dasm - System.Xml.XmlNamedNodeMap+SmallXmlNodeList:get_Item(int):System.Object:this (FullOpts) -8 (-2.61 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.DocumentOrderComparer:GetDocumentIndex(System.Xml.XPath.XPathNavigator):int:this (FullOpts) -7 (-1.50 % of base) : Microsoft.Extensions.Caching.Memory.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:RemoveFromStats(Microsoft.Extensions.Caching.Memory.MemoryCache+Stats):this (FullOpts) -7 (-2.76 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope:Dispose():this (FullOpts) -7 (-2.47 % of base) : System.Data.Common.dasm - System.Data.Common.DbDataAdapter:GetTableMapping(System.Data.DataTable):System.Data.Common.DataTableMapping:this (FullOpts) -7 (-1.07 % of base) : System.Data.Odbc.dasm - System.Data.ProviderBase.DbConnectionPool:ReclaimEmancipatedObjects():ubyte:this (FullOpts) -7 (-0.78 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceSource:TraceData(int,int,System.Object):this (FullOpts) -7 (-0.78 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceSource:TraceData(int,int,System.Object[]):this (FullOpts) -7 (-0.78 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceSource:TraceEvent(int,int,System.String):this (FullOpts) -7 (-2.44 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.ControlFlowBuilder+BranchInfo:GetBranchDistance(System.Collections.Generic.List`1[int]):int:this (FullOpts) -7 (-4.61 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsPrincipal:IsInRole(System.String):ubyte:this (FullOpts) -7 (-1.31 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.CryptographicAttributeObject:.ctor(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedDataCollection):this (FullOpts) -7 (-0.39 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.RSAKeyValue:LoadXml(System.Xml.XmlElement):this (FullOpts) -7 (-3.40 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SparseIntMap`1[double]:Add(int,byref):ubyte:this (FullOpts) -7 (-3.54 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.Symbolic.SparseIntMap`1[long]:Add(int,byref):ubyte:this (FullOpts) -6 (-0.21 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:SearchSingleType(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,byref):ubyte:this (FullOpts) -6 (-2.33 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager+StdTypeVarColl:GetTypeVarSym(int,ubyte):Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterType:this (FullOpts) -6 (-1.62 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.Query:Insert(System.Collections.Generic.List`1[System.Xml.XPath.XPathNavigator],System.Xml.XPath.XPathNavigator):ubyte (FullOpts) -6 (-2.26 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.Validator:ValidateObject(System.Object,System.ComponentModel.DataAnnotations.ValidationContext,ubyte) (FullOpts) -6 (-3.28 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.Validator:ValidateProperty(System.Object,System.ComponentModel.DataAnnotations.ValidationContext) (FullOpts) -6 (-0.32 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[double](System.Linq.Expressions.SwitchExpression):this (FullOpts) -6 (-0.32 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[int](System.Linq.Expressions.SwitchExpression):this (FullOpts) -6 (-0.32 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[long](System.Linq.Expressions.SwitchExpression):this (FullOpts) -6 (-0.32 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[short](System.Linq.Expressions.SwitchExpression):this (FullOpts) -6 (-0.33 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[System.__Canon](System.Linq.Expressions.SwitchExpression):this (FullOpts) -6 (-0.32 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[System.Nullable`1[int]](System.Linq.Expressions.SwitchExpression):this (FullOpts) -6 (-0.32 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[System.Numerics.Vector`1[float]](System.Linq.Expressions.SwitchExpression):this (FullOpts) -6 (-0.32 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileIntSwitchExpression[ubyte](System.Linq.Expressions.SwitchExpression):this (FullOpts) -6 (-0.31 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileStringSwitchExpression(System.Linq.Expressions.SwitchExpression):this (FullOpts) -6 (-0.16 % of base) : System.Net.Security.dasm - System.Net.Security.SslStream:SelectClientCertificate():System.Security.Cryptography.X509Certificates.X509Certificate2:this (FullOpts) -6 (-3.00 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.GenericInfo:AddToLevel(int,int):this (FullOpts) -6 (-0.29 % of base) : System.Security.Cryptography.Xml.dasm - System.Security.Cryptography.Xml.XmlLicenseTransform:DecryptEncryptedGrants(System.Xml.XmlNodeList):this (FullOpts) -6 (-0.79 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ReduceConcatenation():System.Text.RegularExpressions.RegexNode:this (FullOpts) (2 methods) -6 (-2.19 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[double,System.Nullable`1[int]]:Push(double,System.Nullable`1[int]):this (FullOpts) -6 (-2.32 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[short,System.Nullable`1[int]]:Push(short,System.Nullable`1[int]):this (FullOpts) -6 (-2.33 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[ubyte,System.Nullable`1[int]]:Push(ubyte,System.Nullable`1[int]):this (FullOpts) Top method regressions (percentages): 18 (9.63 % of base) : System.Text.Json.dasm - System.Text.Json.JsonSerializerOptions+EqualityComparer:g__CompareLists|0_0[System.__Canon](System.Text.Json.Serialization.ConfigurationList`1[System.__Canon],System.Text.Json.Serialization.ConfigurationList`1[System.__Canon]):ubyte (FullOpts) 11 (8.73 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:ValidateClassLayoutTable():this (FullOpts) 10 (8.47 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:ValidateFieldLayoutTable():this (FullOpts) 10 (8.47 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:ValidateFieldRvaTable():this (FullOpts) 8 (7.62 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+GroupToArgsBinder:FindArgumentWithName(Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos,Microsoft.CSharp.RuntimeBinder.Syntax.Name):Microsoft.CSharp.RuntimeBinder.Semantics.Expr (FullOpts) 8 (7.21 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryTypeFactory+ChoiceType:Create(System.Collections.Generic.List`1[System.Xml.Xsl.XmlQueryType]):System.Xml.Xsl.XmlQueryType (FullOpts) 14 (6.36 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcParameterCollection:IndexOf(System.Object):int:this (FullOpts) 8 (6.20 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:ValidateImplMapTable():this (FullOpts) 7 (5.93 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:ValidateGenericParamConstaintTable():this (FullOpts) 28 (5.86 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.ControlFlowBuilder:HasSmallExceptionRegions():ubyte:this (FullOpts) 7 (5.43 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:ValidateMethodImplTable():this (FullOpts) 7 (5.04 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.ReflectionXmlReader:GetRequiredMembers(System.Runtime.Serialization.DataContracts.ClassDataContract,ubyte[]):int (FullOpts) 16 (4.95 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryTypeFactory:AddItemToChoice(System.Collections.Generic.List`1[System.Xml.Xsl.XmlQueryType],System.Xml.Xsl.XmlQueryType) (FullOpts) 104 (4.81 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (FullOpts) (2 methods) 122 (4.79 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:ComputeMinLength():int:this (FullOpts) (2 methods) 6 (4.62 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Clear():this (FullOpts) 16 (4.19 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:FindBestSignatureInList(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):int:this (FullOpts) 21 (4.04 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortHelper`2[double,System.Nullable`1[int]]:QuickSortIndicesInPlace(System.Linq.Parallel.GrowingArray`1[System.Nullable`1[int]],System.Collections.Generic.List`1[double],ubyte):this (FullOpts) 8 (3.98 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:FastAppendToListAllowNulls[int](System.Collections.Generic.List`1[int],System.Collections.Generic.IEnumerable`1[int]):System.Collections.Generic.List`1[int] (FullOpts) 8 (3.94 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:FastAppendToListAllowNulls[long](System.Collections.Generic.List`1[long],System.Collections.Generic.IEnumerable`1[long]):System.Collections.Generic.List`1[long] (FullOpts) 8 (3.92 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:FastAppendToListAllowNulls[short](System.Collections.Generic.List`1[short],System.Collections.Generic.IEnumerable`1[short]):System.Collections.Generic.List`1[short] (FullOpts) 8 (3.92 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:FastAppendToListAllowNulls[ubyte](System.Collections.Generic.List`1[ubyte],System.Collections.Generic.IEnumerable`1[ubyte]):System.Collections.Generic.List`1[ubyte] (FullOpts) 22 (3.87 % of base) : System.Security.Claims.dasm - System.Security.Claims.ClaimsIdentity+d__38:MoveNext():ubyte:this (FullOpts) 8 (3.85 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:FastAppendToListAllowNulls[double](System.Collections.Generic.List`1[double],System.Collections.Generic.IEnumerable`1[double]):System.Collections.Generic.List`1[double] (FullOpts) 11 (3.83 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithAction(System.Action`2[int,System.Object],System.Object):this (FullOpts) 11 (3.82 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithAction(System.Action`2[ubyte,System.Object],System.Object):this (FullOpts) 33 (3.74 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.ControlFlowBuilder:SerializeExceptionTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts) 74 (3.72 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:FindLeadingOrTrailingAnchor(System.Text.RegularExpressions.RegexNode,ubyte):ubyte (FullOpts) (2 methods) 146 (3.65 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCharClass:Canonicalize():this (FullOpts) (2 methods) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[int,double],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[int,int],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[long](System.Diagnostics.ActivitySource+Function`2[int,long],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[short](System.Diagnostics.ActivitySource+Function`2[int,short],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[System.__Canon](System.Diagnostics.ActivitySource+Function`2[int,System.__Canon],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[System.Nullable`1[int]](System.Diagnostics.ActivitySource+Function`2[int,System.Nullable`1[int]],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[System.Numerics.Vector`1[float]](System.Diagnostics.ActivitySource+Function`2[int,System.Numerics.Vector`1[float]],byref,byref,byref):this (FullOpts) 11 (3.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[int]:EnumWithFunc[ubyte](System.Diagnostics.ActivitySource+Function`2[int,ubyte],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[ubyte,double],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[ubyte,int],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[long](System.Diagnostics.ActivitySource+Function`2[ubyte,long],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[short](System.Diagnostics.ActivitySource+Function`2[ubyte,short],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[System.__Canon](System.Diagnostics.ActivitySource+Function`2[ubyte,System.__Canon],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[System.Nullable`1[int]](System.Diagnostics.ActivitySource+Function`2[ubyte,System.Nullable`1[int]],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[System.Numerics.Vector`1[float]](System.Diagnostics.ActivitySource+Function`2[ubyte,System.Numerics.Vector`1[float]],byref,byref,byref):this (FullOpts) 11 (3.62 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[ubyte]:EnumWithFunc[ubyte](System.Diagnostics.ActivitySource+Function`2[ubyte,ubyte],byref,byref,byref):this (FullOpts) 8 (3.54 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:FastAppendToListAllowNulls[System.Numerics.Vector`1[float]](System.Collections.Generic.List`1[System.Numerics.Vector`1[float]],System.Collections.Generic.IEnumerable`1[System.Numerics.Vector`1[float]]):System.Collections.Generic.List`1[System.Numerics.Vector`1[float]] (FullOpts) 8 (3.52 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:FastAppendToListAllowNulls[System.Nullable`1[int]](System.Collections.Generic.List`1[System.Nullable`1[int]],System.Collections.Generic.IEnumerable`1[System.Nullable`1[int]]):System.Collections.Generic.List`1[System.Nullable`1[int]] (FullOpts) 10 (3.46 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithAction(System.Action`2[short,System.Object],System.Object):this (FullOpts) 4 (3.31 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+<>c__DisplayClass1_0`1[int]:b__0(int,int):int:this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[short,double],byref,byref,byref):this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[short,int],byref,byref,byref):this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[long](System.Diagnostics.ActivitySource+Function`2[short,long],byref,byref,byref):this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[short](System.Diagnostics.ActivitySource+Function`2[short,short],byref,byref,byref):this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[System.__Canon](System.Diagnostics.ActivitySource+Function`2[short,System.__Canon],byref,byref,byref):this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[System.Nullable`1[int]](System.Diagnostics.ActivitySource+Function`2[short,System.Nullable`1[int]],byref,byref,byref):this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[System.Numerics.Vector`1[float]](System.Diagnostics.ActivitySource+Function`2[short,System.Numerics.Vector`1[float]],byref,byref,byref):this (FullOpts) 10 (3.28 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[short]:EnumWithFunc[ubyte](System.Diagnostics.ActivitySource+Function`2[short,ubyte],byref,byref,byref):this (FullOpts) 4 (3.25 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+<>c__DisplayClass1_0`1[long]:b__0(int,int):int:this (FullOpts) 4 (3.25 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+<>c__DisplayClass1_0`1[System.__Canon]:b__0(int,int):int:this (FullOpts) 4 (3.25 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+<>c__DisplayClass1_0`1[ubyte]:b__0(int,int):int:this (FullOpts) 4 (3.23 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+<>c__DisplayClass1_0`1[short]:b__0(int,int):int:this (FullOpts) 4 (3.17 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+<>c__DisplayClass1_0`1[double]:b__0(int,int):int:this (FullOpts) 9 (3.11 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[long]:EnumWithAction(System.Action`2[long,System.Object],System.Object):this (FullOpts) 9 (3.11 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.__Canon]:EnumWithAction(System.Action`2[System.__Canon,System.__Canon],System.Object):this (FullOpts) 5 (2.99 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:ValidateGenericParamTable():this (FullOpts) 8 (2.96 % of base) : System.ComponentModel.Composition.dasm - Microsoft.Internal.Collections.CollectionServices:FastAppendToListAllowNulls[System.__Canon](System.Collections.Generic.List`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.List`1[System.__Canon] (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[long]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[long,double],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[long]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[long,int],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[long]:EnumWithFunc[long](System.Diagnostics.ActivitySource+Function`2[long,long],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[long]:EnumWithFunc[short](System.Diagnostics.ActivitySource+Function`2[long,short],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[long]:EnumWithFunc[System.__Canon](System.Diagnostics.ActivitySource+Function`2[long,System.__Canon],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[long]:EnumWithFunc[System.Nullable`1[int]](System.Diagnostics.ActivitySource+Function`2[long,System.Nullable`1[int]],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[long]:EnumWithFunc[System.Numerics.Vector`1[float]](System.Diagnostics.ActivitySource+Function`2[long,System.Numerics.Vector`1[float]],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[long]:EnumWithFunc[ubyte](System.Diagnostics.ActivitySource+Function`2[long,ubyte],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.__Canon]:EnumWithFunc[double](System.Diagnostics.ActivitySource+Function`2[System.__Canon,double],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.__Canon]:EnumWithFunc[int](System.Diagnostics.ActivitySource+Function`2[System.__Canon,int],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.__Canon]:EnumWithFunc[long](System.Diagnostics.ActivitySource+Function`2[System.__Canon,long],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.__Canon]:EnumWithFunc[short](System.Diagnostics.ActivitySource+Function`2[System.__Canon,short],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.__Canon]:EnumWithFunc[System.__Canon](System.Diagnostics.ActivitySource+Function`2[System.__Canon,System.__Canon],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.__Canon]:EnumWithFunc[System.Nullable`1[int]](System.Diagnostics.ActivitySource+Function`2[System.__Canon,System.Nullable`1[int]],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.__Canon]:EnumWithFunc[System.Numerics.Vector`1[float]](System.Diagnostics.ActivitySource+Function`2[System.__Canon,System.Numerics.Vector`1[float]],byref,byref,byref):this (FullOpts) 9 (2.95 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.SynchronizedList`1[System.__Canon]:EnumWithFunc[ubyte](System.Diagnostics.ActivitySource+Function`2[System.__Canon,ubyte],byref,byref,byref):this (FullOpts) 30 (2.95 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.NumberFormatter:FormatSequence(System.Collections.Generic.IList`1[System.Xml.XPath.XPathItem]):System.String:this (FullOpts) 13 (2.92 % of base) : Microsoft.Extensions.Diagnostics.dasm - Microsoft.Extensions.Diagnostics.Metrics.MetricsSubscriptionManager:.ctor(System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Metrics.IMetricsListener],Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions],System.Diagnostics.Metrics.IMeterFactory):this (FullOpts) 37 (2.84 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract+ClassDataContractCriticalHelper:SetIfMembersHaveConflict(System.Collections.Generic.List`1[System.Runtime.Serialization.DataContracts.DataMember]):this (FullOpts) 14 (2.84 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[int]:LeafToRootRefill(System.ReadOnlySpan`1[int]):System.Collections.Immutable.ImmutableSortedSet`1[int]:this (FullOpts) 16 (2.82 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortHelper`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:QuickSortIndicesInPlace(System.Linq.Parallel.GrowingArray`1[System.Nullable`1[int]],System.Collections.Generic.List`1[System.Numerics.Vector`1[float]],ubyte):this (FullOpts) 14 (2.82 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[long]:LeafToRootRefill(System.ReadOnlySpan`1[long]):System.Collections.Immutable.ImmutableSortedSet`1[long]:this (FullOpts) 10 (2.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+d__1`1[System.Nullable`1[int]]:MoveNext():ubyte:this (FullOpts) 4 (2.67 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+<>c__DisplayClass1_0`1[System.Nullable`1[int]]:b__0(int,int):int:this (FullOpts) 13 (2.60 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[short]:LeafToRootRefill(System.ReadOnlySpan`1[short]):System.Collections.Immutable.ImmutableSortedSet`1[short]:this (FullOpts) 15 (2.58 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[int]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[int]):System.Collections.Immutable.ImmutableSortedSet`1[int]:this (FullOpts) 15 (2.56 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[long]:LeafToRootRefill(System.Collections.Generic.IEnumerable`1[long]):System.Collections.Immutable.ImmutableSortedSet`1[long]:this (FullOpts) 4 (2.56 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:AddUniqueStatus(System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509ChainStatus],byref) (FullOpts) 13 (2.52 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.SortHelper`2[short,System.Nullable`1[int]]:QuickSortIndicesInPlace(System.Linq.Parallel.GrowingArray`1[System.Nullable`1[int]],System.Collections.Generic.List`1[short],ubyte):this (FullOpts) 18 (2.51 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (FullOpts) (2 methods) 20 (2.50 % of base) : System.Private.CoreLib.dasm - System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) (FullOpts) 31 (2.49 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.NumberAction:Format(System.Collections.ArrayList,System.Collections.Generic.List`1[System.Xml.Xsl.XsltOld.NumberAction+FormatInfo],System.String,System.String):System.String (FullOpts) 4 (2.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EnumerableExtensions+<>c__DisplayClass1_0`1[System.Numerics.Vector`1[float]]:b__0(int,int):int:this (FullOpts) 12 (2.40 % of base) : System.Collections.Immutable.dasm - System.Collections.Immutable.ImmutableSortedSet`1[ubyte]:LeafToRootRefill(System.ReadOnlySpan`1[ubyte]):System.Collections.Immutable.ImmutableSortedSet`1[ubyte]:this (FullOpts) Top method improvements (percentages): -9 (-11.69 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[int]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -9 (-11.54 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[ubyte]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -9 (-11.39 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[long]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -5 (-11.36 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Head[int](System.Collections.Generic.List`1[int]):int (FullOpts) -9 (-11.25 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[short]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -5 (-11.11 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Head[long](System.Collections.Generic.List`1[long]):long (FullOpts) -5 (-11.11 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Head[System.__Canon](System.Collections.Generic.List`1[System.__Canon]):System.__Canon (FullOpts) -5 (-11.11 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Head[System.Nullable`1[int]](System.Collections.Generic.List`1[System.Nullable`1[int]]):System.Nullable`1[int] (FullOpts) -5 (-11.11 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Head[ubyte](System.Collections.Generic.List`1[ubyte]):ubyte (FullOpts) -5 (-10.87 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Head[short](System.Collections.Generic.List`1[short]):short (FullOpts) -5 (-10.20 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Head[double](System.Collections.Generic.List`1[double]):double (FullOpts) -5 (-10.20 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Xslt.Keys:GetKeyForItem(System.Collections.Generic.List`1[System.Xml.Xsl.Xslt.Key]):System.Xml.Xsl.Qil.QilName:this (FullOpts) -180 (-9.85 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task:RunContinuations(System.Object):this (FullOpts) -129 (-9.54 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexNode:g__ExtractCommonPrefixOneNotoneSet|41_1(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (FullOpts) -4 (-8.89 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[int]:get_Item(int):int:this (FullOpts) -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[long]:get_Item(int):long:this (FullOpts) -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:get_Item(int):System.__Canon:this (FullOpts) -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.__Canon]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Nullable`1[int]]:get_Item(int):System.Nullable`1[int]:this (FullOpts) -4 (-8.70 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[ubyte]:get_Item(int):ubyte:this (FullOpts) -42 (-8.57 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcParameterCollection:CalcParameterBufferSize(System.Data.Odbc.OdbcCommand):int:this (FullOpts) -4 (-8.51 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[short]:get_Item(int):short:this (FullOpts) -5 (-8.47 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ListExtensions:Head[System.Numerics.Vector`1[float]](System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]):System.Numerics.Vector`1[float] (FullOpts) -4 (-8.16 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[int]:get_Item(int):int:this (FullOpts) -4 (-8.00 % of base) : Microsoft.Extensions.Configuration.dasm - Microsoft.Extensions.Configuration.ConfigurationManager+ConfigurationSources:get_Item(int):Microsoft.Extensions.Configuration.IConfigurationSource:this (FullOpts) -4 (-8.00 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ServiceCollection:get_Item(int):Microsoft.Extensions.DependencyInjection.ServiceDescriptor:this (FullOpts) -4 (-8.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[double]:get_Item(int):double:this (FullOpts) -4 (-8.00 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceListenerCollection:get_Item(int):System.Diagnostics.TraceListener:this (FullOpts) -4 (-8.00 % of base) : System.Diagnostics.TraceSource.dasm - System.Diagnostics.TraceListenerCollection:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -4 (-8.00 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList:GetInstruction(int):System.Linq.Expressions.Interpreter.Instruction:this (FullOpts) -4 (-8.00 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.GatewayIPAddressInformationCollection:get_Item(int):System.Net.NetworkInformation.GatewayIPAddressInformation:this (FullOpts) -4 (-8.00 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.InternalIPAddressCollection:get_Item(int):System.Net.IPAddress:this (FullOpts) -4 (-8.00 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.IPAddressInformationCollection:get_Item(int):System.Net.NetworkInformation.IPAddressInformation:this (FullOpts) -4 (-8.00 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.MulticastIPAddressInformationCollection:get_Item(int):System.Net.NetworkInformation.MulticastIPAddressInformation:this (FullOpts) -4 (-8.00 % of base) : System.Net.NetworkInformation.dasm - System.Net.NetworkInformation.UnicastIPAddressInformationCollection:get_Item(int):System.Net.NetworkInformation.UnicastIPAddressInformation:this (FullOpts) -4 (-8.00 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.CodeGenerator:GetArg(int):System.Runtime.Serialization.ArgBuilder:this (FullOpts) -4 (-8.00 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.AsnEncodedDataCollection:get_Item(int):System.Security.Cryptography.AsnEncodedData:this (FullOpts) -4 (-8.00 % of base) : System.Security.Cryptography.Pkcs.dasm - System.Security.Cryptography.CryptographicAttributeObjectCollection:get_Item(int):System.Security.Cryptography.CryptographicAttributeObject:this (FullOpts) -4 (-8.00 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[long]:get_Item(int):long:this (FullOpts) -4 (-8.00 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.__Canon]:get_Item(int):System.__Canon:this (FullOpts) -4 (-8.00 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Nullable`1[int]]:get_Item(int):System.Nullable`1[int]:this (FullOpts) -4 (-8.00 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[ubyte]:get_Item(int):ubyte:this (FullOpts) -4 (-8.00 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlQueryTypeFactory+ChoiceType:get_Item(int):System.Xml.Xsl.XmlQueryType:this (FullOpts) -4 (-7.84 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[short]:get_Item(int):short:this (FullOpts) -20 (-7.66 % of base) : System.Linq.dasm - System.Linq.Enumerable+WhereListIterator`1[double]:ToList():System.Collections.Generic.List`1[double]:this (FullOpts) -4 (-7.41 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[double]:get_Item(int):double:this (FullOpts) -4 (-7.02 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.InstructionList+DebugView:b__4_0(int):int:this (FullOpts) -4 (-6.25 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Numerics.Vector`1[float]]:get_Item(int):System.Numerics.Vector`1[float]:this (FullOpts) -5 (-6.25 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[int,System.Nullable`1[int]]:TryGetFirst(byref):System.Nullable`1[int]:this (FullOpts) -4 (-6.25 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.Processor:GetQueryExpression(int):System.String:this (FullOpts) -5 (-6.17 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[long,System.Nullable`1[int]]:TryGetFirst(byref):System.Nullable`1[int]:this (FullOpts) -5 (-6.17 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[System.__Canon,System.Nullable`1[int]]:TryGetFirst(byref):System.Nullable`1[int]:this (FullOpts) -5 (-6.17 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetFirst(byref):System.Nullable`1[int]:this (FullOpts) -4 (-6.15 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:SetChar(ushort,int):this (FullOpts) -4 (-6.15 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:TestEscapeChar(ushort,int):ubyte:this (FullOpts) -5 (-6.10 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[short,System.Nullable`1[int]]:TryGetFirst(byref):System.Nullable`1[int]:this (FullOpts) -5 (-6.10 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[ubyte,System.Nullable`1[int]]:TryGetFirst(byref):System.Nullable`1[int]:this (FullOpts) -12 (-6.03 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:Remove(System.Data.Common.DataColumnMapping):this (FullOpts) -12 (-6.03 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:Remove(System.Data.Common.DataTableMapping):this (FullOpts) -4 (-5.88 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.Design.Serialization.ContextStack:get_Current():System.Object:this (FullOpts) -5 (-5.88 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[double,System.Nullable`1[int]]:TryGetFirst(byref):System.Nullable`1[int]:this (FullOpts) -4 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicScope:get_Item(int):System.Object:this (FullOpts) -4 (-5.88 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.ConfigurationList`1[System.Numerics.Vector`1[float]]:get_Item(int):System.Numerics.Vector`1[float]:this (FullOpts) -4 (-5.80 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.CacheAxisQuery:Advance():System.Xml.XPath.XPathNavigator:this (FullOpts) -4 (-5.80 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.CacheOutputQuery:Advance():System.Xml.XPath.XPathNavigator:this (FullOpts) -4 (-5.71 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+KeyCollection[System.__Canon]:get_Item(int):System.String:this (FullOpts) -4 (-5.71 % of base) : System.Text.Json.dasm - System.Text.Json.JsonPropertyDictionary`1+ValueCollection[System.__Canon]:get_Item(int):System.__Canon:this (FullOpts) -4 (-5.63 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:RemoveIndex(int):this (FullOpts) -4 (-5.63 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:RemoveIndex(int):this (FullOpts) -10 (-5.49 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:GetValue(System.Object[],int):System.Collections.Generic.KeyValuePair`2[System.String,System.Object]:this (FullOpts) -14 (-5.49 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:MergeBuckets(System.Collections.Generic.List`1[System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+SwitchLabel]]) (FullOpts) -4 (-5.48 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.SortQuery:Advance():System.Xml.XPath.XPathNavigator:this (FullOpts) -4 (-5.48 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.BaseConfigurationRecord:DebugValidateIndirectInputs(System.Configuration.SectionRecord):this (FullOpts) -4 (-5.33 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.ClonableStack`1[int]:Pop():int:this (FullOpts) -5 (-5.32 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.ReadyToRunReader:GetGlobalMetadata():ILCompiler.Reflection.ReadyToRun.IAssemblyMetadata:this (FullOpts) -4 (-5.26 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.ClonableStack`1[ubyte]:Pop():ubyte:this (FullOpts) -4 (-5.19 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.ClonableStack`1[long]:Pop():long:this (FullOpts) -4 (-5.19 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.ClonableStack`1[short]:Pop():short:this (FullOpts) -4 (-5.19 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.ClonableStack`1[System.__Canon]:Pop():System.__Canon:this (FullOpts) -4 (-5.19 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:get_Item(System.String):System.Data.Common.DataColumnMapping:this (FullOpts) -4 (-5.19 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:System.Data.IColumnMappingCollection.get_Item(System.String):System.Object:this (FullOpts) -4 (-5.19 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:get_Item(System.String):System.Data.Common.DataTableMapping:this (FullOpts) -4 (-5.19 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:System.Data.ITableMappingCollection.get_Item(System.String):System.Object:this (FullOpts) -82 (-5.12 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCompiler+<>c__DisplayClass157_0:g__EmitBackreferenceConditional|6(System.Text.RegularExpressions.RegexNode):this (FullOpts) -8 (-5.03 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.MaskedTextProvider:TestSetChar(ushort,int,byref):ubyte:this (FullOpts) -4 (-5.00 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.List`1[System.Nullable`1[int]]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -4 (-5.00 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:get_Item(int):System.Data.Common.DataColumnMapping:this (FullOpts) -4 (-5.00 % of base) : System.Data.Common.dasm - System.Data.Common.DataColumnMappingCollection:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -4 (-5.00 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:get_Item(int):System.Data.Common.DataTableMapping:this (FullOpts) -4 (-5.00 % of base) : System.Data.Common.dasm - System.Data.Common.DataTableMappingCollection:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) -4 (-5.00 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[int,System.Nullable`1[int]]:TryGetElementAt(int,byref):System.Nullable`1[int]:this (FullOpts) -4 (-4.94 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[long,System.Nullable`1[int]]:TryGetElementAt(int,byref):System.Nullable`1[int]:this (FullOpts) -4 (-4.94 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[System.__Canon,System.Nullable`1[int]]:TryGetElementAt(int,byref):System.Nullable`1[int]:this (FullOpts) -4 (-4.94 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetElementAt(int,byref):System.Nullable`1[int]:this (FullOpts) -4 (-4.88 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[short,System.Nullable`1[int]]:TryGetElementAt(int,byref):System.Nullable`1[int]:this (FullOpts) -4 (-4.88 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[ubyte,System.Nullable`1[int]]:TryGetElementAt(int,byref):System.Nullable`1[int]:this (FullOpts) -4 (-4.88 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:GetItem(int):System.Text.Json.Nodes.JsonNode:this (FullOpts) -4 (-4.82 % of base) : System.Private.Xml.dasm - MS.Internal.Xml.XPath.ClonableStack`1[System.Nullable`1[int]]:Pop():System.Nullable`1[int]:this (FullOpts) -4 (-4.76 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[int,System.Nullable`1[int]]:TryGetLast(byref):System.Nullable`1[int]:this (FullOpts) -4 (-4.71 % of base) : System.Linq.dasm - System.Linq.Enumerable+SelectListIterator`2[double,System.Nullable`1[int]]:TryGetElementAt(int,byref):System.Nullable`1[int]:this (FullOpts) 1003 total methods with Code Size differences (669 improved, 334 regressed), 233930 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 1 year ago

Top method regressions

20 (2.50 % of base) - System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) ```diff ; Assembly listing for method System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 8 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T06] ( 23, 23.50) ref -> rbx class-hnd single-def +; V00 arg0 [V00,T05] ( 23, 23.50) ref -> rbx class-hnd single-def ; V01 loc0 [V01,T02] ( 12, 47.50) ref -> r15 class-hnd exact single-def ; V02 loc1 [V02 ] ( 17, 53.50) struct (16) [rbp-0x28] do-not-enreg[XS] must-init addr-exposed ld-addr-op ; V03 loc2 [V03,T00] ( 29,154.50) int -> rax -; V04 loc3 [V04,T20] ( 4, 2 ) int -> rcx +; V04 loc3 [V04,T19] ( 4, 2 ) int -> rcx ;* V05 loc4 [V05 ] ( 0, 0 ) struct (16) zero-ref -; V06 loc5 [V06,T07] ( 9, 25.50) int -> r14 +; V06 loc5 [V06,T06] ( 9, 25.50) int -> r14 ;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V08 tmp1 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" -; V09 tmp2 [V09,T04] ( 5, 28 ) ref -> rdi class-hnd exact "impAppendStmt" -; V10 tmp3 [V10,T24] ( 2, 2 ) long -> rax "Inlining Arg" -; V11 tmp4 [V11,T23] ( 2, 2 ) ref -> rdx class-hnd exact single-def "Inlining Arg" -; V12 tmp5 [V12,T05] ( 5, 28 ) ref -> rsi class-hnd "Inlining Arg" -; V13 tmp6 [V13,T14] ( 2, 4 ) ubyte -> rax "Inline return value spill temp" -; V14 tmp7 [V14,T15] ( 2, 8 ) byref -> rdi "impAppendStmt" -; V15 tmp8 [V15,T25] ( 3, 1.50) ref -> rdi class-hnd single-def "Inline stloc first use temp" -; V16 tmp9 [V16,T21] ( 4, 2 ) int -> rsi "Inline stloc first use temp" -; V17 tmp10 [V17 ] ( 9, 27 ) byref -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP -; V18 tmp11 [V18 ] ( 9, 27 ) int -> [rbp-0x20] do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP -;* V19 tmp12 [V19 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP -;* V20 tmp13 [V20 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP -; V21 tmp14 [V21,T28] ( 2, 1 ) byref -> rax single-def "field V08._reference (fldOffset=0x0)" P-INDEP -; V22 tmp15 [V22,T29] ( 2, 1 ) int -> rcx "field V08._length (fldOffset=0x8)" P-INDEP -; V23 tmp16 [V23,T19] ( 3, 3 ) ref -> rax single-def "arr expr" -; V24 tmp17 [V24,T08] ( 3, 24 ) ref -> rdi "arr expr" -; V25 tmp18 [V25,T09] ( 2, 16 ) ref -> rsi "arr expr" -; V26 GsCookie [V26 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie" -; V27 cse0 [V27,T13] ( 3, 10 ) int -> rcx "CSE - moderate" -; V28 cse1 [V28,T30] ( 2, 1 ) int -> rax "CSE - moderate" -; V29 cse2 [V29,T11] ( 3, 12 ) int -> rdx "CSE - moderate" -; V30 cse3 [V30,T10] ( 3, 12 ) ref -> rsi "CSE - moderate" -; V31 cse4 [V31,T26] ( 3, 1.50) long -> rdx "CSE - moderate" -; V32 cse5 [V32,T03] ( 14, 34.50) int -> rdi "CSE - aggressive" -; V33 cse6 [V33,T12] ( 3, 12 ) int -> rcx "CSE - moderate" -; V34 cse7 [V34,T16] ( 2, 8 ) int -> rax "CSE - moderate" -; V35 cse8 [V35,T18] ( 7, 3.50) int -> rsi "CSE - moderate" -; V36 cse9 [V36,T17] ( 3, 6 ) int -> rdx "CSE - moderate" -; V37 cse10 [V37,T22] ( 4, 2 ) int -> rcx "CSE - moderate" -; V38 cse11 [V38,T27] ( 3, 1.50) int -> rax "CSE - moderate" -; V39 cse12 [V39,T01] ( 3, 48 ) long -> rdx "CSE - aggressive" +; V09 tmp2 [V09,T04] ( 5, 28 ) ref -> rsi class-hnd exact "impAppendStmt" +;* V10 tmp3 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" +; V11 tmp4 [V11,T24] ( 3, 1.50) ref -> rax class-hnd single-def "Inline stloc first use temp" +; V12 tmp5 [V12,T23] ( 2, 2 ) long -> rax "Inlining Arg" +; V13 tmp6 [V13,T22] ( 2, 2 ) ref -> rdx class-hnd exact single-def "Inlining Arg" +; V14 tmp7 [V14,T08] ( 3, 12 ) ref -> rsi class-hnd "Inline stloc first use temp" +; V15 tmp8 [V15,T07] ( 5, 14 ) ref -> rdi class-hnd exact "Inline return value spill temp" +; V16 tmp9 [V16,T15] ( 2, 8 ) ref -> rdx class-hnd "Inline stloc first use temp" +; V17 tmp10 [V17,T14] ( 2, 4 ) ubyte -> rax "Inline return value spill temp" +; V18 tmp11 [V18,T16] ( 2, 8 ) byref -> [rbp-0x30] spill-single-def "impAppendStmt" +; V19 tmp12 [V19,T25] ( 3, 1.50) ref -> rdi class-hnd single-def "Inline stloc first use temp" +; V20 tmp13 [V20,T20] ( 4, 2 ) int -> rsi "Inline stloc first use temp" +; V21 tmp14 [V21 ] ( 9, 27 ) byref -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP +; V22 tmp15 [V22 ] ( 9, 27 ) int -> [rbp-0x20] do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP +;* V23 tmp16 [V23 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP +;* V24 tmp17 [V24 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP +; V25 tmp18 [V25,T28] ( 2, 1 ) byref -> rax single-def "field V08._reference (fldOffset=0x0)" P-INDEP +; V26 tmp19 [V26,T29] ( 2, 1 ) int -> rcx "field V08._length (fldOffset=0x8)" P-INDEP +; V27 GsCookie [V27 ] ( 1, 1 ) long -> [rbp-0x38] do-not-enreg[X] addr-exposed "GSSecurityCookie" +; V28 cse0 [V28,T13] ( 3, 10 ) int -> rcx "CSE - moderate" +; V29 cse1 [V29,T30] ( 2, 1 ) int -> rdx "CSE - moderate" +; V30 cse2 [V30,T31] ( 2, 1 ) int -> rax "CSE - moderate" +; V31 cse3 [V31,T09] ( 3, 12 ) ref -> rdx "CSE - moderate" +; V32 cse4 [V32,T10] ( 3, 12 ) int -> rdi "CSE - moderate" +; V33 cse5 [V33,T26] ( 3, 1.50) long -> rdx "CSE - moderate" +; V34 cse6 [V34,T03] ( 14, 34.50) int -> rdi "CSE - aggressive" +; V35 cse7 [V35,T11] ( 3, 12 ) int -> rax "CSE - aggressive" +; V36 cse8 [V36,T12] ( 3, 12 ) int -> rcx "CSE - moderate" +; V37 cse9 [V37,T18] ( 7, 3.50) int -> rsi "CSE - moderate" +; V38 cse10 [V38,T17] ( 3, 6 ) int -> rdx "CSE - moderate" +; V39 cse11 [V39,T21] ( 4, 2 ) int -> rcx "CSE - moderate" +; V40 cse12 [V40,T27] ( 3, 1.50) int -> rax "CSE - moderate" +; V41 cse13 [V41,T01] ( 3, 48 ) long -> rdx "CSE - aggressive" ; -; Lcl frame size = 24 +; Lcl frame size = 40 G_M28069_IG01: push rbp push r15 push r14 push rbx - sub rsp, 24 - lea rbp, [rsp+0x30] + sub rsp, 40 + lea rbp, [rsp+0x40] xor eax, eax mov qword ptr [rbp-0x28], rax - mov qword ptr [rbp-0x30], 0xD1FFAB1E + mov qword ptr [rbp-0x38], 0xD1FFAB1E mov rbx, rdi ;; size=32 bbWeight=1 PerfScore 7.25 G_M28069_IG02: cmp dword ptr [rbx+0x10], 0 je G_M28069_IG24 ;; size=10 bbWeight=1 PerfScore 4.00 G_M28069_IG03: + mov rax, gword ptr [rbx+0x08] cmp dword ptr [rbx+0x10], 0 je G_M28069_IG29 - mov rax, gword ptr [rbx+0x08] - cmp dword ptr [rax+0x08], 0 - jbe G_M28069_IG30 + mov edx, dword ptr [rax+0x08] + test edx, edx + je G_M28069_IG29 mov r15, gword ptr [rax+0x10] mov edi, dword ptr [r15+0x08] cmp edi, 100 jg G_M28069_IG24 lea ecx, [rdi+0x02] mov eax, ecx mov esi, 2 mul rdx:rax, rsi jb G_M28069_IG27 test rax, rax je SHORT G_M28069_IG05 mov rdx, rax add rdx, 15 and rdx, -16 neg rdx add rdx, rsp jb SHORT G_M28069_IG04 xor edx, edx - ;; size=86 bbWeight=0.50 PerfScore 12.00 + ;; size=87 bbWeight=0.50 PerfScore 11.62 G_M28069_IG04: test dword ptr [rsp], esp sub rsp, 0x1000 cmp rsp, rdx jae SHORT G_M28069_IG04 mov rsp, rdx lea rax, [rsp] ;; size=22 bbWeight=0.50 PerfScore 2.62 G_M28069_IG05: test ecx, ecx jl G_M28069_IG28 mov bword ptr [rbp-0x28], rax mov dword ptr [rbp-0x20], ecx xor eax, eax test edi, edi jle G_M28069_IG14 ;; size=25 bbWeight=0.50 PerfScore 2.38 G_M28069_IG06: mov ecx, eax movzx rcx, word ptr [r15+2*rcx+0x0C] cmp ecx, 39 jne SHORT G_M28069_IG10 - align [4 bytes for IG07] - ;; size=17 bbWeight=4 PerfScore 15.00 + align [3 bytes for IG07] + ;; size=16 bbWeight=4 PerfScore 15.00 G_M28069_IG07: cmp eax, dword ptr [rbp-0x20] jae G_M28069_IG30 mov rcx, bword ptr [rbp-0x28] mov edx, eax movzx rsi, word ptr [r15+2*rdx+0x0C] mov word ptr [rcx+2*rdx], si inc eax cmp edi, eax jle SHORT G_M28069_IG08 mov ecx, eax cmp word ptr [r15+2*rcx+0x0C], 39 jne SHORT G_M28069_IG07 ;; size=42 bbWeight=16 PerfScore 208.00 G_M28069_IG08: cmp edi, eax jg SHORT G_M28069_IG11 ;; size=4 bbWeight=2 PerfScore 2.50 G_M28069_IG09: jmp G_M28069_IG24 align [4 bytes for IG16] ;; size=9 bbWeight=0.50 PerfScore 1.00 G_M28069_IG10: cmp ecx, 121 je SHORT G_M28069_IG13 ;; size=5 bbWeight=2 PerfScore 2.50 G_M28069_IG11: cmp eax, dword ptr [rbp-0x20] jae G_M28069_IG30 mov rcx, bword ptr [rbp-0x28] mov edx, eax mov esi, eax movzx rsi, word ptr [r15+2*rsi+0x0C] mov word ptr [rcx+2*rdx], si inc eax cmp edi, eax jg SHORT G_M28069_IG06 ;; NOP compensation instructions of 4 bytes. ;; size=37 bbWeight=4 PerfScore 36.00 G_M28069_IG12: jmp SHORT G_M28069_IG14 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M28069_IG13: cmp eax, dword ptr [rbp-0x20] jae G_M28069_IG30 mov rcx, bword ptr [rbp-0x28] mov edx, eax mov word ptr [rcx+2*rdx], 121 ;; size=21 bbWeight=0.50 PerfScore 2.62 G_M28069_IG14: lea ecx, [rdi-0x01] cmp ecx, eax jle G_M28069_IG24 lea ecx, [rax+0x01] cmp ecx, edi jae G_M28069_IG30 mov edx, ecx cmp word ptr [r15+2*rdx+0x0C], 121 jne G_M28069_IG24 lea esi, [rax+0x02] cmp edi, esi jle SHORT G_M28069_IG15 cmp esi, edi jae G_M28069_IG30 mov r8d, esi cmp word ptr [r15+2*r8+0x0C], 121 je G_M28069_IG24 ;; size=68 bbWeight=0.50 PerfScore 7.50 G_M28069_IG15: cmp ecx, dword ptr [rbp-0x20] jae G_M28069_IG30 mov rcx, bword ptr [rbp-0x28] mov word ptr [rcx+2*rdx], 121 cmp esi, dword ptr [rbp-0x20] jae G_M28069_IG30 mov rcx, bword ptr [rbp-0x28] mov edx, esi mov word ptr [rcx+2*rdx], 121 add eax, 3 cmp eax, dword ptr [rbp-0x20] jae G_M28069_IG30 mov rcx, bword ptr [rbp-0x28] mov word ptr [rcx+2*rax], 121 mov eax, esi cmp edi, eax jle SHORT G_M28069_IG17 ;; size=68 bbWeight=0.50 PerfScore 8.50 G_M28069_IG16: lea ecx, [rax+0x02] cmp ecx, dword ptr [rbp-0x20] jae G_M28069_IG30 mov rdx, bword ptr [rbp-0x28] cmp eax, edi jae G_M28069_IG30 mov esi, eax movzx rsi, word ptr [r15+2*rsi+0x0C] mov word ptr [rdx+2*rcx], si inc eax cmp edi, eax jg SHORT G_M28069_IG16 ;; size=42 bbWeight=4 PerfScore 42.00 G_M28069_IG17: lea rdi, [rbp-0x28] mov rax, 0xD1FFAB1E ; code for System.Span`1[ushort]:ToString():System.String:this call [rax]System.Span`1[ushort]:ToString():System.String:this mov rdx, rax cmp dword ptr [rbx+0x10], 0 je G_M28069_IG29 mov rdi, gword ptr [rbx+0x08] xor esi, esi call CORINFO_HELP_ARRADDR_ST inc dword ptr [rbx+0x14] mov r14d, 1 cmp dword ptr [rbx+0x10], 1 - jle SHORT G_M28069_IG21 - ;; size=55 bbWeight=0.50 PerfScore 9.25 + jle G_M28069_IG21 + ;; size=59 bbWeight=0.50 PerfScore 9.25 G_M28069_IG18: - mov edx, dword ptr [rbx+0x10] - cmp r14d, edx + mov rdx, gword ptr [rbx+0x08] + mov rsi, rdx + mov edi, dword ptr [rbx+0x10] + cmp r14d, edi jae G_M28069_IG29 - mov rsi, gword ptr [rbx+0x08] - mov rdi, rsi - mov eax, dword ptr [rdi+0x08] - cmp r14d, eax - jae G_M28069_IG30 - mov eax, r14d - mov rdi, gword ptr [rdi+8*rax+0x10] - test edx, edx + mov eax, dword ptr [rsi+0x08] + cmp eax, r14d + jbe G_M28069_IG29 + mov ecx, r14d + mov rsi, gword ptr [rsi+8*rcx+0x10] + test edi, edi je G_M28069_IG29 - mov rsi, gword ptr [rsi+0x10] - cmp rdi, rsi + test eax, eax + je G_M28069_IG29 + mov rdi, gword ptr [rdx+0x10] + cmp rsi, rdi je SHORT G_M28069_IG22 - ;; size=56 bbWeight=4 PerfScore 62.00 + ;; size=64 bbWeight=4 PerfScore 67.00 G_M28069_IG19: - test rdi, rdi - je SHORT G_M28069_IG20 test rsi, rsi je SHORT G_M28069_IG20 - mov edx, dword ptr [rdi+0x08] - cmp edx, dword ptr [rsi+0x08] + test rdi, rdi + je SHORT G_M28069_IG20 + mov edx, dword ptr [rsi+0x08] + cmp edx, dword ptr [rdi+0x08] jne SHORT G_M28069_IG20 - add rdi, 12 - add edx, edx add rsi, 12 + mov bword ptr [rbp-0x30], rsi + add edx, edx + lea rsi, bword ptr [rdi+0x0C] + mov rdi, bword ptr [rbp-0x30] mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte test eax, eax jne SHORT G_M28069_IG22 - ;; size=44 bbWeight=2 PerfScore 27.50 + ;; size=52 bbWeight=2 PerfScore 32.00 G_M28069_IG20: inc r14d cmp r14d, dword ptr [rbx+0x10] jl SHORT G_M28069_IG18 ;; size=9 bbWeight=4 PerfScore 17.00 G_M28069_IG21: inc dword ptr [rbx+0x14] mov rdi, gword ptr [rbx+0x08] mov esi, dword ptr [rbx+0x10] mov eax, dword ptr [rdi+0x08] cmp eax, esi jbe SHORT G_M28069_IG23 lea eax, [rsi+0x01] mov dword ptr [rbx+0x10], eax lea rdi, bword ptr [rdi+8*rsi+0x10] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF jmp SHORT G_M28069_IG24 ;; size=38 bbWeight=0.50 PerfScore 8.00 G_M28069_IG22: cmp r14d, dword ptr [rbx+0x10] jae SHORT G_M28069_IG29 mov rdi, gword ptr [rbx+0x08] movsxd rsi, r14d mov rdx, r15 call CORINFO_HELP_ARRADDR_ST inc dword ptr [rbx+0x14] jmp SHORT G_M28069_IG24 ;; size=26 bbWeight=0.50 PerfScore 6.25 G_M28069_IG23: mov rdi, rbx mov rsi, r15 mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this call [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this ;; size=18 bbWeight=0.50 PerfScore 1.88 G_M28069_IG24: - cmp qword ptr [rbp-0x30], 0xD1FFAB1E + cmp qword ptr [rbp-0x38], 0xD1FFAB1E je SHORT G_M28069_IG25 call CORINFO_HELP_FAIL_FAST ;; size=15 bbWeight=1 PerfScore 4.00 G_M28069_IG25: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M28069_IG26: lea rsp, [rbp-0x18] pop rbx pop r14 pop r15 pop rbp ret ;; size=11 bbWeight=1 PerfScore 3.50 G_M28069_IG27: call CORINFO_HELP_OVERFLOW ;; size=5 bbWeight=0 PerfScore 0.00 G_M28069_IG28: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M28069_IG29: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M28069_IG30: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 800, prolog size 32, PerfScore 574.50, instruction count 221, allocated bytes for code 800 (MethodHash=bd52925a) for method System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) (FullOpts) +; Total bytes of code 820, prolog size 32, PerfScore 585.63, instruction count 226, allocated bytes for code 820 (MethodHash=bd52925a) for method System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) (FullOpts) ```
8 (0.57 % of base) - System.Globalization.JapaneseCalendar:IcuGetJapaneseEras():System.Globalization.EraInfo[] ```diff ; Assembly listing for method System.Globalization.JapaneseCalendar:IcuGetJapaneseEras():System.Globalization.EraInfo[] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 20 single block inlinees; 8 inlinees without PGO data ; Final local variable assignments ; ; V00 loc0 [V00 ] ( 4, 13 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd -; V01 loc1 [V01,T06] ( 11, 26 ) ref -> [rbp-0x50] class-hnd exact single-def -; V02 loc2 [V02,T25] ( 3, 8.50) int -> r14 +; V01 loc1 [V01,T07] ( 11, 22.50) ref -> [rbp-0x50] class-hnd exact single-def +; V02 loc2 [V02,T26] ( 3, 8.50) int -> r14 ;* V03 loc3 [V03 ] ( 0, 0 ) int -> zero-ref ; V04 loc4 [V04 ] ( 17, 15 ) ref -> [rbp-0x38] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd -; V05 loc5 [V05,T09] ( 6, 16.50) int -> rbx +; V05 loc5 [V05,T08] ( 6, 16.50) int -> rbx ; V06 loc6 [V06,T03] ( 10, 33 ) int -> rbx ; V07 loc7 [V07 ] ( 8, 32 ) struct ( 8) [rbp-0x40] do-not-enreg[XS] addr-exposed ld-addr-op ; V08 loc8 [V08,T05] ( 8, 28.50) int -> r14 ;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V10 tmp1 [V10,T42] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" +; V10 tmp1 [V10,T45] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" ;* V11 tmp2 [V11 ] ( 0, 0 ) struct ( 8) zero-ref "folding static readonly field struct" ; V12 tmp3 [V12,T01] ( 8, 52 ) int -> r13 "non-inline candidate call" ; V13 tmp4 [V13,T02] ( 6, 48 ) int -> r12 "non-inline candidate call" ; V14 tmp5 [V14,T04] ( 4, 32 ) int -> [rbp-0x44] spill-single-def "non-inline candidate call" ; V15 tmp6 [V15,T12] ( 2, 16 ) int -> [rbp-0x48] spill-single-def "non-inline candidate call" ; V16 tmp7 [V16,T13] ( 2, 16 ) int -> r14 "impAppendStmt" -; V17 tmp8 [V17,T10] ( 2, 16 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "impAppendStmt" +; V17 tmp8 [V17,T09] ( 2, 16 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "impAppendStmt" ; V18 tmp9 [V18,T00] ( 11, 80 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "NewObj constructor temp" -; V19 tmp10 [V19,T46] ( 3, 1.50) int -> rbx -;* V20 tmp11 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" +; V19 tmp10 [V19,T50] ( 3, 1.50) int -> rbx +; V20 tmp11 [V20,T10] ( 2, 16 ) ref -> rsi class-hnd exact "impAppendStmt" ;* V21 tmp12 [V21 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" ;* V22 tmp13 [V22 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" ;* V23 tmp14 [V23 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ; V24 tmp15 [V24,T11] ( 2, 16 ) ref -> rdi class-hnd exact "Inlining Arg" -; V25 tmp16 [V25,T27] ( 3, 8 ) ref -> [rbp-0x68] class-hnd "Inline return value spill temp" -; V26 tmp17 [V26,T07] ( 5, 24 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "Inlining Arg" +; V25 tmp16 [V25,T28] ( 3, 8 ) ref -> [rbp-0x68] class-hnd "Inline return value spill temp" +; V26 tmp17 [V26,T06] ( 5, 24 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "Inlining Arg" ;* V27 tmp18 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" -; V28 tmp19 [V28,T26] ( 4, 8 ) ref -> rdx class-hnd exact "Inline stloc first use temp" +; V28 tmp19 [V28,T27] ( 4, 8 ) ref -> rdx class-hnd exact "Inline stloc first use temp" ;* V29 tmp20 [V29 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" -; V30 tmp21 [V30,T29] ( 2, 8 ) byref -> rdi "Inlining Arg" -; V31 tmp22 [V31,T30] ( 2, 8 ) byref -> rax "Inlining Arg" +; V30 tmp21 [V30,T30] ( 2, 8 ) byref -> rdi "Inlining Arg" +; V31 tmp22 [V31,T31] ( 2, 8 ) byref -> rax "Inlining Arg" ;* V32 tmp23 [V32 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V33 tmp24 [V33 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" ;* V34 tmp25 [V34 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline stloc first use temp" ;* V35 tmp26 [V35 ] ( 0, 0 ) struct (16) zero-ref ;* V36 tmp27 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" -; V37 tmp28 [V37,T31] ( 2, 8 ) int -> rdi "Inline stloc first use temp" -;* V38 tmp29 [V38,T38] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V37 tmp28 [V37,T32] ( 2, 8 ) int -> rdi "Inline stloc first use temp" +;* V38 tmp29 [V38,T42] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V39 tmp30 [V39 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan for CreateSpan" ;* V40 tmp31 [V40 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan for CreateSpan" -; V41 tmp32 [V41,T18] ( 3, 12 ) int -> r13 "Inline stloc first use temp" -; V42 tmp33 [V42,T19] ( 3, 12 ) int -> rsi "Inline stloc first use temp" -; V43 tmp34 [V43,T23] ( 3, 10 ) ref -> rdi class-hnd "Inline stloc first use temp" +; V41 tmp32 [V41,T19] ( 3, 12 ) int -> r13 "Inline stloc first use temp" +; V42 tmp33 [V42,T20] ( 3, 12 ) int -> rsi "Inline stloc first use temp" +; V43 tmp34 [V43,T24] ( 3, 10 ) ref -> rdi class-hnd "Inline stloc first use temp" ; V44 tmp35 [V44,T15] ( 4, 12 ) int -> rsi "Inline stloc first use temp" -; V45 tmp36 [V45,T35] ( 3, 4 ) ref -> rax "Single return block return value" -; V46 FramesRoot [V46,T34] ( 6, 4 ) long -> rbx "Pinvoke FrameListRoot" -; V47 PInvokeFrame [V47 ] ( 8, 6 ) struct (72) [rbp-0xB8] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" -; V48 tmp39 [V48 ] ( 8, 32 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V07._dateData (fldOffset=0x0)" P-DEP -;* V49 tmp40 [V49 ] ( 0, 0 ) long -> zero-ref "field V11._dateData (fldOffset=0x0)" P-INDEP -; V50 tmp41 [V50,T32] ( 2, 8 ) long -> rdi "field V21._dateData (fldOffset=0x0)" P-INDEP -;* V51 tmp42 [V51 ] ( 0, 0 ) long -> zero-ref "field V22._dateData (fldOffset=0x0)" P-INDEP -; V52 tmp43 [V52,T33] ( 2, 8 ) long -> rdi "field V33._dateData (fldOffset=0x0)" P-INDEP -;* V53 tmp44 [V53 ] ( 0, 0 ) long -> zero-ref "field V34._dateData (fldOffset=0x0)" P-INDEP -; V54 tmp45 [V54,T28] ( 3, 8 ) byref -> rdi "field V35._reference (fldOffset=0x0)" P-INDEP -;* V55 tmp46 [V55,T39] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP -; V56 tmp47 [V56,T16] ( 3, 12 ) byref -> rdi "field V36._reference (fldOffset=0x0)" P-INDEP -;* V57 tmp48 [V57,T41] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP -; V58 tmp49 [V58,T36] ( 2, 4 ) byref -> rdi "field V39._reference (fldOffset=0x0)" P-INDEP -;* V59 tmp50 [V59,T44] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP -; V60 tmp51 [V60,T37] ( 2, 4 ) byref -> rdi "field V40._reference (fldOffset=0x0)" P-INDEP -;* V61 tmp52 [V61,T45] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP -; V62 tmp53 [V62,T43] ( 3, 3 ) ref -> rdi single-def "arr expr" -; V63 tmp54 [V63,T08] ( 3, 24 ) ref -> rdi "arr expr" -;* V64 tmp55 [V64,T40] ( 0, 0 ) ref -> zero-ref "arr expr" -; V65 cse0 [V65,T20] ( 3, 12 ) int -> rdi "CSE - moderate" -; V66 cse1 [V66,T24] ( 3, 10 ) ref -> rdi "CSE - moderate" -; V67 cse2 [V67,T17] ( 3, 12 ) ref -> rax "CSE - moderate" -; V68 cse3 [V68,T14] ( 7, 14 ) int -> registers "CSE - moderate" -; V69 cse4 [V69,T21] ( 3, 12 ) int -> r12 "CSE - moderate" -; V70 cse5 [V70,T22] ( 3, 12 ) int -> rdi "CSE - moderate" +; V45 tmp36 [V45,T16] ( 3, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" +; V46 tmp37 [V46,T39] ( 2, 4 ) ref -> rdi class-hnd exact "Inline return value spill temp" +;* V47 tmp38 [V47,T47] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" +; V48 tmp39 [V48,T38] ( 3, 4 ) ref -> rax "Single return block return value" +; V49 FramesRoot [V49,T37] ( 6, 4 ) long -> rbx "Pinvoke FrameListRoot" +; V50 PInvokeFrame [V50 ] ( 8, 6 ) struct (72) [rbp-0xB8] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" +; V51 tmp42 [V51 ] ( 8, 32 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V07._dateData (fldOffset=0x0)" P-DEP +;* V52 tmp43 [V52 ] ( 0, 0 ) long -> zero-ref "field V11._dateData (fldOffset=0x0)" P-INDEP +; V53 tmp44 [V53,T33] ( 2, 8 ) long -> rdi "field V21._dateData (fldOffset=0x0)" P-INDEP +;* V54 tmp45 [V54 ] ( 0, 0 ) long -> zero-ref "field V22._dateData (fldOffset=0x0)" P-INDEP +; V55 tmp46 [V55,T34] ( 2, 8 ) long -> rdi "field V33._dateData (fldOffset=0x0)" P-INDEP +;* V56 tmp47 [V56 ] ( 0, 0 ) long -> zero-ref "field V34._dateData (fldOffset=0x0)" P-INDEP +; V57 tmp48 [V57,T29] ( 3, 8 ) byref -> rdi "field V35._reference (fldOffset=0x0)" P-INDEP +;* V58 tmp49 [V58,T43] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP +; V59 tmp50 [V59,T17] ( 3, 12 ) byref -> rdi "field V36._reference (fldOffset=0x0)" P-INDEP +;* V60 tmp51 [V60,T44] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP +; V61 tmp52 [V61,T40] ( 2, 4 ) byref -> rdi "field V39._reference (fldOffset=0x0)" P-INDEP +;* V62 tmp53 [V62,T48] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP +; V63 tmp54 [V63,T41] ( 2, 4 ) byref -> rdi "field V40._reference (fldOffset=0x0)" P-INDEP +;* V64 tmp55 [V64,T49] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP +; V65 tmp56 [V65,T46] ( 3, 3 ) ref -> rdi single-def "arr expr" +; V66 cse0 [V66,T21] ( 3, 12 ) int -> rdi "CSE - moderate" +; V67 cse1 [V67,T25] ( 3, 10 ) ref -> rdi "CSE - moderate" +; V68 cse2 [V68,T18] ( 3, 12 ) ref -> rax "CSE - moderate" +; V69 cse3 [V69,T14] ( 7, 14 ) int -> registers "CSE - moderate" +; V70 cse4 [V70,T36] ( 2, 4.50) ref -> r12 "CSE - conservative" +; V71 cse5 [V71,T22] ( 3, 12 ) int -> r12 "CSE - moderate" +; V72 cse6 [V72,T35] ( 2, 8 ) int -> rsi "CSE - moderate" +; V73 cse7 [V73,T23] ( 3, 12 ) int -> rdi "CSE - moderate" ; ; Lcl frame size = 152 G_M53339_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 152 lea rbp, [rsp+0xC0] xor ecx, ecx mov qword ptr [rbp-0x30], rcx mov qword ptr [rbp-0x38], rcx ;; size=35 bbWeight=1 PerfScore 9.00 G_M53339_IG02: lea rdi, [rbp-0xB0] mov rsi, r10 call CORINFO_HELP_INIT_PINVOKE_FRAME mov rbx, rax mov rcx, rsp mov qword ptr [rbp-0x90], rcx mov rcx, rbp mov qword ptr [rbp-0x80], rcx lea rcx, [rbp-0x30] mov rdi, 0xD1FFAB1E ; 'ja-JP' mov esi, 3 mov edx, 13 mov rax, 0xD1FFAB1E ; code for System.Globalization.CalendarData:EnumCalendarInfo(System.String,ushort,int,byref):ubyte call [rax]System.Globalization.CalendarData:EnumCalendarInfo(System.String,ushort,int,byref):ubyte test eax, eax jne SHORT G_M53339_IG04 ;; size=75 bbWeight=1 PerfScore 10.25 G_M53339_IG03: xor rax, rax jmp G_M53339_IG32 ;; size=7 bbWeight=0.50 PerfScore 1.12 G_M53339_IG04: mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Globalization.EraInfo] call CORINFO_HELP_NEWSFAST mov r15, rax mov rdi, 0xD1FFAB1E mov esi, 180 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.List`1[System.Globalization.EraInfo]:s_emptyArray mov rsi, gword ptr [rdi] lea rdi, bword ptr [r15+0x08] call CORINFO_HELP_ASSIGN_REF mov gword ptr [rbp-0x50], r15 mov r14d, 0x270F mov rax, 0xD1FFAB1E ; function address mov qword ptr [rbp-0xA0], rax lea rax, G_M53339_IG07 mov qword ptr [rbp-0x88], rax lea rax, bword ptr [rbp-0xB0] mov qword ptr [rbx+0x10], rax mov byte ptr [rbx+0x0C], 0 ;; size=116 bbWeight=0.50 PerfScore 6.88 G_M53339_IG05: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=0.50 PerfScore 0.12 G_M53339_IG06: call rax ; Interop+Globalization:GetLatestJapaneseEra():int ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M53339_IG07: mov byte ptr [rbx+0x0C], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M53339_IG08 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=31 bbWeight=0.50 PerfScore 4.25 G_M53339_IG08: mov rsi, bword ptr [rbp-0xA8] mov qword ptr [rbx+0x10], rsi mov ebx, eax test ebx, ebx jl G_M53339_IG12 ;; size=21 bbWeight=0.50 PerfScore 1.75 G_M53339_IG09: lea rsi, [rbp-0x40] mov edi, ebx mov rax, 0xD1FFAB1E ; code for System.Globalization.JapaneseCalendar:GetJapaneseEraStartDate(int,byref):ubyte call [rax]System.Globalization.JapaneseCalendar:GetJapaneseEraStartDate(int,byref):ubyte test eax, eax je G_M53339_IG03 mov r15, gword ptr [rbp-0x50] mov rdi, qword ptr [rbp-0x40] mov rax, 0xD1FFAB1E and rdi, rax mov rax, 0xD1FFAB1E cmp rdi, rax jl G_M53339_IG22 lea rdi, [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.DateTime:get_Year():int:this call [rax]System.DateTime:get_Year():int:this mov r13d, eax lea rdi, [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.DateTime:get_Month():int:this call [rax]System.DateTime:get_Month():int:this mov r12d, eax lea rdi, [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.DateTime:get_Day():int:this call [rax]System.DateTime:get_Day():int:this mov dword ptr [rbp-0x44], eax lea rdi, [rbp-0x40] mov rcx, 0xD1FFAB1E ; code for System.DateTime:get_Year():int:this call [rcx]System.DateTime:get_Year():int:this dec eax mov dword ptr [rbp-0x48], eax lea rdi, [rbp-0x40] mov rcx, 0xD1FFAB1E ; code for System.DateTime:get_Year():int:this call [rcx]System.DateTime:get_Year():int:this sub r14d, eax inc r14d mov rdi, gword ptr [rbp-0x30] cmp ebx, dword ptr [rdi+0x08] jae G_M53339_IG36 mov rdi, gword ptr [rbp-0x30] mov eax, ebx mov rax, gword ptr [rdi+8*rax+0x10] mov gword ptr [rbp-0x58], rax mov rdi, gword ptr [rbp-0x30] cmp ebx, dword ptr [rdi+0x08] jae G_M53339_IG36 mov gword ptr [rbp-0x70], rax mov edi, dword ptr [rax+0x08] test edi, edi je G_M53339_IG34 cmp edi, 1 ;; size=225 bbWeight=4 PerfScore 200.00 G_M53339_IG10: jne SHORT G_M53339_IG13 ;; size=2 bbWeight=4 PerfScore 4.00 G_M53339_IG11: mov rdx, rax mov gword ptr [rbp-0x68], rdx jmp SHORT G_M53339_IG14 ;; size=9 bbWeight=2 PerfScore 6.50 G_M53339_IG12: mov r15, gword ptr [rbp-0x50] jmp G_M53339_IG22 align [0 bytes for IG26] ;; size=9 bbWeight=0.25 PerfScore 0.75 G_M53339_IG13: mov edi, 1 call System.String:FastAllocateString(int):System.String mov rdx, rax cmp byte ptr [rdx], dl lea rdi, bword ptr [rdx+0x0C] mov rax, gword ptr [rbp-0x70] add rax, 12 movzx rcx, word ptr [rax] mov word ptr [rdi], cx mov gword ptr [rbp-0x68], rdx ;; size=37 bbWeight=2 PerfScore 20.50 G_M53339_IG14: mov rdi, 0xD1FFAB1E ; System.Globalization.EraInfo call CORINFO_HELP_NEWSFAST mov gword ptr [rbp-0x60], rax mov dword ptr [rax+0x28], ebx mov edi, dword ptr [rbp-0x48] mov dword ptr [rax+0x2C], edi mov dword ptr [rax+0x30], 1 mov dword ptr [rax+0x34], r14d test r13d, r13d jle G_M53339_IG35 cmp r13d, 0x270F jg G_M53339_IG35 test r12d, r12d jle G_M53339_IG35 cmp r12d, 12 jg G_M53339_IG35 mov r14d, dword ptr [rbp-0x44] test r14d, r14d jle G_M53339_IG35 test r13b, 3 jne SHORT G_M53339_IG16 ;; size=99 bbWeight=4 PerfScore 63.00 G_M53339_IG15: test r13b, 15 je SHORT G_M53339_IG17 mov edi, r13d imul rdi, rdi, 0xD1FFAB1E shr rdi, 35 imul edi, edi, 25 mov esi, r13d sub esi, edi jne SHORT G_M53339_IG17 ;; size=30 bbWeight=2 PerfScore 15.00 G_M53339_IG16: mov rdi, 0xD1FFAB1E ; static handle jmp SHORT G_M53339_IG18 ;; size=12 bbWeight=2 PerfScore 4.50 G_M53339_IG17: mov rdi, 0xD1FFAB1E ; static handle ;; size=10 bbWeight=2 PerfScore 0.50 G_M53339_IG18: cmp r12d, 13 jae G_M53339_IG36 mov esi, r12d mov esi, dword ptr [rdi+4*rsi] dec r12d cmp r12d, 13 jae G_M53339_IG36 mov ecx, r12d mov edi, dword ptr [rdi+4*rcx] sub esi, edi cmp esi, r14d jb G_M53339_IG35 dec r13d mov esi, r13d imul rsi, rsi, 0xD1FFAB1E shr rsi, 37 imul ecx, r13d, 0x5B5 shr ecx, 2 sub ecx, esi shr esi, 2 add esi, ecx add edi, esi lea edi, [rdi+r14-0x01] mov rsi, 0xD1FFAB1E imul rdi, rsi mov rsi, 0xD1FFAB1E and rdi, rsi mov qword ptr [rax+0x20], rdi lea rdi, bword ptr [rax+0x08] mov rsi, gword ptr [rbp-0x58] call CORINFO_HELP_ASSIGN_REF mov r14, gword ptr [rbp-0x60] lea rdi, bword ptr [r14+0x10] mov rsi, gword ptr [rbp-0x68] call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; '' mov gword ptr [r14+0x18], rdi inc dword ptr [r15+0x14] mov rdi, gword ptr [r15+0x08] mov esi, dword ptr [r15+0x10] cmp dword ptr [rdi+0x08], esi jbe SHORT G_M53339_IG20 ;; size=179 bbWeight=4 PerfScore 154.00 G_M53339_IG19: lea eax, [rsi+0x01] mov dword ptr [r15+0x10], eax mov esi, esi lea rdi, bword ptr [rdi+8*rsi+0x10] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF jmp SHORT G_M53339_IG21 ;; size=24 bbWeight=2 PerfScore 12.00 G_M53339_IG20: mov rdi, r15 mov rsi, r14 mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this call [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this ;; size=18 bbWeight=2 PerfScore 7.50 G_M53339_IG21: lea rdi, [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.DateTime:get_Year():int:this call [rax]System.DateTime:get_Year():int:this mov r14d, eax dec ebx jns G_M53339_IG30 ;; size=27 bbWeight=4 PerfScore 21.00 G_M53339_IG22: lea rcx, [rbp-0x38] mov rdi, 0xD1FFAB1E ; 'ja' mov esi, 3 mov edx, 14 mov rax, 0xD1FFAB1E ; code for System.Globalization.CalendarData:EnumCalendarInfo(System.String,ushort,int,byref):ubyte call [rax]System.Globalization.CalendarData:EnumCalendarInfo(System.String,ushort,int,byref):ubyte mov rdi, 0xD1FFAB1E ; const ptr test eax, eax mov rdi, gword ptr [rdi] cmovne rdi, gword ptr [rbp-0x38] mov gword ptr [rbp-0x38], rdi mov rdi, gword ptr [rbp-0x38] mov edi, dword ptr [rdi+0x08] dec edi mov rsi, gword ptr [rbp-0x38] cmp edi, dword ptr [rsi+0x08] jae G_M53339_IG36 mov rdi, gword ptr [rbp-0x38] mov rsi, gword ptr [rbp-0x38] mov esi, dword ptr [rsi+0x08] dec esi mov rdi, gword ptr [rdi+8*rsi+0x10] cmp dword ptr [rdi+0x08], 0 je SHORT G_M53339_IG23 mov rdi, gword ptr [rbp-0x38] mov edi, dword ptr [rdi+0x08] dec edi mov rsi, gword ptr [rbp-0x38] cmp edi, dword ptr [rsi+0x08] jae G_M53339_IG36 mov rdi, gword ptr [rbp-0x38] mov rsi, gword ptr [rbp-0x38] mov esi, dword ptr [rsi+0x08] dec esi mov rdi, gword ptr [rdi+8*rsi+0x10] cmp dword ptr [rdi+0x08], 0 jbe G_M53339_IG36 cmp word ptr [rdi+0x0C], 127 jbe SHORT G_M53339_IG24 ;; size=163 bbWeight=0.50 PerfScore 25.50 G_M53339_IG23: mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] mov gword ptr [rbp-0x38], rdi ;; size=17 bbWeight=0.50 PerfScore 1.62 G_M53339_IG24: mov rdi, gword ptr [rbp-0x38] mov rsi, 0xD1FFAB1E ; const ptr cmp rdi, gword ptr [rsi] je G_M53339_IG31 mov rdi, gword ptr [rbp-0x38] mov ebx, dword ptr [rdi+0x08] dec ebx ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M53339_IG25: xor r14d, r14d mov edi, dword ptr [r15+0x10] mov r13d, edi test r13d, r13d jle SHORT G_M53339_IG29 - ;; size=15 bbWeight=0.50 PerfScore 1.88 + mov r12, gword ptr [r15+0x08] + ;; size=19 bbWeight=0.50 PerfScore 2.88 G_M53339_IG26: + mov rdi, r12 cmp r14d, r13d jae G_M53339_IG33 - mov rdi, gword ptr [r15+0x08] - cmp r14d, dword ptr [rdi+0x08] - jae G_M53339_IG36 + mov esi, dword ptr [rdi+0x08] + cmp esi, r14d + jbe G_M53339_IG33 mov esi, r14d mov rdi, gword ptr [rdi+8*rsi+0x10] - mov esi, r13d - sub esi, r14d - mov dword ptr [rdi+0x28], esi + mov rsi, rdi + mov eax, r13d + sub eax, r14d + mov dword ptr [rsi+0x28], eax mov rsi, gword ptr [rbp-0x38] cmp dword ptr [rsi+0x08], ebx jle SHORT G_M53339_IG28 - ;; size=49 bbWeight=4 PerfScore 64.00 + ;; size=53 bbWeight=4 PerfScore 55.00 G_M53339_IG27: - lea rdi, bword ptr [rdi+0x18] mov rsi, gword ptr [rbp-0x38] cmp ebx, dword ptr [rsi+0x08] jae G_M53339_IG36 mov rsi, gword ptr [rbp-0x38] mov eax, ebx mov rsi, gword ptr [rsi+8*rax+0x10] + lea rdi, bword ptr [rdi+0x18] call CORINFO_HELP_ASSIGN_REF ;; size=33 bbWeight=2 PerfScore 19.50 G_M53339_IG28: dec ebx inc r14d cmp r14d, r13d jl SHORT G_M53339_IG26 ;; size=10 bbWeight=4 PerfScore 7.00 G_M53339_IG29: mov rdi, r15 mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this call [rax]System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this jmp SHORT G_M53339_IG32 ;; size=17 bbWeight=0.50 PerfScore 2.75 G_M53339_IG30: mov gword ptr [rbp-0x50], r15 jmp G_M53339_IG09 ;; size=9 bbWeight=2 PerfScore 6.00 G_M53339_IG31: mov ebx, dword ptr [r15+0x10] dec ebx jmp G_M53339_IG25 ;; size=11 bbWeight=0.50 PerfScore 2.12 G_M53339_IG32: add rsp, 152 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=1 PerfScore 4.25 G_M53339_IG33: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M53339_IG34: mov rdi, rax xor esi, esi mov edx, 1 mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this int3 ;; size=23 bbWeight=0 PerfScore 0.00 G_M53339_IG35: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_BadYearMonthDay() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_BadYearMonthDay() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M53339_IG36: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1407, prolog size 35, PerfScore 823.70, instruction count 330, allocated bytes for code 1407 (MethodHash=10d42fa4) for method System.Globalization.JapaneseCalendar:IcuGetJapaneseEras():System.Globalization.EraInfo[] (FullOpts) +; Total bytes of code 1415, prolog size 35, PerfScore 816.50, instruction count 333, allocated bytes for code 1415 (MethodHash=10d42fa4) for method System.Globalization.JapaneseCalendar:IcuGetJapaneseEras():System.Globalization.EraInfo[] (FullOpts) ```

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

MihuBot commented 1 year ago

Top method improvements

-180 (-9.85 % of base) - System.Threading.Tasks.Task:RunContinuations(System.Object):this ```diff ; Assembly listing for method System.Threading.Tasks.Task:RunContinuations(System.Object):this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data -; 0 inlinees with PGO data; 11 single block inlinees; 15 inlinees without PGO data +; 0 inlinees with PGO data; 8 single block inlinees; 14 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 20, 32.50) ref -> rbx this class-hnd single-def -; V01 arg1 [V01,T30] ( 8, 5.12) ref -> r15 class-hnd single-def -; V02 loc0 [V02,T08] ( 13, 16.50) ref -> r14 class-hnd exact single-def -; V03 loc1 [V03,T21] ( 5, 8 ) ubyte -> r13 -; V04 loc2 [V04,T15] ( 10, 11.50) ubyte -> r12 -; V05 loc3 [V05,T02] ( 16, 32.50) ref -> r15 class-hnd single-def -; V06 loc4 [V06,T18] ( 5, 9.50) int -> [rbp-0x2C] spill-single-def -; V07 loc5 [V07,T39] ( 3, 2.50) ref -> rax class-hnd single-def -; V08 loc6 [V08,T43] ( 4, 1.75) ref -> rdi class-hnd exact -; V09 loc7 [V09,T40] ( 4, 2 ) ref -> rax class-hnd single-def -; V10 loc8 [V10,T44] ( 3, 1.50) ref -> rax class-hnd single-def -; V11 loc9 [V11,T49] ( 2, 0 ) ref -> [rbp-0x70] class-hnd EH-live single-def +; V00 this [V00,T00] ( 19, 30.50) ref -> rbx this class-hnd single-def +; V01 arg1 [V01,T31] ( 8, 5.12) ref -> r15 class-hnd single-def +; V02 loc0 [V02,T06] ( 13, 16.50) ref -> r14 class-hnd exact single-def +; V03 loc1 [V03,T16] ( 5, 8 ) ubyte -> r13 +; V04 loc2 [V04,T10] ( 10, 11.50) ubyte -> r12 +; V05 loc3 [V05,T01] ( 16, 32.50) ref -> r15 class-hnd single-def +; V06 loc4 [V06,T13] ( 5, 9.50) int -> [rbp-0x2C] spill-single-def +; V07 loc5 [V07,T40] ( 3, 2.50) ref -> rax class-hnd single-def +; V08 loc6 [V08,T44] ( 4, 1.75) ref -> rdi class-hnd exact +; V09 loc7 [V09,T41] ( 4, 2 ) ref -> rax class-hnd single-def +; V10 loc8 [V10,T45] ( 3, 1.50) ref -> rax class-hnd single-def +; V11 loc9 [V11,T50] ( 2, 0 ) ref -> [rbp-0x70] class-hnd EH-live single-def ; V12 loc10 [V12 ] ( 5, 2 ) ubyte -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op -; V13 loc11 [V13,T34] ( 3, 4.50) ubyte -> [rbp-0x3C] -; V14 loc12 [V14,T00] ( 13, 36.50) int -> [rbp-0x40] -; V15 loc13 [V15,T06] ( 9, 20.50) ref -> [rbp-0x78] class-hnd spill-single-def -; V16 loc14 [V16,T16] ( 5, 10 ) ref -> [rbp-0x80] class-hnd exact spill-single-def -; V17 loc15 [V17,T31] ( 3, 6 ) ref -> rax class-hnd -; V18 loc16 [V18,T33] ( 2, 4 ) ref -> rdi class-hnd exact -; V19 loc17 [V19,T03] ( 10, 30.50) int -> [rbp-0x44] -; V20 loc18 [V20,T07] ( 7, 18 ) ref -> [rbp-0x88] class-hnd spill-single-def -; V21 loc19 [V21,T32] ( 3, 6 ) ref -> rax class-hnd -; V22 loc20 [V22,T22] ( 3, 6 ) ref -> rdi class-hnd exact -; V23 loc21 [V23,T23] ( 4, 8 ) ref -> rax class-hnd +; V13 loc11 [V13,T35] ( 3, 4.50) ubyte -> [rbp-0x3C] +; V14 loc12 [V14,T02] ( 11, 32.50) int -> [rbp-0x40] +; V15 loc13 [V15,T04] ( 9, 20.50) ref -> [rbp-0x78] class-hnd spill-single-def +; V16 loc14 [V16,T11] ( 5, 10 ) ref -> [rbp-0x80] class-hnd exact spill-single-def +; V17 loc15 [V17,T32] ( 3, 6 ) ref -> rax class-hnd +; V18 loc16 [V18,T34] ( 2, 4 ) ref -> rdi class-hnd exact +; V19 loc17 [V19,T03] ( 9, 28.50) int -> [rbp-0x44] +; V20 loc18 [V20,T05] ( 7, 18 ) ref -> [rbp-0x88] class-hnd spill-single-def +; V21 loc19 [V21,T33] ( 3, 6 ) ref -> rax class-hnd +; V22 loc20 [V22,T17] ( 3, 6 ) ref -> rdi class-hnd exact +; V23 loc21 [V23,T18] ( 4, 8 ) ref -> rax class-hnd ; V24 OutArgs [V24 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V25 tmp1 [V25,T41] ( 3, 2 ) int -> rax +; V25 tmp1 [V25,T42] ( 3, 2 ) int -> rax ;* V26 tmp2 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" -; V27 tmp3 [V27,T46] ( 3, 1.25) long -> rdi "fgMakeTemp is creating a new local variable" -; V28 tmp4 [V28,T38] ( 5, 3.75) ref -> registers class-hnd "spilling QMark2" +; V27 tmp3 [V27,T47] ( 3, 1.25) long -> rdi "fgMakeTemp is creating a new local variable" +; V28 tmp4 [V28,T39] ( 5, 3.75) ref -> registers class-hnd "spilling QMark2" ;* V29 tmp5 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" ;* V30 tmp6 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" ;* V31 tmp7 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" -; V32 tmp8 [V32,T20] ( 3, 9 ) long -> rsi "fgMakeTemp is creating a new local variable" -; V33 tmp9 [V33,T19] ( 3, 9 ) ref -> rdi class-hnd "spilling QMark2" -; V34 tmp10 [V34,T42] ( 2, 2 ) int -> r12 "Inlining Arg" -;* V35 tmp11 [V35,T47] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V36 tmp12 [V36,T35] ( 2, 4 ) int -> rdx "Inline stloc first use temp" -; V37 tmp13 [V37,T24] ( 2, 8 ) int -> rdi "Inlining Arg" -; V38 tmp14 [V38 ] ( 2, 8 ) ref -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" -; V39 tmp15 [V39,T25] ( 2, 8 ) long -> rsi "Inlining Arg" -; V40 tmp16 [V40,T36] ( 2, 4 ) int -> rdx "Inline stloc first use temp" -; V41 tmp17 [V41,T26] ( 2, 8 ) int -> rdx "Inlining Arg" -; V42 tmp18 [V42 ] ( 2, 8 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" -; V43 tmp19 [V43,T27] ( 2, 8 ) long -> r8 "Inlining Arg" -; V44 tmp20 [V44,T37] ( 2, 4 ) int -> rdx "Inline stloc first use temp" -; V45 tmp21 [V45,T28] ( 2, 8 ) int -> rdi "Inlining Arg" -; V46 tmp22 [V46 ] ( 2, 8 ) ref -> [rbp-0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" -; V47 tmp23 [V47,T29] ( 2, 8 ) long -> r8 "Inlining Arg" -; V48 tmp24 [V48,T09] ( 4, 16 ) ref -> [rbp-0x90] class-hnd spill-single-def "Inlining Arg" -; V49 tmp25 [V49,T10] ( 4, 16 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "NewObj constructor temp" -; V50 tmp26 [V50,T04] ( 3, 24 ) ref -> rsi "arr expr" -; V51 tmp27 [V51,T12] ( 3, 12 ) ref -> rdi "arr expr" -; V52 tmp28 [V52,T13] ( 3, 12 ) ref -> rax "arr expr" -; V53 tmp29 [V53,T05] ( 3, 24 ) ref -> rdx "arr expr" -; V54 tmp30 [V54,T14] ( 3, 12 ) ref -> rdi "arr expr" -; V55 PSPSym [V55,T48] ( 1, 1 ) long -> [rbp-0xA8] do-not-enreg[V] "PSPSym" -; V56 cse0 [V56,T45] ( 3, 1.50) int -> rsi "CSE - conservative" -; V57 cse1 [V57,T11] ( 4, 12 ) ref -> [rbp-0xA0] spill-single-def "CSE - moderate" -; V58 cse2 [V58,T17] ( 5, 10 ) long -> [rbp-0x68] spill-single-def "CSE - moderate" +; V32 tmp8 [V32,T15] ( 3, 9 ) long -> rsi "fgMakeTemp is creating a new local variable" +; V33 tmp9 [V33,T14] ( 3, 9 ) ref -> rdi class-hnd "spilling QMark2" +; V34 tmp10 [V34,T43] ( 2, 2 ) int -> r12 "Inlining Arg" +;* V35 tmp11 [V35,T48] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V36 tmp12 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" +; V37 tmp13 [V37,T08] ( 3, 12 ) ref -> rsi class-hnd "Inline stloc first use temp" +; V38 tmp14 [V38,T36] ( 2, 4 ) int -> rdx "Inline stloc first use temp" +; V39 tmp15 [V39,T23] ( 2, 8 ) int -> rdi "Inlining Arg" +; V40 tmp16 [V40 ] ( 2, 8 ) ref -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" +; V41 tmp17 [V41,T24] ( 2, 8 ) long -> rsi "Inlining Arg" +; V42 tmp18 [V42,T37] ( 2, 4 ) int -> rdx "Inline stloc first use temp" +; V43 tmp19 [V43,T25] ( 2, 8 ) int -> rdx "Inlining Arg" +; V44 tmp20 [V44 ] ( 2, 8 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" +; V45 tmp21 [V45,T26] ( 2, 8 ) long -> r8 "Inlining Arg" +;* V46 tmp22 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" +; V47 tmp23 [V47,T09] ( 3, 12 ) ref -> rdx class-hnd "Inline stloc first use temp" +; V48 tmp24 [V48,T38] ( 2, 4 ) int -> rdx "Inline stloc first use temp" +; V49 tmp25 [V49,T27] ( 2, 8 ) int -> rdi "Inlining Arg" +; V50 tmp26 [V50 ] ( 2, 8 ) ref -> [rbp-0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" +; V51 tmp27 [V51,T28] ( 2, 8 ) long -> r8 "Inlining Arg" +; V52 tmp28 [V52,T19] ( 2, 8 ) ref -> rdi "arr expr" +; V53 tmp29 [V53,T20] ( 2, 8 ) ref -> rax "arr expr" +; V54 tmp30 [V54,T21] ( 2, 8 ) ref -> rdi "arr expr" +; V55 tmp31 [V55,T22] ( 2, 8 ) ref -> rsi "argument with side effect" +; V56 PSPSym [V56,T49] ( 1, 1 ) long -> [rbp-0x98] do-not-enreg[V] "PSPSym" +; V57 cse0 [V57,T46] ( 3, 1.50) int -> rsi "CSE - conservative" +; V58 cse1 [V58,T07] ( 4, 12 ) ref -> [rbp-0x90] spill-single-def "CSE - moderate" +; V59 cse2 [V59,T29] ( 2, 8 ) int -> r8 "CSE - moderate" +; V60 cse3 [V60,T30] ( 2, 8 ) int -> rdi "CSE - moderate" +; V61 cse4 [V61,T12] ( 5, 10 ) long -> [rbp-0x68] spill-single-def "CSE - moderate" ; -; Lcl frame size = 136 +; Lcl frame size = 120 G_M51094_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 136 - lea rbp, [rsp+0xB0] + sub rsp, 120 + lea rbp, [rsp+0xA0] vxorps xmm8, xmm8, xmm8 vmovdqa xmmword ptr [rbp-0x60], xmm8 xor eax, eax mov qword ptr [rbp-0x50], rax - mov qword ptr [rbp-0xA8], rsp + mov qword ptr [rbp-0x98], rsp mov rbx, rdi mov r15, rsi - ;; size=54 bbWeight=1 PerfScore 11.83 + ;; size=51 bbWeight=1 PerfScore 11.83 G_M51094_IG02: mov rdi, 0xD1FFAB1E ; global ptr test byte ptr [rdi], 1 - je G_M51094_IG62 + je G_M51094_IG59 ;; size=19 bbWeight=1 PerfScore 4.25 G_M51094_IG03: mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.TplEventSource:Log mov r14, gword ptr [rdi] movzx r13, byte ptr [r14+0x9D] test r13d, r13d je SHORT G_M51094_IG05 ;; size=26 bbWeight=1 PerfScore 5.50 G_M51094_IG04: mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:get_Id():int:this call [rax]System.Threading.Tasks.Task:get_Id():int:this mov r12d, eax movzx rsi, byte ptr [r14+0x9D] test esi, esi je SHORT G_M51094_IG05 xor ecx, ecx mov dword ptr [rsp], ecx mov rcx, qword ptr [r14+0x80] mov edx, dword ptr [r14+0x98] mov rdi, r14 mov r8d, 4 mov r9d, 32 mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this call [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this test eax, eax je SHORT G_M51094_IG05 mov rdi, r14 mov edx, r12d mov esi, 17 xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this ;; size=105 bbWeight=0.50 PerfScore 10.88 G_M51094_IG05: test byte ptr [rbx+0x34], 64 jne SHORT G_M51094_IG07 ;; size=6 bbWeight=1 PerfScore 4.00 G_M51094_IG06: call System.Runtime.CompilerServices.RuntimeHelpers:TryEnsureSufficientExecutionStack():ubyte jmp SHORT G_M51094_IG08 ;; size=7 bbWeight=0.50 PerfScore 1.50 G_M51094_IG07: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M51094_IG08: movzx r12, al mov rsi, r15 mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.IAsyncStateMachineBox call CORINFO_HELP_ISINSTANCEOFINTERFACE test rax, rax jne SHORT G_M51094_IG12 ;; size=27 bbWeight=1 PerfScore 3.00 G_M51094_IG09: mov rdi, r15 test rdi, rdi je SHORT G_M51094_IG11 ;; size=8 bbWeight=0.50 PerfScore 0.75 G_M51094_IG10: mov rsi, 0xD1FFAB1E ; System.Action cmp qword ptr [rdi], rsi je SHORT G_M51094_IG13 ;; size=15 bbWeight=0.25 PerfScore 1.06 G_M51094_IG11: mov rsi, r15 mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.TaskContinuation call CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne SHORT G_M51094_IG14 mov rsi, r15 mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.ITaskCompletionAction call CORINFO_HELP_ISINSTANCEOFINTERFACE test rax, rax jne SHORT G_M51094_IG15 jmp SHORT G_M51094_IG16 ;; size=48 bbWeight=0.50 PerfScore 3.75 G_M51094_IG12: mov rdi, rax mov esi, r12d mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Runtime.CompilerServices.IAsyncStateMachineBox,ubyte) call [rax]System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Runtime.CompilerServices.IAsyncStateMachineBox,ubyte) - jmp G_M51094_IG59 + jmp G_M51094_IG56 ;; size=23 bbWeight=0.50 PerfScore 2.88 G_M51094_IG13: mov esi, r12d mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Action,ubyte) call [rax]System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Action,ubyte) - jmp G_M51094_IG59 + jmp G_M51094_IG56 ;; size=20 bbWeight=0.50 PerfScore 2.75 G_M51094_IG14: mov rdi, rax mov rsi, rbx mov edx, r12d mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x40] call [rax+0x20]System.Threading.Tasks.TaskContinuation:Run(System.Threading.Tasks.Task,ubyte):this - jmp G_M51094_IG59 + jmp G_M51094_IG56 ;; size=24 bbWeight=0.50 PerfScore 4.88 G_M51094_IG15: mov rdi, rbx mov rsi, rax mov edx, r12d mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:RunOrQueueCompletionAction(System.Threading.Tasks.ITaskCompletionAction,ubyte):this call [rax]System.Threading.Tasks.Task:RunOrQueueCompletionAction(System.Threading.Tasks.ITaskCompletionAction,ubyte):this - jmp G_M51094_IG59 + jmp G_M51094_IG56 ;; size=26 bbWeight=0.50 PerfScore 3.00 G_M51094_IG16: mov rax, r15 test rax, rax je SHORT G_M51094_IG19 ;; size=8 bbWeight=0.50 PerfScore 0.75 G_M51094_IG17: mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Object] cmp qword ptr [rax], rdi je SHORT G_M51094_IG19 ;; size=15 bbWeight=0.25 PerfScore 1.06 G_M51094_IG18: mov rsi, r15 call CORINFO_HELP_CHKCASTCLASS_SPECIAL mov r15, rax mov rax, r15 ;; size=14 bbWeight=0.12 PerfScore 0.22 G_M51094_IG19: mov r15, rax mov gword ptr [rbp-0x70], r15 xor esi, esi mov dword ptr [rbp-0x38], esi ;; size=12 bbWeight=0.50 PerfScore 1.25 G_M51094_IG20: cmp byte ptr [rbp-0x38], 0 jne SHORT G_M51094_IG21 lea rsi, [rbp-0x38] mov rdi, r15 call System.Threading.Monitor:ReliableEnter(System.Object,byref) jmp SHORT G_M51094_IG22 ;; size=20 bbWeight=0.50 PerfScore 3.38 G_M51094_IG21: mov rax, 0xD1FFAB1E ; code for System.Threading.Monitor:ThrowLockTakenException() call [rax]System.Threading.Monitor:ThrowLockTakenException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M51094_IG22: cmp byte ptr [rbp-0x38], 0 je SHORT G_M51094_IG23 mov rdi, r15 call System.Threading.Monitor:Exit(System.Object) ;; size=14 bbWeight=0.50 PerfScore 2.12 G_M51094_IG23: mov eax, dword ptr [r15+0x10] mov dword ptr [rbp-0x2C], eax test r12d, r12d je G_M51094_IG43 xor ecx, ecx mov dword ptr [rbp-0x3C], ecx xor edx, edx test eax, eax jle G_M51094_IG30 ;; size=31 bbWeight=0.50 PerfScore 3.50 G_M51094_IG24: - cmp edx, dword ptr [r15+0x10] - jae G_M51094_IG61 mov rdi, gword ptr [r15+0x08] - mov gword ptr [rbp-0xA0], rdi + mov gword ptr [rbp-0x90], rdi mov rsi, rdi - cmp edx, dword ptr [rsi+0x08] - jae G_M51094_IG63 + cmp edx, dword ptr [r15+0x10] + jae G_M51094_IG58 + mov r8d, dword ptr [rsi+0x08] + cmp r8d, edx + jbe G_M51094_IG58 mov r8d, edx mov rsi, gword ptr [rsi+8*r8+0x10] mov gword ptr [rbp-0x78], rsi test rsi, rsi je G_M51094_IG42 - ;; size=54 bbWeight=4 PerfScore 63.00 + ;; size=58 bbWeight=4 PerfScore 60.00 G_M51094_IG25: mov r8, rsi mov gword ptr [rbp-0x80], r8 mov r9, qword ptr [r8] mov qword ptr [rbp-0x68], r9 mov r10, 0xD1FFAB1E ; System.Threading.Tasks.ContinueWithTaskContinuation cmp r9, r10 jne G_M51094_IG31 test dword ptr [r8+0x18], 0xD1FFAB1E jne G_M51094_IG42 - cmp edx, dword ptr [rdi+0x08] - jae G_M51094_IG63 mov dword ptr [rbp-0x40], edx mov esi, edx xor r9, r9 mov gword ptr [rdi+8*rsi+0x10], r9 inc dword ptr [r15+0x14] test r13d, r13d je G_M51094_IG29 cmp dword ptr [rbx+0x30], 0 jne SHORT G_M51094_IG26 mov rdi, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:NewId():int call [rdi]System.Threading.Tasks.Task:NewId():int mov edx, eax lea rcx, bword ptr [rbx+0x30] xor eax, eax lock cmpxchg dword ptr [rcx], edx - ;; size=112 bbWeight=2 PerfScore 93.50 + ;; size=103 bbWeight=2 PerfScore 85.50 G_M51094_IG26: mov edi, dword ptr [rbx+0x30] mov r8, gword ptr [rbp-0x80] mov gword ptr [rbp-0x50], r8 mov rsi, qword ptr [rbp-0x50] cmp byte ptr [r14+0xB1], 0 je SHORT G_M51094_IG28 movsxd rdx, edi movsxd rcx, dword ptr [rbp-0x40] mov rdi, r14 mov r8, rsi mov esi, 21 mov r10, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long,long,long):this call [r10]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long,long,long):this mov r8, gword ptr [rbp-0x80] ;; size=60 bbWeight=2 PerfScore 34.50 G_M51094_IG27: mov rdi, r8 mov rsi, rbx xor edx, edx mov r8, 0xD1FFAB1E ; code for System.Threading.Tasks.ContinueWithTaskContinuation:Run(System.Threading.Tasks.Task,ubyte):this call [r8]System.Threading.Tasks.ContinueWithTaskContinuation:Run(System.Threading.Tasks.Task,ubyte):this mov edx, dword ptr [rbp-0x40] jmp G_M51094_IG42 ;; size=29 bbWeight=2 PerfScore 14.00 G_M51094_IG28: mov r8, gword ptr [rbp-0x80] jmp SHORT G_M51094_IG27 ;; size=6 bbWeight=1 PerfScore 3.00 G_M51094_IG29: mov r8, gword ptr [rbp-0x80] jmp SHORT G_M51094_IG27 ;; size=6 bbWeight=1 PerfScore 3.00 G_M51094_IG30: mov eax, dword ptr [rbp-0x2C] jmp G_M51094_IG43 ;; size=8 bbWeight=0.25 PerfScore 0.75 G_M51094_IG31: mov dword ptr [rbp-0x40], edx mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.ITaskCompletionAction call CORINFO_HELP_ISINSTANCEOFINTERFACE test rax, rax jne G_M51094_IG35 cmp dword ptr [rbp-0x3C], 0 je G_M51094_IG41 - mov rdi, gword ptr [rbp-0xA0] + mov rdi, gword ptr [rbp-0x90] mov rax, rdi - mov ecx, dword ptr [rbp-0x40] - cmp ecx, dword ptr [rax+0x08] - jae G_M51094_IG63 - mov dword ptr [rbp-0x40], ecx - mov edx, ecx + mov edx, dword ptr [rbp-0x40] xor rdi, rdi mov gword ptr [rax+8*rdx+0x10], rdi inc dword ptr [r15+0x14] test r13d, r13d je SHORT G_M51094_IG33 cmp dword ptr [rbx+0x30], 0 jne SHORT G_M51094_IG32 mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:NewId():int call [rax]System.Threading.Tasks.Task:NewId():int mov edx, eax lea rcx, bword ptr [rbx+0x30] xor eax, eax lock cmpxchg dword ptr [rcx], edx - ;; size=110 bbWeight=2 PerfScore 91.50 + ;; size=96 bbWeight=2 PerfScore 81.00 G_M51094_IG32: mov edx, dword ptr [rbx+0x30] mov rax, gword ptr [rbp-0x78] mov gword ptr [rbp-0x58], rax mov r8, qword ptr [rbp-0x58] cmp byte ptr [r14+0xB1], 0 je SHORT G_M51094_IG33 movsxd rdx, edx movsxd rcx, dword ptr [rbp-0x40] mov rdi, r14 mov esi, 21 mov r9, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long,long,long):this call [r9]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long,long,long):this ;; size=53 bbWeight=2 PerfScore 32.00 G_M51094_IG33: mov rsi, gword ptr [rbp-0x78] mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.IAsyncStateMachineBox call CORINFO_HELP_ISINSTANCEOFINTERFACE test rax, rax jne SHORT G_M51094_IG36 mov rcx, gword ptr [rbp-0x78] mov rdi, rcx mov rax, 0xD1FFAB1E ; System.Action mov rdx, qword ptr [rbp-0x68] cmp rdx, rax je SHORT G_M51094_IG37 ;; size=50 bbWeight=2 PerfScore 14.50 G_M51094_IG34: jmp SHORT G_M51094_IG38 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M51094_IG35: mov edx, dword ptr [rbp-0x40] jmp SHORT G_M51094_IG42 ;; size=5 bbWeight=1 PerfScore 3.00 G_M51094_IG36: mov rdi, rax xor esi, esi mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Runtime.CompilerServices.IAsyncStateMachineBox,ubyte) call [rax]System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Runtime.CompilerServices.IAsyncStateMachineBox,ubyte) jmp SHORT G_M51094_IG41 ;; size=19 bbWeight=2 PerfScore 11.50 G_M51094_IG37: xor esi, esi mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Action,ubyte) call [rax]System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Action,ubyte) jmp SHORT G_M51094_IG41 ;; size=16 bbWeight=2 PerfScore 11.00 G_M51094_IG38: mov rdi, rcx mov rsi, 0xD1FFAB1E ; System.Threading.Tasks.TaskContinuation cmp rdx, rsi je SHORT G_M51094_IG40 ;; size=18 bbWeight=2 PerfScore 3.50 G_M51094_IG39: mov rdi, rsi mov rsi, rcx call CORINFO_HELP_CHKCASTCLASS_SPECIAL mov rdi, rax ;; size=14 bbWeight=0.50 PerfScore 0.88 G_M51094_IG40: mov rsi, rbx xor edx, edx mov rax, qword ptr [rbp-0x68] mov rax, qword ptr [rax+0x40] call [rax+0x20]System.Threading.Tasks.TaskContinuation:Run(System.Threading.Tasks.Task,ubyte):this ;; size=16 bbWeight=2 PerfScore 13.00 G_M51094_IG41: mov ecx, 1 mov dword ptr [rbp-0x3C], ecx mov edx, dword ptr [rbp-0x40] ;; size=11 bbWeight=2 PerfScore 4.50 G_M51094_IG42: inc edx mov eax, dword ptr [rbp-0x2C] cmp edx, eax jl G_M51094_IG50 ;; size=13 bbWeight=4 PerfScore 10.00 G_M51094_IG43: xor ecx, ecx test eax, eax - jle G_M51094_IG59 + jle G_M51094_IG56 ;; size=10 bbWeight=0.50 PerfScore 0.75 G_M51094_IG44: - cmp ecx, dword ptr [r15+0x10] - jae G_M51094_IG61 mov rdx, gword ptr [r15+0x08] - cmp ecx, dword ptr [rdx+0x08] - jae G_M51094_IG63 + cmp ecx, dword ptr [r15+0x10] + jae G_M51094_IG58 + mov edi, dword ptr [rdx+0x08] + cmp edi, ecx + jbe G_M51094_IG58 mov edi, ecx mov rdx, gword ptr [rdx+8*rdi+0x10] mov gword ptr [rbp-0x88], rdx test rdx, rdx - je G_M51094_IG58 - ;; size=46 bbWeight=4 PerfScore 58.00 + je G_M51094_IG55 + ;; size=48 bbWeight=4 PerfScore 55.00 G_M51094_IG45: mov rdi, gword ptr [r15+0x08] - cmp ecx, dword ptr [rdi+0x08] - jae G_M51094_IG63 mov dword ptr [rbp-0x44], ecx mov esi, ecx xor r8, r8 mov gword ptr [rdi+8*rsi+0x10], r8 inc dword ptr [r15+0x14] test r13d, r13d je G_M51094_IG49 cmp dword ptr [rbx+0x30], 0 jne SHORT G_M51094_IG46 mov rdi, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:NewId():int call [rdi]System.Threading.Tasks.Task:NewId():int mov edx, eax lea rcx, bword ptr [rbx+0x30] xor eax, eax lock cmpxchg dword ptr [rcx], edx - ;; size=69 bbWeight=2 PerfScore 78.00 + ;; size=60 bbWeight=2 PerfScore 70.00 G_M51094_IG46: mov edi, dword ptr [rbx+0x30] mov rdx, gword ptr [rbp-0x88] mov gword ptr [rbp-0x60], rdx mov r8, qword ptr [rbp-0x60] cmp byte ptr [r14+0xB1], 0 je SHORT G_M51094_IG48 movsxd rdx, edi movsxd rcx, dword ptr [rbp-0x44] mov rdi, r14 mov esi, 21 mov r9, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long,long,long):this call [r9]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long,long,long):this mov rdx, gword ptr [rbp-0x88] ;; size=63 bbWeight=2 PerfScore 34.00 G_M51094_IG47: mov rsi, rdx mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.IAsyncStateMachineBox call CORINFO_HELP_ISINSTANCEOFINTERFACE test rax, rax jne SHORT G_M51094_IG51 mov rcx, gword ptr [rbp-0x88] mov rdi, rcx mov rsi, 0xD1FFAB1E ; System.Action cmp qword ptr [rdi], rsi je SHORT G_M51094_IG52 mov rsi, rcx mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.TaskContinuation call CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne SHORT G_M51094_IG53 jmp SHORT G_M51094_IG54 ;; size=73 bbWeight=2 PerfScore 26.00 G_M51094_IG48: mov rdx, gword ptr [rbp-0x88] jmp SHORT G_M51094_IG47 ;; size=9 bbWeight=1 PerfScore 3.00 G_M51094_IG49: mov rdx, gword ptr [rbp-0x88] jmp SHORT G_M51094_IG47 ;; size=9 bbWeight=1 PerfScore 3.00 G_M51094_IG50: jmp G_M51094_IG24 ;; size=5 bbWeight=2 PerfScore 4.00 G_M51094_IG51: mov rdi, rax mov esi, r12d mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Runtime.CompilerServices.IAsyncStateMachineBox,ubyte) call [rax]System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Runtime.CompilerServices.IAsyncStateMachineBox,ubyte) mov ecx, dword ptr [rbp-0x44] - jmp G_M51094_IG58 - ;; size=26 bbWeight=2 PerfScore 13.50 + jmp SHORT G_M51094_IG55 + ;; size=23 bbWeight=2 PerfScore 13.50 G_M51094_IG52: mov esi, r12d mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Action,ubyte) call [rax]System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction(System.Action,ubyte) mov ecx, dword ptr [rbp-0x44] - jmp G_M51094_IG58 - ;; size=23 bbWeight=2 PerfScore 13.00 + jmp SHORT G_M51094_IG55 + ;; size=20 bbWeight=2 PerfScore 13.00 G_M51094_IG53: mov rdi, rax mov rsi, rbx mov edx, r12d mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x40] call [rax+0x20]System.Threading.Tasks.TaskContinuation:Run(System.Threading.Tasks.Task,ubyte):this mov ecx, dword ptr [rbp-0x44] - jmp G_M51094_IG58 - ;; size=27 bbWeight=2 PerfScore 21.50 + jmp SHORT G_M51094_IG55 + ;; size=24 bbWeight=2 PerfScore 21.50 G_M51094_IG54: mov rsi, gword ptr [rbp-0x88] mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.ITaskCompletionAction call CORINFO_HELP_CHKCASTINTERFACE - mov gword ptr [rbp-0x90], rax - test r12d, r12d - jne SHORT G_M51094_IG56 - mov rdi, rax - mov r11, 0xD1FFAB1E ; code for System.Threading.Tasks.ITaskCompletionAction:get_InvokeMayRunArbitraryCode():ubyte:this - call [r11]System.Threading.Tasks.ITaskCompletionAction:get_InvokeMayRunArbitraryCode():ubyte:this - test eax, eax - jne SHORT G_M51094_IG57 - ;; size=54 bbWeight=2 PerfScore 18.50 -G_M51094_IG55: - mov rax, gword ptr [rbp-0x90] - ;; size=7 bbWeight=1 PerfScore 1.00 -G_M51094_IG56: - mov rdi, rax - mov rsi, rbx - mov r11, 0xD1FFAB1E ; code for System.Threading.Tasks.ITaskCompletionAction:Invoke(System.Threading.Tasks.Task):this - call [r11]System.Threading.Tasks.ITaskCompletionAction:Invoke(System.Threading.Tasks.Task):this - mov ecx, dword ptr [rbp-0x44] - jmp SHORT G_M51094_IG58 - ;; size=24 bbWeight=2 PerfScore 13.50 -G_M51094_IG57: - mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.CompletionActionInvoker - call CORINFO_HELP_NEWSFAST - mov gword ptr [rbp-0x98], rax - lea rdi, bword ptr [rax+0x08] - mov rsi, gword ptr [rbp-0x90] - call CORINFO_HELP_ASSIGN_REF - mov rax, gword ptr [rbp-0x98] - lea rdi, bword ptr [rax+0x10] - mov rsi, rbx - call CORINFO_HELP_ASSIGN_REF - mov rdi, 0xD1FFAB1E ; const ptr - mov rdi, gword ptr [rdi] - mov rsi, gword ptr [rbp-0x98] - xor edx, edx - mov rax, 0xD1FFAB1E ; code for System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this - call [rax]System.Threading.ThreadPoolWorkQueue:Enqueue(System.Object,ubyte):this + mov rsi, rax + mov rdi, rbx + mov edx, r12d + mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:RunOrQueueCompletionAction(System.Threading.Tasks.ITaskCompletionAction,ubyte):this + call [rax]System.Threading.Tasks.Task:RunOrQueueCompletionAction(System.Threading.Tasks.ITaskCompletionAction,ubyte):this mov ecx, dword ptr [rbp-0x44] - ;; size=94 bbWeight=2 PerfScore 30.50 -G_M51094_IG58: + ;; size=46 bbWeight=2 PerfScore 14.50 +G_M51094_IG55: inc ecx mov eax, dword ptr [rbp-0x2C] cmp ecx, eax jl G_M51094_IG44 ;; size=13 bbWeight=4 PerfScore 10.00 -G_M51094_IG59: +G_M51094_IG56: mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:LogFinishCompletionNotification() call [rax]System.Threading.Tasks.Task:LogFinishCompletionNotification() nop ;; size=13 bbWeight=1 PerfScore 3.50 -G_M51094_IG60: - add rsp, 136 +G_M51094_IG57: + add rsp, 120 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret - ;; size=18 bbWeight=1 PerfScore 4.25 -G_M51094_IG61: + ;; size=15 bbWeight=1 PerfScore 4.25 +G_M51094_IG58: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M51094_IG62: +G_M51094_IG59: mov rdi, 0xD1FFAB1E mov esi, 0x3EC call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M51094_IG03 ;; size=25 bbWeight=0 PerfScore 0.00 -G_M51094_IG63: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -G_M51094_IG64: +G_M51094_IG60: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 24 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp - lea rbp, [rbp+0xB0] + lea rbp, [rbp+0xA0] ;; size=30 bbWeight=0 PerfScore 0.00 -G_M51094_IG65: +G_M51094_IG61: cmp byte ptr [rbp-0x38], 0 - je SHORT G_M51094_IG66 + je SHORT G_M51094_IG62 mov rdi, gword ptr [rbp-0x70] call System.Threading.Monitor:Exit(System.Object) ;; size=15 bbWeight=0 PerfScore 0.00 -G_M51094_IG66: +G_M51094_IG62: nop ;; size=1 bbWeight=0 PerfScore 0.00 -G_M51094_IG67: +G_M51094_IG63: add rsp, 24 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=0 PerfScore 0.00 -; Total bytes of code 1827, prolog size 54, PerfScore 999.25, instruction count 449, allocated bytes for code 1827 (MethodHash=8bc43869) for method System.Threading.Tasks.Task:RunContinuations(System.Object):this (FullOpts) +; Total bytes of code 1647, prolog size 51, PerfScore 899.75, instruction count 415, allocated bytes for code 1647 (MethodHash=8bc43869) for method System.Threading.Tasks.Task:RunContinuations(System.Object):this (FullOpts) ```
-9 (-11.69 % of base) - System.Collections.Generic.List`1[int]:System.Collections.IList.get_Item(int):System.Object:this ```diff ; Assembly listing for method System.Collections.Generic.List`1[int]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 4, 4 ) ref -> r15 this class-hnd single-def -; V01 arg1 [V01,T00] ( 5, 5 ) int -> rbx single-def +; V00 this [V00,T01] ( 4, 4 ) ref -> rdi this class-hnd single-def +; V01 arg1 [V01,T00] ( 5, 5 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V03 tmp1 [V03,T02] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" -; V04 tmp2 [V04,T03] ( 3, 6 ) ref -> rcx single-def "arr expr" +; V04 tmp2 [V04,T04] ( 2, 2 ) int -> rbx "Inline return value spill temp" +; V05 tmp3 [V05,T03] ( 3, 3 ) ref -> rax class-hnd single-def "Inline stloc first use temp" +; V06 cse0 [V06,T05] ( 2, 2 ) int -> rdi "CSE - aggressive" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M9802_IG01: push rbp - push r15 push rbx + push rax lea rbp, [rsp+0x10] - mov r15, rdi - mov ebx, esi - ;; size=14 bbWeight=1 PerfScore 4.00 + ;; size=8 bbWeight=1 PerfScore 3.50 G_M9802_IG02: - cmp ebx, dword ptr [r15+0x10] + mov rax, gword ptr [rdi+0x08] + cmp esi, dword ptr [rdi+0x10] jae SHORT G_M9802_IG04 + mov edi, dword ptr [rax+0x08] + cmp edi, esi + jbe SHORT G_M9802_IG04 + mov edi, esi + mov ebx, dword ptr [rax+4*rdi+0x10] mov rdi, 0xD1FFAB1E ; System.Int32 call CORINFO_HELP_NEWSFAST - mov rcx, gword ptr [r15+0x08] - cmp ebx, dword ptr [rcx+0x08] - jae SHORT G_M9802_IG05 - mov edx, ebx - mov ecx, dword ptr [rcx+4*rdx+0x10] - mov dword ptr [rax+0x08], ecx - ;; size=39 bbWeight=1 PerfScore 14.50 + mov dword ptr [rax+0x08], ebx + ;; size=40 bbWeight=1 PerfScore 13.75 G_M9802_IG03: + add rsp, 8 pop rbx - pop r15 pop rbp ret - ;; size=5 bbWeight=1 PerfScore 2.50 + ;; size=7 bbWeight=1 PerfScore 2.25 G_M9802_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M9802_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 77, prolog size 9, PerfScore 28.70, instruction count 25, allocated bytes for code 77 (MethodHash=9e0bd9b5) for method System.Collections.Generic.List`1[int]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) +; Total bytes of code 68, prolog size 8, PerfScore 26.30, instruction count 22, allocated bytes for code 68 (MethodHash=9e0bd9b5) for method System.Collections.Generic.List`1[int]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) ```
-9 (-11.39 % of base) - System.Collections.Generic.List`1[long]:System.Collections.IList.get_Item(int):System.Object:this ```diff ; Assembly listing for method System.Collections.Generic.List`1[long]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 4, 4 ) ref -> r15 this class-hnd single-def -; V01 arg1 [V01,T00] ( 5, 5 ) int -> rbx single-def +; V00 this [V00,T01] ( 4, 4 ) ref -> rdi this class-hnd single-def +; V01 arg1 [V01,T00] ( 5, 5 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V03 tmp1 [V03,T02] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" -; V04 tmp2 [V04,T03] ( 3, 6 ) ref -> rcx single-def "arr expr" +; V04 tmp2 [V04,T04] ( 2, 2 ) long -> rbx "Inline return value spill temp" +; V05 tmp3 [V05,T03] ( 3, 3 ) ref -> rax class-hnd single-def "Inline stloc first use temp" +; V06 cse0 [V06,T05] ( 2, 2 ) int -> rdi "CSE - aggressive" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M63187_IG01: push rbp - push r15 push rbx + push rax lea rbp, [rsp+0x10] - mov r15, rdi - mov ebx, esi - ;; size=14 bbWeight=1 PerfScore 4.00 + ;; size=8 bbWeight=1 PerfScore 3.50 G_M63187_IG02: - cmp ebx, dword ptr [r15+0x10] + mov rax, gword ptr [rdi+0x08] + cmp esi, dword ptr [rdi+0x10] jae SHORT G_M63187_IG04 + mov edi, dword ptr [rax+0x08] + cmp edi, esi + jbe SHORT G_M63187_IG04 + mov edi, esi + mov rbx, qword ptr [rax+8*rdi+0x10] mov rdi, 0xD1FFAB1E ; System.Int64 call CORINFO_HELP_NEWSFAST - mov rcx, gword ptr [r15+0x08] - cmp ebx, dword ptr [rcx+0x08] - jae SHORT G_M63187_IG05 - mov edx, ebx - mov rcx, qword ptr [rcx+8*rdx+0x10] - mov qword ptr [rax+0x08], rcx - ;; size=41 bbWeight=1 PerfScore 14.50 + mov qword ptr [rax+0x08], rbx + ;; size=42 bbWeight=1 PerfScore 13.75 G_M63187_IG03: + add rsp, 8 pop rbx - pop r15 pop rbp ret - ;; size=5 bbWeight=1 PerfScore 2.50 + ;; size=7 bbWeight=1 PerfScore 2.25 G_M63187_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M63187_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 79, prolog size 9, PerfScore 28.90, instruction count 25, allocated bytes for code 79 (MethodHash=4679092c) for method System.Collections.Generic.List`1[long]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) +; Total bytes of code 70, prolog size 8, PerfScore 26.50, instruction count 22, allocated bytes for code 70 (MethodHash=4679092c) for method System.Collections.Generic.List`1[long]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) ```
-9 (-11.25 % of base) - System.Collections.Generic.List`1[short]:System.Collections.IList.get_Item(int):System.Object:this ```diff ; Assembly listing for method System.Collections.Generic.List`1[short]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 4, 4 ) ref -> r15 this class-hnd single-def -; V01 arg1 [V01,T00] ( 5, 5 ) int -> rbx single-def +; V00 this [V00,T01] ( 4, 4 ) ref -> rdi this class-hnd single-def +; V01 arg1 [V01,T00] ( 5, 5 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V03 tmp1 [V03,T02] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" -; V04 tmp2 [V04,T03] ( 3, 6 ) ref -> rcx single-def "arr expr" +; V04 tmp2 [V04,T04] ( 2, 2 ) short -> rbx "Inline return value spill temp" +; V05 tmp3 [V05,T03] ( 3, 3 ) ref -> rax class-hnd single-def "Inline stloc first use temp" +; V06 cse0 [V06,T05] ( 2, 2 ) int -> rdi "CSE - aggressive" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M7979_IG01: push rbp - push r15 push rbx + push rax lea rbp, [rsp+0x10] - mov r15, rdi - mov ebx, esi - ;; size=14 bbWeight=1 PerfScore 4.00 + ;; size=8 bbWeight=1 PerfScore 3.50 G_M7979_IG02: - cmp ebx, dword ptr [r15+0x10] + mov rax, gword ptr [rdi+0x08] + cmp esi, dword ptr [rdi+0x10] jae SHORT G_M7979_IG04 + mov edi, dword ptr [rax+0x08] + cmp edi, esi + jbe SHORT G_M7979_IG04 + mov edi, esi + movsx rbx, word ptr [rax+2*rdi+0x10] mov rdi, 0xD1FFAB1E ; System.Int16 call CORINFO_HELP_NEWSFAST - mov rcx, gword ptr [r15+0x08] - cmp ebx, dword ptr [rcx+0x08] - jae SHORT G_M7979_IG05 - mov edx, ebx - movsx rcx, word ptr [rcx+2*rdx+0x10] - mov word ptr [rax+0x08], cx - ;; size=42 bbWeight=1 PerfScore 16.50 + mov word ptr [rax+0x08], bx + ;; size=43 bbWeight=1 PerfScore 15.75 G_M7979_IG03: + add rsp, 8 pop rbx - pop r15 pop rbp ret - ;; size=5 bbWeight=1 PerfScore 2.50 + ;; size=7 bbWeight=1 PerfScore 2.25 G_M7979_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M7979_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 80, prolog size 9, PerfScore 31.00, instruction count 25, allocated bytes for code 80 (MethodHash=8c07e0d4) for method System.Collections.Generic.List`1[short]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) +; Total bytes of code 71, prolog size 8, PerfScore 28.60, instruction count 22, allocated bytes for code 71 (MethodHash=8c07e0d4) for method System.Collections.Generic.List`1[short]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) ```
-9 (-11.54 % of base) - System.Collections.Generic.List`1[ubyte]:System.Collections.IList.get_Item(int):System.Object:this ```diff ; Assembly listing for method System.Collections.Generic.List`1[ubyte]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 4, 4 ) ref -> r15 this class-hnd single-def -; V01 arg1 [V01,T00] ( 5, 5 ) int -> rbx single-def +; V00 this [V00,T01] ( 4, 4 ) ref -> rdi this class-hnd single-def +; V01 arg1 [V01,T00] ( 5, 5 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V03 tmp1 [V03,T02] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" -; V04 tmp2 [V04,T03] ( 3, 6 ) ref -> rcx single-def "arr expr" +; V04 tmp2 [V04,T04] ( 2, 2 ) ubyte -> rbx "Inline return value spill temp" +; V05 tmp3 [V05,T03] ( 3, 3 ) ref -> rax class-hnd single-def "Inline stloc first use temp" +; V06 cse0 [V06,T05] ( 2, 2 ) int -> rdi "CSE - aggressive" ; -; Lcl frame size = 0 +; Lcl frame size = 8 G_M11718_IG01: push rbp - push r15 push rbx + push rax lea rbp, [rsp+0x10] - mov r15, rdi - mov ebx, esi - ;; size=14 bbWeight=1 PerfScore 4.00 + ;; size=8 bbWeight=1 PerfScore 3.50 G_M11718_IG02: - cmp ebx, dword ptr [r15+0x10] + mov rax, gword ptr [rdi+0x08] + cmp esi, dword ptr [rdi+0x10] jae SHORT G_M11718_IG04 + mov edi, dword ptr [rax+0x08] + cmp edi, esi + jbe SHORT G_M11718_IG04 + mov edi, esi + movzx rbx, byte ptr [rax+rdi+0x10] mov rdi, 0xD1FFAB1E ; System.Byte call CORINFO_HELP_NEWSFAST - mov rcx, gword ptr [r15+0x08] - cmp ebx, dword ptr [rcx+0x08] - jae SHORT G_M11718_IG05 - mov edx, ebx - movzx rcx, byte ptr [rcx+rdx+0x10] - mov byte ptr [rax+0x08], cl - ;; size=40 bbWeight=1 PerfScore 14.50 + mov byte ptr [rax+0x08], bl + ;; size=41 bbWeight=1 PerfScore 13.75 G_M11718_IG03: + add rsp, 8 pop rbx - pop r15 pop rbp ret - ;; size=5 bbWeight=1 PerfScore 2.50 + ;; size=7 bbWeight=1 PerfScore 2.25 G_M11718_IG04: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M11718_IG05: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 78, prolog size 9, PerfScore 28.80, instruction count 25, allocated bytes for code 78 (MethodHash=5408d239) for method System.Collections.Generic.List`1[ubyte]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) +; Total bytes of code 69, prolog size 8, PerfScore 26.40, instruction count 22, allocated bytes for code 69 (MethodHash=5408d239) for method System.Collections.Generic.List`1[ubyte]:System.Collections.IList.get_Item(int):System.Object:this (FullOpts) ```
-8 (-2.59 % of base) - System.Globalization.CalendarData:EnumDatePatterns(System.String,ushort,int,byref):ubyte ```diff ; Assembly listing for method System.Globalization.CalendarData:EnumDatePatterns(System.String,ushort,int,byref):ubyte (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T07] ( 3, 3 ) ref -> r14 class-hnd single-def -; V01 arg1 [V01,T08] ( 3, 3 ) ushort -> r13 single-def -; V02 arg2 [V02,T06] ( 4, 3.50) int -> r15 single-def -; V03 arg3 [V03,T05] ( 4, 3.50) byref -> rbx single-def +; V00 arg0 [V00,T08] ( 3, 3 ) ref -> r14 class-hnd single-def +; V01 arg1 [V01,T09] ( 3, 3 ) ushort -> r13 single-def +; V02 arg2 [V02,T07] ( 4, 3.50) int -> r15 single-def +; V03 arg3 [V03,T06] ( 4, 3.50) byref -> rbx single-def ; V04 loc0 [V04 ] ( 5, 4.50) struct (16) [rbp-0x38] do-not-enreg[XS] addr-exposed ld-addr-op -; V05 loc1 [V05,T09] ( 3, 3 ) ubyte -> r14 +; V05 loc1 [V05,T10] ( 3, 3 ) ubyte -> r14 ; V06 loc2 [V06,T01] ( 11, 30 ) ref -> r13 class-hnd single-def ; V07 loc3 [V07,T00] ( 9, 32.50) int -> r12 ;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V09 tmp1 [V09,T04] ( 3, 6 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" +; V09 tmp1 [V09,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" ;* V10 tmp2 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" -; V11 tmp3 [V11,T03] ( 2, 16 ) ref -> rdx class-hnd exact "Inlining Arg" -; V12 tmp4 [V12 ] ( 4, 3.50) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V04.Results (fldOffset=0x0)" P-DEP -; V13 tmp5 [V13 ] ( 3, 3 ) ubyte -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V04.DisallowDuplicates (fldOffset=0x8)" P-DEP -; V14 tmp6 [V14,T02] ( 3, 24 ) ref -> rdi "arr expr" +;* V11 tmp3 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" +; V12 tmp4 [V12,T03] ( 3, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" +; V13 tmp5 [V13,T02] ( 2, 16 ) ref -> rdx class-hnd exact "Inlining Arg" +; V14 tmp6 [V14 ] ( 4, 3.50) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V04.Results (fldOffset=0x0)" P-DEP +; V15 tmp7 [V15 ] ( 3, 3 ) ubyte -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V04.DisallowDuplicates (fldOffset=0x8)" P-DEP +; V16 cse0 [V16,T04] ( 2, 8 ) int -> rax "CSE - aggressive" ; ; Lcl frame size = 24 G_M35446_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 24 vzeroupper lea rbp, [rsp+0x40] mov r14, rdi mov r13d, esi mov r15d, edx mov rbx, rcx ;; size=34 bbWeight=1 PerfScore 8.75 G_M35446_IG02: xor rdi, rdi mov gword ptr [rbx], rdi vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [rbp-0x38], xmm0 mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.String] call CORINFO_HELP_NEWSFAST mov rdx, 0xD1FFAB1E ; 'System.String[]' mov gword ptr [rax+0x08], rdx mov gword ptr [rbp-0x38], rax mov byte ptr [rbp-0x30], 1 movzx rdx, r13w lea r8, [rbp-0x38] mov rsi, r14 mov ecx, r15d mov rdi, 0xD1FFAB1E ; code for System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) mov rax, 0xD1FFAB1E ; code for Interop+Globalization:EnumCalendarInfo(long,System.String,ushort,int,long):ubyte call [rax]Interop+Globalization:EnumCalendarInfo(long,System.String,ushort,int,long):ubyte mov r14d, eax test r14d, r14d je G_M35446_IG07 ;; size=99 bbWeight=1 PerfScore 13.33 G_M35446_IG03: mov r13, gword ptr [rbp-0x38] xor r12d, r12d cmp dword ptr [r13+0x10], 0 jle SHORT G_M35446_IG05 ;; size=14 bbWeight=0.50 PerfScore 2.62 G_M35446_IG04: + mov rdi, gword ptr [r13+0x08] cmp r12d, dword ptr [r13+0x10] jae G_M35446_IG09 - mov rdi, gword ptr [r13+0x08] - cmp r12d, dword ptr [rdi+0x08] - jae G_M35446_IG10 + mov eax, dword ptr [rdi+0x08] + cmp eax, r12d + jbe SHORT G_M35446_IG09 mov eax, r12d mov rdi, gword ptr [rdi+8*rax+0x10] mov rax, 0xD1FFAB1E ; code for System.Globalization.CalendarData:NormalizeDatePattern(System.String):System.String call [rax]System.Globalization.CalendarData:NormalizeDatePattern(System.String):System.String mov rdx, rax cmp r12d, dword ptr [r13+0x10] jae SHORT G_M35446_IG09 mov rdi, gword ptr [r13+0x08] movsxd rsi, r12d call CORINFO_HELP_ARRADDR_ST inc dword ptr [r13+0x14] inc r12d cmp r12d, dword ptr [r13+0x10] jl SHORT G_M35446_IG04 - ;; size=78 bbWeight=4 PerfScore 121.00 + ;; size=76 bbWeight=4 PerfScore 118.00 G_M35446_IG05: cmp r15d, 3 jne SHORT G_M35446_IG06 mov rdi, r13 mov rax, 0xD1FFAB1E ; code for System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) call [rax]System.Globalization.CalendarData:FixDefaultShortDatePattern(System.Collections.Generic.List`1[System.String]) ;; size=21 bbWeight=0.50 PerfScore 2.38 G_M35446_IG06: mov rdi, r13 mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this call [rax]System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this mov rsi, rax mov rdi, rbx call CORINFO_HELP_CHECKED_ASSIGN_REF ;; size=26 bbWeight=0.50 PerfScore 2.50 G_M35446_IG07: mov eax, r14d ;; size=3 bbWeight=1 PerfScore 0.25 G_M35446_IG08: add rsp, 24 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 G_M35446_IG09: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -G_M35446_IG10: - call CORINFO_HELP_RNGCHKFAIL - int3 - ;; size=6 bbWeight=0 PerfScore 0.00 -; Total bytes of code 309, prolog size 22, PerfScore 185.98, instruction count 81, allocated bytes for code 309 (MethodHash=99757589) for method System.Globalization.CalendarData:EnumDatePatterns(System.String,ushort,int,byref):ubyte (FullOpts) +; Total bytes of code 301, prolog size 22, PerfScore 182.18, instruction count 80, allocated bytes for code 301 (MethodHash=99757589) for method System.Globalization.CalendarData:EnumDatePatterns(System.String,ushort,int,byref):ubyte (FullOpts) ```

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

MihuBot commented 1 year ago

@MihaZupan