MihuBot / runtime-utils

0 stars 0 forks source link

[X64] [MichalPetryka] Optimize equality operators #243

Open MihuBot opened 9 months ago

MihuBot commented 9 months ago

Build completed in 1 hour 51 minutes. https://github.com/dotnet/runtime/pull/98196

CoreLib diffs

Diffs ``` Found 2 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 6831316 Total bytes of diff: 6832832 Total bytes of delta: 1516 (0.02 % of base) Total relative delta: 10.08 diff is a regression. relative diff is a regression. Total byte diff includes 275 bytes from reconciling methods Base had 0 unique methods, 0 unique bytes Diff had 1 unique methods, 275 unique bytes Top file regressions (bytes): 1516 : System.Private.CoreLib.dasm (0.02 % of base) 1 total files with Code Size differences (0 improved, 1 regressed), 0 unchanged. Top method regressions (bytes): 275 (Infinity of base) : System.Private.CoreLib.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (FullOpts) (0 base, 1 diff methods) 253 (5.71 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:InvokeMember(System.String,int,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]):System.Object:this (FullOpts) 91 (14.61 % of base) : System.Private.CoreLib.dasm - System.Resources.ManifestBasedResourceGroveler:GrovelForResourceSet(System.Globalization.CultureInfo,System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceSet],ubyte,ubyte):System.Resources.ResourceSet:this (FullOpts) 78 (16.67 % of base) : System.Private.CoreLib.dasm - System.Reflection.NullabilityInfoContext:Create(System.Reflection.PropertyInfo):System.Reflection.NullabilityInfo:this (FullOpts) 70 (7.81 % of base) : System.Private.CoreLib.dasm - System.StartupHookProvider:CallStartupHook(System.StartupHookProvider+StartupHookNameOrPath) (FullOpts) 57 (4.48 % of base) : System.Private.CoreLib.dasm - System.TypedReference:MakeTypedReference(System.Object,System.Reflection.FieldInfo[]):System.TypedReference (FullOpts) 54 (15.98 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetMemberWithSameMetadataDefinitionAs(System.Reflection.MemberInfo):System.Reflection.MemberInfo:this (FullOpts) 43 (25.44 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackTrace:CalculateFramesToSkip(System.Diagnostics.StackFrameHelper,int):int (FullOpts) 41 (4.63 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts) 38 (9.95 % of base) : System.Private.CoreLib.dasm - System.Attribute:InternalGetCustomAttributes(System.Reflection.EventInfo,System.Type,ubyte):System.Attribute[] (FullOpts) 38 (8.98 % of base) : System.Private.CoreLib.dasm - System.Attribute:InternalGetCustomAttributes(System.Reflection.PropertyInfo,System.Type,ubyte):System.Attribute[] (FullOpts) 38 (0.82 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this (FullOpts) 38 (12.03 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicMethod:GetDynamicMethodsModule():System.Reflection.Module (FullOpts) 37 (1.75 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (FullOpts) 37 (20.11 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.SignatureHelper:Init(System.Reflection.Module):this (FullOpts) 36 (144.00 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackFrameExtensions:HasMethod(System.Diagnostics.StackFrame):ubyte (FullOpts) 36 (9.89 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetEvent(System.String,int):System.Reflection.EventInfo:this (FullOpts) 35 (8.97 % of base) : System.Private.CoreLib.dasm - System.ComponentModel.DefaultValueAttribute:<.ctor>g__TryConvertFromInvariantString|2_0(System.Type,System.String,byref):ubyte (FullOpts) 31 (4.69 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Insert(byref,System.String,int):this (FullOpts) 30 (2.60 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackFrameHelper:InitializeSourceInfo(int,ubyte,System.Exception):this (FullOpts) 30 (4.42 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this (FullOpts) 29 (263.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:get_CanRead():ubyte:this (FullOpts) 29 (263.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:get_CanWrite():ubyte:this (FullOpts) 28 (3.24 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:GetFirstResolvedAssemblyFromResolvingEvent(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 28 (45.16 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:GetRuntimeAssembly(System.Reflection.Assembly):System.Reflection.RuntimeAssembly (FullOpts) 27 (6.68 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.AssemblyBuilder:DefineDynamicAssembly(System.Reflection.AssemblyName,int,System.Collections.Generic.IEnumerable`1[System.Reflection.Emit.CustomAttributeBuilder],System.Reflection.Assembly):System.Reflection.Emit.RuntimeAssemblyBuilder (FullOpts) 27 (40.91 % of base) : System.Private.CoreLib.dasm - System.Type:get_IsGenericMethodParameter():ubyte:this (FullOpts) 26 (4.45 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.ILGenerator:EmitWriteLine(System.Reflection.Emit.LocalBuilder):this (FullOpts) 26 (3.82 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.ILGenerator:EmitWriteLine(System.Reflection.FieldInfo):this (FullOpts) 26 (15.57 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:AddEventHandler(System.Object,System.Delegate):this (FullOpts) 26 (15.66 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:RemoveEventHandler(System.Object,System.Delegate):this (FullOpts) 26 (4.03 % of base) : System.Private.CoreLib.dasm - System.Reflection.NullabilityInfoContext:GetNullableContext(System.Reflection.MemberInfo):System.Nullable`1[int]:this (FullOpts) 26 (47.27 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ResolveUsingEvent(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 26 (49.06 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ResolveUsingLoad(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 24 (5.30 % of base) : System.Private.CoreLib.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts) 24 (2.20 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.TypeAnalysis:.ctor(System.Type,System.Diagnostics.Tracing.EventDataAttribute,System.Collections.Generic.List`1[System.Type]):this (FullOpts) 24 (3.99 % of base) : System.Private.CoreLib.dasm - System.Reflection.ParameterInfo:GetRealObject(System.Runtime.Serialization.StreamingContext):System.Object:this (FullOpts) 23 (2.50 % of base) : System.Private.CoreLib.dasm - Internal.Runtime.InteropServices.ComponentActivator:InternalGetFunctionPointer(System.Runtime.Loader.AssemblyLoadContext,System.String,System.String,long):long (FullOpts) 23 (8.39 % of base) : System.Private.CoreLib.dasm - System.AppDomain:get_FriendlyName():System.String:this (FullOpts) 23 (5.10 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetCustomAttributes(System.Reflection.ParameterInfo,System.Type,ubyte):System.Attribute[] (FullOpts) 23 (7.49 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetCustomAttributes(System.Reflection.ParameterInfo,ubyte):System.Attribute[] (FullOpts) 23 (5.52 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Contracts.Contract:AssertMustUseRewriter(int,System.String) (FullOpts) 23 (5.68 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.ILGenerator:ThrowException(System.Type):this (FullOpts) 23 (1.89 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMemberRefToken(System.Reflection.MethodBase,System.Type[]):int:this (FullOpts) 23 (2.25 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:DefineDefaultConstructorNoLock(int):System.Reflection.Emit.RuntimeConstructorBuilder:this (FullOpts) 22 (4.72 % of base) : System.Private.CoreLib.dasm - System.AppDomain:GetThreadPrincipal():System.Security.Principal.IPrincipal:this (FullOpts) 22 (2.09 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackFrame:ToString():System.String:this (FullOpts) 22 (8.06 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyName:InitGetAssemblyName():System.Func`2[System.String,System.Reflection.AssemblyName] (FullOpts) 22 (0.66 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (FullOpts) 22 (8.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:EnterContextualReflection(System.Reflection.Assembly):System.Runtime.Loader.AssemblyLoadContext+ContextualReflectionScope (FullOpts) 21 (190.91 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimePropertyInfo:get_CanRead():ubyte:this (FullOpts) 21 (190.91 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimePropertyInfo:get_CanWrite():ubyte:this (FullOpts) 20 (8.06 % of base) : System.Private.CoreLib.dasm - System.AppDomain:ExecuteAssembly(System.Reflection.Assembly,System.String[]):int (FullOpts) 20 (0.70 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (FullOpts) 20 (17.70 % of base) : System.Private.CoreLib.dasm - System.Exception:get_TargetSite():System.Reflection.MethodBase:this (FullOpts) 20 (1.87 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicMethod:Init(System.String,int,int,System.Type,System.Type[],System.Type,System.Reflection.Module,ubyte,ubyte):this (FullOpts) 20 (31.75 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:GetGetMethod(ubyte):System.Reflection.MethodInfo:this (FullOpts) 20 (31.75 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:GetSetMethod(ubyte):System.Reflection.MethodInfo:this (FullOpts) 19 (1.92 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:LoadFromResolveHandler(System.Object,System.ResolveEventArgs):System.Reflection.Assembly (FullOpts) 19 (2.61 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenInternal(System.Reflection.MethodBase,System.Type[],ubyte):int:this (FullOpts) 19 (5.26 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:FilterApplyBase(System.Reflection.MemberInfo,int,ubyte,ubyte,ubyte,System.String,ubyte):ubyte (FullOpts) 18 (3.04 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicILGenerator:Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo):this (FullOpts) 18 (1.19 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts) 15 (7.46 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (FullOpts) 15 (0.97 % of base) : System.Private.CoreLib.dasm - System.Type:FindMembers(int,int,System.Reflection.MemberFilter,System.Object):System.Reflection.MemberInfo[]:this (FullOpts) 13 (7.65 % of base) : System.Private.CoreLib.dasm - System.Attribute:InternalIsDefined(System.Reflection.EventInfo,System.Type,ubyte):ubyte (FullOpts) 12 (8.33 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetParentDefinition(System.Reflection.EventInfo):System.Reflection.EventInfo (FullOpts) 12 (33.33 % of base) : System.Private.CoreLib.dasm - System.Globalization.SortVersion:op_Equality(System.Globalization.SortVersion,System.Globalization.SortVersion):ubyte (FullOpts) 12 (44.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:op_Equality(System.Runtime.Versioning.FrameworkName,System.Runtime.Versioning.FrameworkName):ubyte (FullOpts) 10 (5.15 % of base) : System.Private.CoreLib.dasm - System.Attribute:InternalIsDefined(System.Reflection.PropertyInfo,System.Type,ubyte):ubyte (FullOpts) 8 (15.69 % of base) : System.Private.CoreLib.dasm - System.Version:TryParse(System.ReadOnlySpan`1[ushort],byref):ubyte (FullOpts) 8 (9.64 % of base) : System.Private.CoreLib.dasm - System.Version:TryParse(System.String,byref):ubyte (FullOpts) 6 (10.00 % of base) : System.Private.CoreLib.dasm - System.Globalization.SortVersion:op_Inequality(System.Globalization.SortVersion,System.Globalization.SortVersion):ubyte (FullOpts) 6 (11.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:op_Inequality(System.Runtime.Versioning.FrameworkName,System.Runtime.Versioning.FrameworkName):ubyte (FullOpts) 4 (3.88 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimePropertyInfo:GetValue(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts) 3 (15.79 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:GetHashCode():int:this (FullOpts) 3 (1.52 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeEventInfo:ToString():System.String:this (FullOpts) 2 (1.35 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeParameterInfo:GetRuntimeModule():System.Reflection.RuntimeModule:this (FullOpts) 1 (0.15 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttribute:GetCustomAttributes(System.Reflection.RuntimeMethodInfo,System.RuntimeType,ubyte):System.Object[] (FullOpts) Top method improvements (bytes): -249 (-13.57 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts) -34 (-0.36 % of base) : System.Private.CoreLib.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts) -20 (-1.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeILGenerator:Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder):this (FullOpts) -18 (-9.28 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetParentDefinition(System.Reflection.ParameterInfo):System.Reflection.ParameterInfo (FullOpts) -18 (-3.51 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:GetTypeFromDefaultAssemblies(System.String,System.ReadOnlySpan`1[System.String]):System.Type:this (FullOpts) -16 (-34.04 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:Equals(System.ModuleHandle):ubyte:this (FullOpts) -16 (-20.00 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:Equals(System.Object):ubyte:this (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:op_Equality(System.Reflection.Assembly,System.Reflection.Assembly):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:op_Inequality(System.Reflection.Assembly,System.Reflection.Assembly):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInfo:op_Equality(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInfo:op_Inequality(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo):ubyte (FullOpts) -15 (-2.16 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicResolver:ResolveToken(int,byref,byref,byref):this (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:op_Equality(System.Reflection.EventInfo,System.Reflection.EventInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:op_Inequality(System.Reflection.EventInfo,System.Reflection.EventInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.FieldInfo:op_Equality(System.Reflection.FieldInfo,System.Reflection.FieldInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.FieldInfo:op_Inequality(System.Reflection.FieldInfo,System.Reflection.FieldInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.MemberInfo:op_Equality(System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.MemberInfo:op_Inequality(System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts) -15 (-20.83 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.RuntimeTypeMetadataUpdateHandler:SkipAssembly(System.Reflection.Assembly):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:op_Equality(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:op_Inequality(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodInfo:op_Equality(System.Reflection.MethodInfo,System.Reflection.MethodInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodInfo:op_Inequality(System.Reflection.MethodInfo,System.Reflection.MethodInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.Module:op_Equality(System.Reflection.Module,System.Reflection.Module):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.Module:op_Inequality(System.Reflection.Module,System.Reflection.Module):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.PropertyInfo:op_Equality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.PropertyInfo:op_Inequality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo):ubyte (FullOpts) -14 (-33.33 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:op_Equality(System.ModuleHandle,System.ModuleHandle):ubyte (FullOpts) -14 (-28.00 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:op_Inequality(System.ModuleHandle,System.ModuleHandle):ubyte (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[double]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[int]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[long]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[short]:Equals(System.Object):ubyte:this (FullOpts) -13 (-8.61 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[System.__Canon]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[ubyte]:Equals(System.Object):ubyte:this (FullOpts) -12 (-12.00 % of base) : System.Private.CoreLib.dasm - System.Delegate:RemoveAll(System.Delegate,System.Delegate):System.Delegate (FullOpts) -12 (-7.74 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:Equals(System.Object):ubyte:this (FullOpts) -12 (-10.62 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:Equals(System.Reflection.CustomAttributeNamedArgument):ubyte:this (FullOpts) -12 (-12.37 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:op_Equality(System.Reflection.CustomAttributeNamedArgument,System.Reflection.CustomAttributeNamedArgument):ubyte (FullOpts) -12 (-11.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:op_Inequality(System.Reflection.CustomAttributeNamedArgument,System.Reflection.CustomAttributeNamedArgument):ubyte (FullOpts) -12 (-0.55 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenNoLock(System.Reflection.MethodInfo,ubyte):int:this (FullOpts) -12 (-2.30 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.RuntimeTypeMetadataUpdateHandler:ClearCache(System.Type[]) (FullOpts) -12 (-3.52 % of base) : System.Private.CoreLib.dasm - System.Resources.ManifestBasedResourceGroveler:HandleResourceStreamMissing(System.String):this (FullOpts) -10 (-17.54 % of base) : System.Private.CoreLib.dasm - System.Delegate:op_Inequality(System.Delegate,System.Delegate):ubyte (FullOpts) -10 (-4.65 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:GetCompareInfo(int,System.Reflection.Assembly):System.Globalization.CompareInfo (FullOpts) -10 (-4.17 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:GetCompareInfo(System.String,System.Reflection.Assembly):System.Globalization.CompareInfo (FullOpts) -7 (-3.59 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:Equals(System.Runtime.Versioning.FrameworkName):ubyte:this (FullOpts) -6 (-11.54 % of base) : System.Private.CoreLib.dasm - System.Delegate:op_Equality(System.Delegate,System.Delegate):ubyte (FullOpts) -6 (-0.57 % of base) : System.Private.CoreLib.dasm - System.Reflection.Associates:AssignAssociates(System.Reflection.MetadataImport,int,System.RuntimeType,System.RuntimeType,byref,byref,byref,byref,byref,byref,byref,byref) (FullOpts) -6 (-11.11 % of base) : System.Private.CoreLib.dasm - System.Version:op_Equality(System.Version,System.Version):ubyte (FullOpts) -6 (-8.33 % of base) : System.Private.CoreLib.dasm - System.Version:op_Inequality(System.Version,System.Version):ubyte (FullOpts) -5 (-0.71 % of base) : System.Private.CoreLib.dasm - System.Resources.ManifestBasedResourceGroveler:GetNeutralResourcesLanguage(System.Reflection.Assembly,byref):System.Globalization.CultureInfo (FullOpts) -4 (-0.61 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeAssembly:InternalGetSatelliteAssembly(System.Globalization.CultureInfo,System.Version,ubyte):System.Reflection.Assembly:this (FullOpts) -2 (-0.23 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicILGenerator:GetMemberRefToken(System.Reflection.MethodInfo,System.Type[]):int:this (FullOpts) Top method regressions (percentages): 275 (Infinity of base) : System.Private.CoreLib.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (FullOpts) (0 base, 1 diff methods) 29 (263.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:get_CanRead():ubyte:this (FullOpts) 29 (263.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:get_CanWrite():ubyte:this (FullOpts) 21 (190.91 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimePropertyInfo:get_CanRead():ubyte:this (FullOpts) 21 (190.91 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimePropertyInfo:get_CanWrite():ubyte:this (FullOpts) 36 (144.00 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackFrameExtensions:HasMethod(System.Diagnostics.StackFrame):ubyte (FullOpts) 26 (49.06 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ResolveUsingLoad(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 26 (47.27 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ResolveUsingEvent(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 28 (45.16 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:GetRuntimeAssembly(System.Reflection.Assembly):System.Reflection.RuntimeAssembly (FullOpts) 12 (44.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:op_Equality(System.Runtime.Versioning.FrameworkName,System.Runtime.Versioning.FrameworkName):ubyte (FullOpts) 27 (40.91 % of base) : System.Private.CoreLib.dasm - System.Type:get_IsGenericMethodParameter():ubyte:this (FullOpts) 12 (33.33 % of base) : System.Private.CoreLib.dasm - System.Globalization.SortVersion:op_Equality(System.Globalization.SortVersion,System.Globalization.SortVersion):ubyte (FullOpts) 20 (31.75 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:GetGetMethod(ubyte):System.Reflection.MethodInfo:this (FullOpts) 20 (31.75 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:GetSetMethod(ubyte):System.Reflection.MethodInfo:this (FullOpts) 43 (25.44 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackTrace:CalculateFramesToSkip(System.Diagnostics.StackFrameHelper,int):int (FullOpts) 37 (20.11 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.SignatureHelper:Init(System.Reflection.Module):this (FullOpts) 20 (17.70 % of base) : System.Private.CoreLib.dasm - System.Exception:get_TargetSite():System.Reflection.MethodBase:this (FullOpts) 78 (16.67 % of base) : System.Private.CoreLib.dasm - System.Reflection.NullabilityInfoContext:Create(System.Reflection.PropertyInfo):System.Reflection.NullabilityInfo:this (FullOpts) 54 (15.98 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetMemberWithSameMetadataDefinitionAs(System.Reflection.MemberInfo):System.Reflection.MemberInfo:this (FullOpts) 3 (15.79 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:GetHashCode():int:this (FullOpts) 8 (15.69 % of base) : System.Private.CoreLib.dasm - System.Version:TryParse(System.ReadOnlySpan`1[ushort],byref):ubyte (FullOpts) 26 (15.66 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:RemoveEventHandler(System.Object,System.Delegate):this (FullOpts) 26 (15.57 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:AddEventHandler(System.Object,System.Delegate):this (FullOpts) 91 (14.61 % of base) : System.Private.CoreLib.dasm - System.Resources.ManifestBasedResourceGroveler:GrovelForResourceSet(System.Globalization.CultureInfo,System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceSet],ubyte,ubyte):System.Resources.ResourceSet:this (FullOpts) 38 (12.03 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicMethod:GetDynamicMethodsModule():System.Reflection.Module (FullOpts) 6 (11.76 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:op_Inequality(System.Runtime.Versioning.FrameworkName,System.Runtime.Versioning.FrameworkName):ubyte (FullOpts) 6 (10.00 % of base) : System.Private.CoreLib.dasm - System.Globalization.SortVersion:op_Inequality(System.Globalization.SortVersion,System.Globalization.SortVersion):ubyte (FullOpts) 38 (9.95 % of base) : System.Private.CoreLib.dasm - System.Attribute:InternalGetCustomAttributes(System.Reflection.EventInfo,System.Type,ubyte):System.Attribute[] (FullOpts) 36 (9.89 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetEvent(System.String,int):System.Reflection.EventInfo:this (FullOpts) 8 (9.64 % of base) : System.Private.CoreLib.dasm - System.Version:TryParse(System.String,byref):ubyte (FullOpts) 38 (8.98 % of base) : System.Private.CoreLib.dasm - System.Attribute:InternalGetCustomAttributes(System.Reflection.PropertyInfo,System.Type,ubyte):System.Attribute[] (FullOpts) 35 (8.97 % of base) : System.Private.CoreLib.dasm - System.ComponentModel.DefaultValueAttribute:<.ctor>g__TryConvertFromInvariantString|2_0(System.Type,System.String,byref):ubyte (FullOpts) 22 (8.43 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:EnterContextualReflection(System.Reflection.Assembly):System.Runtime.Loader.AssemblyLoadContext+ContextualReflectionScope (FullOpts) 23 (8.39 % of base) : System.Private.CoreLib.dasm - System.AppDomain:get_FriendlyName():System.String:this (FullOpts) 12 (8.33 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetParentDefinition(System.Reflection.EventInfo):System.Reflection.EventInfo (FullOpts) 20 (8.06 % of base) : System.Private.CoreLib.dasm - System.AppDomain:ExecuteAssembly(System.Reflection.Assembly,System.String[]):int (FullOpts) 22 (8.06 % of base) : System.Private.CoreLib.dasm - System.Reflection.AssemblyName:InitGetAssemblyName():System.Func`2[System.String,System.Reflection.AssemblyName] (FullOpts) 70 (7.81 % of base) : System.Private.CoreLib.dasm - System.StartupHookProvider:CallStartupHook(System.StartupHookProvider+StartupHookNameOrPath) (FullOpts) 13 (7.65 % of base) : System.Private.CoreLib.dasm - System.Attribute:InternalIsDefined(System.Reflection.EventInfo,System.Type,ubyte):ubyte (FullOpts) 23 (7.49 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetCustomAttributes(System.Reflection.ParameterInfo,ubyte):System.Attribute[] (FullOpts) 15 (7.46 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this (FullOpts) 27 (6.68 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.AssemblyBuilder:DefineDynamicAssembly(System.Reflection.AssemblyName,int,System.Collections.Generic.IEnumerable`1[System.Reflection.Emit.CustomAttributeBuilder],System.Reflection.Assembly):System.Reflection.Emit.RuntimeAssemblyBuilder (FullOpts) 253 (5.71 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:InvokeMember(System.String,int,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]):System.Object:this (FullOpts) 23 (5.68 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.ILGenerator:ThrowException(System.Type):this (FullOpts) 23 (5.52 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Contracts.Contract:AssertMustUseRewriter(int,System.String) (FullOpts) 24 (5.30 % of base) : System.Private.CoreLib.dasm - System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo (FullOpts) 19 (5.26 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:FilterApplyBase(System.Reflection.MemberInfo,int,ubyte,ubyte,ubyte,System.String,ubyte):ubyte (FullOpts) 10 (5.15 % of base) : System.Private.CoreLib.dasm - System.Attribute:InternalIsDefined(System.Reflection.PropertyInfo,System.Type,ubyte):ubyte (FullOpts) 23 (5.10 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetCustomAttributes(System.Reflection.ParameterInfo,System.Type,ubyte):System.Attribute[] (FullOpts) 22 (4.72 % of base) : System.Private.CoreLib.dasm - System.AppDomain:GetThreadPrincipal():System.Security.Principal.IPrincipal:this (FullOpts) 31 (4.69 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Insert(byref,System.String,int):this (FullOpts) 41 (4.63 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts) 57 (4.48 % of base) : System.Private.CoreLib.dasm - System.TypedReference:MakeTypedReference(System.Object,System.Reflection.FieldInfo[]):System.TypedReference (FullOpts) 26 (4.45 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.ILGenerator:EmitWriteLine(System.Reflection.Emit.LocalBuilder):this (FullOpts) 30 (4.42 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this (FullOpts) 26 (4.03 % of base) : System.Private.CoreLib.dasm - System.Reflection.NullabilityInfoContext:GetNullableContext(System.Reflection.MemberInfo):System.Nullable`1[int]:this (FullOpts) 24 (3.99 % of base) : System.Private.CoreLib.dasm - System.Reflection.ParameterInfo:GetRealObject(System.Runtime.Serialization.StreamingContext):System.Object:this (FullOpts) 4 (3.88 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimePropertyInfo:GetValue(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this (FullOpts) 26 (3.82 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.ILGenerator:EmitWriteLine(System.Reflection.FieldInfo):this (FullOpts) 28 (3.24 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:GetFirstResolvedAssemblyFromResolvingEvent(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 18 (3.04 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicILGenerator:Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo):this (FullOpts) 19 (2.61 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenInternal(System.Reflection.MethodBase,System.Type[],ubyte):int:this (FullOpts) 30 (2.60 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackFrameHelper:InitializeSourceInfo(int,ubyte,System.Exception):this (FullOpts) 23 (2.50 % of base) : System.Private.CoreLib.dasm - Internal.Runtime.InteropServices.ComponentActivator:InternalGetFunctionPointer(System.Runtime.Loader.AssemblyLoadContext,System.String,System.String,long):long (FullOpts) 23 (2.25 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:DefineDefaultConstructorNoLock(int):System.Reflection.Emit.RuntimeConstructorBuilder:this (FullOpts) 24 (2.20 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.TypeAnalysis:.ctor(System.Type,System.Diagnostics.Tracing.EventDataAttribute,System.Collections.Generic.List`1[System.Type]):this (FullOpts) 22 (2.09 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackFrame:ToString():System.String:this (FullOpts) 19 (1.92 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:LoadFromResolveHandler(System.Object,System.ResolveEventArgs):System.Reflection.Assembly (FullOpts) 23 (1.89 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMemberRefToken(System.Reflection.MethodBase,System.Type[]):int:this (FullOpts) 20 (1.87 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicMethod:Init(System.String,int,int,System.Type,System.Type[],System.Type,System.Reflection.Module,ubyte,ubyte):this (FullOpts) 37 (1.75 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,ubyte):this (FullOpts) 3 (1.52 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeEventInfo:ToString():System.String:this (FullOpts) 2 (1.35 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeParameterInfo:GetRuntimeModule():System.Reflection.RuntimeModule:this (FullOpts) 18 (1.19 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeMethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.RuntimeILGenerator):this (FullOpts) 15 (0.97 % of base) : System.Private.CoreLib.dasm - System.Type:FindMembers(int,int,System.Reflection.MemberFilter,System.Object):System.Reflection.MemberInfo[]:this (FullOpts) 38 (0.82 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this (FullOpts) 20 (0.70 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackTrace:ToString(int,System.Text.StringBuilder):this (FullOpts) 22 (0.66 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (FullOpts) 1 (0.15 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttribute:GetCustomAttributes(System.Reflection.RuntimeMethodInfo,System.RuntimeType,ubyte):System.Object[] (FullOpts) Top method improvements (percentages): -16 (-34.04 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:Equals(System.ModuleHandle):ubyte:this (FullOpts) -14 (-33.33 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:op_Equality(System.ModuleHandle,System.ModuleHandle):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:op_Equality(System.Reflection.Assembly,System.Reflection.Assembly):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInfo:op_Equality(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:op_Equality(System.Reflection.EventInfo,System.Reflection.EventInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.FieldInfo:op_Equality(System.Reflection.FieldInfo,System.Reflection.FieldInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.MemberInfo:op_Equality(System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:op_Equality(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodInfo:op_Equality(System.Reflection.MethodInfo,System.Reflection.MethodInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.Module:op_Equality(System.Reflection.Module,System.Reflection.Module):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.PropertyInfo:op_Equality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo):ubyte (FullOpts) -14 (-28.00 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:op_Inequality(System.ModuleHandle,System.ModuleHandle):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:op_Inequality(System.Reflection.Assembly,System.Reflection.Assembly):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInfo:op_Inequality(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:op_Inequality(System.Reflection.EventInfo,System.Reflection.EventInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.FieldInfo:op_Inequality(System.Reflection.FieldInfo,System.Reflection.FieldInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.MemberInfo:op_Inequality(System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:op_Inequality(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodInfo:op_Inequality(System.Reflection.MethodInfo,System.Reflection.MethodInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.Module:op_Inequality(System.Reflection.Module,System.Reflection.Module):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.PropertyInfo:op_Inequality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo):ubyte (FullOpts) -15 (-20.83 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.RuntimeTypeMetadataUpdateHandler:SkipAssembly(System.Reflection.Assembly):ubyte (FullOpts) -16 (-20.00 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:Equals(System.Object):ubyte:this (FullOpts) -10 (-17.54 % of base) : System.Private.CoreLib.dasm - System.Delegate:op_Inequality(System.Delegate,System.Delegate):ubyte (FullOpts) -249 (-13.57 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts) -12 (-12.37 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:op_Equality(System.Reflection.CustomAttributeNamedArgument,System.Reflection.CustomAttributeNamedArgument):ubyte (FullOpts) -12 (-12.00 % of base) : System.Private.CoreLib.dasm - System.Delegate:RemoveAll(System.Delegate,System.Delegate):System.Delegate (FullOpts) -6 (-11.54 % of base) : System.Private.CoreLib.dasm - System.Delegate:op_Equality(System.Delegate,System.Delegate):ubyte (FullOpts) -12 (-11.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:op_Inequality(System.Reflection.CustomAttributeNamedArgument,System.Reflection.CustomAttributeNamedArgument):ubyte (FullOpts) -6 (-11.11 % of base) : System.Private.CoreLib.dasm - System.Version:op_Equality(System.Version,System.Version):ubyte (FullOpts) -12 (-10.62 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:Equals(System.Reflection.CustomAttributeNamedArgument):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[double]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[int]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[long]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[short]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[ubyte]:Equals(System.Object):ubyte:this (FullOpts) -18 (-9.28 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetParentDefinition(System.Reflection.ParameterInfo):System.Reflection.ParameterInfo (FullOpts) -13 (-8.61 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[System.__Canon]:Equals(System.Object):ubyte:this (FullOpts) -6 (-8.33 % of base) : System.Private.CoreLib.dasm - System.Version:op_Inequality(System.Version,System.Version):ubyte (FullOpts) -12 (-7.74 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:Equals(System.Object):ubyte:this (FullOpts) -10 (-4.65 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:GetCompareInfo(int,System.Reflection.Assembly):System.Globalization.CompareInfo (FullOpts) -10 (-4.17 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:GetCompareInfo(System.String,System.Reflection.Assembly):System.Globalization.CompareInfo (FullOpts) -7 (-3.59 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:Equals(System.Runtime.Versioning.FrameworkName):ubyte:this (FullOpts) -12 (-3.52 % of base) : System.Private.CoreLib.dasm - System.Resources.ManifestBasedResourceGroveler:HandleResourceStreamMissing(System.String):this (FullOpts) -18 (-3.51 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:GetTypeFromDefaultAssemblies(System.String,System.ReadOnlySpan`1[System.String]):System.Type:this (FullOpts) -12 (-2.30 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.RuntimeTypeMetadataUpdateHandler:ClearCache(System.Type[]) (FullOpts) -15 (-2.16 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicResolver:ResolveToken(int,byref,byref,byref):this (FullOpts) -20 (-1.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeILGenerator:Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder):this (FullOpts) -5 (-0.71 % of base) : System.Private.CoreLib.dasm - System.Resources.ManifestBasedResourceGroveler:GetNeutralResourcesLanguage(System.Reflection.Assembly,byref):System.Globalization.CultureInfo (FullOpts) -4 (-0.61 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeAssembly:InternalGetSatelliteAssembly(System.Globalization.CultureInfo,System.Version,ubyte):System.Reflection.Assembly:this (FullOpts) -6 (-0.57 % of base) : System.Private.CoreLib.dasm - System.Reflection.Associates:AssignAssociates(System.Reflection.MetadataImport,int,System.RuntimeType,System.RuntimeType,byref,byref,byref,byref,byref,byref,byref,byref) (FullOpts) -12 (-0.55 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenNoLock(System.Reflection.MethodInfo,ubyte):int:this (FullOpts) -34 (-0.36 % of base) : System.Private.CoreLib.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts) -2 (-0.23 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.DynamicILGenerator:GetMemberRefToken(System.Reflection.MethodInfo,System.Type[]):int:this (FullOpts) 135 total methods with Code Size differences (56 improved, 79 regressed), 55694 unchanged. -------------------------------------------------------------------------------- ```

Frameworks diffs

Diffs ``` Found 292 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38317896 Total bytes of diff: 38337096 Total bytes of delta: 19200 (0.05 % of base) Total relative delta: 97.33 diff is a regression. relative diff is a regression. Total byte diff includes 275 bytes from reconciling methods Base had 0 unique methods, 0 unique bytes Diff had 1 unique methods, 275 unique bytes Top file regressions (bytes): 4457 : System.Private.DataContractSerialization.dasm (0.45 % of base) 3405 : System.Linq.Expressions.dasm (0.37 % of base) 2087 : System.ComponentModel.TypeConverter.dasm (0.69 % of base) 1910 : System.Private.Xml.dasm (0.05 % of base) 1516 : System.Private.CoreLib.dasm (0.02 % of base) 957 : System.ComponentModel.Composition.dasm (0.22 % of base) 737 : System.Composition.Hosting.dasm (0.71 % of base) 713 : System.Reflection.Context.dasm (1.22 % of base) 669 : System.Reflection.MetadataLoadContext.dasm (0.28 % of base) 619 : System.Text.Json.dasm (0.05 % of base) 553 : System.Runtime.Serialization.Formatters.dasm (0.50 % of base) 504 : Microsoft.CSharp.dasm (0.15 % of base) 405 : System.Security.Cryptography.dasm (0.04 % of base) 378 : System.Net.Security.dasm (0.17 % of base) 355 : System.Reflection.DispatchProxy.dasm (1.87 % of base) 234 : System.Composition.Convention.dasm (0.20 % of base) 214 : System.Reflection.Emit.dasm (0.19 % of base) 209 : System.ComponentModel.Annotations.dasm (0.41 % of base) 209 : System.Configuration.ConfigurationManager.dasm (0.05 % of base) 114 : System.Composition.TypedParts.dasm (0.21 % of base) 96 : Microsoft.Extensions.DependencyInjection.Abstractions.dasm (0.15 % of base) 76 : Microsoft.Extensions.DependencyInjection.dasm (0.10 % of base) 60 : System.Net.Primitives.dasm (0.07 % of base) 51 : System.CodeDom.dasm (0.02 % of base) 44 : System.Diagnostics.DiagnosticSource.dasm (0.02 % of base) 30 : System.Net.HttpListener.dasm (0.03 % of base) 19 : Microsoft.Extensions.DependencyModel.dasm (0.02 % of base) 17 : System.IO.IsolatedStorage.dasm (0.07 % of base) 14 : Microsoft.Extensions.Configuration.Binder.dasm (0.06 % of base) Top file improvements (bytes): -1222 : System.Data.Common.dasm (-0.07 % of base) -106 : System.ComponentModel.Composition.Registration.dasm (-0.10 % of base) -74 : System.Net.WebSockets.Client.dasm (-0.32 % of base) -38 : tieringtest.dasm (-0.57 % of base) -12 : System.DirectoryServices.Protocols.dasm (-0.01 % of base) 34 total files with Code Size differences (5 improved, 29 regressed), 222 unchanged. Top method regressions (bytes): 378 (19.96 % of base) : System.Net.Security.dasm - System.Net.Http.X509ResourceClient:CreateDownloadBytesFunc():System.Func`4[System.String,System.Threading.CancellationToken,ubyte,System.Threading.Tasks.Task`1[ubyte[]]] (FullOpts) 368 (20.55 % of base) : System.Security.Cryptography.dasm - System.Net.Http.X509ResourceClient:CreateDownloadBytesFunc():System.Func`4[System.String,System.Threading.CancellationToken,ubyte,System.Threading.Tasks.Task`1[ubyte[]]] (FullOpts) 332 (10.99 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.DispatchProxyGenerator+ProxyBuilder:AddInterfaceImpl(System.Type):this (FullOpts) 275 (Infinity of base) : System.Private.CoreLib.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (FullOpts) (0 base, 1 diff methods) 253 (5.71 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:InvokeMember(System.String,int,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[]):System.Object:this (FullOpts) 251 (6.29 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract+ClassDataContractCriticalHelper:ImportDataMembers():this (FullOpts) 218 (20.11 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectEventDescriptor:FillMethods():this (FullOpts) 149 (9.06 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.GenericSpecializationPartCreationInfo:BuildMembersTable(System.Collections.Generic.List`1[System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo]):System.Collections.Generic.Dictionary`2[System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.Reflection.MemberInfo[]]:this (FullOpts) 149 (27.95 % of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.FormatterServices:GetObjectData(System.Object,System.Reflection.MemberInfo[]):System.Object[] (FullOpts) 147 (15.46 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TypeScope:GetEnumeratorElementType(System.Type,byref):System.Type (FullOpts) 140 (18.94 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.PathAssemblyResolver:Resolve(System.Reflection.MetadataLoadContext,System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 132 (14.68 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:get_SetMethodValue():System.Reflection.MethodInfo:this (FullOpts) 131 (15.88 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.Custom.AttributeUtils:GetCustomAttributes(System.Reflection.Context.CustomReflectionContext,System.Reflection.Context.Custom.CustomMethodInfo,System.Type,ubyte):System.Object[] (FullOpts) 127 (15.58 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:ReflectGetProperties(System.Type):System.ComponentModel.PropertyDescriptor[] (FullOpts) 121 (7.09 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:AddPropertyToSymbolTable(System.Reflection.PropertyInfo,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol) (FullOpts) 120 (2.37 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatWriterGenerator+CriticalHelper:WriteCollection(System.Runtime.Serialization.DataContracts.CollectionDataContract):this (FullOpts) 113 (5.08 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.Custom.CustomType:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this (FullOpts) 113 (14.47 % of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.ObjectManager:DoValueTypeFixup(System.Reflection.FieldInfo,System.Runtime.Serialization.ObjectHolder,System.Object):ubyte:this (FullOpts) 110 (1.95 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.Json.JsonFormatWriterGenerator+CriticalHelper:WriteCollection(System.Runtime.Serialization.DataContracts.CollectionDataContract):this (FullOpts) 105 (26.45 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:PropertyOrField(System.Linq.Expressions.Expression,System.String):System.Linq.Expressions.MemberExpression (FullOpts) 104 (11.34 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:get_GetMethodValue():System.Reflection.MethodInfo:this (FullOpts) 103 (9.28 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:ValidateIndexedProperty(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.String,byref) (FullOpts) 101 (6.85 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:FillAttributes(System.Collections.IList):this (FullOpts) 91 (4.67 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.EnumConverter:ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type):System.Object:this (FullOpts) 91 (14.61 % of base) : System.Private.CoreLib.dasm - System.Resources.ManifestBasedResourceGroveler:GrovelForResourceSet(System.Globalization.CultureInfo,System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceSet],ubyte,ubyte):System.Resources.ResourceSet:this (FullOpts) 90 (8.24 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract:GetCollectionMethods(System.Type,System.Type,System.Type[],ubyte,byref,byref) (FullOpts) 87 (3.61 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SourceInfo:InternalLoad(System.Type,ubyte):this (FullOpts) 85 (6.97 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinderExtensions:IsEquivalentTo(System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts) 79 (4.10 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.UnaryExpression:ReduceIndex():System.Linq.Expressions.Expression:this (FullOpts) 78 (16.67 % of base) : System.Private.CoreLib.dasm - System.Reflection.NullabilityInfoContext:Create(System.Reflection.PropertyInfo):System.Reflection.NullabilityInfo:this (FullOpts) 78 (29.43 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoProperty:GetAccessors(ubyte):System.Reflection.MethodInfo[]:this (FullOpts) 76 (3.64 % of base) : Microsoft.Extensions.DependencyInjection.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (FullOpts) 76 (4.69 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart+d__18:MoveNext():ubyte:this (FullOpts) 76 (7.00 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:AndAlso(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo):System.Linq.Expressions.BinaryExpression (FullOpts) 76 (2.57 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:WriteEnumAndArrayTypes():this (FullOpts) 74 (2.65 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:ReflectGetExtendedProperties(System.ComponentModel.IExtenderProvider):System.ComponentModel.PropertyDescriptor[] (FullOpts) 73 (22.60 % of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.ValueTypeFixupInfo:.ctor(long,System.Reflection.FieldInfo,int[]):this (FullOpts) 72 (12.27 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeBuilderImpl:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this (FullOpts) 71 (2.96 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:CompileSwitchExpression(System.Linq.Expressions.Expression):this (FullOpts) 70 (13.06 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo:.ctor(System.Reflection.MemberInfo):this (FullOpts) 70 (6.54 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:OrElse(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo):System.Linq.Expressions.BinaryExpression (FullOpts) 70 (7.81 % of base) : System.Private.CoreLib.dasm - System.StartupHookProvider:CallStartupHook(System.StartupHookProvider+StartupHookNameOrPath) (FullOpts) 69 (4.80 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoFatMethodParameter+d__11:MoveNext():ubyte:this (FullOpts) 68 (5.07 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.ConventionBuilder:GetCustomAttributes(System.Type,System.Reflection.MemberInfo):System.Collections.Generic.IEnumerable`1[System.Attribute]:this (FullOpts) 67 (1.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.CollectionDataContract:IsCollectionOrTryCreate(System.Type,ubyte,byref,byref,ubyte,ubyte):ubyte (FullOpts) 64 (6.58 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigPaths:SetNamesAndVersion(System.Reflection.Assembly,ubyte):this (FullOpts) 64 (9.67 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyAccessors[System.__Canon](System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.__Canon],System.Reflection.MemberInfo,ubyte) (FullOpts) 63 (27.39 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.CustomReflectionContext+ReflectionContextProjector:ProjectMethodBase(System.Reflection.MethodBase):System.Reflection.MethodBase:this (FullOpts) 63 (12.21 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.TypeBuilderImpl:GetField(System.String,int):System.Reflection.FieldInfo:this (FullOpts) 63 (1.57 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TempAssembly:GenerateSerializerToStream(System.Xml.Serialization.XmlMapping[],System.Type[],System.String,System.Reflection.Assembly,System.Collections.Hashtable,System.IO.Stream):ubyte (FullOpts) 61 (7.18 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinderExtensions:IsGenericallyEquivalentTo(System.Type,System.Type,System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts) 61 (11.55 % of base) : System.ComponentModel.Annotations.dasm - System.ComponentModel.DataAnnotations.ValidationAttribute:SetResourceAccessorByPropertyLookup():this (FullOpts) 60 (9.39 % of base) : System.Text.Json.dasm - System.Text.Json.Reflection.ReflectionExtensions:TryGetDeserializationConstructor(System.Type,ubyte,byref):ubyte (FullOpts) 59 (6.76 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TypeScope:GetDefaultIndexer(System.Type,System.String):System.Reflection.PropertyInfo (FullOpts) 58 (41.73 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:.ctor(System.Type,System.String,System.Type,System.Reflection.PropertyInfo,System.Reflection.MethodInfo,System.Reflection.MethodInfo,System.Attribute[]):this (FullOpts) 58 (10.86 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyAccessors[double](System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double],System.Reflection.MemberInfo,ubyte) (FullOpts) 58 (10.86 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyAccessors[int](System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int],System.Reflection.MemberInfo,ubyte) (FullOpts) 58 (10.86 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyAccessors[long](System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long],System.Reflection.MemberInfo,ubyte) (FullOpts) 58 (10.86 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyAccessors[short](System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[short],System.Reflection.MemberInfo,ubyte) (FullOpts) 58 (10.86 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyAccessors[System.Nullable`1[int]](System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[int]],System.Reflection.MemberInfo,ubyte) (FullOpts) 58 (10.86 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyAccessors[System.Numerics.Vector`1[float]](System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Numerics.Vector`1[float]],System.Reflection.MemberInfo,ubyte) (FullOpts) 58 (10.86 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:DeterminePropertyAccessors[ubyte](System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte],System.Reflection.MemberInfo,ubyte) (FullOpts) 57 (4.48 % of base) : System.Private.CoreLib.dasm - System.TypedReference:MakeTypedReference(System.Object,System.Reflection.FieldInfo[]):System.TypedReference (FullOpts) 56 (4.87 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:ValidateUserDefinedConditionalLogicOperator(int,System.Type,System.Type,System.Reflection.MethodInfo) (FullOpts) 55 (19.86 % of base) : Microsoft.Extensions.DependencyInjection.Abstractions.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:TryFindMatchingConstructor(System.Type,System.Type[],byref,byref):ubyte (FullOpts) 55 (51.40 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.ReflectionProperty:.ctor(System.Reflection.MethodInfo,System.Reflection.MethodInfo):this (FullOpts) 55 (2.92 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.BinaryExpression:ReduceIndex():System.Linq.Expressions.Expression:this (FullOpts) 54 (11.30 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:FindMethod(System.Type,System.String,System.Type[],System.Linq.Expressions.Expression[],int):System.Reflection.MethodInfo (FullOpts) 54 (8.10 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.CustomReflectionContext+d__10:MoveNext():ubyte:this (FullOpts) 54 (15.98 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetMemberWithSameMetadataDefinitionAs(System.Reflection.MemberInfo):System.Reflection.MemberInfo:this (FullOpts) 54 (5.81 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XsltOld.XsltCompileContext:GetExtensionMethod(System.String,System.String,int[],byref):System.Xml.Xsl.XsltOld.XsltCompileContext+FuncExtension:this (FullOpts) 53 (7.68 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:AddEventToSymbolTable(System.Reflection.EventInfo,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.FieldSymbol) (FullOpts) 53 (14.32 % of base) : System.Linq.Expressions.dasm - System.Dynamic.Utils.TypeUtils:GetUserDefinedCoercionMethod(System.Type,System.Type):System.Reflection.MethodInfo (FullOpts) 53 (11.96 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:IsCompatible(System.Reflection.PropertyInfo,System.Linq.Expressions.Expression[]):ubyte (FullOpts) 53 (22.65 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.CodeGenerator:GetPropertyMethodFromBaseType(System.Reflection.PropertyInfo,ubyte):System.Reflection.MethodInfo (FullOpts) 52 (4.41 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.TempAssembly:LoadGeneratedAssembly(System.Type,System.String,byref):System.Reflection.Assembly (FullOpts) 51 (6.63 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectTypeDescriptionProvider:ReflectGetEvents(System.Type):System.ComponentModel.EventDescriptor[] (FullOpts) 50 (16.61 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo:SelectPartConstructor(System.Type):System.Reflection.ConstructorInfo (FullOpts) 50 (27.93 % of base) : System.Data.Common.dasm - System.Data.Common.SqlUdtStorage:GetStaticNullForUdtTypeCore(System.Type):System.Object (FullOpts) 50 (30.86 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:GetMemberType(System.Reflection.MemberInfo):System.Type (FullOpts) 50 (8.05 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.DynamicAssemblies:Add(System.Reflection.Assembly) (FullOpts) 50 (4.73 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.FieldModel:.ctor(System.Reflection.MemberInfo,System.Type,System.Xml.Serialization.TypeDesc):this (FullOpts) 50 (1.34 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:WriteLiteralStructMethod(System.Xml.Serialization.StructMapping,ubyte,ubyte,System.String):System.Object:this (FullOpts) 49 (26.20 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoAssembly:GetRoModule(byref):System.Reflection.TypeLoading.RoModule:this (FullOpts) 48 (7.43 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.AttributeCollection:GetDefaultAttribute(System.Type):System.Attribute:this (FullOpts) 48 (23.76 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:FindInstanceProperty(System.Type,System.String,System.Linq.Expressions.Expression[]):System.Reflection.PropertyInfo (FullOpts) 48 (5.65 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XslCompiledTransform:Load(System.Type):this (FullOpts) 47 (10.38 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:ExtenderCanResetValue(System.ComponentModel.IExtenderProvider,System.Object):ubyte:this (FullOpts) 47 (1.53 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[System.__Canon]():System.Func`2[System.__Canon,System.__Canon] (FullOpts) 47 (5.71 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:GetUserDefinedBinaryOperator(int,System.String,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,ubyte):System.Linq.Expressions.BinaryExpression (FullOpts) 47 (18.58 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionVisitor:ValidateUnary(System.Linq.Expressions.UnaryExpression,System.Linq.Expressions.UnaryExpression):System.Linq.Expressions.UnaryExpression (FullOpts) 47 (8.64 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoProperty:ComputeIndexParameters():System.Reflection.TypeLoading.RoPropertyIndexParameter[]:this (FullOpts) 47 (5.18 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.XmlExtensionFunction:Bind():this (FullOpts) 46 (9.62 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:CanResetValue(System.Object):ubyte:this (FullOpts) 46 (6.63 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:ExtenderResetValue(System.ComponentModel.IExtenderProvider,System.Object,System.ComponentModel.PropertyDescriptor):this (FullOpts) 46 (5.56 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:ExtenderShouldSerializeValue(System.ComponentModel.IExtenderProvider,System.Object):ubyte:this (FullOpts) 46 (7.18 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:ResetValue(System.Object):this (FullOpts) 46 (1.56 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[double]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],double] (FullOpts) 46 (1.56 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[int]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int] (FullOpts) 46 (1.56 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[long]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],long] (FullOpts) Top method improvements (bytes): -249 (-13.57 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts) -114 (-4.67 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaModule:GetInternalManifestResourceInfo(System.String):System.Reflection.TypeLoading.Ecma.InternalManifestResourceInfo:this (FullOpts) -42 (-0.75 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketHandle+d__22:MoveNext():this (FullOpts) -41 (-7.88 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ILGeneratorImpl:Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder):this (FullOpts) -38 (-0.57 % of base) : tieringtest.dasm - Program:Main(System.String[]):int (FullOpts) -34 (-0.36 % of base) : System.Private.CoreLib.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (FullOpts) -25 (-0.71 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.MgmtConfigurationRecord:GetConfigDefinitionUpdates(ubyte,int,ubyte,byref,byref):this (FullOpts) -24 (-0.76 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:TryEmitHashtableSwitch(System.Linq.Expressions.SwitchExpression,int):ubyte:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:Clone():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:Clone():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:Clone():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:Clone():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -22 (-3.41 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.__Canon]:Clone():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:Clone():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:Clone():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:Clone():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -20 (-1.94 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeILGenerator:Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder):this (FullOpts) -20 (-5.97 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoAssembly:GetTypeCore(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],ubyte,byref):System.Reflection.TypeLoading.RoDefinitionType:this (FullOpts) -18 (-9.28 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetParentDefinition(System.Reflection.ParameterInfo):System.Reflection.ParameterInfo (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -18 (-2.33 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -18 (-2.33 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -18 (-2.33 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -18 (-2.33 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -18 (-2.24 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.__Canon]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -18 (-2.24 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.__Canon]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -18 (-2.24 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.__Canon]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -18 (-2.24 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.__Canon]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -18 (-1.94 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.__Canon]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts) -18 (-2.24 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.__Canon]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -18 (-2.24 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.__Canon]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -18 (-2.24 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.__Canon]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -18 (-2.33 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -18 (-2.33 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -18 (-2.33 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[System.__Canon]():System.Data.SortExpressionBuilder`1[System.__Canon]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[System.Nullable`1[int]]():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -18 (-2.86 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -18 (-0.48 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:ValidateNewArgs(System.Reflection.ConstructorInfo,byref,byref) (FullOpts) -18 (-1.07 % of base) : System.Net.WebSockets.Client.dasm - System.Net.WebSockets.WebSocketHandle:AddWebSocketHeaders(System.Net.Http.HttpRequestMessage,System.Net.WebSockets.ClientWebSocketOptions):System.String (FullOpts) -18 (-3.51 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:GetTypeFromDefaultAssemblies(System.String,System.ReadOnlySpan`1[System.String]):System.Type:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[double]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[int]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[long]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[short]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[System.__Canon]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[System.Nullable`1[int]]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[System.Numerics.Vector`1[float]]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[ubyte]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[double]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[int]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[long]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[short]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[System.__Canon]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[System.Nullable`1[int]]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) Top method regressions (percentages): 275 (Infinity of base) : System.Private.CoreLib.dasm - System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this (FullOpts) (0 base, 1 diff methods) 41 (372.73 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.ReflectionProperty:get_CanRead():ubyte:this (FullOpts) 41 (372.73 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.ReflectionProperty:get_CanWrite():ubyte:this (FullOpts) 41 (372.73 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.PropertyBuilderImpl:get_CanRead():ubyte:this (FullOpts) 41 (372.73 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.PropertyBuilderImpl:get_CanWrite():ubyte:this (FullOpts) 24 (266.67 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo+<>c:b__15_0(System.Reflection.MemberInfo):ubyte:this (FullOpts) 29 (263.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:get_CanRead():ubyte:this (FullOpts) 29 (263.64 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:get_CanWrite():ubyte:this (FullOpts) 21 (190.91 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimePropertyInfo:get_CanRead():ubyte:this (FullOpts) 21 (190.91 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimePropertyInfo:get_CanWrite():ubyte:this (FullOpts) 36 (150.00 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoProperty:get_CanRead():ubyte:this (FullOpts) 36 (144.00 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackFrameExtensions:HasMethod(System.Diagnostics.StackFrame):ubyte (FullOpts) 36 (144.00 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoProperty:get_CanWrite():ubyte:this (FullOpts) 36 (120.00 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.Virtual.VirtualPropertyBase:get_CanRead():ubyte:this (FullOpts) 36 (120.00 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.Virtual.VirtualPropertyBase:get_CanWrite():ubyte:this (FullOpts) 45 (115.38 % of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.Formatters.Binary.ObjectReader+TopLevelAssemblyTypeResolver:ResolveType(System.Reflection.Assembly,System.String,ubyte):System.Type:this (FullOpts) 28 (75.68 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo+<>c:b__15_1(System.Reflection.MemberInfo):ubyte:this (FullOpts) 28 (75.68 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo+<>c:b__15_2(System.Reflection.MemberInfo):ubyte:this (FullOpts) 37 (68.52 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.IndexExpression:.ctor(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IReadOnlyList`1[System.Linq.Expressions.Expression]):this (FullOpts) 30 (63.83 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.DataContracts.ClassDataContract:GetNonAttributedTypeConstructor():System.Reflection.ConstructorInfo:this (FullOpts) 34 (59.65 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.IndexExpression:get_Type():System.Type:this (FullOpts) 38 (52.78 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.SerializableMapping:.ctor(System.Reflection.MethodInfo,ubyte,System.String):this (FullOpts) 55 (51.40 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.ReflectionProperty:.ctor(System.Reflection.MethodInfo,System.Reflection.MethodInfo):this (FullOpts) 26 (49.06 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ResolveUsingLoad(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 26 (47.27 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ResolveUsingEvent(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 39 (46.99 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.ExpressionVisitor:ValidateSwitch(System.Linq.Expressions.SwitchExpression,System.Linq.Expressions.SwitchExpression):System.Linq.Expressions.SwitchExpression (FullOpts) 28 (45.16 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:GetRuntimeAssembly(System.Reflection.Assembly):System.Reflection.RuntimeAssembly (FullOpts) 12 (44.44 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:op_Equality(System.Runtime.Versioning.FrameworkName,System.Runtime.Versioning.FrameworkName):ubyte (FullOpts) 38 (43.18 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitGetIndexCall(System.Linq.Expressions.IndexExpression,System.Type):this (FullOpts) 38 (43.18 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitSetIndexCall(System.Linq.Expressions.IndexExpression,System.Type):this (FullOpts) 30 (42.86 % of base) : System.Net.HttpListener.dasm - System.Net.CookieParser:get_IsQuotedDomainField():System.Reflection.FieldInfo (FullOpts) 30 (42.86 % of base) : System.Net.Primitives.dasm - System.Net.CookieParser:get_IsQuotedDomainField():System.Reflection.FieldInfo (FullOpts) 30 (42.86 % of base) : System.Net.Primitives.dasm - System.Net.CookieParser:get_IsQuotedVersionField():System.Reflection.FieldInfo (FullOpts) 30 (42.86 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_ContractNamespacesField():System.Reflection.FieldInfo (FullOpts) 30 (42.86 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_MemberNamesField():System.Reflection.FieldInfo (FullOpts) 58 (41.73 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ReflectPropertyDescriptor:.ctor(System.Type,System.String,System.Type,System.Reflection.PropertyInfo,System.Reflection.MethodInfo,System.Reflection.MethodInfo,System.Attribute[]):this (FullOpts) 27 (40.91 % of base) : System.Private.CoreLib.dasm - System.Type:get_IsGenericMethodParameter():ubyte:this (FullOpts) 41 (40.59 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[double]:get_ItemTypeHasDefaultConstructor():ubyte (FullOpts) 41 (40.59 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[int]:get_ItemTypeHasDefaultConstructor():ubyte (FullOpts) 41 (40.59 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[long]:get_ItemTypeHasDefaultConstructor():ubyte (FullOpts) 41 (40.59 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[short]:get_ItemTypeHasDefaultConstructor():ubyte (FullOpts) 41 (40.59 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:get_ItemTypeHasDefaultConstructor():ubyte (FullOpts) 41 (40.59 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Numerics.Vector`1[float]]:get_ItemTypeHasDefaultConstructor():ubyte (FullOpts) 41 (40.59 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[ubyte]:get_ItemTypeHasDefaultConstructor():ubyte (FullOpts) 43 (33.59 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.Runtime.BindingFlagSupport.EventPolicies:GetMemberAttributes(System.Reflection.EventInfo,byref,byref,byref,byref):this (FullOpts) 12 (33.33 % of base) : System.Private.CoreLib.dasm - System.Globalization.SortVersion:op_Equality(System.Globalization.SortVersion,System.Globalization.SortVersion):ubyte (FullOpts) 20 (31.75 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.PropertyBuilderImpl:GetGetMethod(ubyte):System.Reflection.MethodInfo:this (FullOpts) 20 (31.75 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.PropertyBuilderImpl:GetSetMethod(ubyte):System.Reflection.MethodInfo:this (FullOpts) 20 (31.75 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:GetGetMethod(ubyte):System.Reflection.MethodInfo:this (FullOpts) 20 (31.75 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimePropertyBuilder:GetSetMethod(ubyte):System.Reflection.MethodInfo:this (FullOpts) 50 (30.86 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Interpreter.LightCompiler:GetMemberType(System.Reflection.MemberInfo):System.Type (FullOpts) 20 (30.30 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.ComponentResourceManager:get_NeutralResourcesCulture():System.Globalization.CultureInfo:this (FullOpts) 78 (29.43 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoProperty:GetAccessors(ubyte):System.Reflection.MethodInfo[]:this (FullOpts) 40 (29.41 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.ReflectionModel.ReflectionExtensions:CreateReflectionProperty(System.Reflection.MethodInfo,System.Reflection.MethodInfo):System.ComponentModel.Composition.ReflectionModel.ReflectionProperty (FullOpts) 20 (29.41 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:AddressOfWriteBack(System.Linq.Expressions.IndexExpression):System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack:this (FullOpts) 18 (29.03 % of base) : System.CodeDom.dasm - System.CodeDom.Compiler.CompilerResults:get_CompiledAssembly():System.Reflection.Assembly:this (FullOpts) 46 (28.75 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[double]:b__1_3(System.Reflection.PropertyInfo):ubyte:this (FullOpts) 46 (28.75 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[int]:b__1_3(System.Reflection.PropertyInfo):ubyte:this (FullOpts) 46 (28.75 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[long]:b__1_3(System.Reflection.PropertyInfo):ubyte:this (FullOpts) 46 (28.75 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[short]:b__1_3(System.Reflection.PropertyInfo):ubyte:this (FullOpts) 46 (28.75 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[System.__Canon]:b__1_3(System.Reflection.PropertyInfo):ubyte:this (FullOpts) 46 (28.75 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[System.Nullable`1[int]]:b__1_3(System.Reflection.PropertyInfo):ubyte:this (FullOpts) 46 (28.75 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[System.Numerics.Vector`1[float]]:b__1_3(System.Reflection.PropertyInfo):ubyte:this (FullOpts) 46 (28.75 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[ubyte]:b__1_3(System.Reflection.PropertyInfo):ubyte:this (FullOpts) 18 (28.57 % of base) : System.ComponentModel.Composition.dasm - System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo:GetConstructor():System.Reflection.ConstructorInfo:this (FullOpts) 30 (28.04 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_SerializationExceptionCtor():System.Reflection.ConstructorInfo (FullOpts) 149 (27.95 % of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.FormatterServices:GetObjectData(System.Object,System.Reflection.MemberInfo[]):System.Object[] (FullOpts) 50 (27.93 % of base) : System.Data.Common.dasm - System.Data.Common.SqlUdtStorage:GetStaticNullForUdtTypeCore(System.Type):System.Object (FullOpts) 63 (27.39 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.CustomReflectionContext+ReflectionContextProjector:ProjectMethodBase(System.Reflection.MethodBase):System.Reflection.MethodBase:this (FullOpts) 30 (26.55 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:MakeIndexProperty(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.String,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.Expression]):System.Linq.Expressions.IndexExpression (FullOpts) 105 (26.45 % of base) : System.Linq.Expressions.dasm - System.Linq.Expressions.Expression:PropertyOrField(System.Linq.Expressions.Expression,System.String):System.Linq.Expressions.MemberExpression (FullOpts) 49 (26.20 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoAssembly:GetRoModule(byref):System.Reflection.TypeLoading.RoModule:this (FullOpts) 36 (25.90 % of base) : System.Runtime.Serialization.Formatters.dasm - System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo:GetAssembly():System.Reflection.Assembly:this (FullOpts) 22 (25.88 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.TypeDescriptor:Refresh(System.Reflection.Assembly) (FullOpts) 43 (25.44 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.StackTrace:CalculateFramesToSkip(System.Diagnostics.StackFrameHelper,int):int (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.CodeGenerator:get_GetTypeFromHandle():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.CodeGenerator:get_ObjectEquals():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_BoxPointer():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_GetJsonDataContractMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_GetJsonMemberIndexMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_GetRevisedItemContractMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_MoveNextMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_MoveToContentMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_OnDeserializationMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_ReadJsonValueMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_ThrowDuplicateMemberExceptionMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_ThrowMissingRequiredMembersMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_UnboxPointer():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_WriteJsonISerializableMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_WriteJsonNameWithMappingMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.JsonFormatGeneratorStatics:get_WriteJsonValueMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_AddNewObjectMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_AddNewObjectWithIdMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_CheckEndOfArrayMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_EnsureArraySizeMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_GetArraySizeMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_GetCollectionMemberMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_GetDateTimeOffsetAdapterMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_GetDateTimeOffsetMethod():System.Reflection.MethodInfo (FullOpts) 25 (24.27 % of base) : System.Private.DataContractSerialization.dasm - System.Runtime.Serialization.XmlFormatGeneratorStatics:get_GetDefaultValueMethod():System.Reflection.MethodInfo (FullOpts) Top method improvements (percentages): -16 (-34.04 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:Equals(System.ModuleHandle):ubyte:this (FullOpts) -14 (-33.33 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:op_Equality(System.ModuleHandle,System.ModuleHandle):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:op_Equality(System.Reflection.Assembly,System.Reflection.Assembly):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInfo:op_Equality(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:op_Equality(System.Reflection.EventInfo,System.Reflection.EventInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.FieldInfo:op_Equality(System.Reflection.FieldInfo,System.Reflection.FieldInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.MemberInfo:op_Equality(System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:op_Equality(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodInfo:op_Equality(System.Reflection.MethodInfo,System.Reflection.MethodInfo):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.Module:op_Equality(System.Reflection.Module,System.Reflection.Module):ubyte (FullOpts) -15 (-28.85 % of base) : System.Private.CoreLib.dasm - System.Reflection.PropertyInfo:op_Equality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo):ubyte (FullOpts) -14 (-28.00 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:op_Inequality(System.ModuleHandle,System.ModuleHandle):ubyte (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[double]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[int]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[long]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[short]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[System.__Canon]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[System.Nullable`1[int]]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[System.Numerics.Vector`1[float]]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.ComponentModel.Composition.Registration.dasm - System.ComponentModel.Composition.Registration.PartBuilder`1+PropertyExpressionAdapter[ubyte]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[double]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[int]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[long]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[short]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[System.__Canon]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[System.Nullable`1[int]]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[System.Numerics.Vector`1[float]]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+MethodExpressionAdapter[ubyte]:VerifyMethodInfo(System.Reflection.MethodInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+PropertyExpressionAdapter[double]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+PropertyExpressionAdapter[int]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+PropertyExpressionAdapter[long]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+PropertyExpressionAdapter[short]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+PropertyExpressionAdapter[System.__Canon]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+PropertyExpressionAdapter[System.Nullable`1[int]]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+PropertyExpressionAdapter[System.Numerics.Vector`1[float]]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -16 (-25.40 % of base) : System.Composition.Convention.dasm - System.Composition.Convention.PartConventionBuilder`1+PropertyExpressionAdapter[ubyte]:VerifyPropertyInfo(System.Reflection.PropertyInfo):ubyte:this (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:op_Inequality(System.Reflection.Assembly,System.Reflection.Assembly):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.ConstructorInfo:op_Inequality(System.Reflection.ConstructorInfo,System.Reflection.ConstructorInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.EventInfo:op_Inequality(System.Reflection.EventInfo,System.Reflection.EventInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.FieldInfo:op_Inequality(System.Reflection.FieldInfo,System.Reflection.FieldInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.MemberInfo:op_Inequality(System.Reflection.MemberInfo,System.Reflection.MemberInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodBase:op_Inequality(System.Reflection.MethodBase,System.Reflection.MethodBase):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.MethodInfo:op_Inequality(System.Reflection.MethodInfo,System.Reflection.MethodInfo):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.Module:op_Inequality(System.Reflection.Module,System.Reflection.Module):ubyte (FullOpts) -15 (-21.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.PropertyInfo:op_Inequality(System.Reflection.PropertyInfo,System.Reflection.PropertyInfo):ubyte (FullOpts) -15 (-20.83 % of base) : System.Private.CoreLib.dasm - System.Reflection.Metadata.RuntimeTypeMetadataUpdateHandler:SkipAssembly(System.Reflection.Assembly):ubyte (FullOpts) -16 (-20.00 % of base) : System.Private.CoreLib.dasm - System.ModuleHandle:Equals(System.Object):ubyte:this (FullOpts) -10 (-17.54 % of base) : System.Private.CoreLib.dasm - System.Delegate:op_Inequality(System.Delegate,System.Delegate):ubyte (FullOpts) -13 (-15.48 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.Configuration:set_AssemblyStringTransformer(System.Func`2[System.String,System.String]):this (FullOpts) -13 (-15.48 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.Configuration:set_TypeStringTransformer(System.Func`2[System.String,System.String]):this (FullOpts) -249 (-13.57 % of base) : System.Private.CoreLib.dasm - System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts) -15 (-12.93 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.Projection.ProjectingAssembly:Equals(System.Object):ubyte:this (FullOpts) -12 (-12.37 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:op_Equality(System.Reflection.CustomAttributeNamedArgument,System.Reflection.CustomAttributeNamedArgument):ubyte (FullOpts) -15 (-12.30 % of base) : System.Text.Json.dasm - System.Text.Json.Serialization.JsonConverter:.ctor():this (FullOpts) -12 (-12.00 % of base) : System.Private.CoreLib.dasm - System.Delegate:RemoveAll(System.Delegate,System.Delegate):System.Delegate (FullOpts) -6 (-11.54 % of base) : System.Private.CoreLib.dasm - System.Delegate:op_Equality(System.Delegate,System.Delegate):ubyte (FullOpts) -12 (-11.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:op_Inequality(System.Reflection.CustomAttributeNamedArgument,System.Reflection.CustomAttributeNamedArgument):ubyte (FullOpts) -12 (-11.43 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoParameter:Equals(System.Object):ubyte:this (FullOpts) -6 (-11.11 % of base) : System.Private.CoreLib.dasm - System.Version:op_Equality(System.Version,System.Version):ubyte (FullOpts) -12 (-10.62 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:Equals(System.Reflection.CustomAttributeNamedArgument):ubyte:this (FullOpts) -12 (-10.08 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.Symbol:SameAssemOrFriend(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol):ubyte:this (FullOpts) -16 (-9.47 % of base) : System.Composition.TypedParts.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart+ParameterInfoComparer:Equals(System.Reflection.ParameterInfo,System.Reflection.ParameterInfo):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[double]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[int]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[long]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[short]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Object):ubyte:this (FullOpts) -13 (-9.42 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[ubyte]:Equals(System.Object):ubyte:this (FullOpts) -15 (-9.32 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.Runtime.EarlyBoundInfo:Equals(System.Object):ubyte:this (FullOpts) -18 (-9.28 % of base) : System.Private.CoreLib.dasm - System.Attribute:GetParentDefinition(System.Reflection.ParameterInfo):System.Reflection.ParameterInfo (FullOpts) -13 (-8.61 % of base) : System.Private.CoreLib.dasm - System.Collections.Generic.DelegateEqualityComparer`1[System.__Canon]:Equals(System.Object):ubyte:this (FullOpts) -6 (-8.33 % of base) : System.Private.CoreLib.dasm - System.Version:op_Inequality(System.Version,System.Version):ubyte (FullOpts) -41 (-7.88 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ILGeneratorImpl:Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder):this (FullOpts) -12 (-7.74 % of base) : System.Private.CoreLib.dasm - System.Reflection.CustomAttributeNamedArgument:Equals(System.Object):ubyte:this (FullOpts) -16 (-7.41 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoConstructedGenericMethod:Equals(System.Object):ubyte:this (FullOpts) -12 (-6.74 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoEvent:GetRoAddMethod():System.Reflection.TypeLoading.RoMethod:this (FullOpts) -12 (-6.74 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoEvent:GetRoRaiseMethod():System.Reflection.TypeLoading.RoMethod:this (FullOpts) -12 (-6.74 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoEvent:GetRoRemoveMethod():System.Reflection.TypeLoading.RoMethod:this (FullOpts) -12 (-6.38 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.TypeDescriptionProvider:GetRuntimeType(System.Type):System.Type:this (FullOpts) -12 (-6.28 % of base) : System.DirectoryServices.Protocols.dasm - Interop+Ldap+<>c__DisplayClass0_0:<.cctor>b__0(System.Reflection.Assembly,System.String):long:this (FullOpts) -20 (-5.97 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.RoAssembly:GetTypeCore(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],ubyte,byref):System.Reflection.TypeLoading.RoDefinitionType:this (FullOpts) -16 (-5.76 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:GetTypeFromCoreAssembly(int):System.Type:this (FullOpts) -14 (-5.43 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.DiagnosticListener+DiagnosticSubscription:Remove(System.Diagnostics.DiagnosticListener+DiagnosticSubscription,System.Diagnostics.DiagnosticListener+DiagnosticSubscription):System.Diagnostics.DiagnosticListener+DiagnosticSubscription (FullOpts) -12 (-5.41 % of base) : System.Reflection.Context.dasm - System.Reflection.Context.Virtual.VirtualParameter:Equals(System.Object):ubyte:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[double]:Clone():System.Data.SortExpressionBuilder`1[double]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[int]:Clone():System.Data.SortExpressionBuilder`1[int]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[long]:Clone():System.Data.SortExpressionBuilder`1[long]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[short]:Clone():System.Data.SortExpressionBuilder`1[short]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:Clone():System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:Clone():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts) -22 (-4.68 % of base) : System.Data.Common.dasm - System.Data.SortExpressionBuilder`1[ubyte]:Clone():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts) -114 (-4.67 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.EcmaModule:GetInternalManifestResourceInfo(System.String):System.Reflection.TypeLoading.Ecma.InternalManifestResourceInfo:this (FullOpts) -10 (-4.65 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:GetCompareInfo(int,System.Reflection.Assembly):System.Globalization.CompareInfo (FullOpts) -10 (-4.17 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:GetCompareInfo(System.String,System.Reflection.Assembly):System.Globalization.CompareInfo (FullOpts) -16 (-3.79 % of base) : System.Reflection.Emit.dasm - System.Reflection.Emit.ModuleBuilderImpl:GetTypeIdFromCoreTypes(System.Type):System.Nullable`1[int]:this (FullOpts) -6 (-3.61 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ConfigurationFileMap:get_IsMachinePathDefault():ubyte:this (FullOpts) -7 (-3.59 % of base) : System.Private.CoreLib.dasm - System.Runtime.Versioning.FrameworkName:Equals(System.Runtime.Versioning.FrameworkName):ubyte:this (FullOpts) -12 (-3.52 % of base) : System.Private.CoreLib.dasm - System.Resources.ManifestBasedResourceGroveler:HandleResourceStreamMissing(System.String):this (FullOpts) -18 (-3.51 % of base) : System.Private.CoreLib.dasm - System.Reflection.TypeNameParser:GetTypeFromDefaultAssemblies(System.String,System.ReadOnlySpan`1[System.String]):System.Type:this (FullOpts) 866 total methods with Code Size differences (186 improved, 680 regressed), 237841 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 9 months ago

Top method regressions

91 (14.61 % of base) - System.Resources.ManifestBasedResourceGroveler:GrovelForResourceSet(System.Globalization.CultureInfo,System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceSet],ubyte,ubyte):System.Resources.ResourceSet:this ```diff ; Assembly listing for method System.Resources.ManifestBasedResourceGroveler:GrovelForResourceSet(System.Globalization.CultureInfo,System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceSet],ubyte,ubyte):System.Resources.ResourceSet:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 5 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 10, 6 ) ref -> rbx this class-hnd single-def ; V01 arg1 [V01,T01] ( 7, 5 ) ref -> r15 class-hnd single-def -; V02 arg2 [V02,T02] ( 7, 4.50) ref -> r14 class-hnd single-def +; V02 arg2 [V02,T03] ( 7, 4.50) ref -> r14 class-hnd single-def ; V03 arg3 [V03,T06] ( 3, 2.50) ubyte -> r12 single-def -; V04 arg4 [V04,T04] ( 3, 3 ) ubyte -> r13 single-def -; V05 loc0 [V05,T07] ( 5, 3.50) ref -> [rbp-0x38] ld-addr-op class-hnd +; V04 arg4 [V04,T05] ( 3, 3 ) ubyte -> r13 single-def +; V05 loc0 [V05,T07] ( 6, 4 ) ref -> [rbp-0x38] ld-addr-op class-hnd ; V06 loc1 [V06,T09] ( 5, 3 ) ref -> [rbp-0x40] class-hnd -; V07 loc2 [V07,T05] ( 8, 4.50) ref -> [rbp-0x48] class-hnd +; V07 loc2 [V07,T02] ( 12, 6.50) ref -> [rbp-0x48] class-hnd ; V08 loc3 [V08,T08] ( 4, 3.50) ref -> [rbp-0x50] class-hnd spill-single-def ; V09 loc4 [V09,T10] ( 4, 2 ) ref -> [rbp-0x58] class-hnd exact single-def ;* V10 loc5 [V10 ] ( 0, 0 ) ubyte -> zero-ref -; V11 loc6 [V11,T18] ( 2, 0 ) ref -> [rbp-0x60] class-hnd EH-live single-def +; V11 loc6 [V11,T20] ( 2, 0 ) ref -> [rbp-0x60] class-hnd EH-live single-def ; V12 loc7 [V12 ] ( 5, 2 ) ubyte -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op ;* V13 loc8 [V13 ] ( 0, 0 ) ubyte -> zero-ref ;# V14 OutArgs [V14 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V15 tmp1 [V15,T16] ( 2, 1 ) int -> rdi ;* V16 tmp2 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V17 tmp3 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V18 tmp4 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -;* V19 tmp5 [V19 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V19 tmp5 [V19,T17] ( 2, 1 ) ubyte -> rax "Inline return value spill temp" ;* V20 tmp6 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V21 tmp7 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V22 tmp8 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -;* V23 tmp9 [V23 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V23 tmp9 [V23,T18] ( 2, 1 ) ubyte -> rax "Inline return value spill temp" ;* V24 tmp10 [V24 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V25 tmp11 [V25,T12] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" ; V26 tmp12 [V26,T14] ( 3, 1.50) byref -> rax single-def "Inline stloc first use temp" ; V27 tmp13 [V27,T13] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" ; V28 tmp14 [V28,T11] ( 4, 2 ) ref -> rcx -; V29 tmp15 [V29,T03] ( 3, 6 ) ref -> rdi single-def "argument with side effect" -; V30 PSPSym [V30,T17] ( 1, 1 ) long -> [rbp-0x70] do-not-enreg[V] "PSPSym" +; V29 tmp15 [V29,T04] ( 3, 6 ) ref -> rdi single-def "argument with side effect" +; V30 PSPSym [V30,T19] ( 1, 1 ) long -> [rbp-0x70] do-not-enreg[V] "PSPSym" ; V31 cse0 [V31,T15] ( 3, 1.50) ref -> rdi "CSE - moderate" ; ; Lcl frame size = 72 G_M8772_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 72 lea rbp, [rsp+0x70] mov qword ptr [rbp-0x70], rsp mov rbx, rdi mov r15, rsi mov r14, rdx mov r12d, ecx mov r13d, r8d ;; size=38 bbWeight=1 PerfScore 9.00 G_M8772_IG02: xor rax, rax mov gword ptr [rbp-0x38], rax xor rcx, rcx mov gword ptr [rbp-0x40], rcx mov rdi, rbx mov rsi, r15 mov rdx, 0xD1FFAB1E ; code for System.Resources.ManifestBasedResourceGroveler:UltimateFallbackFixup(System.Globalization.CultureInfo):System.Globalization.CultureInfo:this call [rdx]System.Resources.ManifestBasedResourceGroveler:UltimateFallbackFixup(System.Globalization.CultureInfo):System.Globalization.CultureInfo:this mov gword ptr [rbp-0x50], rax mov rdi, rax mov rcx, 0xD1FFAB1E ; code for System.Globalization.CultureInfo:get_HasInvariantCultureName():ubyte:this cmp dword ptr [rdi], edi call [rcx]System.Globalization.CultureInfo:get_HasInvariantCultureName():ubyte:this test eax, eax je SHORT G_M8772_IG04 ;; size=55 bbWeight=1 PerfScore 15.00 G_M8772_IG03: mov rdi, gword ptr [rbx+0x08] mov rdi, gword ptr [rdi+0x08] cmp dword ptr [rdi+0x50], 0 jne SHORT G_M8772_IG04 mov rax, gword ptr [rdi+0x10] mov gword ptr [rbp-0x48], rax - jmp SHORT G_M8772_IG05 + jmp SHORT G_M8772_IG06 ;; size=24 bbWeight=0.50 PerfScore 6.50 G_M8772_IG04: mov rdi, rbx mov rsi, gword ptr [rbp-0x50] mov rax, 0xD1FFAB1E ; code for System.Resources.ManifestBasedResourceGroveler:GetSatelliteAssembly(System.Globalization.CultureInfo):System.Reflection.Assembly:this call [rax]System.Resources.ManifestBasedResourceGroveler:GetSatelliteAssembly(System.Globalization.CultureInfo):System.Reflection.Assembly:this - mov gword ptr [rbp-0x48], rax test rax, rax - jne SHORT G_M8772_IG05 + je G_M8772_IG14 + mov rdi, rax + xor rsi, rsi + mov gword ptr [rbp-0x48], rax + mov rcx, qword ptr [rax] + mov rcx, qword ptr [rcx+0x40] + call [rcx+0x10]System.Object:Equals(System.Object):ubyte:this + test eax, eax + je SHORT G_M8772_IG06 + ;; size=51 bbWeight=0.50 PerfScore 7.75 +G_M8772_IG05: mov rdi, r15 mov rcx, 0xD1FFAB1E ; code for System.Globalization.CultureInfo:get_HasInvariantCultureName():ubyte:this cmp dword ptr [rdi], edi call [rcx]System.Globalization.CultureInfo:get_HasInvariantCultureName():ubyte:this test eax, eax - je SHORT G_M8772_IG05 + je SHORT G_M8772_IG06 mov rdi, gword ptr [rbx+0x08] mov rdi, gword ptr [rdi+0x08] cmp dword ptr [rdi+0x50], 1 sete dil movzx rdi, dil test dil, dil - jne G_M8772_IG22 - ;; size=78 bbWeight=0.50 PerfScore 12.00 -G_M8772_IG05: + jne G_M8772_IG24 + ;; size=50 bbWeight=0.50 PerfScore 8.62 +G_M8772_IG06: mov rdi, gword ptr [rbx+0x08] mov rdi, gword ptr [rdi+0x08] mov rsi, gword ptr [rbp-0x50] mov rcx, qword ptr [rdi] mov rcx, qword ptr [rcx+0x48] call [rcx+0x08]System.Resources.ResourceManager:GetResourceFileName(System.Globalization.CultureInfo):System.String:this mov gword ptr [rbp-0x58], rax - cmp gword ptr [rbp-0x48], 0 - je G_M8772_IG18 - ;; size=37 bbWeight=1 PerfScore 16.00 -G_M8772_IG06: + mov rcx, gword ptr [rbp-0x48] + test rcx, rcx + jne SHORT G_M8772_IG15 + ;; size=35 bbWeight=1 PerfScore 15.25 +G_M8772_IG07: + test r13b, r13b + je SHORT G_M8772_IG13 + ;; size=5 bbWeight=1 PerfScore 1.25 +G_M8772_IG08: + mov r14, gword ptr [rbp-0x40] + test r14, r14 + je SHORT G_M8772_IG12 + mov r13, gword ptr [rbp-0x38] + test r13, r13 + jne SHORT G_M8772_IG11 + mov rdi, rbx + mov rsi, r14 + mov rdx, rcx + mov rax, 0xD1FFAB1E ; code for System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this + call [rax]System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this + mov r13, rax + ;; size=42 bbWeight=0.50 PerfScore 4.38 +G_M8772_IG09: + mov rax, r13 + ;; size=3 bbWeight=1 PerfScore 0.25 +G_M8772_IG10: + add rsp, 72 + pop rbx + pop r12 + pop r13 + pop r14 + pop r15 + pop rbp + ret + ;; size=15 bbWeight=1 PerfScore 4.25 +G_M8772_IG11: + mov gword ptr [rbp-0x40], r14 + jmp G_M8772_IG22 + ;; size=9 bbWeight=0.25 PerfScore 0.75 +G_M8772_IG12: + mov gword ptr [rbp-0x40], r14 + mov r13, gword ptr [rbp-0x38] + jmp G_M8772_IG22 + ;; size=13 bbWeight=0.25 PerfScore 1.00 +G_M8772_IG13: + mov r13, gword ptr [rbp-0x38] + jmp G_M8772_IG22 + ;; size=9 bbWeight=0.50 PerfScore 1.50 +G_M8772_IG14: + mov gword ptr [rbp-0x48], rax + jmp G_M8772_IG05 + ;; size=9 bbWeight=0.25 PerfScore 0.75 +G_M8772_IG15: + mov rdi, rcx + xor rsi, rsi + mov gword ptr [rbp-0x48], rcx + mov rdx, qword ptr [rcx] + mov rdx, qword ptr [rdx+0x40] + call [rdx+0x10]System.Object:Equals(System.Object):ubyte:this + test eax, eax + mov rcx, gword ptr [rbp-0x48] + jne G_M8772_IG07 mov gword ptr [rbp-0x60], r14 xor esi, esi mov dword ptr [rbp-0x30], esi - ;; size=9 bbWeight=0.50 PerfScore 1.12 -G_M8772_IG07: + ;; size=40 bbWeight=0.50 PerfScore 6.50 +G_M8772_IG16: cmp byte ptr [rbp-0x30], 0 - je SHORT G_M8772_IG09 - ;; size=6 bbWeight=0.50 PerfScore 1.50 -G_M8772_IG08: - mov rax, 0xD1FFAB1E ; code for System.Threading.Monitor:ThrowLockTakenException() - call [rax]System.Threading.Monitor:ThrowLockTakenException() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 -G_M8772_IG09: + jne SHORT G_M8772_IG17 + mov gword ptr [rbp-0x48], rcx lea rsi, [rbp-0x30] mov rdi, r14 call System.Threading.Monitor:ReliableEnter(System.Object,byref) mov rdi, r15 mov rax, qword ptr [r15] mov rax, qword ptr [rax+0x40] call [rax+0x38]System.Globalization.CultureInfo:get_Name():System.String:this mov rsi, rax cmp byte ptr [r14], r14b mov rdi, r14 mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this test rax, rax - je SHORT G_M8772_IG10 + je SHORT G_M8772_IG18 mov rax, gword ptr [rax] + jmp SHORT G_M8772_IG19 + ;; size=66 bbWeight=0.50 PerfScore 12.50 +G_M8772_IG17: + mov rax, 0xD1FFAB1E ; code for System.Threading.Monitor:ThrowLockTakenException() + call [rax]System.Threading.Monitor:ThrowLockTakenException() + int3 + ;; size=13 bbWeight=0 PerfScore 0.00 +G_M8772_IG18: + xor rax, rax mov gword ptr [rbp-0x38], rax - ;; size=58 bbWeight=0.50 PerfScore 10.00 -G_M8772_IG10: + mov rax, gword ptr [rbp-0x38] + ;; size=10 bbWeight=0.50 PerfScore 1.12 +G_M8772_IG19: cmp byte ptr [rbp-0x30], 0 - je SHORT G_M8772_IG11 + mov gword ptr [rbp-0x38], rax + je SHORT G_M8772_IG20 mov rdi, r14 call System.Threading.Monitor:Exit(System.Object) - ;; size=14 bbWeight=0.50 PerfScore 2.12 -G_M8772_IG11: + ;; size=18 bbWeight=0.50 PerfScore 2.62 +G_M8772_IG20: mov rdi, gword ptr [rbp-0x48] mov rsi, gword ptr [rbp-0x58] mov gword ptr [rbp-0x48], rdi mov rcx, qword ptr [rdi] mov rcx, qword ptr [rcx+0x50] call [rcx+0x18]System.Reflection.Assembly:GetManifestResourceStream(System.String):System.IO.Stream:this mov rcx, rax test rcx, rcx - jne SHORT G_M8772_IG12 + jne SHORT G_M8772_IG21 mov rdi, gword ptr [rbp-0x48] mov rsi, gword ptr [rbp-0x58] mov rax, 0xD1FFAB1E ; code for System.Resources.ManifestBasedResourceGroveler:CaseInsensitiveManifestResourceStreamLookup(System.Reflection.Assembly,System.String):System.IO.Stream call [rax]System.Resources.ManifestBasedResourceGroveler:CaseInsensitiveManifestResourceStreamLookup(System.Reflection.Assembly,System.String):System.IO.Stream mov rcx, rax ;; size=53 bbWeight=0.50 PerfScore 8.50 -G_M8772_IG12: +G_M8772_IG21: mov r14, rcx mov gword ptr [rbp-0x40], r14 mov rcx, gword ptr [rbp-0x48] - ;; size=11 bbWeight=0.50 PerfScore 1.12 -G_M8772_IG13: - test r13b, r13b - je SHORT G_M8772_IG17 - ;; size=5 bbWeight=1 PerfScore 1.25 -G_M8772_IG14: - mov r14, gword ptr [rbp-0x40] - test r14, r14 - je SHORT G_M8772_IG16 - mov r13, gword ptr [rbp-0x38] - test r13, r13 - jne SHORT G_M8772_IG15 - mov rdi, rbx - mov rsi, r14 - mov rdx, rcx - mov rax, 0xD1FFAB1E ; code for System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this - call [rax]System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this - mov r13, rax - jmp SHORT G_M8772_IG20 - ;; size=44 bbWeight=0.50 PerfScore 5.38 -G_M8772_IG15: - mov gword ptr [rbp-0x40], r14 - jmp SHORT G_M8772_IG19 - ;; size=6 bbWeight=0.25 PerfScore 0.75 -G_M8772_IG16: - mov gword ptr [rbp-0x40], r14 - mov r13, gword ptr [rbp-0x38] - jmp SHORT G_M8772_IG19 - ;; size=10 bbWeight=0.25 PerfScore 1.00 -G_M8772_IG17: - mov r13, gword ptr [rbp-0x38] - jmp SHORT G_M8772_IG19 - ;; size=6 bbWeight=0.50 PerfScore 1.50 -G_M8772_IG18: - mov rcx, gword ptr [rbp-0x48] - jmp SHORT G_M8772_IG13 - ;; size=6 bbWeight=0.50 PerfScore 1.50 -G_M8772_IG19: + jmp G_M8772_IG07 + ;; size=16 bbWeight=0.50 PerfScore 2.12 +G_M8772_IG22: xor edi, edi cmp gword ptr [rbp-0x40], 0 sete dil movzx rcx, r12b test edi, ecx - je SHORT G_M8772_IG20 + je G_M8772_IG09 mov rdi, r15 mov rcx, 0xD1FFAB1E ; code for System.Globalization.CultureInfo:get_HasInvariantCultureName():ubyte:this cmp dword ptr [rdi], edi call [rcx]System.Globalization.CultureInfo:get_HasInvariantCultureName():ubyte:this test eax, eax - jne SHORT G_M8772_IG23 - ;; size=40 bbWeight=0.50 PerfScore 6.25 -G_M8772_IG20: - mov rax, r13 - ;; size=3 bbWeight=1 PerfScore 0.25 -G_M8772_IG21: - add rsp, 72 - pop rbx - pop r12 - pop r13 - pop r14 - pop r15 - pop rbp - ret - ;; size=15 bbWeight=1 PerfScore 4.25 -G_M8772_IG22: - mov rdi, rbx - mov rax, 0xD1FFAB1E ; code for System.Resources.ManifestBasedResourceGroveler:HandleSatelliteMissing():this - call [rax]System.Resources.ManifestBasedResourceGroveler:HandleSatelliteMissing():this - int3 - ;; size=16 bbWeight=0 PerfScore 0.00 + je G_M8772_IG09 + ;; size=48 bbWeight=0.50 PerfScore 6.25 G_M8772_IG23: mov r15, gword ptr [rbp-0x58] mov rdi, rbx mov rsi, r15 mov rax, 0xD1FFAB1E ; code for System.Resources.ManifestBasedResourceGroveler:HandleResourceStreamMissing(System.String):this call [rax]System.Resources.ManifestBasedResourceGroveler:HandleResourceStreamMissing(System.String):this int3 ;; size=23 bbWeight=0 PerfScore 0.00 G_M8772_IG24: + mov rdi, rbx + mov rax, 0xD1FFAB1E ; code for System.Resources.ManifestBasedResourceGroveler:HandleSatelliteMissing():this + call [rax]System.Resources.ManifestBasedResourceGroveler:HandleSatelliteMissing():this + int3 + ;; size=16 bbWeight=0 PerfScore 0.00 +G_M8772_IG25: push rbp push r15 push r14 push r13 push r12 push rbx push rax mov rbp, qword ptr [rdi] mov qword ptr [rsp], rbp lea rbp, [rbp+0x70] ;; size=22 bbWeight=0 PerfScore 0.00 -G_M8772_IG25: +G_M8772_IG26: cmp byte ptr [rbp-0x30], 0 - je SHORT G_M8772_IG26 + je SHORT G_M8772_IG27 mov rdi, gword ptr [rbp-0x60] call System.Threading.Monitor:Exit(System.Object) ;; size=15 bbWeight=0 PerfScore 0.00 -G_M8772_IG26: +G_M8772_IG27: nop ;; size=1 bbWeight=0 PerfScore 0.00 -G_M8772_IG27: +G_M8772_IG28: add rsp, 8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=0 PerfScore 0.00 -; Total bytes of code 623, prolog size 38, PerfScore 105.00, instruction count 188, allocated bytes for code 623 (MethodHash=874cddbb) for method System.Resources.ManifestBasedResourceGroveler:GrovelForResourceSet(System.Globalization.CultureInfo,System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceSet],ubyte,ubyte):System.Resources.ResourceSet:this (FullOpts) +; Total bytes of code 714, prolog size 38, PerfScore 115.88, instruction count 210, allocated bytes for code 714 (MethodHash=874cddbb) for method System.Resources.ManifestBasedResourceGroveler:GrovelForResourceSet(System.Globalization.CultureInfo,System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceSet],ubyte,ubyte):System.Resources.ResourceSet:this (FullOpts) ```
78 (16.67 % of base) - System.Reflection.NullabilityInfoContext:Create(System.Reflection.PropertyInfo):System.Reflection.NullabilityInfo:this ```diff ; Assembly listing for method System.Reflection.NullabilityInfoContext:Create(System.Reflection.PropertyInfo):System.Reflection.NullabilityInfo:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 5 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T01] ( 6, 4.50) ref -> r15 this class-hnd single-def +; V00 this [V00,T02] ( 6, 4.50) ref -> r15 this class-hnd single-def ; V01 arg1 [V01,T00] ( 12, 10.50) ref -> rbx class-hnd single-def -; V02 loc0 [V02,T03] ( 6, 4.50) ref -> r13 class-hnd single-def -; V03 loc1 [V03,T04] ( 6, 4 ) ref -> r14 class-hnd single-def +; V02 loc0 [V02,T01] ( 10, 6.50) ref -> r13 class-hnd single-def +; V03 loc1 [V03,T03] ( 10, 6 ) ref -> r14 class-hnd single-def ;* V04 loc2 [V04 ] ( 0, 0 ) ubyte -> zero-ref ;* V05 loc3 [V05 ] ( 0, 0 ) struct ( 8) zero-ref -;* V06 loc4 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def +; V06 loc4 [V06,T04] ( 6, 4 ) ref -> r12 class-hnd exact single-def ;* V07 loc5 [V07 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op ;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V09 tmp1 [V09,T10] ( 2, 1 ) int -> rax +; V09 tmp1 [V09,T11] ( 2, 1 ) int -> rax ;* V10 tmp2 [V10 ] ( 0, 0 ) struct ( 8) zero-ref multireg-ret single-def ;* V11 tmp3 [V11 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" -; V12 tmp4 [V12,T08] ( 3, 3 ) int -> rdi "Span.get_Item index" -;* V13 tmp5 [V13 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V14 tmp6 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V12 tmp4 [V12,T09] ( 3, 3 ) int -> rdi "Span.get_Item index" +; V13 tmp5 [V13,T15] ( 2, 1 ) ubyte -> rax "Inline return value spill temp" +; V14 tmp6 [V14,T16] ( 2, 1 ) ubyte -> rax "Inline return value spill temp" ;* V15 tmp7 [V15 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" ;* V16 tmp8 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V17 tmp9 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" ; V18 tmp10 [V18 ] ( 2, 2 ) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op "Inline stloc first use temp" ; V19 tmp11 [V19,T05] ( 2, 4 ) ref -> rdx class-hnd single-def "Inlining Arg" -; V20 tmp12 [V20,T02] ( 8, 5.50) ref -> r12 class-hnd exact single-def "Inline stloc first use temp" -;* V21 tmp13 [V21 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V22 tmp14 [V22 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V20 tmp12 [V20,T06] ( 4, 3.50) ref -> r12 class-hnd exact single-def "Inline stloc first use temp" +; V21 tmp13 [V21,T17] ( 2, 1 ) ubyte -> rax "Inline return value spill temp" +; V22 tmp14 [V22,T18] ( 2, 1 ) ubyte -> rax "Inline return value spill temp" ;* V23 tmp15 [V23 ] ( 0, 0 ) ref -> zero-ref single-def "field V05._nullableAttributeArgument (fldOffset=0x0)" P-INDEP -; V24 tmp16 [V24,T15] ( 2, 1 ) byref -> rax "field V07._reference (fldOffset=0x0)" P-INDEP -; V25 tmp17 [V25,T14] ( 3, 1.50) int -> rdx "field V07._length (fldOffset=0x8)" P-INDEP -; V26 tmp18 [V26,T11] ( 3, 2 ) ref -> r12 single-def "field V10._nullableAttributeArgument (fldOffset=0x0)" P-INDEP +; V24 tmp16 [V24,T20] ( 2, 1 ) byref -> rax "field V07._reference (fldOffset=0x0)" P-INDEP +; V25 tmp17 [V25,T19] ( 3, 1.50) int -> rdx "field V07._length (fldOffset=0x8)" P-INDEP +; V26 tmp18 [V26,T12] ( 3, 2 ) ref -> r12 single-def "field V10._nullableAttributeArgument (fldOffset=0x0)" P-INDEP ;* V27 tmp19 [V27 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-DEP ;* V28 tmp20 [V28 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-DEP -; V29 tmp21 [V29,T16] ( 2, 1 ) ref -> r12 single-def "field V15._nullableAttributeArgument (fldOffset=0x0)" P-INDEP -; V30 tmp22 [V30,T06] ( 3, 3 ) ref -> rax single-def "argument with side effect" -; V31 tmp23 [V31,T12] ( 2, 2 ) ref -> rsi single-def "argument with side effect" -; V32 tmp24 [V32,T07] ( 3, 3 ) ref -> rdi single-def "argument with side effect" -; V33 tmp25 [V33,T13] ( 2, 2 ) ref -> rsi single-def "argument with side effect" -; V34 cse0 [V34,T09] ( 3, 3 ) long -> r14 "CSE - moderate" +; V29 tmp21 [V29,T21] ( 2, 1 ) ref -> r12 single-def "field V15._nullableAttributeArgument (fldOffset=0x0)" P-INDEP +; V30 tmp22 [V30,T07] ( 3, 3 ) ref -> rax single-def "argument with side effect" +; V31 tmp23 [V31,T13] ( 2, 2 ) ref -> rsi single-def "argument with side effect" +; V32 tmp24 [V32,T08] ( 3, 3 ) ref -> rdi single-def "argument with side effect" +; V33 tmp25 [V33,T14] ( 2, 2 ) ref -> rsi single-def "argument with side effect" +; V34 cse0 [V34,T10] ( 3, 3 ) long -> r14 "CSE - moderate" ; ; Lcl frame size = 8 G_M17207_IG01: push rbp push r15 push r14 push r13 push r12 push rbx push rax lea rbp, [rsp+0x30] mov r15, rdi mov rbx, rsi ;; size=22 bbWeight=1 PerfScore 8.00 G_M17207_IG02: mov rdi, rbx mov rsi, 0xD1FFAB1E ; 'propertyInfo' mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String) call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String) mov rax, 0xD1FFAB1E ; code for System.Reflection.NullabilityInfoContext:EnsureIsSupported() call [rax]System.Reflection.NullabilityInfoContext:EnsureIsSupported() mov rdi, rbx mov esi, 1 mov rax, qword ptr [rbx] mov r14, qword ptr [rax+0x58] call [r14+0x08]System.Reflection.PropertyInfo:GetGetMethod(ubyte):System.Reflection.MethodInfo:this mov r13, rax mov rdi, rbx mov esi, 1 call [r14+0x18]System.Reflection.PropertyInfo:GetSetMethod(ubyte):System.Reflection.MethodInfo:this mov r14, rax test r13, r13 je SHORT G_M17207_IG04 ;; size=79 bbWeight=1 PerfScore 19.75 G_M17207_IG03: + mov rdi, r13 + xor rsi, rsi + mov rax, qword ptr [r13] + mov rax, qword ptr [rax+0x40] + call [rax+0x10]System.Object:Equals(System.Object):ubyte:this + test eax, eax + jne SHORT G_M17207_IG04 mov rdi, r15 mov rsi, r13 mov rax, 0xD1FFAB1E ; code for System.Reflection.NullabilityInfoContext:IsPrivateOrInternalMethodAndAnnotationDisabled(System.Reflection.MethodBase):ubyte:this call [rax]System.Reflection.NullabilityInfoContext:IsPrivateOrInternalMethodAndAnnotationDisabled(System.Reflection.MethodBase):ubyte:this test eax, eax je SHORT G_M17207_IG05 - ;; size=22 bbWeight=0.50 PerfScore 2.50 + ;; size=42 bbWeight=0.50 PerfScore 6.88 G_M17207_IG04: test r14, r14 je SHORT G_M17207_IG06 + mov rdi, r14 + xor rsi, rsi + mov rax, qword ptr [r14] + mov rax, qword ptr [rax+0x40] + call [rax+0x10]System.Object:Equals(System.Object):ubyte:this + test eax, eax + jne SHORT G_M17207_IG06 mov rdi, r15 mov rsi, r14 mov rax, 0xD1FFAB1E ; code for System.Reflection.NullabilityInfoContext:IsPrivateOrInternalMethodAndAnnotationDisabled(System.Reflection.MethodBase):ubyte:this call [rax]System.Reflection.NullabilityInfoContext:IsPrivateOrInternalMethodAndAnnotationDisabled(System.Reflection.MethodBase):ubyte:this test al, al jne SHORT G_M17207_IG06 - ;; size=27 bbWeight=0.50 PerfScore 3.12 + ;; size=46 bbWeight=0.50 PerfScore 7.50 G_M17207_IG05: mov rdi, rbx mov rax, qword ptr [rbx] mov rax, qword ptr [rax+0x48] call [rax+0x38]System.Reflection.MemberInfo:GetCustomAttributesData():System.Collections.Generic.IList`1[System.Reflection.CustomAttributeData]:this mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.Reflection.NullabilityInfoContext:CreateParser(System.Collections.Generic.IList`1[System.Reflection.CustomAttributeData]):System.Reflection.NullabilityInfoContext+NullableAttributeStateParser call [rax]System.Reflection.NullabilityInfoContext:CreateParser(System.Collections.Generic.IList`1[System.Reflection.CustomAttributeData]):System.Reflection.NullabilityInfoContext+NullableAttributeStateParser mov r12, rax jmp SHORT G_M17207_IG08 ;; size=33 bbWeight=0.50 PerfScore 6.50 G_M17207_IG06: mov rdi, 0xD1FFAB1E ; global ptr test byte ptr [rdi], 1 je G_M17207_IG19 ;; size=19 bbWeight=0.50 PerfScore 2.12 G_M17207_IG07: mov rdi, 0xD1FFAB1E ; data for System.Reflection.NullabilityInfoContext+NullableAttributeStateParser:UnknownByte mov r12, gword ptr [rdi] ;; size=13 bbWeight=0.50 PerfScore 1.12 G_M17207_IG08: mov rdi, rbx mov rax, qword ptr [rbx] mov rax, qword ptr [rax+0x50] call [rax+0x10]System.Reflection.PropertyInfo:get_PropertyType():System.Type:this mov rdx, rax xor r8d, r8d mov dword ptr [rbp-0x30], r8d lea r8, [rbp-0x30] mov rdi, r15 mov rsi, rbx mov rcx, r12 mov rax, 0xD1FFAB1E ; code for System.Reflection.NullabilityInfoContext:GetNullabilityInfo(System.Reflection.MemberInfo,System.Type,System.Reflection.NullabilityInfoContext+NullableAttributeStateParser,byref):System.Reflection.NullabilityInfo:this call [rax]System.Reflection.NullabilityInfoContext:GetNullabilityInfo(System.Reflection.MemberInfo,System.Type,System.Reflection.NullabilityInfoContext+NullableAttributeStateParser,byref):System.Reflection.NullabilityInfo:this mov r12, rax cmp dword ptr [r12+0x20], 0 je SHORT G_M17207_IG10 ;; size=59 bbWeight=1 PerfScore 17.50 G_M17207_IG09: mov rdi, r15 mov rsi, rbx mov rdx, r12 mov rax, 0xD1FFAB1E ; code for System.Reflection.NullabilityInfoContext:TryLoadGenericMetaTypeNullability(System.Reflection.MemberInfo,System.Reflection.NullabilityInfo):this call [rax]System.Reflection.NullabilityInfoContext:TryLoadGenericMetaTypeNullability(System.Reflection.MemberInfo,System.Reflection.NullabilityInfo):this ;; size=21 bbWeight=0.50 PerfScore 2.00 G_M17207_IG10: test r13, r13 je SHORT G_M17207_IG12 ;; size=5 bbWeight=1 PerfScore 1.25 G_M17207_IG11: + mov rdi, r13 + xor rsi, rsi + mov rax, qword ptr [r13] + mov rax, qword ptr [rax+0x40] + call [rax+0x10]System.Object:Equals(System.Object):ubyte:this + test eax, eax + jne SHORT G_M17207_IG12 mov rdi, r13 mov rax, qword ptr [r13] mov rax, qword ptr [rax+0x60] call [rax+0x20]System.Reflection.MethodInfo:get_ReturnParameter():System.Reflection.ParameterInfo:this mov rdi, rax mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x48] call [rax+0x30]System.Reflection.ParameterInfo:GetCustomAttributesData():System.Collections.Generic.IList`1[System.Reflection.CustomAttributeData]:this mov rsi, rax mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Reflection.NullabilityInfoContext:CheckNullabilityAttributes(System.Reflection.NullabilityInfo,System.Collections.Generic.IList`1[System.Reflection.CustomAttributeData]) call [rax]System.Reflection.NullabilityInfoContext:CheckNullabilityAttributes(System.Reflection.NullabilityInfo,System.Collections.Generic.IList`1[System.Reflection.CustomAttributeData]) jmp SHORT G_M17207_IG13 - ;; size=47 bbWeight=0.50 PerfScore 10.12 + ;; size=67 bbWeight=0.50 PerfScore 14.50 G_M17207_IG12: xor edi, edi mov dword ptr [r12+0x20], edi ;; size=7 bbWeight=0.50 PerfScore 0.62 G_M17207_IG13: test r14, r14 je SHORT G_M17207_IG15 ;; size=5 bbWeight=1 PerfScore 1.25 G_M17207_IG14: + mov rdi, r14 + xor rsi, rsi + mov rax, qword ptr [r14] + mov rax, qword ptr [rax+0x40] + call [rax+0x10]System.Object:Equals(System.Object):ubyte:this + test eax, eax + jne SHORT G_M17207_IG15 mov rdi, r14 mov rax, qword ptr [r14] mov rax, qword ptr [rax+0x50] call [rax+0x10]System.Reflection.MethodBase:GetParametersAsSpan():System.ReadOnlySpan`1[System.Reflection.ParameterInfo]:this lea edi, [rdx-0x01] cmp edi, edx jae SHORT G_M17207_IG18 mov rdi, gword ptr [rax+8*rdi] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x48] call [rax+0x30]System.Reflection.ParameterInfo:GetCustomAttributesData():System.Collections.Generic.IList`1[System.Reflection.CustomAttributeData]:this mov rsi, rax mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Reflection.NullabilityInfoContext:CheckNullabilityAttributes(System.Reflection.NullabilityInfo,System.Collections.Generic.IList`1[System.Reflection.CustomAttributeData]) call [rax]System.Reflection.NullabilityInfoContext:CheckNullabilityAttributes(System.Reflection.NullabilityInfo,System.Collections.Generic.IList`1[System.Reflection.CustomAttributeData]) jmp SHORT G_M17207_IG16 - ;; size=54 bbWeight=0.50 PerfScore 11.88 + ;; size=73 bbWeight=0.50 PerfScore 16.25 G_M17207_IG15: xor eax, eax mov dword ptr [r12+0x24], eax ;; size=7 bbWeight=0.50 PerfScore 0.62 G_M17207_IG16: mov rax, r12 ;; size=3 bbWeight=1 PerfScore 0.25 G_M17207_IG17: add rsp, 8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 G_M17207_IG18: call CORINFO_HELP_RNGCHKFAIL ;; size=5 bbWeight=0 PerfScore 0.00 G_M17207_IG19: mov rdi, 0xD1FFAB1E mov esi, 0x743 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M17207_IG07 ;; size=25 bbWeight=0 PerfScore 0.00 -; Total bytes of code 468, prolog size 16, PerfScore 92.88, instruction count 128, allocated bytes for code 468 (MethodHash=c24cbcc8) for method System.Reflection.NullabilityInfoContext:Create(System.Reflection.PropertyInfo):System.Reflection.NullabilityInfo:this (FullOpts) +; Total bytes of code 546, prolog size 16, PerfScore 110.38, instruction count 156, allocated bytes for code 546 (MethodHash=c24cbcc8) for method System.Reflection.NullabilityInfoContext:Create(System.Reflection.PropertyInfo):System.Reflection.NullabilityInfo:this (FullOpts) ```
70 (7.81 % of base) - System.StartupHookProvider:CallStartupHook(System.StartupHookProvider+StartupHookNameOrPath) ```diff ; Assembly listing for method System.StartupHookProvider:CallStartupHook(System.StartupHookProvider+StartupHookNameOrPath) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def -; V01 loc0 [V01,T03] ( 4, 4 ) ref -> rax class-hnd -; V02 loc1 [V02,T06] ( 5, 3 ) ref -> rbx class-hnd single-def -; V03 loc2 [V03,T02] ( 5, 4 ) ref -> [rbp-0x28] class-hnd EH-live spill-single-def +; V01 loc0 [V01,T05] ( 4, 4 ) ref -> rax class-hnd +; V02 loc1 [V02,T03] ( 5, 5 ) ref -> rbx class-hnd single-def +; V03 loc2 [V03,T00] ( 9, 8 ) ref -> [rbp-0x28] class-hnd EH-live spill-single-def ;* V04 loc3 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def -;* V05 loc4 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd +; V05 loc4 [V05,T06] ( 4, 4 ) ref -> rax class-hnd single-def ; V06 OutArgs [V06 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V07 tmp1 [V07,T18] ( 2, 0 ) ref -> rbx class-hnd exact single-def "impAppendStmt" +; V07 tmp1 [V07,T21] ( 2, 0 ) ref -> rbx class-hnd exact single-def "impAppendStmt" ;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" ;* V09 tmp3 [V09 ] ( 0, 0 ) ref -> zero-ref single-def -; V10 tmp4 [V10,T19] ( 2, 0 ) ref -> r15 single-def -; V11 tmp5 [V11,T10] ( 4, 0 ) ref -> r14 -; V12 tmp6 [V12,T12] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" -; V13 tmp7 [V13,T13] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" +; V10 tmp4 [V10,T22] ( 2, 0 ) ref -> r15 single-def +; V11 tmp5 [V11,T13] ( 4, 0 ) ref -> r14 +; V12 tmp6 [V12,T15] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" +; V13 tmp7 [V13,T16] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" ;* V14 tmp8 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" -; V15 tmp9 [V15,T20] ( 2, 0 ) ref -> rbx class-hnd single-def "impSpillSpecialSideEff" +; V15 tmp9 [V15,T23] ( 2, 0 ) ref -> rbx class-hnd single-def "impSpillSpecialSideEff" ;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" -; V17 tmp11 [V17,T21] ( 2, 0 ) ref -> r15 single-def -; V18 tmp12 [V18,T11] ( 4, 0 ) ref -> r14 -; V19 tmp13 [V19,T14] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" -;* V20 tmp14 [V20 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V21 tmp15 [V21 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V22 tmp16 [V22 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -;* V23 tmp17 [V23,T27] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" +; V17 tmp11 [V17,T24] ( 2, 0 ) ref -> r15 single-def +; V18 tmp12 [V18,T14] ( 4, 0 ) ref -> r14 +; V19 tmp13 [V19,T17] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" +; V20 tmp14 [V20,T09] ( 2, 2 ) ubyte -> rax "Inline return value spill temp" +; V21 tmp15 [V21,T10] ( 2, 2 ) ubyte -> rax "Inline return value spill temp" +; V22 tmp16 [V22,T11] ( 2, 2 ) ubyte -> rax "Inline return value spill temp" +;* V23 tmp17 [V23,T30] ( 0, 0 ) ushort -> zero-ref "Inlining Arg" ;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline return value spill temp" -; V25 tmp19 [V25,T15] ( 3, 0 ) ref -> rax class-hnd exact single-def "Inline stloc first use temp" -; V26 tmp20 [V26,T16] ( 3, 0 ) ref -> r14 class-hnd "Inline return value spill temp" +; V25 tmp19 [V25,T18] ( 3, 0 ) ref -> rax class-hnd exact single-def "Inline stloc first use temp" +; V26 tmp20 [V26,T19] ( 3, 0 ) ref -> r14 class-hnd "Inline return value spill temp" ;* V27 tmp21 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" -; V28 tmp22 [V28,T17] ( 3, 0 ) ref -> rax class-hnd exact single-def "Inline stloc first use temp" +; V28 tmp22 [V28,T20] ( 3, 0 ) ref -> rax class-hnd exact single-def "Inline stloc first use temp" ;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" -; V30 tmp24 [V30,T00] ( 7, 3 ) ref -> [rbp-0x30] EH-live single-def "field V00.AssemblyName (fldOffset=0x0)" P-INDEP -; V31 tmp25 [V31,T01] ( 5, 3 ) ref -> [rbp-0x38] EH-live single-def "field V00.Path (fldOffset=0x8)" P-INDEP -; V32 tmp26 [V32,T04] ( 2, 4 ) ref -> rax single-def "argument with side effect" -; V33 tmp27 [V33,T05] ( 2, 4 ) ref -> rax single-def "argument with side effect" -; V34 tmp28 [V34,T22] ( 2, 0 ) ref -> rsi single-def "argument with side effect" -; V35 tmp29 [V35,T23] ( 2, 0 ) ref -> r15 single-def "argument with side effect" -; V36 tmp30 [V36,T24] ( 2, 0 ) ref -> rdx single-def "argument with side effect" -; V37 tmp31 [V37,T25] ( 2, 0 ) ref -> rdi single-def "argument with side effect" -; V38 tmp32 [V38,T26] ( 2, 0 ) ref -> rsi single-def "argument with side effect" -; V39 PSPSym [V39,T09] ( 1, 1 ) long -> [rbp-0x48] do-not-enreg[V] "PSPSym" -; V40 cse0 [V40,T08] ( 5, 2 ) ref -> r15 multi-def "CSE - aggressive" -; V41 cse1 [V41,T07] ( 3, 3 ) long -> rbx "CSE - aggressive" +; V30 tmp24 [V30,T02] ( 7, 3 ) ref -> [rbp-0x30] EH-live single-def "field V00.AssemblyName (fldOffset=0x0)" P-INDEP +; V31 tmp25 [V31,T04] ( 5, 3 ) ref -> [rbp-0x38] EH-live single-def "field V00.Path (fldOffset=0x8)" P-INDEP +; V32 tmp26 [V32,T07] ( 2, 4 ) ref -> rax single-def "argument with side effect" +; V33 tmp27 [V33,T08] ( 2, 4 ) ref -> rax single-def "argument with side effect" +; V34 tmp28 [V34,T25] ( 2, 0 ) ref -> rsi single-def "argument with side effect" +; V35 tmp29 [V35,T26] ( 2, 0 ) ref -> r15 single-def "argument with side effect" +; V36 tmp30 [V36,T27] ( 2, 0 ) ref -> rdx single-def "argument with side effect" +; V37 tmp31 [V37,T28] ( 2, 0 ) ref -> rdi single-def "argument with side effect" +; V38 tmp32 [V38,T29] ( 2, 0 ) ref -> rsi single-def "argument with side effect" +; V39 PSPSym [V39,T12] ( 1, 1 ) long -> [rbp-0x48] do-not-enreg[V] "PSPSym" +; V40 cse0 [V40,T01] ( 6, 6 ) long -> r15 multi-def "CSE - aggressive" ; ; Lcl frame size = 48 G_M64959_IG01: push rbp push r15 push r14 push r13 push rbx sub rsp, 48 lea rbp, [rsp+0x50] mov qword ptr [rbp-0x48], rsp mov gword ptr [rbp-0x30], rdi mov gword ptr [rbp-0x38], rsi ;; size=29 bbWeight=1 PerfScore 8.75 G_M64959_IG02: test rsi, rsi je SHORT G_M64959_IG06 mov rax, 0xD1FFAB1E ; global ptr test byte ptr [rax], 1 je SHORT G_M64959_IG04 ;; size=20 bbWeight=1 PerfScore 5.50 G_M64959_IG03: mov rax, 0xD1FFAB1E ; data for System.Runtime.Loader.DefaultAssemblyLoadContext:s_loadContext mov rax, gword ptr [rax] mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.Runtime.Loader.AssemblyLoadContext:LoadFromAssemblyPath(System.String):System.Reflection.Assembly:this cmp dword ptr [rdi], edi call [rax]System.Runtime.Loader.AssemblyLoadContext:LoadFromAssemblyPath(System.String):System.Reflection.Assembly:this jmp SHORT G_M64959_IG08 ;; size=32 bbWeight=1 PerfScore 10.75 G_M64959_IG04: mov rdi, 0xD1FFAB1E mov esi, 0x4DB call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov rsi, gword ptr [rbp-0x38] jmp SHORT G_M64959_IG03 ;; size=26 bbWeight=0 PerfScore 0.00 G_M64959_IG05: mov rdi, 0xD1FFAB1E mov esi, 0x4DB call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp SHORT G_M64959_IG07 ;; size=22 bbWeight=0 PerfScore 0.00 G_M64959_IG06: cmp gword ptr [rbp-0x30], 0 - je G_M64959_IG09 + je G_M64959_IG13 mov rax, 0xD1FFAB1E ; global ptr test byte ptr [rax], 1 je SHORT G_M64959_IG05 ;; size=26 bbWeight=1 PerfScore 7.25 G_M64959_IG07: mov rax, 0xD1FFAB1E ; data for System.Runtime.Loader.DefaultAssemblyLoadContext:s_loadContext mov rax, gword ptr [rax] mov rdi, rax mov rsi, gword ptr [rbp-0x30] mov rax, 0xD1FFAB1E ; code for System.Runtime.Loader.AssemblyLoadContext:LoadFromAssemblyName(System.Reflection.AssemblyName):System.Reflection.Assembly:this cmp dword ptr [rdi], edi call [rax]System.Runtime.Loader.AssemblyLoadContext:LoadFromAssemblyName(System.Reflection.AssemblyName):System.Reflection.Assembly:this nop ;; size=35 bbWeight=1 PerfScore 10.00 G_M64959_IG08: mov rdi, rax mov rsi, 0xD1FFAB1E ; 'StartupHook' mov edx, 1 mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x58] call [rax]System.Reflection.Assembly:GetType(System.String,ubyte):System.Type:this mov rbx, rax cmp byte ptr [rbx], bl xor rdi, rdi mov gword ptr [rsp], rdi mov rdi, rbx - mov r15, 0xD1FFAB1E ; 'Initialize' + mov rsi, 0xD1FFAB1E ; 'Initialize' - mov rsi, r15 mov edx, 56 xor rcx, rcx mov r8d, 3 mov r9, 0xD1FFAB1E ; 'System.Type[]' mov rax, 0xD1FFAB1E ; code for System.Type:GetMethod(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this call [rax]System.Type:GetMethod(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this mov gword ptr [rbp-0x28], rax test rax, rax - je SHORT G_M64959_IG11 + je SHORT G_M64959_IG09 mov rdi, rax - mov rbx, qword ptr [rax] - mov rcx, qword ptr [rbx+0x60] - call [rcx+0x28]System.Reflection.MethodInfo:get_ReturnType():System.Type:this - mov rdi, 0xD1FFAB1E ; 'System.Void' - - cmp rax, rdi - jne G_M64959_IG12 - mov rdi, gword ptr [rbp-0x28] xor rsi, rsi - xor edx, edx - xor rcx, rcx - xor r8, r8 - xor r9, r9 - mov rax, qword ptr [rbx+0x58] - call [rax+0x30]System.Reflection.MethodBase:Invoke(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this - ;; size=153 bbWeight=1 PerfScore 35.50 + mov r15, qword ptr [rax] + mov rcx, qword ptr [r15+0x40] + call [rcx+0x10]System.Object:Equals(System.Object):ubyte:this + test eax, eax + je G_M64959_IG12 + ;; size=118 bbWeight=1 PerfScore 28.00 G_M64959_IG09: - nop - ;; size=1 bbWeight=1 PerfScore 0.25 -G_M64959_IG10: - add rsp, 48 - pop rbx - pop r13 - pop r14 - pop r15 - pop rbp - ret - ;; size=13 bbWeight=1 PerfScore 3.75 -G_M64959_IG11: xor rdi, rdi mov gword ptr [rsp], rdi mov rdi, rbx - mov rsi, r15 + mov rsi, 0xD1FFAB1E ; 'Initialize' + mov edx, 60 xor rcx, rcx mov r8d, 3 xor r9, r9 - mov rax, qword ptr [rbx] - mov rax, qword ptr [rax+0x88] - call [rax+0x38]System.Type:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this + mov r10, qword ptr [rbx] + mov r10, qword ptr [r10+0x88] + call [r10+0x38]System.Type:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this test rax, rax - jne SHORT G_M64959_IG12 + je SHORT G_M64959_IG10 + mov rdi, rax + xor rsi, rsi + mov rax, qword ptr [rax] + mov rax, qword ptr [rax+0x40] + call [rax+0x10]System.Object:Equals(System.Object):ubyte:this + test eax, eax + je SHORT G_M64959_IG11 + ;; size=73 bbWeight=1 PerfScore 19.75 +G_M64959_IG10: mov rdi, 0xD1FFAB1E ; System.MissingMethodException call CORINFO_HELP_NEWSFAST mov rbx, rax mov edi, 0xCD3 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov r15, rax mov edi, 0xCEB mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdx, rax mov rsi, r15 mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.MissingMethodException:.ctor(System.String,System.String):this call [rax]System.MissingMethodException:.ctor(System.String,System.String):this mov rdi, rbx call CORINFO_HELP_THROW int3 - ;; size=137 bbWeight=0 PerfScore 0.00 + ;; size=91 bbWeight=0 PerfScore 0.00 +G_M64959_IG11: + mov rax, gword ptr [rbp-0x28] + test rax, rax + je SHORT G_M64959_IG15 + ;; size=9 bbWeight=1 PerfScore 2.25 G_M64959_IG12: + mov rax, gword ptr [rbp-0x28] + mov rdi, rax + xor rsi, rsi + mov r15, qword ptr [rax] + mov rcx, qword ptr [r15+0x40] + call [rcx+0x10]System.Object:Equals(System.Object):ubyte:this + test eax, eax + jne SHORT G_M64959_IG15 + mov rdi, gword ptr [rbp-0x28] + mov rax, qword ptr [r15+0x60] + call [rax+0x28]System.Reflection.MethodInfo:get_ReturnType():System.Type:this + mov rdi, 0xD1FFAB1E ; 'System.Void' + + cmp rax, rdi + jne SHORT G_M64959_IG15 + mov rdi, gword ptr [rbp-0x28] + xor rsi, rsi + xor edx, edx + xor rcx, rcx + xor r8, r8 + xor r9, r9 + mov rax, qword ptr [r15+0x58] + call [rax+0x30]System.Reflection.MethodBase:Invoke(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this + ;; size=72 bbWeight=1 PerfScore 24.50 +G_M64959_IG13: + nop + ;; size=1 bbWeight=1 PerfScore 0.25 +G_M64959_IG14: + add rsp, 48 + pop rbx + pop r13 + pop r14 + pop r15 + pop rbp + ret + ;; size=13 bbWeight=1 PerfScore 3.75 +G_M64959_IG15: mov rdi, 0xD1FFAB1E ; 'Argument_InvalidStartupHookSignature' mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String call [rax]System.SR:GetResourceString(System.String):System.String mov rbx, rax mov edi, 1 call System.String:FastAllocateString(int):System.String mov word ptr [rax+0x0C], 46 mov rsi, rax mov rdi, 0xD1FFAB1E ; 'StartupHook' - mov r15, 0xD1FFAB1E ; 'Initialize' + mov rdx, 0xD1FFAB1E ; 'Initialize' - mov rdx, r15 mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String,System.String):System.String call [rax]System.String:Concat(System.String,System.String,System.String):System.String mov r15, rax mov r14, gword ptr [rbp-0x38] test r14, r14 - jne SHORT G_M64959_IG14 + jne SHORT G_M64959_IG17 mov rdi, gword ptr [rbp-0x30] cmp byte ptr [rdi], dil mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyName:get_FullName():System.String:this call [rax]System.Reflection.AssemblyName:get_FullName():System.String:this test rax, rax - jne SHORT G_M64959_IG13 + jne SHORT G_M64959_IG16 mov rdi, gword ptr [rbp-0x30] call System.Object:GetType():System.Type:this mov rdi, rax mov esi, 1 mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetCachedName(int):System.String:this call [rax]System.RuntimeType:GetCachedName(int):System.String:this mov r14, rax - jmp SHORT G_M64959_IG14 - ;; size=149 bbWeight=0 PerfScore 0.00 -G_M64959_IG13: + jmp SHORT G_M64959_IG17 + ;; size=146 bbWeight=0 PerfScore 0.00 +G_M64959_IG16: mov r14, rax ;; size=3 bbWeight=0 PerfScore 0.00 -G_M64959_IG14: +G_M64959_IG17: mov rdi, 0xD1FFAB1E ; System.ArgumentException call CORINFO_HELP_NEWSFAST mov r13, rax mov rdi, rbx mov rsi, r15 mov rdx, r14 mov rax, 0xD1FFAB1E ; code for System.SR:Format(System.String,System.Object,System.Object):System.String call [rax]System.SR:Format(System.String,System.Object,System.Object):System.String mov rsi, rax mov rdi, r13 mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String):this call [rax]System.ArgumentException:.ctor(System.String):this mov rdi, r13 call CORINFO_HELP_THROW int3 ;; size=66 bbWeight=0 PerfScore 0.00 -G_M64959_IG15: +G_M64959_IG18: push rbp push r15 push r14 push r13 push rbx sub rsp, 16 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp lea rbp, [rbp+0x50] ;; size=25 bbWeight=0 PerfScore 0.00 -G_M64959_IG16: +G_M64959_IG19: mov rbx, rsi mov rax, 0xD1FFAB1E ; code for System.SR:get_Argument_StartupHookAssemblyLoadFailed():System.String call [rax]System.SR:get_Argument_StartupHookAssemblyLoadFailed():System.String mov r15, rax mov r14, gword ptr [rbp-0x38] test r14, r14 - jne SHORT G_M64959_IG17 + jne SHORT G_M64959_IG20 mov rdi, gword ptr [rbp-0x30] mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyName:ToString():System.String:this cmp dword ptr [rdi], edi call [rax]System.Reflection.AssemblyName:ToString():System.String:this mov r14, rax ;; size=48 bbWeight=0 PerfScore 0.00 -G_M64959_IG17: +G_M64959_IG20: mov rdi, 0xD1FFAB1E ; System.ArgumentException call CORINFO_HELP_NEWSFAST mov r13, rax mov rdi, r15 mov rsi, r14 mov rax, 0xD1FFAB1E ; code for System.SR:Format(System.String,System.Object):System.String call [rax]System.SR:Format(System.String,System.Object):System.String mov rsi, rax mov rdi, r13 mov rdx, rbx mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String,System.Exception):this call [rax]System.ArgumentException:.ctor(System.String,System.Exception):this mov rdi, r13 call CORINFO_HELP_THROW int3 ;; size=66 bbWeight=0 PerfScore 0.00 -G_M64959_IG18: +G_M64959_IG21: push rbp push r15 push r14 push r13 push rbx sub rsp, 16 mov rbp, qword ptr [rdi+0x08] mov qword ptr [rsp+0x08], rbp lea rbp, [rbp+0x50] ;; size=25 bbWeight=0 PerfScore 0.00 -G_M64959_IG19: - lea rax, G_M64959_IG12 +G_M64959_IG22: + lea rax, G_M64959_IG11 ;; size=7 bbWeight=0 PerfScore 0.00 -G_M64959_IG20: +G_M64959_IG23: add rsp, 16 pop rbx pop r13 pop r14 pop r15 pop rbp ret ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 896, prolog size 29, PerfScore 81.75, instruction count 220, allocated bytes for code 896 (MethodHash=fac30240) for method System.StartupHookProvider:CallStartupHook(System.StartupHookProvider+StartupHookNameOrPath) (FullOpts) +; Total bytes of code 966, prolog size 29, PerfScore 120.75, instruction count 242, allocated bytes for code 966 (MethodHash=fac30240) for method System.StartupHookProvider:CallStartupHook(System.StartupHookProvider+StartupHookNameOrPath) (FullOpts) ```

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

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

MihuBot commented 9 months ago

Top method improvements

-249 (-13.57 % of base) - System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this ```diff ; Assembly listing for method System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data -; 0 inlinees with PGO data; 14 single block inlinees; 11 inlinees without PGO data +; 0 inlinees with PGO data; 18 single block inlinees; 13 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T38] ( 3, 3 ) ref -> r15 this class-hnd single-def -; V01 arg1 [V01,T21] ( 6, 6 ) long -> rbx single-def -; V02 loc0 [V02,T24] ( 7, 7 ) ref -> r14 class-hnd exact single-def -; V03 loc1 [V03,T16] ( 10, 10 ) ref -> r12 class-hnd exact single-def -; V04 loc2 [V04,T17] ( 10, 10 ) ref -> rax class-hnd +; V00 this [V00,T30] ( 3, 3 ) ref -> r15 this class-hnd single-def +; V01 arg1 [V01,T17] ( 6, 6 ) long -> rbx single-def +; V02 loc0 [V02,T19] ( 7, 7 ) ref -> r14 class-hnd exact single-def +; V03 loc1 [V03,T12] ( 10, 10 ) ref -> r12 class-hnd exact single-def +; V04 loc2 [V04,T13] ( 10, 10 ) ref -> rax class-hnd ; V05 loc3 [V05 ] ( 5, 5 ) ubyte -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op -; V06 loc4 [V06,T52] ( 3, 3 ) ref -> [rbp-0x60] do-not-enreg[M] must-init class-hnd EH-live +; V06 loc4 [V06,T43] ( 3, 3 ) ref -> [rbp-0x58] do-not-enreg[M] must-init class-hnd EH-live ;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V08 tmp1 [V08,T45] ( 2, 4 ) ref -> r13 class-hnd exact single-def "non-inline candidate call" -; V09 tmp2 [V09,T08] ( 8, 16 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" -; V10 tmp3 [V10,T46] ( 2, 4 ) ref -> rsi class-hnd exact single-def "NewObj constructor temp" -; V11 tmp4 [V11,T50] ( 2, 4 ) long -> rdi "impAppendStmt" +; V08 tmp1 [V08,T36] ( 2, 4 ) ref -> r13 class-hnd exact single-def "non-inline candidate call" +; V09 tmp2 [V09,T06] ( 8, 16 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" +; V10 tmp3 [V10,T37] ( 2, 4 ) ref -> rsi class-hnd exact single-def "NewObj constructor temp" +; V11 tmp4 [V11,T41] ( 2, 4 ) long -> rdi "impAppendStmt" ;* V12 tmp5 [V12 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg" -; V13 tmp6 [V13,T51] ( 2, 4 ) int -> [rbp-0x34] spill-single-def "Inlining Arg" -;* V14 tmp7 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V15 tmp8 [V15,T47] ( 2, 4 ) ref -> rdi class-hnd single-def "Inlining Arg" -;* V16 tmp9 [V16 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V17 tmp10 [V17,T09] ( 7, 14 ) byref -> r14 single-def "Inlining Arg" -; V18 tmp11 [V18,T39] ( 4, 4 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" -; V19 tmp12 [V19,T53] ( 3, 3 ) int -> rbx "Inline stloc first use temp" -; V20 tmp13 [V20,T33] ( 3, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" -; V21 tmp14 [V21,T29] ( 4, 6 ) ref -> r15 class-hnd exact single-def "Inline stloc first use temp" -; V22 tmp15 [V22,T40] ( 4, 4 ) ref -> rdx class-hnd single-def "Inline stloc first use temp" -; V23 tmp16 [V23,T18] ( 4, 10 ) ref -> rbx class-hnd single-def "Inline stloc first use temp" -; V24 tmp17 [V24,T25] ( 6, 6.04) ref -> r13 class-hnd single-def "Inline stloc first use temp" -; V25 tmp18 [V25,T02] ( 12, 37.04) int -> [rbp-0x38] "Inline stloc first use temp" -; V26 tmp19 [V26,T04] ( 6, 20 ) ref -> rsi class-hnd exact "Inline stloc first use temp" -; V27 tmp20 [V27,T22] ( 4, 8 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" -; V28 tmp21 [V28,T30] ( 4, 6 ) ref -> rbx class-hnd exact single-def "Inline stloc first use temp" -; V29 tmp22 [V29,T41] ( 4, 4 ) ref -> rdx class-hnd single-def "Inline stloc first use temp" -; V30 tmp23 [V30,T19] ( 4, 10 ) ref -> r15 class-hnd single-def "Inline stloc first use temp" -; V31 tmp24 [V31,T26] ( 6, 6.04) ref -> r13 class-hnd single-def "Inline stloc first use temp" -; V32 tmp25 [V32,T03] ( 12, 37.04) int -> [rbp-0x3C] "Inline stloc first use temp" -; V33 tmp26 [V33,T05] ( 6, 20 ) ref -> rsi class-hnd exact "Inline stloc first use temp" -; V34 tmp27 [V34,T35] ( 3, 6 ) int -> r15 "Inlining Arg" -;* V35 tmp28 [V35 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" -; V36 tmp29 [V36,T10] ( 7, 14 ) byref -> rbx single-def "Inlining Arg" -; V37 tmp30 [V37,T42] ( 4, 4 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" -; V38 tmp31 [V38,T54] ( 3, 3 ) int -> r14 "Inline stloc first use temp" -; V39 tmp32 [V39,T34] ( 3, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" -; V40 tmp33 [V40,T31] ( 4, 6 ) ref -> r15 class-hnd exact single-def "Inline stloc first use temp" -; V41 tmp34 [V41,T43] ( 4, 4 ) ref -> rdx class-hnd single-def "Inline stloc first use temp" -; V42 tmp35 [V42,T20] ( 4, 10 ) ref -> r14 class-hnd single-def "Inline stloc first use temp" -; V43 tmp36 [V43,T27] ( 6, 6.04) ref -> r13 class-hnd single-def "Inline stloc first use temp" -; V44 tmp37 [V44,T00] ( 13, 37.12) int -> [rbp-0x40] "Inline stloc first use temp" -; V45 tmp38 [V45,T06] ( 6, 20 ) ref -> rsi class-hnd exact "Inline stloc first use temp" -; V46 tmp39 [V46,T23] ( 4, 8 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" -; V47 tmp40 [V47,T32] ( 4, 6 ) ref -> r14 class-hnd exact single-def "Inline stloc first use temp" -; V48 tmp41 [V48,T44] ( 4, 4 ) ref -> rdx class-hnd single-def "Inline stloc first use temp" -; V49 tmp42 [V49,T13] ( 5, 10.50) ref -> r15 class-hnd single-def "Inline stloc first use temp" -; V50 tmp43 [V50,T28] ( 6, 6.04) ref -> r13 class-hnd single-def "Inline stloc first use temp" -; V51 tmp44 [V51,T01] ( 13, 37.12) int -> [rbp-0x44] "Inline stloc first use temp" -; V52 tmp45 [V52,T07] ( 6, 20 ) ref -> rsi class-hnd exact "Inline stloc first use temp" -; V53 tmp46 [V53,T36] ( 3, 6 ) int -> r15 "Inlining Arg" -; V54 tmp47 [V54,T48] ( 2, 4 ) byref -> rdi single-def "argument with side effect" -; V55 tmp48 [V55,T49] ( 2, 4 ) byref -> rdi single-def "argument with side effect" -; V56 PSPSym [V56,T56] ( 1, 1 ) long -> [rbp-0x70] do-not-enreg[V] "PSPSym" -; V57 cse0 [V57,T37] ( 5, 5 ) byref -> rbx multi-def "CSE - moderate" -;* V58 cse1 [V58,T55] ( 0, 0 ) long -> zero-ref multi-def "CSE - moderate" -; V59 cse2 [V59,T14] ( 5, 10.50) int -> [rbp-0x48] spill-single-def "CSE - moderate" -; V60 cse3 [V60,T15] ( 5, 10.50) int -> [rbp-0x4C] spill-single-def "CSE - moderate" -; V61 cse4 [V61,T11] ( 6, 10.58) int -> [rbp-0x50] spill-single-def "CSE - moderate" -; V62 cse5 [V62,T12] ( 6, 10.58) int -> [rbp-0x54] spill-single-def "CSE - moderate" +; V13 tmp6 [V13,T42] ( 2, 4 ) int -> [rbp-0x34] spill-single-def "Inlining Arg" +;* V14 tmp7 [V14,T47] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V15 tmp8 [V15,T50] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V16 tmp9 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" +;* V17 tmp10 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" +;* V18 tmp11 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" +;* V19 tmp12 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +;* V20 tmp13 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V21 tmp14 [V21,T38] ( 2, 4 ) ref -> rdi class-hnd single-def "Inlining Arg" +;* V22 tmp15 [V22,T48] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V23 tmp16 [V23,T51] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V24 tmp17 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" +;* V25 tmp18 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" +;* V26 tmp19 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" +;* V27 tmp20 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +;* V28 tmp21 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V29 tmp22 [V29,T07] ( 7, 14 ) byref -> r14 single-def "Inlining Arg" +; V30 tmp23 [V30,T31] ( 4, 4 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" +; V31 tmp24 [V31,T44] ( 3, 3 ) int -> rbx "Inline stloc first use temp" +; V32 tmp25 [V32,T26] ( 3, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" +; V33 tmp26 [V33,T23] ( 4, 6 ) ref -> r15 class-hnd exact single-def "Inline stloc first use temp" +; V34 tmp27 [V34,T32] ( 4, 4 ) ref -> rdx class-hnd single-def "Inline stloc first use temp" +; V35 tmp28 [V35,T14] ( 4, 10 ) ref -> rbx class-hnd single-def "Inline stloc first use temp" +; V36 tmp29 [V36,T20] ( 6, 6.04) ref -> r13 class-hnd single-def "Inline stloc first use temp" +; V37 tmp30 [V37,T01] ( 12, 37.04) int -> [rbp-0x38] "Inline stloc first use temp" +; V38 tmp31 [V38,T03] ( 6, 20 ) ref -> rsi class-hnd exact "Inline stloc first use temp" +; V39 tmp32 [V39,T18] ( 4, 8 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" +; V40 tmp33 [V40,T24] ( 4, 6 ) ref -> rbx class-hnd exact single-def "Inline stloc first use temp" +; V41 tmp34 [V41,T33] ( 4, 4 ) ref -> rdx class-hnd single-def "Inline stloc first use temp" +; V42 tmp35 [V42,T15] ( 4, 10 ) ref -> r15 class-hnd single-def "Inline stloc first use temp" +; V43 tmp36 [V43,T21] ( 6, 6.04) ref -> r13 class-hnd single-def "Inline stloc first use temp" +; V44 tmp37 [V44,T02] ( 12, 37.04) int -> [rbp-0x3C] "Inline stloc first use temp" +; V45 tmp38 [V45,T04] ( 6, 20 ) ref -> rsi class-hnd exact "Inline stloc first use temp" +; V46 tmp39 [V46,T28] ( 3, 6 ) int -> r15 "Inlining Arg" +;* V47 tmp40 [V47,T49] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V48 tmp41 [V48,T52] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +;* V49 tmp42 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" +;* V50 tmp43 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" +;* V51 tmp44 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" +;* V52 tmp45 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +;* V53 tmp46 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" +; V54 tmp47 [V54,T08] ( 6, 12 ) byref -> rbx single-def "Inlining Arg" +; V55 tmp48 [V55,T34] ( 4, 4 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" +; V56 tmp49 [V56,T45] ( 3, 3 ) int -> r14 "Inline stloc first use temp" +; V57 tmp50 [V57,T27] ( 3, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" +; V58 tmp51 [V58,T25] ( 4, 6 ) ref -> r15 class-hnd exact single-def "Inline stloc first use temp" +; V59 tmp52 [V59,T35] ( 4, 4 ) ref -> rdx class-hnd single-def "Inline stloc first use temp" +; V60 tmp53 [V60,T16] ( 4, 10 ) ref -> r14 class-hnd single-def "Inline stloc first use temp" +; V61 tmp54 [V61,T22] ( 6, 6.04) ref -> r13 class-hnd single-def "Inline stloc first use temp" +; V62 tmp55 [V62,T00] ( 13, 37.12) int -> [rbp-0x40] "Inline stloc first use temp" +; V63 tmp56 [V63,T05] ( 6, 20 ) ref -> rsi class-hnd exact "Inline stloc first use temp" +; V64 tmp57 [V64,T39] ( 2, 4 ) byref -> rdi single-def "argument with side effect" +; V65 tmp58 [V65,T40] ( 2, 4 ) byref -> rdi single-def "argument with side effect" +; V66 PSPSym [V66,T53] ( 1, 1 ) long -> [rbp-0x60] do-not-enreg[V] "PSPSym" +; V67 cse0 [V67,T29] ( 5, 5 ) byref -> rbx multi-def "CSE - moderate" +;* V68 cse1 [V68,T46] ( 0, 0 ) long -> zero-ref multi-def "CSE - moderate" +; V69 cse2 [V69,T10] ( 5, 10.50) int -> [rbp-0x44] spill-single-def "CSE - moderate" +; V70 cse3 [V70,T11] ( 5, 10.50) int -> [rbp-0x48] spill-single-def "CSE - moderate" +; V71 cse4 [V71,T09] ( 6, 10.58) int -> [rbp-0x4C] spill-single-def "CSE - moderate" ; -; Lcl frame size = 72 +; Lcl frame size = 56 G_M33668_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 72 - lea rbp, [rsp+0x70] + sub rsp, 56 + lea rbp, [rsp+0x60] xor eax, eax - mov qword ptr [rbp-0x60], rax - mov qword ptr [rbp-0x70], rsp + mov qword ptr [rbp-0x58], rax + mov qword ptr [rbp-0x60], rsp mov r15, rdi mov rbx, rsi ;; size=35 bbWeight=1 PerfScore 9.50 G_M33668_IG02: mov rdi, rbx call System.RuntimeMethodHandle:GetLoaderAllocator(long):System.Reflection.LoaderAllocator mov r14, rax mov rdi, rbx call System.RuntimeMethodHandle:GetDeclaringType(long):System.RuntimeType mov r13, rax mov rdi, 0xD1FFAB1E ; System.Reflection.RuntimeMethodInfo call CORINFO_HELP_NEWSFAST mov r12, rax mov rdi, rbx call System.RuntimeMethodHandle:GetAttributes(long):int mov dword ptr [rbp-0x34], eax mov dword ptr [r12+0x58], -1 lea rdi, bword ptr [r12+0x38] mov rsi, r13 call CORINFO_HELP_ASSIGN_REF lea rdi, bword ptr [r12+0x40] mov rsi, r14 call CORINFO_HELP_ASSIGN_REF mov qword ptr [r12+0x50], rbx lea rdi, bword ptr [r12+0x08] mov rsi, r15 call CORINFO_HELP_ASSIGN_REF mov ebx, dword ptr [rbp-0x34] mov dword ptr [r12+0x5C], ebx test r14, r14 je SHORT G_M33668_IG03 lea rdi, bword ptr [r14+0x20] mov rdx, r12 mov rsi, 0xD1FFAB1E ; System.Reflection.CerHashtable`2[System.Reflection.RuntimeMethodInfo,System.Reflection.RuntimeMethodInfo] mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this call [rax]System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this jmp SHORT G_M33668_IG05 ;; size=148 bbWeight=1 PerfScore 23.50 G_M33668_IG03: mov rdi, 0xD1FFAB1E ; global ptr test byte ptr [rdi], 1 - je G_M33668_IG67 + je G_M33668_IG55 ;; size=19 bbWeight=1 PerfScore 4.25 G_M33668_IG04: mov rdi, 0xD1FFAB1E ; box for System.RuntimeType+RuntimeTypeCache:s_methodInstantiations mov rbx, gword ptr [rdi] add rbx, 8 mov rdi, rbx mov rdx, r12 mov rsi, 0xD1FFAB1E ; System.Reflection.CerHashtable`2[System.Reflection.RuntimeMethodInfo,System.Reflection.RuntimeMethodInfo] mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this call [rax]System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this ;; size=45 bbWeight=1 PerfScore 6.50 G_M33668_IG05: test rax, rax - je SHORT G_M33668_IG07 - ;; size=5 bbWeight=1 PerfScore 1.25 + jne G_M33668_IG48 + mov rax, 0xD1FFAB1E ; global ptr + test byte ptr [rax], 1 + je G_M33668_IG56 + ;; size=28 bbWeight=1 PerfScore 5.50 G_M33668_IG06: - add rsp, 72 - pop rbx - pop r12 - pop r13 - pop r14 - pop r15 - pop rbp - ret - ;; size=15 bbWeight=1 PerfScore 4.25 -G_M33668_IG07: - mov rdi, 0xD1FFAB1E ; global ptr - test byte ptr [rdi], 1 - je G_M33668_IG68 - ;; size=19 bbWeight=1 PerfScore 4.25 -G_M33668_IG08: mov rdi, 0xD1FFAB1E ; data for System.RuntimeType+RuntimeTypeCache:s_methodInstantiationsLock cmp gword ptr [rdi], 0 - jne SHORT G_M33668_IG09 + jne SHORT G_M33668_IG07 mov rdi, 0xD1FFAB1E ; System.Object call CORINFO_HELP_NEWSFAST mov rsi, rax mov rdi, 0xD1FFAB1E ; data for System.RuntimeType+RuntimeTypeCache:s_methodInstantiationsLock xor rdx, rdx call System.Threading.Interlocked:CompareExchangeObject(byref,System.Object,System.Object):System.Object ;; size=51 bbWeight=1 PerfScore 7.25 -G_M33668_IG09: +G_M33668_IG07: xor esi, esi mov dword ptr [rbp-0x30], esi ;; size=5 bbWeight=1 PerfScore 1.25 -G_M33668_IG10: +G_M33668_IG08: mov rsi, 0xD1FFAB1E ; data for System.RuntimeType+RuntimeTypeCache:s_methodInstantiationsLock mov rdi, gword ptr [rsi] cmp byte ptr [rbp-0x30], 0 - jne SHORT G_M33668_IG12 + jne G_M33668_IG17 lea rsi, [rbp-0x30] call System.Threading.Monitor:ReliableEnter(System.Object,byref) test r14, r14 - je G_M33668_IG36 + je G_M33668_IG33 lea rdi, bword ptr [r14+0x20] mov rdx, r12 mov rsi, 0xD1FFAB1E ; System.Reflection.CerHashtable`2[System.Reflection.RuntimeMethodInfo,System.Reflection.RuntimeMethodInfo] mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this call [rax]System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this test rax, rax - je SHORT G_M33668_IG13 - mov gword ptr [rbp-0x60], rax - jmp G_M33668_IG61 - ;; size=80 bbWeight=1 PerfScore 16.50 -G_M33668_IG11: - call CORINFO_HELP_RNGCHKFAIL - ;; size=5 bbWeight=0 PerfScore 0.00 -G_M33668_IG12: - mov rax, 0xD1FFAB1E ; code for System.Threading.Monitor:ThrowLockTakenException() - call [rax]System.Threading.Monitor:ThrowLockTakenException() - int3 - ;; size=13 bbWeight=0 PerfScore 0.00 -G_M33668_IG13: + jne G_M33668_IG18 add r14, 32 mov rdi, gword ptr [r14] test rdi, rdi - je G_M33668_IG24 + je G_M33668_IG22 mov eax, dword ptr [rdi+0x18] lea ebx, [2*rax+0x02] mov rdi, gword ptr [rdi+0x08] cmp dword ptr [rdi+0x08], ebx - jg G_M33668_IG35 + jg G_M33668_IG14 mov rdi, 0xD1FFAB1E ; System.Reflection.CerHashtable`2+Table[System.Reflection.RuntimeMethodInfo,System.Reflection.RuntimeMethodInfo] call CORINFO_HELP_NEWSFAST mov r15, rax mov rdi, r15 mov esi, ebx mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:.ctor(int):this call [rax]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:.ctor(int):this mov rdx, gword ptr [r14] test rdx, rdx - je G_M33668_IG23 + je SHORT G_M33668_IG13 mov rbx, gword ptr [rdx+0x08] mov r13, gword ptr [rdx+0x10] xor eax, eax mov ecx, dword ptr [rbx+0x08] - mov dword ptr [rbp-0x48], ecx + mov dword ptr [rbp-0x44], ecx test ecx, ecx - jle G_M33668_IG23 - ;; size=110 bbWeight=1 PerfScore 29.00 -G_M33668_IG14: + jle SHORT G_M33668_IG13 + ;; size=181 bbWeight=1 PerfScore 42.50 +G_M33668_IG09: test r13, r13 - je SHORT G_M33668_IG20 + je G_M33668_IG19 cmp dword ptr [r13+0x08], ecx - jl SHORT G_M33668_IG19 - ;; size=11 bbWeight=0.50 PerfScore 2.62 -G_M33668_IG15: + jl SHORT G_M33668_IG15 + ;; size=15 bbWeight=0.50 PerfScore 2.62 +G_M33668_IG10: mov edx, eax mov rsi, gword ptr [rbx+8*rdx+0x10] test rsi, rsi - je SHORT G_M33668_IG17 + je SHORT G_M33668_IG12 ;; size=12 bbWeight=7.92 PerfScore 27.72 -G_M33668_IG16: +G_M33668_IG11: mov dword ptr [rbp-0x38], eax mov edx, eax mov rdx, gword ptr [r13+8*rdx+0x10] mov rdi, r15 mov r8, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this call [r8]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this mov eax, dword ptr [rbp-0x38] ;; size=29 bbWeight=3.96 PerfScore 30.69 -G_M33668_IG17: +G_M33668_IG12: inc eax - cmp dword ptr [rbp-0x48], eax - jg SHORT G_M33668_IG15 + cmp dword ptr [rbp-0x44], eax + jg SHORT G_M33668_IG10 ;; size=7 bbWeight=7.92 PerfScore 25.74 +G_M33668_IG13: + mov rdi, r14 + mov rsi, r15 + call CORINFO_HELP_ASSIGN_REF + ;; size=11 bbWeight=1 PerfScore 1.50 +G_M33668_IG14: + mov rdi, gword ptr [r14] + mov rsi, r12 + mov rdx, r12 + mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this + cmp dword ptr [rdi], edi + call [rax]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this + jmp G_M33668_IG47 + ;; size=28 bbWeight=1 PerfScore 10.75 +G_M33668_IG15: + mov ecx, dword ptr [rbp-0x44] + jmp SHORT G_M33668_IG19 + ;; size=5 bbWeight=0.25 PerfScore 0.75 +G_M33668_IG16: + call CORINFO_HELP_RNGCHKFAIL + ;; size=5 bbWeight=0 PerfScore 0.00 +G_M33668_IG17: + mov rax, 0xD1FFAB1E ; code for System.Threading.Monitor:ThrowLockTakenException() + call [rax]System.Threading.Monitor:ThrowLockTakenException() + int3 + ;; size=13 bbWeight=0 PerfScore 0.00 G_M33668_IG18: - jmp SHORT G_M33668_IG23 - ;; size=2 bbWeight=1 PerfScore 2.00 + mov gword ptr [rbp-0x58], rax + jmp G_M33668_IG49 + ;; size=9 bbWeight=1 PerfScore 3.00 G_M33668_IG19: - mov ecx, dword ptr [rbp-0x48] - ;; size=3 bbWeight=0.25 PerfScore 0.25 -G_M33668_IG20: mov edx, eax mov rsi, gword ptr [rbx+8*rdx+0x10] test rsi, rsi - je SHORT G_M33668_IG22 + je SHORT G_M33668_IG21 ;; size=12 bbWeight=0.08 PerfScore 0.28 -G_M33668_IG21: +G_M33668_IG20: cmp eax, dword ptr [r13+0x08] - jae G_M33668_IG11 + jae SHORT G_M33668_IG16 mov dword ptr [rbp-0x38], eax mov edx, eax mov rdx, gword ptr [r13+8*rdx+0x10] mov rdi, r15 mov r8, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this call [r8]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this mov eax, dword ptr [rbp-0x38] - mov ecx, dword ptr [rbp-0x48] - ;; size=42 bbWeight=0.04 PerfScore 0.51 -G_M33668_IG22: + mov ecx, dword ptr [rbp-0x44] + ;; size=38 bbWeight=0.04 PerfScore 0.51 +G_M33668_IG21: inc eax cmp ecx, eax - jg SHORT G_M33668_IG20 - ;; size=6 bbWeight=0.08 PerfScore 0.12 -G_M33668_IG23: - mov rdi, r14 - mov rsi, r15 - call CORINFO_HELP_ASSIGN_REF - jmp G_M33668_IG35 - ;; size=16 bbWeight=1 PerfScore 3.50 -G_M33668_IG24: + jg SHORT G_M33668_IG19 + jmp G_M33668_IG13 + ;; size=11 bbWeight=0.08 PerfScore 0.28 +G_M33668_IG22: mov rdi, 0xD1FFAB1E ; System.Reflection.CerHashtable`2+Table[System.Reflection.RuntimeMethodInfo,System.Reflection.RuntimeMethodInfo] call CORINFO_HELP_NEWSFAST mov rbx, rax mov edi, 7 mov rax, 0xD1FFAB1E ; code for System.Collections.HashHelpers:GetPrime(int):int call [rax]System.Collections.HashHelpers:GetPrime(int):int mov r15d, eax movsxd rsi, r15d mov rdi, 0xD1FFAB1E ; System.Reflection.RuntimeMethodInfo[] call CORINFO_HELP_NEWARR_1_OBJ lea rdi, bword ptr [rbx+0x08] mov rsi, rax call CORINFO_HELP_ASSIGN_REF movsxd rsi, r15d mov rdi, 0xD1FFAB1E ; System.Reflection.RuntimeMethodInfo[] call CORINFO_HELP_NEWARR_1_OBJ lea rdi, bword ptr [rbx+0x10] mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov rdx, gword ptr [r14] test rdx, rdx - je G_M33668_IG34 + je G_M33668_IG32 mov r15, gword ptr [rdx+0x08] mov r13, gword ptr [rdx+0x10] xor eax, eax mov ecx, dword ptr [r15+0x08] - mov dword ptr [rbp-0x4C], ecx + mov dword ptr [rbp-0x48], ecx test ecx, ecx - jle G_M33668_IG34 + jle G_M33668_IG32 ;; size=135 bbWeight=1 PerfScore 23.50 -G_M33668_IG25: +G_M33668_IG23: test r13, r13 - je SHORT G_M33668_IG31 + je SHORT G_M33668_IG29 cmp dword ptr [r13+0x08], ecx - jl SHORT G_M33668_IG30 + jl SHORT G_M33668_IG28 ;; size=11 bbWeight=0.50 PerfScore 2.62 -G_M33668_IG26: +G_M33668_IG24: mov edx, eax mov rsi, gword ptr [r15+8*rdx+0x10] test rsi, rsi - je SHORT G_M33668_IG28 + je SHORT G_M33668_IG26 ;; size=12 bbWeight=7.92 PerfScore 27.72 -G_M33668_IG27: +G_M33668_IG25: mov dword ptr [rbp-0x3C], eax mov edx, eax mov rdx, gword ptr [r13+8*rdx+0x10] mov rdi, rbx mov r8, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this call [r8]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this mov eax, dword ptr [rbp-0x3C] ;; size=29 bbWeight=3.96 PerfScore 30.69 -G_M33668_IG28: +G_M33668_IG26: inc eax - cmp dword ptr [rbp-0x4C], eax - jg SHORT G_M33668_IG26 + cmp dword ptr [rbp-0x48], eax + jg SHORT G_M33668_IG24 ;; size=7 bbWeight=7.92 PerfScore 25.74 -G_M33668_IG29: - jmp SHORT G_M33668_IG34 +G_M33668_IG27: + jmp SHORT G_M33668_IG32 ;; size=2 bbWeight=1 PerfScore 2.00 -G_M33668_IG30: - mov ecx, dword ptr [rbp-0x4C] +G_M33668_IG28: + mov ecx, dword ptr [rbp-0x48] ;; size=3 bbWeight=0.25 PerfScore 0.25 -G_M33668_IG31: +G_M33668_IG29: mov edx, eax mov rsi, gword ptr [r15+8*rdx+0x10] test rsi, rsi - je SHORT G_M33668_IG33 + je SHORT G_M33668_IG31 ;; size=12 bbWeight=0.08 PerfScore 0.28 -G_M33668_IG32: +G_M33668_IG30: cmp eax, dword ptr [r13+0x08] - jae G_M33668_IG11 + jae G_M33668_IG16 mov dword ptr [rbp-0x3C], eax mov edx, eax mov rdx, gword ptr [r13+8*rdx+0x10] mov rdi, rbx mov r8, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this call [r8]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this mov eax, dword ptr [rbp-0x3C] - mov ecx, dword ptr [rbp-0x4C] + mov ecx, dword ptr [rbp-0x48] ;; size=42 bbWeight=0.04 PerfScore 0.51 -G_M33668_IG33: +G_M33668_IG31: inc eax cmp ecx, eax - jg SHORT G_M33668_IG31 + jg SHORT G_M33668_IG29 ;; size=6 bbWeight=0.08 PerfScore 0.12 -G_M33668_IG34: +G_M33668_IG32: mov rdi, r14 mov rsi, rbx call CORINFO_HELP_ASSIGN_REF - ;; size=11 bbWeight=1 PerfScore 1.50 -G_M33668_IG35: - mov rdi, gword ptr [r14] - mov rsi, r12 - mov rdx, r12 - mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this - cmp dword ptr [rdi], edi - call [rax]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this - jmp G_M33668_IG60 - ;; size=28 bbWeight=1 PerfScore 10.75 -G_M33668_IG36: + jmp G_M33668_IG14 + ;; size=16 bbWeight=1 PerfScore 3.50 +G_M33668_IG33: mov rdi, 0xD1FFAB1E ; box for System.RuntimeType+RuntimeTypeCache:s_methodInstantiations mov rbx, gword ptr [rdi] add rbx, 8 mov rdi, rbx mov rdx, r12 mov rsi, 0xD1FFAB1E ; System.Reflection.CerHashtable`2[System.Reflection.RuntimeMethodInfo,System.Reflection.RuntimeMethodInfo] mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this call [rax]System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this test rax, rax - je SHORT G_M33668_IG37 - mov gword ptr [rbp-0x60], rax - jmp G_M33668_IG61 + je SHORT G_M33668_IG34 + mov gword ptr [rbp-0x58], rax + jmp G_M33668_IG49 ;; size=59 bbWeight=1 PerfScore 10.75 -G_M33668_IG37: +G_M33668_IG34: mov rdi, gword ptr [rbx] test rdi, rdi - je G_M33668_IG48 + je G_M33668_IG45 mov eax, dword ptr [rdi+0x18] lea r14d, [2*rax+0x02] mov rdi, gword ptr [rdi+0x08] cmp dword ptr [rdi+0x08], r14d - jg G_M33668_IG59 + jg G_M33668_IG46 mov rdi, 0xD1FFAB1E ; System.Reflection.CerHashtable`2+Table[System.Reflection.RuntimeMethodInfo,System.Reflection.RuntimeMethodInfo] call CORINFO_HELP_NEWSFAST mov r15, rax mov rdi, r15 mov esi, r14d mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:.ctor(int):this call [rax]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:.ctor(int):this mov rdx, gword ptr [rbx] test rdx, rdx - je G_M33668_IG47 + je G_M33668_IG44 mov r14, gword ptr [rdx+0x08] mov r13, gword ptr [rdx+0x10] xor eax, eax mov ecx, dword ptr [r14+0x08] - mov dword ptr [rbp-0x50], ecx + mov dword ptr [rbp-0x4C], ecx test ecx, ecx - jle G_M33668_IG47 + jle G_M33668_IG44 ;; size=110 bbWeight=1 PerfScore 28.75 -G_M33668_IG38: +G_M33668_IG35: test r13, r13 - je SHORT G_M33668_IG44 + je SHORT G_M33668_IG41 cmp dword ptr [r13+0x08], ecx - jl SHORT G_M33668_IG43 + jl SHORT G_M33668_IG40 ;; size=11 bbWeight=0.50 PerfScore 2.62 -G_M33668_IG39: +G_M33668_IG36: mov edx, eax mov rsi, gword ptr [r14+8*rdx+0x10] test rsi, rsi - je SHORT G_M33668_IG41 + je SHORT G_M33668_IG38 ;; size=12 bbWeight=7.92 PerfScore 27.72 -G_M33668_IG40: +G_M33668_IG37: mov dword ptr [rbp-0x40], eax mov edx, eax mov rdx, gword ptr [r13+8*rdx+0x10] mov rdi, r15 mov r8, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this call [r8]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this mov eax, dword ptr [rbp-0x40] ;; size=29 bbWeight=3.96 PerfScore 30.69 -G_M33668_IG41: +G_M33668_IG38: inc eax - mov ecx, dword ptr [rbp-0x50] + mov ecx, dword ptr [rbp-0x4C] cmp ecx, eax - jg SHORT G_M33668_IG39 + jg SHORT G_M33668_IG36 ;; size=9 bbWeight=7.92 PerfScore 19.80 -G_M33668_IG42: - jmp SHORT G_M33668_IG47 +G_M33668_IG39: + jmp SHORT G_M33668_IG44 ;; size=2 bbWeight=1 PerfScore 2.00 -G_M33668_IG43: - mov ecx, dword ptr [rbp-0x50] +G_M33668_IG40: + mov ecx, dword ptr [rbp-0x4C] ;; size=3 bbWeight=0.25 PerfScore 0.25 -G_M33668_IG44: +G_M33668_IG41: cmp eax, ecx - jae G_M33668_IG11 + jae G_M33668_IG16 mov edx, eax mov rsi, gword ptr [r14+8*rdx+0x10] test rsi, rsi - je SHORT G_M33668_IG46 + je SHORT G_M33668_IG43 ;; size=20 bbWeight=0.08 PerfScore 0.38 -G_M33668_IG45: +G_M33668_IG42: cmp eax, dword ptr [r13+0x08] - jae G_M33668_IG11 + jae G_M33668_IG16 mov dword ptr [rbp-0x40], eax mov edx, eax mov rdx, gword ptr [r13+8*rdx+0x10] mov rdi, r15 mov r8, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this call [r8]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this mov eax, dword ptr [rbp-0x40] ;; size=39 bbWeight=0.04 PerfScore 0.47 -G_M33668_IG46: +G_M33668_IG43: inc eax - mov ecx, dword ptr [rbp-0x50] + mov ecx, dword ptr [rbp-0x4C] cmp ecx, eax - jg SHORT G_M33668_IG44 + jg SHORT G_M33668_IG41 ;; size=9 bbWeight=0.08 PerfScore 0.20 -G_M33668_IG47: +G_M33668_IG44: mov rdi, rbx mov rsi, r15 call CORINFO_HELP_ASSIGN_REF - jmp G_M33668_IG59 - ;; size=16 bbWeight=1 PerfScore 3.50 -G_M33668_IG48: - mov rdi, 0xD1FFAB1E ; System.Reflection.CerHashtable`2+Table[System.Reflection.RuntimeMethodInfo,System.Reflection.RuntimeMethodInfo] - call CORINFO_HELP_NEWSFAST - mov r14, rax - mov edi, 7 - mov rax, 0xD1FFAB1E ; code for System.Collections.HashHelpers:GetPrime(int):int - call [rax]System.Collections.HashHelpers:GetPrime(int):int - mov r15d, eax - movsxd rsi, r15d - mov rdi, 0xD1FFAB1E ; System.Reflection.RuntimeMethodInfo[] - call CORINFO_HELP_NEWARR_1_OBJ - lea rdi, bword ptr [r14+0x08] - mov rsi, rax - call CORINFO_HELP_ASSIGN_REF - movsxd rsi, r15d - mov rdi, 0xD1FFAB1E ; System.Reflection.RuntimeMethodInfo[] - call CORINFO_HELP_NEWARR_1_OBJ - lea rdi, bword ptr [r14+0x10] - mov rsi, rax - call CORINFO_HELP_ASSIGN_REF - mov rdx, gword ptr [rbx] - test rdx, rdx - je G_M33668_IG58 - mov r15, gword ptr [rdx+0x08] - mov r13, gword ptr [rdx+0x10] - xor eax, eax - mov ecx, dword ptr [r15+0x08] - mov dword ptr [rbp-0x54], ecx - test ecx, ecx - jle G_M33668_IG58 - ;; size=135 bbWeight=1 PerfScore 23.50 -G_M33668_IG49: - test r15, r15 - je SHORT G_M33668_IG55 - test r13, r13 - je SHORT G_M33668_IG55 - cmp dword ptr [r13+0x08], ecx - jl SHORT G_M33668_IG54 - ;; size=16 bbWeight=0.50 PerfScore 3.25 -G_M33668_IG50: - mov edx, eax - mov rsi, gword ptr [r15+8*rdx+0x10] - test rsi, rsi - je SHORT G_M33668_IG52 - ;; size=12 bbWeight=7.92 PerfScore 27.72 -G_M33668_IG51: - mov dword ptr [rbp-0x44], eax - mov edx, eax - mov rdx, gword ptr [r13+8*rdx+0x10] - mov rdi, r14 - mov r8, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this - call [r8]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this - mov eax, dword ptr [rbp-0x44] - ;; size=29 bbWeight=3.96 PerfScore 30.69 -G_M33668_IG52: - inc eax - mov ecx, dword ptr [rbp-0x54] - cmp ecx, eax - jg SHORT G_M33668_IG50 - ;; size=9 bbWeight=7.92 PerfScore 19.80 -G_M33668_IG53: - jmp SHORT G_M33668_IG58 - ;; size=2 bbWeight=1 PerfScore 2.00 -G_M33668_IG54: - mov ecx, dword ptr [rbp-0x54] - ;; size=3 bbWeight=0.25 PerfScore 0.25 -G_M33668_IG55: - cmp eax, ecx - jae G_M33668_IG11 - mov edx, eax - mov rsi, gword ptr [r15+8*rdx+0x10] - test rsi, rsi - je SHORT G_M33668_IG57 - ;; size=20 bbWeight=0.08 PerfScore 0.38 -G_M33668_IG56: - cmp eax, dword ptr [r13+0x08] - jae G_M33668_IG11 - mov dword ptr [rbp-0x44], eax - mov edx, eax - mov rdx, gword ptr [r13+8*rdx+0x10] - mov rdi, r14 - mov r8, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this - call [r8]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this - mov eax, dword ptr [rbp-0x44] - ;; size=39 bbWeight=0.04 PerfScore 0.47 -G_M33668_IG57: - inc eax - mov ecx, dword ptr [rbp-0x54] - cmp ecx, eax - jg SHORT G_M33668_IG55 - ;; size=9 bbWeight=0.08 PerfScore 0.20 -G_M33668_IG58: + jmp SHORT G_M33668_IG46 + ;; size=13 bbWeight=1 PerfScore 3.50 +G_M33668_IG45: mov rdi, rbx - mov rsi, r14 - call CORINFO_HELP_ASSIGN_REF - ;; size=11 bbWeight=1 PerfScore 1.50 -G_M33668_IG59: + mov rsi, 0xD1FFAB1E ; System.Reflection.CerHashtable`2[System.Reflection.RuntimeMethodInfo,System.Reflection.RuntimeMethodInfo] + mov edx, 7 + mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this + call [rax]System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:Rehash(int):this + ;; size=30 bbWeight=1 PerfScore 4.00 +G_M33668_IG46: mov rdi, gword ptr [rbx] mov rsi, r12 mov rdx, r12 mov rax, 0xD1FFAB1E ; code for System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this cmp dword ptr [rdi], edi call [rax]System.Reflection.CerHashtable`2+Table[System.__Canon,System.__Canon]:Insert(System.__Canon,System.__Canon):this nop ;; size=24 bbWeight=1 PerfScore 9.00 -G_M33668_IG60: +G_M33668_IG47: cmp byte ptr [rbp-0x30], 0 - je SHORT G_M33668_IG65 + je SHORT G_M33668_IG53 mov rdi, 0xD1FFAB1E ; static handle mov rdi, gword ptr [rdi] call System.Threading.Monitor:Exit(System.Object) - jmp SHORT G_M33668_IG65 + jmp SHORT G_M33668_IG53 ;; size=26 bbWeight=1 PerfScore 8.25 -G_M33668_IG61: +G_M33668_IG48: + add rsp, 56 + pop rbx + pop r12 + pop r13 + pop r14 + pop r15 + pop rbp + ret + ;; size=15 bbWeight=1 PerfScore 4.25 +G_M33668_IG49: mov rdi, rsp - call G_M33668_IG69 + call G_M33668_IG57 ;; size=8 bbWeight=1 PerfScore 1.25 -G_M33668_IG62: +G_M33668_IG50: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M33668_IG63: - mov rax, gword ptr [rbp-0x60] +G_M33668_IG51: + mov rax, gword ptr [rbp-0x58] ;; size=4 bbWeight=1 PerfScore 1.00 -G_M33668_IG64: - add rsp, 72 +G_M33668_IG52: + add rsp, 56 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 -G_M33668_IG65: +G_M33668_IG53: mov rax, r12 ;; size=3 bbWeight=1 PerfScore 0.25 -G_M33668_IG66: - add rsp, 72 +G_M33668_IG54: + add rsp, 56 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 -G_M33668_IG67: +G_M33668_IG55: mov rdi, 0xD1FFAB1E mov esi, 120 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M33668_IG04 ;; size=25 bbWeight=0 PerfScore 0.00 -G_M33668_IG68: +G_M33668_IG56: mov rdi, 0xD1FFAB1E mov esi, 120 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE - jmp G_M33668_IG08 + jmp G_M33668_IG06 ;; size=25 bbWeight=0 PerfScore 0.00 -G_M33668_IG69: +G_M33668_IG57: push rbp push r15 push r14 push r13 push r12 push rbx push rax mov rbp, qword ptr [rdi] mov qword ptr [rsp], rbp - lea rbp, [rbp+0x70] + lea rbp, [rbp+0x60] ;; size=22 bbWeight=1 PerfScore 10.50 -G_M33668_IG70: +G_M33668_IG58: cmp byte ptr [rbp-0x30], 0 - je SHORT G_M33668_IG73 + je SHORT G_M33668_IG61 mov rdi, 0xD1FFAB1E ; global ptr test byte ptr [rdi], 1 - jne SHORT G_M33668_IG72 + jne SHORT G_M33668_IG60 ;; size=21 bbWeight=1 PerfScore 7.25 -G_M33668_IG71: +G_M33668_IG59: mov rdi, 0xD1FFAB1E mov esi, 120 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE ;; size=20 bbWeight=0 PerfScore 0.00 -G_M33668_IG72: +G_M33668_IG60: mov rdi, 0xD1FFAB1E ; data for System.RuntimeType+RuntimeTypeCache:s_methodInstantiationsLock mov rdi, gword ptr [rdi] call System.Threading.Monitor:Exit(System.Object) ;; size=18 bbWeight=1 PerfScore 3.25 -G_M33668_IG73: +G_M33668_IG61: nop ;; size=1 bbWeight=1 PerfScore 0.25 -G_M33668_IG74: +G_M33668_IG62: add rsp, 8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 -; Total bytes of code 1835, prolog size 35, PerfScore 617.51, instruction count 472, allocated bytes for code 1835 (MethodHash=f9d27c7b) for method System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts) +; Total bytes of code 1586, prolog size 35, PerfScore 510.41, instruction count 404, allocated bytes for code 1586 (MethodHash=f9d27c7b) for method System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(long):System.Reflection.MethodInfo:this (FullOpts) ```

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

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

MihuBot commented 9 months ago

@jkotas