MihuBot / runtime-utils

0 stars 0 forks source link

[JitDiff ARM64] [xtqqczze] Use `GetArrayDataReference` in `Vector*` #504

Open MihuBot opened 1 month ago

MihuBot commented 1 month ago

Job completed in 28 minutes. https://github.com/dotnet/runtime/pull/104532

Diffs

Diffs ``` Found 333 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 50233232 Total bytes of diff: 50231356 Total bytes of delta: -1876 (-0.00 % of base) Total relative delta: -9.54 diff is an improvement. relative diff is an improvement. Top file regressions (bytes): 24 : Microsoft.VisualBasic.Core.dasm (0.00 % of base) 20 : Microsoft.Extensions.Configuration.Json.dasm (0.26 % of base) 8 : System.ServiceProcess.ServiceController.dasm (0.08 % of base) 8 : System.Transactions.Local.dasm (0.00 % of base) 4 : System.Text.RegularExpressions.dasm (0.00 % of base) Top file improvements (bytes): -1216 : Microsoft.CSharp.dasm (-0.29 % of base) -604 : System.Private.CoreLib.dasm (-0.01 % of base) -32 : System.IO.FileSystem.DriveInfo.dasm (-0.10 % of base) -20 : System.Net.NameResolution.dasm (-0.03 % of base) -16 : System.Threading.Channels.dasm (-0.00 % of base) -16 : System.ComponentModel.EventBasedAsync.dasm (-0.26 % of base) -8 : System.Diagnostics.Process.dasm (-0.01 % of base) -8 : System.Reflection.Context.dasm (-0.01 % of base) -4 : System.Diagnostics.StackTrace.dasm (-0.10 % of base) -4 : System.Reflection.Metadata.dasm (-0.00 % of base) -4 : System.Drawing.Primitives.dasm (-0.01 % of base) -4 : System.IO.IsolatedStorage.dasm (-0.01 % of base) -4 : System.Net.Http.dasm (-0.00 % of base) 18 total files with Code Size differences (13 improved, 5 regressed), 241 unchanged. Top method regressions (bytes): 36 (1.96 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 20 (4.03 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol:set_Params(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):this (FullOpts) 16 (2.42 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts) 12 (2.21 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts) 8 (2.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts) 8 (0.60 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBIndexSetComplexBinder:FallbackSetIndex(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts) 8 (1.02 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBSetComplexBinder:FallbackSetMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts) 8 (0.96 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.FileSystem:FxCopyOrMoveDirectory(int,System.String,System.String,ubyte) (FullOpts) 8 (7.14 % of base) : Microsoft.Extensions.Configuration.Json.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts) 8 (7.14 % of base) : System.ServiceProcess.ServiceController.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts) 4 (1.15 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:.ctor():this (FullOpts) 4 (2.56 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:LoadMethod(int):Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol (FullOpts) 4 (0.36 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:LoadSymbolsFromType(System.Type):Microsoft.CSharp.RuntimeBinder.Semantics.CType (FullOpts) 4 (2.70 % of base) : Microsoft.Extensions.Configuration.Json.dasm - Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser:.ctor():this (FullOpts) 4 (1.32 % of base) : Microsoft.Extensions.Configuration.Json.dasm - Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser:EnterContext(System.String):this (FullOpts) 4 (0.43 % of base) : Microsoft.Extensions.Configuration.Json.dasm - Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser:ParseStream(System.IO.Stream):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts) 4 (0.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:Initialize(System.Globalization.CultureInfo,int):this (FullOpts) 4 (1.89 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ObjectType:.cctor() (FullOpts) 4 (0.48 % of base) : System.Private.CoreLib.dasm - System.Globalization.GlobalizationMode+Settings:.cctor() (FullOpts) 4 (0.05 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCharClass:.cctor() (FullOpts) 4 (0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[double]:.ctor(int,int,ubyte,System.Action`1[double]):this (FullOpts) 4 (0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):this (FullOpts) 4 (0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Action`1[System.Nullable`1[int]]):this (FullOpts) 4 (0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(int,int,ubyte,System.Action`1[System.Numerics.Vector`1[float]]):this (FullOpts) 4 (0.74 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[double]:.ctor(ubyte):this (FullOpts) 4 (0.74 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[long]:.ctor(ubyte):this (FullOpts) 4 (0.74 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Nullable`1[int]]:.ctor(ubyte):this (FullOpts) 4 (0.22 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionManager:Reenlist(System.Guid,ubyte[],System.Transactions.IEnlistmentNotification):System.Transactions.Enlistment (FullOpts) 4 (0.56 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionTable:.ctor():this (FullOpts) Top method improvements (bytes): -64 (-2.66 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetStandardAndLiftedBinopSignatures(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):ubyte:this (FullOpts) -28 (-1.44 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendSym(Microsoft.CSharp.RuntimeBinder.Semantics.Symbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts) -24 (-0.50 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:.cctor() (FullOpts) -20 (-1.99 % of base) : System.IO.FileSystem.DriveInfo.dasm - Interop+ErrorInfo:ToString():System.String:this (FullOpts) -20 (-0.73 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendType(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext):this (FullOpts) -20 (-1.71 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[ubyte](System.Func`3[System.Object,long,ubyte],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts) -16 (-0.86 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetRefEqualSigs(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):ubyte:this (FullOpts) -16 (-0.59 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodTypeInferrer:Fix(int):ubyte:this (FullOpts) -16 (-0.24 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:.cctor() (FullOpts) -16 (-1.83 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:LoadTypeFromSignature(int[],byref,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):Microsoft.CSharp.RuntimeBinder.Semantics.CType (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:.ctor(double[],int):this (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Numerics.Vector`1[double] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:.ctor(int[],int):this (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Numerics.Vector`1[int] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:.ctor(long[],int):this (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Numerics.Vector`1[long] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:.ctor(short[],int):this (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Numerics.Vector`1[short] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Numerics.Vector`1[ubyte] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[double](double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[int](int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[long](long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[short](short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[double](double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[int](int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[long](long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[short](short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[double](double[],int):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[int](int[],int):System.Runtime.Intrinsics.Vector512`1[int] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[long](long[],int):System.Runtime.Intrinsics.Vector512`1[long] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[short](short[],int):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector512`1[ubyte] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector512`1[int] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector512`1[long] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector512`1[ubyte] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[double](double[],int):System.Runtime.Intrinsics.Vector64`1[double] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[int](int[],int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[long](long[],int):System.Runtime.Intrinsics.Vector64`1[long] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[short](short[],int):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector64`1[double] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector64`1[long] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -12 (-1.89 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView:QueryDynamicObject(System.Object):System.Collections.Generic.IList`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]] (FullOpts) -12 (-0.39 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling:Error(int,Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[]):Microsoft.CSharp.RuntimeBinder.RuntimeBinderException (FullOpts) -12 (-0.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:FindApplicableSignatures(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int,System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+UnaOpFullSig]):ubyte:this (FullOpts) -12 (-1.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetDelBinOpSigs(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):ubyte:this (FullOpts) -12 (-0.76 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:mustCastCore(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CType,int):Microsoft.CSharp.RuntimeBinder.Semantics.Expr:this (FullOpts) -12 (-3.41 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.FileSystem:get_Drives():System.Collections.ObjectModel.ReadOnlyCollection`1[System.IO.DriveInfo] (FullOpts) -8 (-1.83 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:CreateCallInfo(byref,int):System.Dynamic.CallInfo (FullOpts) -8 (-2.44 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:DeduceArgumentRestriction(int,Microsoft.CSharp.RuntimeBinder.ICSharpInvokeOrInvokeMemberBinder,System.Dynamic.DynamicMetaObject,Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo):System.Dynamic.BindingRestrictions (FullOpts) -8 (-1.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ValidateBindArgument(System.Dynamic.DynamicMetaObject[],System.String) (FullOpts) -8 (-1.68 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.CSharpInvokeMemberBinder:.ctor(int,System.String,System.Type,System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo]):this (FullOpts) -8 (-1.08 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView:TryEvalMethodVarArgs(System.Object[],System.Type[],int[],System.String,System.Type,System.Type[]):System.Object (FullOpts) -8 (-0.37 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Errors.UserStringBuilder:ErrAppendMethod(Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext,ubyte):this (FullOpts) -8 (-1.35 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.GetMemberValueBinder:FallbackGetMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts) -8 (-0.35 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:BindProperty(Microsoft.CSharp.RuntimeBinder.ICSharpBinder,Microsoft.CSharp.RuntimeBinder.ArgumentObject,Microsoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.Expr):Microsoft.CSharp.RuntimeBinder.Semantics.Expr:this (FullOpts) -8 (-0.93 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:BindUnaryOperation(Microsoft.CSharp.RuntimeBinder.CSharpUnaryOperationBinder,Microsoft.CSharp.RuntimeBinder.ArgumentObject[],Microsoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbol[]):Microsoft.CSharp.RuntimeBinder.Semantics.Expr:this (FullOpts) -8 (-1.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateArgumentArray(Microsoft.CSharp.RuntimeBinder.ICSharpBinder,System.Linq.Expressions.Expression[],System.Dynamic.DynamicMetaObject[]):Microsoft.CSharp.RuntimeBinder.ArgumentObject[]:this (FullOpts) -8 (-0.76 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateArgumentEXPR(Microsoft.CSharp.RuntimeBinder.ArgumentObject,Microsoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbol):Microsoft.CSharp.RuntimeBinder.Semantics.Expr:this (FullOpts) -8 (-1.22 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateLocal(System.Type,ubyte,Microsoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbol):Microsoft.CSharp.RuntimeBinder.Semantics.Expr:this (FullOpts) -8 (-0.60 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:DeferBinding(Microsoft.CSharp.RuntimeBinder.ICSharpBinder,Microsoft.CSharp.RuntimeBinder.ArgumentObject[],System.Dynamic.DynamicMetaObject[],Microsoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbol[],byref):ubyte:this (FullOpts) -8 (-14.29 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal:Get(ubyte):Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal (FullOpts) -8 (-3.08 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal:GetDefaultValue(int):Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal (FullOpts) -8 (-0.25 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:AdjustCallArgumentsForParams(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,byref):this (FullOpts) -8 (-1.46 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:CheckLvalue(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):this (FullOpts) -8 (-0.88 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetEnumBinOpSigs(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):ubyte:this (FullOpts) -8 (-0.70 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:PopulateSignatureList(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int,int,int,int,System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+UnaOpFullSig],byref):int:this (FullOpts) -8 (-1.87 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:RecordBinOpSigFromArgs(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo) (FullOpts) -8 (-0.54 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:UserDefinedBinaryOperatorIsApplicable(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CandidateFunctionMember],int,Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,ubyte):ubyte:this (FullOpts) -8 (-1.59 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+GroupToArgsBinder:.ctor(Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder,int,Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup,Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos,Microsoft.CSharp.RuntimeBinder.Semantics.ArgInfos,int):this (FullOpts) -8 (-0.64 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+GroupToArgsBinder:GenerateOptionalArgument(Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol,Microsoft.CSharp.RuntimeBinder.Semantics.CType,int):Microsoft.CSharp.RuntimeBinder.Semantics.Expr (FullOpts) -8 (-1.69 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionTreeRewriter:GenerateParamsArray(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,uint):Microsoft.CSharp.RuntimeBinder.Semantics.ExprArrayInit (FullOpts) -8 (-2.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExprFactory:CreateMemGroup(int,Microsoft.CSharp.RuntimeBinder.Syntax.Name,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,int,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CMemberLookupResults):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts) -8 (-1.75 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExprFactory:CreateMemGroup(Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.MethPropWithInst):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts) -8 (-2.86 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup:.ctor(int,Microsoft.CSharp.RuntimeBinder.Syntax.Name,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,int,Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.Expr,Microsoft.CSharp.RuntimeBinder.Semantics.CMemberLookupResults):this (FullOpts) -8 (-0.29 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:SearchSingleType(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,byref):ubyte:this (FullOpts) -8 (-2.27 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.Operators:GetOperatorByName():System.Collections.Generic.Dictionary`2[Microsoft.CSharp.RuntimeBinder.Syntax.Name,System.String] (FullOpts) -8 (-4.88 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.Operators:OperatorOfMethodName(Microsoft.CSharp.RuntimeBinder.Syntax.Name):System.String (FullOpts) -8 (-0.26 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypeFacts:.cctor() (FullOpts) -8 (-3.70 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.SubstContext:.ctor(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,ubyte):this (FullOpts) -8 (-3.23 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Allocate(Microsoft.CSharp.RuntimeBinder.Semantics.CType[]):Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray (FullOpts) -8 (-3.51 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType (FullOpts) Top method regressions (percentages): 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts) 24 (60.00 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 8 (7.14 % of base) : Microsoft.Extensions.Configuration.Json.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts) 8 (7.14 % of base) : System.ServiceProcess.ServiceController.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts) 20 (4.03 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol:set_Params(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):this (FullOpts) 8 (2.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts) 4 (2.70 % of base) : Microsoft.Extensions.Configuration.Json.dasm - Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser:.ctor():this (FullOpts) 4 (2.56 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:LoadMethod(int):Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol (FullOpts) 16 (2.42 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts) 12 (2.21 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts) 36 (1.96 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts) 4 (1.89 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ObjectType:.cctor() (FullOpts) 4 (1.32 % of base) : Microsoft.Extensions.Configuration.Json.dasm - Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser:EnterContext(System.String):this (FullOpts) 4 (1.15 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:.ctor():this (FullOpts) 8 (1.02 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBSetComplexBinder:FallbackSetMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts) 8 (0.96 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.FileIO.FileSystem:FxCopyOrMoveDirectory(int,System.String,System.String,ubyte) (FullOpts) 4 (0.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.Collection:Initialize(System.Globalization.CultureInfo,int):this (FullOpts) 4 (0.74 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[double]:.ctor(ubyte):this (FullOpts) 4 (0.74 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[long]:.ctor(ubyte):this (FullOpts) 4 (0.74 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Nullable`1[int]]:.ctor(ubyte):this (FullOpts) 8 (0.60 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBIndexSetComplexBinder:FallbackSetIndex(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts) 4 (0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[double]:.ctor(int,int,ubyte,System.Action`1[double]):this (FullOpts) 4 (0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):this (FullOpts) 4 (0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Action`1[System.Nullable`1[int]]):this (FullOpts) 4 (0.57 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(int,int,ubyte,System.Action`1[System.Numerics.Vector`1[float]]):this (FullOpts) 4 (0.56 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionTable:.ctor():this (FullOpts) 4 (0.48 % of base) : System.Private.CoreLib.dasm - System.Globalization.GlobalizationMode+Settings:.cctor() (FullOpts) 4 (0.43 % of base) : Microsoft.Extensions.Configuration.Json.dasm - Microsoft.Extensions.Configuration.Json.JsonConfigurationFileParser:ParseStream(System.IO.Stream):System.Collections.Generic.Dictionary`2[System.String,System.String]:this (FullOpts) 4 (0.36 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.SymbolTable:LoadSymbolsFromType(System.Type):Microsoft.CSharp.RuntimeBinder.Semantics.CType (FullOpts) 4 (0.22 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionManager:Reenlist(System.Guid,ubyte[],System.Transactions.IEnlistmentNotification):System.Transactions.Enlistment (FullOpts) 4 (0.05 % of base) : System.Text.RegularExpressions.dasm - System.Text.RegularExpressions.RegexCharClass:.cctor() (FullOpts) Top method improvements (percentages): -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Numerics.Vector`1[double] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Numerics.Vector`1[int] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Numerics.Vector`1[long] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Numerics.Vector`1[short] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Numerics.Vector`1[ubyte] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[double](double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[int](int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[long](long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[short](short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector128`1[long] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector128`1[short] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector128`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector128`1[ubyte] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[double](double[],int):System.Runtime.Intrinsics.Vector64`1[double] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[int](int[],int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[long](long[],int):System.Runtime.Intrinsics.Vector64`1[long] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[short](short[],int):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector64`1[double] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector64`1[int] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector64`1[long] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector64`1[short] (FullOpts) -16 (-18.18 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector64`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector64`1[ubyte] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[double]:.ctor(double[],int):this (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[int]:.ctor(int[],int):this (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[long]:.ctor(long[],int):this (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[short]:.ctor(short[],int):this (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[],int):this (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[double](double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[int](int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[long](long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[short](short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector256`1[double] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector256`1[int] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector256`1[long] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector256`1[short] (FullOpts) -16 (-17.39 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector256`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector256`1[ubyte] (FullOpts) -8 (-14.29 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal:Get(ubyte):Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[double](double[],int):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[int](int[],int):System.Runtime.Intrinsics.Vector512`1[int] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[long](long[],int):System.Runtime.Intrinsics.Vector512`1[long] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[short](short[],int):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512:Create[ubyte](ubyte[],int):System.Runtime.Intrinsics.Vector512`1[ubyte] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[double]:System.Runtime.Intrinsics.ISimdVector,T>.Create(double[],int):System.Runtime.Intrinsics.Vector512`1[double] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[int]:System.Runtime.Intrinsics.ISimdVector,T>.Create(int[],int):System.Runtime.Intrinsics.Vector512`1[int] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[long]:System.Runtime.Intrinsics.ISimdVector,T>.Create(long[],int):System.Runtime.Intrinsics.Vector512`1[long] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[short]:System.Runtime.Intrinsics.ISimdVector,T>.Create(short[],int):System.Runtime.Intrinsics.Vector512`1[short] (FullOpts) -16 (-14.29 % of base) : System.Private.CoreLib.dasm - System.Runtime.Intrinsics.Vector512`1[ubyte]:System.Runtime.Intrinsics.ISimdVector,T>.Create(ubyte[],int):System.Runtime.Intrinsics.Vector512`1[ubyte] (FullOpts) -4 (-12.50 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.CSharpConvertBinder:Microsoft.CSharp.RuntimeBinder.ICSharpBinder.GetArgumentInfo(int):Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo:this (FullOpts) -4 (-12.50 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.CSharpInvokeBinder:Microsoft.CSharp.RuntimeBinder.ICSharpInvokeOrInvokeMemberBinder.get_TypeArguments():System.Type[]:this (FullOpts) -4 (-12.50 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.CSharpInvokeConstructorBinder:get_TypeArguments():System.Type[]:this (FullOpts) -4 (-12.50 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.CSharpIsEventBinder:Microsoft.CSharp.RuntimeBinder.ICSharpBinder.GetArgumentInfo(int):Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo:this (FullOpts) -4 (-7.69 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:.cctor() (FullOpts) -4 (-7.69 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExprProperty+<>c:.cctor() (FullOpts) -4 (-7.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.NamespaceSymbol:.cctor() (FullOpts) -4 (-7.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.Operators:GetInfo(uint):Microsoft.CSharp.RuntimeBinder.Semantics.Operators+OperatorInfo (FullOpts) -4 (-7.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:GetMethInfo(int):Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMethodInfo (FullOpts) -4 (-7.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:GetPropInfo(int):Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedPropertyInfo (FullOpts) -4 (-7.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypes:.cctor() (FullOpts) -4 (-7.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetStdMethTypeVar(int):Microsoft.CSharp.RuntimeBinder.Semantics.TypeParameterType (FullOpts) -4 (-7.14 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Syntax.NameManager:GetPredefinedName(int):Microsoft.CSharp.RuntimeBinder.Syntax.Name (FullOpts) -4 (-6.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo:.cctor() (FullOpts) -4 (-6.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ArgumentListType:.cctor() (FullOpts) -4 (-6.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.MethodGroupType:.cctor() (FullOpts) -4 (-6.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.NullType:.cctor() (FullOpts) -4 (-6.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.Operators:GetExpressionKind(uint):int (FullOpts) -4 (-6.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:GetPropGetter(int):int (FullOpts) -4 (-6.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypeFacts:GetAssociatedSystemType(uint):System.Type (FullOpts) -4 (-6.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypeFacts:GetFundType(uint):int (FullOpts) -4 (-6.67 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.VoidType:.cctor() (FullOpts) -8 (-6.67 % of base) : System.ComponentModel.EventBasedAsync.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts) -8 (-6.67 % of base) : Microsoft.CSharp.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts) -8 (-6.67 % of base) : System.IO.FileSystem.DriveInfo.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts) -4 (-6.25 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.NamespaceSymbol:GetRootNamespaceSymbol():Microsoft.CSharp.RuntimeBinder.Semantics.NamespaceSymbol (FullOpts) -4 (-6.25 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Syntax.NameManager:Add(System.String,int):Microsoft.CSharp.RuntimeBinder.Syntax.Name (FullOpts) -4 (-5.56 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal:Get(int):Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal (FullOpts) -4 (-5.56 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:InsertArray(Microsoft.CSharp.RuntimeBinder.Semantics.CType,int,Microsoft.CSharp.RuntimeBinder.Semantics.ArrayType) (FullOpts) -4 (-5.56 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:InsertNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.NullableType) (FullOpts) -4 (-5.56 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:InsertParameterModifier(Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte,Microsoft.CSharp.RuntimeBinder.Semantics.ParameterModifierType) (FullOpts) -4 (-5.56 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:InsertPointer(Microsoft.CSharp.RuntimeBinder.Semantics.CType,Microsoft.CSharp.RuntimeBinder.Semantics.PointerType) (FullOpts) -4 (-5.56 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:LookupNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType (FullOpts) -4 (-5.56 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:LookupPointer(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.PointerType (FullOpts) -4 (-5.26 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:WhichSimpleConversionIsBetter(uint,uint):int:this (FullOpts) -4 (-5.26 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.Operators:GetDisplayName(uint):System.String (FullOpts) -4 (-5.26 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypeFacts:TryGetPredefTypeIndex(System.String):uint (FullOpts) -4 (-5.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager+StdTypeVarColl:.ctor():this (FullOpts) -4 (-5.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:LookupArray(Microsoft.CSharp.RuntimeBinder.Semantics.CType,int):Microsoft.CSharp.RuntimeBinder.Semantics.ArrayType (FullOpts) -4 (-5.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:LookupParameterModifier(Microsoft.CSharp.RuntimeBinder.Semantics.CType,ubyte):Microsoft.CSharp.RuntimeBinder.Semantics.ParameterModifierType (FullOpts) -8 (-4.88 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.Operators:OperatorOfMethodName(Microsoft.CSharp.RuntimeBinder.Syntax.Name):System.String (FullOpts) -4 (-4.76 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:GetPropPredefType(int):uint (FullOpts) -4 (-4.76 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:InsertAggregate(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType) (FullOpts) -4 (-4.76 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Syntax.NameManager:Add(System.String):Microsoft.CSharp.RuntimeBinder.Syntax.Name (FullOpts) -4 (-4.55 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:ExpressionKindName(int):Microsoft.CSharp.RuntimeBinder.Syntax.Name (FullOpts) -4 (-4.35 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore:.cctor() (FullOpts) -4 (-4.35 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.TypeTable:LookupAggregate(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType,Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType (FullOpts) -4 (-4.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[] (FullOpts) -4 (-4.00 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ToArray[long](System.Collections.Generic.IEnumerable`1[long]):long[] (FullOpts) 339 total methods with Code Size differences (302 improved, 37 regressed), 254966 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 1 month ago

Top method regressions

36 (1.96 % of base) - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup ```diff ; Assembly listing for method Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 33 single block inlinees; 7 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T11] ( 14, 9.50) ref -> x19 class-hnd single-def -; V01 arg1 [V01,T21] ( 5, 4 ) ref -> x21 class-hnd single-def -; V02 arg2 [V02,T20] ( 6, 4.25) ref -> x20 class-hnd single-def -; V03 arg3 [V03,T29] ( 4, 3.25) int -> x22 single-def -; V04 loc0 [V04,T32] ( 4, 4 ) ref -> x23 class-hnd exact single-def -; V05 loc1 [V05,T36] ( 6, 3.75) ref -> x24 class-hnd -; V06 loc2 [V06,T37] ( 7, 3.50) ref -> x1 class-hnd single-def -; V07 loc3 [V07,T41] ( 2, 3 ) ref -> x25 class-hnd exact single-def -; V08 loc4 [V08,T07] ( 8, 14 ) ref -> x28 class-hnd exact single-def -; V09 loc5 [V09,T01] ( 4, 34 ) long -> x26 -; V10 loc6 [V10,T31] ( 2, 5 ) ubyte -> [fp+0x54] spill-single-def -; V11 loc7 [V11,T30] ( 8, 5 ) int -> x25 -; V12 loc8 [V12,T45] ( 2, 2 ) ref -> x19 class-hnd single-def -; V13 loc9 [V13,T49] ( 3, 1.75) ref -> x0 class-hnd exact single-def -; V14 loc10 [V14,T53] ( 2, 1 ) ref -> x0 class-hnd exact -; V15 loc11 [V15,T10] ( 6, 13 ) ref -> [fp+0x38] class-hnd EH-live spill-single-def -; V16 loc12 [V16,T08] ( 5, 14 ) ref -> [fp+0x30] class-hnd spill-single-def +; V01 arg1 [V01,T20] ( 5, 4 ) ref -> x21 class-hnd single-def +; V02 arg2 [V02,T19] ( 6, 4.25) ref -> x20 class-hnd single-def +; V03 arg3 [V03,T28] ( 4, 3.25) int -> x22 single-def +; V04 loc0 [V04,T31] ( 4, 4 ) ref -> x23 class-hnd exact single-def +; V05 loc1 [V05,T35] ( 6, 3.75) ref -> x24 class-hnd +; V06 loc2 [V06,T36] ( 7, 3.50) ref -> x1 class-hnd single-def +; V07 loc3 [V07,T40] ( 2, 3 ) ref -> x25 class-hnd exact single-def +; V08 loc4 [V08,T07] ( 8, 14 ) ref -> x27 class-hnd exact single-def +; V09 loc5 [V09,T01] ( 4, 34 ) long -> x28 +; V10 loc6 [V10,T30] ( 2, 5 ) ubyte -> x26 +; V11 loc7 [V11,T29] ( 8, 5 ) int -> x25 +; V12 loc8 [V12,T44] ( 2, 2 ) ref -> x19 class-hnd single-def +; V13 loc9 [V13,T48] ( 3, 1.75) ref -> x0 class-hnd exact single-def +; V14 loc10 [V14,T52] ( 2, 1 ) ref -> x0 class-hnd exact +; V15 loc11 [V15,T10] ( 6, 13 ) ref -> [fp+0x30] class-hnd EH-live spill-single-def +; V16 loc12 [V16,T08] ( 5, 14 ) ref -> [fp+0x28] class-hnd spill-single-def ;# V17 OutArgs [V17 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -;* V18 tmp1 [V18,T44] ( 0, 0 ) int -> zero-ref "spilling qmarkNull" +;* V18 tmp1 [V18,T43] ( 0, 0 ) int -> zero-ref "spilling qmarkNull" ;* V19 tmp2 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" -; V20 tmp3 [V20,T22] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" -; V21 tmp4 [V21,T23] ( 3, 6 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" -; V22 tmp5 [V22,T43] ( 3, 2 ) ref -> x19 -; V23 tmp6 [V23,T19] ( 4, 6.50) ref -> x21 class-hnd exact single-def "NewObj constructor temp" -;* V24 tmp7 [V24,T47] ( 0, 0 ) int -> zero-ref "spilling qmarkNull" +; V20 tmp3 [V20,T21] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" +; V21 tmp4 [V21,T22] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" +; V22 tmp5 [V22,T42] ( 3, 2 ) ref -> x19 +; V23 tmp6 [V23,T18] ( 4, 6.50) ref -> x21 class-hnd exact single-def "NewObj constructor temp" +;* V24 tmp7 [V24,T46] ( 0, 0 ) int -> zero-ref "spilling qmarkNull" ;* V25 tmp8 [V25 ] ( 0, 0 ) ref -> zero-ref ;* V26 tmp9 [V26 ] ( 0, 0 ) ref -> zero-ref ;* V27 tmp10 [V27 ] ( 0, 0 ) ref -> zero-ref single-def -; V28 tmp11 [V28,T46] ( 2, 2 ) ref -> x15 single-def -; V29 tmp12 [V29,T13] ( 5, 10 ) ref -> [fp+0x28] class-hnd exact spill-single-def "NewObj constructor temp" d__17> -; V30 tmp13 [V30,T04] ( 2, 16 ) ref -> [fp+0x20] class-hnd exact spill-single-def "Inlining Arg" +; V28 tmp11 [V28,T45] ( 2, 2 ) ref -> x15 single-def +; V29 tmp12 [V29,T12] ( 5, 10 ) ref -> [fp+0x20] class-hnd exact spill-single-def "NewObj constructor temp" d__17> +; V30 tmp13 [V30,T04] ( 2, 16 ) ref -> [fp+0x18] class-hnd exact spill-single-def "Inlining Arg" ; V31 tmp14 [V31,T09] ( 4, 14 ) ref -> x0 -; V32 tmp15 [V32,T05] ( 2, 16 ) ref -> [fp+0x18] class-hnd exact spill-single-def "Inlining Arg" -; V33 tmp16 [V33,T24] ( 2, 4 ) ref -> x2 class-hnd "Inline return value spill temp" +; V32 tmp15 [V32,T05] ( 2, 16 ) ref -> [fp+0x10] class-hnd exact spill-single-def "Inlining Arg" +; V33 tmp16 [V33,T23] ( 2, 4 ) ref -> x2 class-hnd "Inline return value spill temp" ;* V34 tmp17 [V34 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" ; V35 tmp18 [V35,T02] ( 3, 24 ) ref -> x0 class-hnd "impAppendStmt" -; V36 tmp19 [V36,T25] ( 2, 4 ) ref -> x2 ld-addr-op class-hnd "Inline ldloca(s) first use temp" -;* V37 tmp20 [V37,T35] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" +; V36 tmp19 [V36,T24] ( 2, 4 ) ref -> x2 ld-addr-op class-hnd "Inline ldloca(s) first use temp" +;* V37 tmp20 [V37,T34] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V38 tmp21 [V38 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" -; V39 tmp22 [V39,T14] ( 3, 10 ) byref -> x0 "Inline stloc first use temp" -; V40 tmp23 [V40,T15] ( 3, 10 ) ref -> x2 class-hnd "Inline return value spill temp" +; V39 tmp22 [V39,T13] ( 3, 10 ) byref -> x0 "Inline stloc first use temp" +; V40 tmp23 [V40,T14] ( 3, 10 ) ref -> x2 class-hnd "Inline return value spill temp" ; V41 tmp24 [V41,T00] ( 6,268 ) ref -> x2 class-hnd "Inlining Arg" -; V42 tmp25 [V42 ] ( 1, 2 ) int -> [fp+0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" -; V43 tmp26 [V43,T26] ( 3, 6 ) ref -> x2 class-hnd "Inline stloc first use temp" -; V44 tmp27 [V44,T16] ( 4, 8 ) int -> x0 "Inline stloc first use temp" +; V42 tmp25 [V42 ] ( 1, 2 ) int -> [fp+0x40] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" +; V43 tmp26 [V43,T25] ( 3, 6 ) ref -> x2 class-hnd "Inline stloc first use temp" +; V44 tmp27 [V44,T15] ( 4, 8 ) int -> x0 "Inline stloc first use temp" ;* V45 tmp28 [V45 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr" -;* V46 tmp29 [V46,T50] ( 0, 0 ) int -> zero-ref "spilling unroll qmark" +;* V46 tmp29 [V46,T49] ( 0, 0 ) int -> zero-ref "spilling unroll qmark" ;* V47 tmp30 [V47 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr" -;* V48 tmp31 [V48,T51] ( 0, 0 ) int -> zero-ref "spilling unroll qmark" +;* V48 tmp31 [V48,T50] ( 0, 0 ) int -> zero-ref "spilling unroll qmark" ;* V49 tmp32 [V49 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr" -;* V50 tmp33 [V50,T52] ( 0, 0 ) int -> zero-ref "spilling unroll qmark" -; V51 tmp34 [V51,T33] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" +;* V50 tmp33 [V50,T51] ( 0, 0 ) int -> zero-ref "spilling unroll qmark" +; V51 tmp34 [V51,T32] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" ; V52 tmp35 [V52,T06] ( 11, 13 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" -;* V53 tmp36 [V53,T55] ( 0, 0 ) ref -> zero-ref single-def -; V54 tmp37 [V54,T42] ( 4, 2.75) ref -> x15 -; V55 tmp38 [V55,T34] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Inlining Arg" -; V56 tmp39 [V56,T17] ( 2, 8 ) ref -> x1 "field V34._name (fldOffset=0x0)" P-INDEP -; V57 tmp40 [V57,T18] ( 2, 8 ) ref -> x2 "field V34._parent (fldOffset=0x8)" P-INDEP +;* V53 tmp36 [V53,T54] ( 0, 0 ) ref -> zero-ref single-def +; V54 tmp37 [V54,T41] ( 4, 2.75) ref -> x15 +; V55 tmp38 [V55,T33] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Inlining Arg" +; V56 tmp39 [V56,T16] ( 2, 8 ) ref -> x1 "field V34._name (fldOffset=0x0)" P-INDEP +; V57 tmp40 [V57,T17] ( 2, 8 ) ref -> x2 "field V34._parent (fldOffset=0x8)" P-INDEP ;* V58 tmp41 [V58 ] ( 0, 0 ) ref -> zero-ref "field V38._name (fldOffset=0x0)" P-INDEP ;* V59 tmp42 [V59 ] ( 0, 0 ) ref -> zero-ref "field V38._parent (fldOffset=0x8)" P-INDEP -; V60 tmp43 [V60,T27] ( 3, 6 ) ref -> x0 single-def "arr expr" -; V61 tmp44 [V61,T40] ( 3, 3 ) ref -> x0 single-def "argument with side effect" -; V62 PSPSym [V62,T56] ( 1, 1 ) long -> [fp+0x58] do-not-enreg[V] "PSPSym" -; V63 cse0 [V63,T12] ( 8, 10 ) long -> x27 "CSE #05: moderate" -; V64 cse1 [V64,T03] ( 6, 21 ) long -> [fp+0x40] multi-def "CSE #06: aggressive" -; V65 cse2 [V65,T39] ( 4, 3 ) long -> x26 "CSE #04: moderate" -; V66 rat0 [V66,T38] ( 4, 3.50) ref -> x24 "replacement local" -; V67 rat1 [V67,T54] ( 3, 1 ) long -> x0 "CSE for expectedClsNode" -; V68 rat2 [V68,T48] ( 2, 2 ) long -> x0 "Spilling to split statement for tree" -; V69 rat3 [V69,T28] ( 3, 5.67) int -> x1 "ReplaceWithLclVar is creating a new local variable" +; V60 tmp43 [V60,T26] ( 3, 6 ) ref -> x0 single-def "arr expr" +; V61 tmp44 [V61,T39] ( 3, 3 ) ref -> x0 single-def "argument with side effect" +; V62 PSPSym [V62,T55] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[V] "PSPSym" +; V63 cse0 [V63,T03] ( 6, 21 ) long -> [fp+0x38] multi-def "CSE #06: aggressive" +; V64 cse1 [V64,T38] ( 4, 3 ) long -> x26 "CSE #04: moderate" +; V65 rat0 [V65,T37] ( 4, 3.50) ref -> x24 "replacement local" +; V66 rat1 [V66,T53] ( 3, 1 ) long -> x0 "CSE for expectedClsNode" +; V67 rat2 [V67,T47] ( 2, 2 ) long -> x0 "Spilling to split statement for tree" +; V68 rat3 [V68,T27] ( 3, 5.67) int -> x26 "ReplaceWithLclVar is creating a new local variable" ; -; Lcl frame size = 80 +; Lcl frame size = 64 G_M49301_IG01: - stp fp, lr, [sp, #-0xB0]! - stp x19, x20, [sp, #0x60] - stp x21, x22, [sp, #0x70] - stp x23, x24, [sp, #0x80] - stp x25, x26, [sp, #0x90] - stp x27, x28, [sp, #0xA0] + stp fp, lr, [sp, #-0xA0]! + stp x19, x20, [sp, #0x50] + stp x21, x22, [sp, #0x60] + stp x23, x24, [sp, #0x70] + stp x25, x26, [sp, #0x80] + stp x27, x28, [sp, #0x90] mov fp, sp - add x4, sp, #176 - str x4, [fp, #0x58] // [V62 PSPSym] + add x4, sp, #160 + str x4, [fp, #0x48] // [V62 PSPSym] mov x19, x0 mov x21, x1 mov x20, x2 mov w22, w3 ;; size=52 bbWeight=1 PerfScore 10.00 G_M49301_IG02: mov x0, x19 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Syntax.NameManager:Add(System.String):Microsoft.CSharp.RuntimeBinder.Syntax.Name movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x23, x0 ldr x1, [x20, #0x08] cbnz x1, G_M49301_IG09 ;; size=36 bbWeight=1 PerfScore 10.50 G_M49301_IG03: mov x24, x1 cbz x24, G_M49301_IG05 ;; size=8 bbWeight=0.50 PerfScore 0.75 G_M49301_IG04: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x2, [x24] cmp x2, x0 bne G_M49301_IG58 ;; size=24 bbWeight=0.25 PerfScore 1.50 G_M49301_IG05: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x25, x0 movz x26, #0xD1FFAB1E movk x26, #0xD1FFAB1E LSL #16 movk x26, #0xD1FFAB1E LSL #32 add x0, x26, #0xD1FFAB1E movz x14, #0xD1FFAB1E movk x14, #0xD1FFAB1E LSL #16 movk x14, #0xD1FFAB1E LSL #32 ldr w14, [x14] tbz w14, #0, G_M49301_IG52 ;; size=56 bbWeight=1 PerfScore 10.50 G_M49301_IG06: - movz x27, #0xD1FFAB1E // data for System.Collections.Generic.EqualityComparer`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]:k__BackingField - movk x27, #0xD1FFAB1E LSL #16 - movk x27, #0xD1FFAB1E LSL #32 - ldr x15, [x27] + movz x14, #0xD1FFAB1E // data for System.Collections.Generic.EqualityComparer`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]:k__BackingField + movk x14, #0xD1FFAB1E LSL #32 + ldr x15, [x14] add x14, x25, #24 bl CORINFO_HELP_ASSIGN_REF mov x0, x26 bl CORINFO_HELP_NEWSFAST - mov x28, x0 + mov x27, x0 movz x14, #0xD1FFAB1E movk x14, #0xD1FFAB1E LSL #16 movk x14, #0xD1FFAB1E LSL #32 ldr w14, [x14] tbz w14, #0, G_M49301_IG53 - ;; size=56 bbWeight=1 PerfScore 13.50 + ;; size=52 bbWeight=1 PerfScore 13.00 G_M49301_IG07: - ldr x15, [x27, #-0x18] - add x14, x28, #8 + movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]:s_emptyArray + movk x14, #0xD1FFAB1E LSL #32 + ldr x15, [x14] + add x14, x27, #8 bl CORINFO_HELP_ASSIGN_REF - mov x26, #32 - sub w1, w22, #5 - cmp w1, #4 + mov x28, #32 + sub w26, w22, #5 + cmp w26, #4 bhi G_M49301_IG14 - ;; size=28 bbWeight=1 PerfScore 7.00 + ;; size=36 bbWeight=1 PerfScore 8.00 G_M49301_IG08: - mov w0, w1 + mov w0, w26 adr x1, [@RWD00] ldr w1, [x1, x0, LSL #2] adr x2, [G_M49301_IG02] add x1, x1, x2 br x1 ;; size=24 bbWeight=0.83 PerfScore 5.00 G_M49301_IG09: ldr x0, [x1] movz x2, #0xD1FFAB1E movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 cmp x0, x2 beq G_M49301_IG11 ldr x0, [x1] movz x2, #0xD1FFAB1E movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 cmp x0, x2 bne G_M49301_IG03 ;; size=48 bbWeight=0.25 PerfScore 3.00 G_M49301_IG10: mov x0, x1 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.NullableType:GetAts():Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x24, x0 b G_M49301_IG05 align [0 bytes for IG22] align [0 bytes] align [0 bytes] align [0 bytes] ;; size=32 bbWeight=0.50 PerfScore 3.75 G_M49301_IG11: mov w0, #19 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypes:GetPredefinedAggregate(uint):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol:getThisType():Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] ldr wzr, [x0] blr x1 mov x24, x0 b G_M49301_IG05 ;; size=56 bbWeight=0.50 PerfScore 8.00 G_M49301_IG12: - mov x26, #64 + mov x28, #64 b G_M49301_IG14 ;; size=8 bbWeight=0.50 PerfScore 0.75 G_M49301_IG13: - mov x26, #32 + mov x28, #32 ;; size=4 bbWeight=0.50 PerfScore 0.25 G_M49301_IG14: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr w0, [x0] tbz w0, #0, G_M49301_IG54 ;; size=20 bbWeight=1 PerfScore 5.50 G_M49301_IG15: - ldr x0, [x27, #-0x50] + movz x0, #0xD1FFAB1E // data for Microsoft.CSharp.RuntimeBinder.Syntax.NameManager:s_predefinedNames + movk x0, #0xD1FFAB1E LSL #32 + ldr x0, [x0] ldr w1, [x0, #0x08] cmp w1, #0 bls G_M49301_IG59 ldr x0, [x0, #0x10] cmp x23, x0 - cset x1, eq - str w1, [fp, #0x54] // [V10 loc6] + cset x26, eq ldrsb wzr, [x24] movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST - str x0, [fp, #0x28] // [V29 tmp12] + str x0, [fp, #0x20] // [V29 tmp12] movn w1, #1 str w1, [x0, #0x28] bl System.Environment:get_CurrentManagedThreadId():int - ldr x1, [fp, #0x28] // [V29 tmp12] + ldr x1, [fp, #0x20] // [V29 tmp12] str w0, [x1, #0x2C] add x14, x1, #16 mov x15, x24 bl CORINFO_HELP_ASSIGN_REF mov x0, x1 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType+d__17:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType]:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 - str x0, [fp, #0x38] // [V15 loc11] - ;; size=116 bbWeight=1 PerfScore 33.50 + str x0, [fp, #0x30] // [V15 loc11] + ;; size=120 bbWeight=1 PerfScore 33.50 G_M49301_IG16: - ldr x0, [fp, #0x38] // [V15 loc11] + ldr x0, [fp, #0x30] // [V15 loc11] movz x1, #0xD1FFAB1E // code for System.Collections.IEnumerator:MoveNext():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 - str x1, [fp, #0x40] // [V64 cse1] + str x1, [fp, #0x38] // [V63 cse0] mov x11, x1 ldr xip0, [x11] blr xip0 cbz w0, G_M49301_IG30 ;; size=36 bbWeight=8 PerfScore 80.00 G_M49301_IG17: - ldp x0, x1, [fp, #0x38] // [V15 loc11], [V64 cse1] + ldp x0, x1, [fp, #0x30] // [V15 loc11], [V63 cse0] add x11, x1, #8 ldr xip0, [x11] blr xip0 mov x1, x0 - str x1, [fp, #0x30] // [V16 loc12] + str x1, [fp, #0x28] // [V16 loc12] ldr x2, [x1, #0x30] - str x2, [fp, #0x20] // [V30 tmp13] + str x2, [fp, #0x18] // [V30 tmp13] mov x0, x19 cbnz x0, G_M49301_IG19 ;; size=40 bbWeight=4 PerfScore 58.00 G_M49301_IG18: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ;; size=12 bbWeight=2 PerfScore 3.00 G_M49301_IG19: movz x3, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Syntax.NameManager:Add(System.String):Microsoft.CSharp.RuntimeBinder.Syntax.Name movk x3, #0xD1FFAB1E LSL #16 movk x3, #0xD1FFAB1E LSL #32 ldr x3, [x3] blr x3 mov x1, x0 - str x1, [fp, #0x18] // [V32 tmp15] + str x1, [fp, #0x10] // [V32 tmp15] movz x2, #0xD1FFAB1E movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr w2, [x2] tbz w2, #0, G_M49301_IG29 ;; size=48 bbWeight=4 PerfScore 50.00 G_M49301_IG20: - ldr x0, [x27, #0x08] - ldr x2, [fp, #0x20] // [V30 tmp13] + movz x2, #0xD1FFAB1E // data for Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore:s_dictionary + movk x2, #0xD1FFAB1E LSL #32 + ldr x0, [x2] + ldr x2, [fp, #0x18] // [V30 tmp13] ldrsb wzr, [x0] movz x3, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore+Key,System.__Canon]:FindValue(Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore+Key):byref:this movk x3, #0xD1FFAB1E LSL #16 movk x3, #0xD1FFAB1E LSL #32 ldr x3, [x3] blr x3 cbz x0, G_M49301_IG28 - ;; size=36 bbWeight=4 PerfScore 58.00 + ;; size=44 bbWeight=4 PerfScore 62.00 G_M49301_IG21: ldr x2, [x0] ;; size=4 bbWeight=2 PerfScore 6.00 G_M49301_IG22: ldr w0, [x2, #0x28] mov w1, #1 lsl w0, w1, w0 sxtw x0, w0 - tst x26, x0 + tst x28, x0 beq G_M49301_IG24 ;; size=24 bbWeight=32 PerfScore 192.00 G_M49301_IG23: b G_M49301_IG26 ;; size=4 bbWeight=4 PerfScore 4.00 G_M49301_IG24: ldr x2, [x2, #0x20] cbnz x2, G_M49301_IG22 ;; size=8 bbWeight=32 PerfScore 128.00 G_M49301_IG25: mov x2, xzr ;; size=4 bbWeight=4 PerfScore 2.00 G_M49301_IG26: cbz x2, G_M49301_IG28 - add x2, fp, #72 // [V42 tmp25] + add x2, fp, #64 // [V42 tmp25] mov x0, x25 - ldr x1, [fp, #0x30] // [V16 loc12] + ldr x1, [fp, #0x28] // [V16 loc12] movz x3, #0xD1FFAB1E // code for System.Collections.Generic.HashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this movk x3, #0xD1FFAB1E LSL #16 movk x3, #0xD1FFAB1E LSL #32 ldr x3, [x3] blr x3 cbz w0, G_M49301_IG28 - ldp w0, w1, [x28, #0x10] + ldp w0, w1, [x27, #0x10] add w1, w1, #1 - str w1, [x28, #0x14] - ldr x2, [x28, #0x08] + str w1, [x27, #0x14] + ldr x2, [x27, #0x08] ldr w1, [x2, #0x08] cmp w1, w0 bls G_M49301_IG27 add w1, w0, #1 - str w1, [x28, #0x10] + str w1, [x27, #0x10] sxtw x1, w0 mov x0, x2 - ldr x2, [fp, #0x30] // [V16 loc12] + ldr x2, [fp, #0x28] // [V16 loc12] movz x3, #0xD1FFAB1E // code for CORINFO_HELP_ARRADDR_ST movk x3, #0xD1FFAB1E LSL #16 movk x3, #0xD1FFAB1E LSL #32 ldr x3, [x3] blr x3 b G_M49301_IG28 ;; size=112 bbWeight=2 PerfScore 67.00 G_M49301_IG27: - mov x0, x28 - ldr x1, [fp, #0x30] // [V16 loc12] + mov x0, x27 + ldr x1, [fp, #0x28] // [V16 loc12] movz x2, #0xD1FFAB1E // code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ;; size=28 bbWeight=2 PerfScore 16.00 G_M49301_IG28: - ldr w1, [fp, #0x54] // [V10 loc6] - cbz w1, G_M49301_IG16 + cbz w26, G_M49301_IG16 b G_M49301_IG30 - ;; size=12 bbWeight=4 PerfScore 16.00 + ;; size=8 bbWeight=4 PerfScore 8.00 G_M49301_IG29: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_GET_GCSTATIC_BASE - ldr x1, [fp, #0x18] // [V32 tmp15] + ldr x1, [fp, #0x10] // [V32 tmp15] b G_M49301_IG20 ;; size=24 bbWeight=0 PerfScore 0.00 G_M49301_IG30: - ldp x0, x25, [fp, #0x38] // [V15 loc11], [V64 cse1] + ldp x0, x25, [fp, #0x30] // [V15 loc11], [V63 cse0] add x11, x25, #16 ldr xip0, [x11] blr xip0 mov w25, #0xD1FFAB1E cbz x19, G_M49301_IG40 ;; size=24 bbWeight=1 PerfScore 9.00 G_M49301_IG31: ldr w0, [x19, #0x08] cmp w0, #6 bne G_M49301_IG34 ;; size=12 bbWeight=0.25 PerfScore 1.12 G_M49301_IG32: ldr x0, [x19, #0x0C] movz x1, #73 movk x1, #110 LSL #16 movk x1, #118 LSL #32 movk x1, #111 LSL #48 eor x0, x0, x1 ldr w1, [x19, #0x14] movz w2, #107 movk w2, #101 LSL #16 eor w1, w1, w2 mov w1, w1 orr x0, x0, x1 cbnz x0, G_M49301_IG34 ;; size=52 bbWeight=0.12 PerfScore 1.50 G_M49301_IG33: ldr x0, [x20, #0x08] ldr x1, [x0] ldr x1, [x1, #0x48] ldr x1, [x1, #0x10] blr x1 mov w1, #0xD1FFAB1E cmp w0, #0 csel w25, w25, w1, eq ;; size=32 bbWeight=0.50 PerfScore 7.25 G_M49301_IG34: ldr w0, [x19, #0x08] cmp w0, #5 bne G_M49301_IG37 ;; size=12 bbWeight=0.25 PerfScore 1.12 G_M49301_IG35: ldr x0, [x19, #0x0C] movz x1, #46 movk x1, #99 LSL #16 movk x1, #116 LSL #32 movk x1, #111 LSL #48 eor x0, x0, x1 ldr w1, [x19, #0x12] movz w2, #111 movk w2, #114 LSL #16 eor w1, w1, w2 mov w1, w1 orr x0, x0, x1 cbnz x0, G_M49301_IG37 ;; size=52 bbWeight=0.12 PerfScore 1.50 G_M49301_IG36: orr w25, w25, #2 ;; size=4 bbWeight=0.50 PerfScore 0.25 G_M49301_IG37: ldr w0, [x19, #0x08] cmp w0, #6 bne G_M49301_IG40 ;; size=12 bbWeight=0.25 PerfScore 1.12 G_M49301_IG38: ldr x0, [x19, #0x0C] movz x1, #36 movk x1, #73 LSL #16 movk x1, #116 LSL #32 movk x1, #101 LSL #48 eor x0, x0, x1 ldr w1, [x19, #0x14] movz w2, #109 movk w2, #36 LSL #16 eor w1, w1, w2 mov w1, w1 orr x0, x0, x1 cbnz x0, G_M49301_IG40 ;; size=52 bbWeight=0.12 PerfScore 1.50 G_M49301_IG39: orr w25, w25, #4 ;; size=4 bbWeight=0.50 PerfScore 0.25 G_M49301_IG40: cbz x21, G_M49301_IG42 ;; size=4 bbWeight=1 PerfScore 1.00 G_M49301_IG41: ldr w0, [x21, #0x08] cbnz w0, G_M49301_IG50 ;; size=8 bbWeight=0.50 PerfScore 2.00 G_M49301_IG42: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr w0, [x0] tbz w0, #0, G_M49301_IG55 ;; size=20 bbWeight=0.50 PerfScore 2.75 G_M49301_IG43: - ldr x19, [x27, #-0x08] - ;; size=4 bbWeight=0.50 PerfScore 1.50 + movz x0, #0xD1FFAB1E // data for Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Empty + movk x0, #0xD1FFAB1E LSL #32 + ldr x19, [x0] + ;; size=12 bbWeight=0.50 PerfScore 2.00 G_M49301_IG44: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x21, x0 - mov x0, x28 + mov x0, x27 movz x1, #0xD1FFAB1E // code for System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Allocate(Microsoft.CSharp.RuntimeBinder.Semantics.CType[]):Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 add x14, x21, #16 mov x15, x23 bl CORINFO_HELP_ASSIGN_REF add x14, x21, #8 mov x15, x0 bl CORINFO_HELP_ASSIGN_REF movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x26, x0 movz x14, #0xD1FFAB1E movk x14, #0xD1FFAB1E LSL #16 movk x14, #0xD1FFAB1E LSL #32 ldr w14, [x14] tbz w14, #0, G_M49301_IG56 ;; size=128 bbWeight=1 PerfScore 27.00 G_M49301_IG45: - ldr x15, [x27, #0x10] + movz x14, #0xD1FFAB1E // data for Microsoft.CSharp.RuntimeBinder.Semantics.MethodGroupType:Instance + movk x14, #0xD1FFAB1E LSL #32 + ldr x15, [x14] mov w14, #22 str w14, [x26, #0x28] add x14, x26, #8 bl CORINFO_HELP_ASSIGN_REF str w25, [x26, #0x2C] add x14, x26, #56 mov x15, x23 bl CORINFO_HELP_ASSIGN_REF mov x15, x19 cbnz x15, G_M49301_IG48 - ;; size=44 bbWeight=1 PerfScore 10.50 + ;; size=52 bbWeight=1 PerfScore 11.50 G_M49301_IG46: movz x15, #0xD1FFAB1E movk x15, #0xD1FFAB1E LSL #16 movk x15, #0xD1FFAB1E LSL #32 ldr w14, [x15] tbz w14, #0, G_M49301_IG57 ;; size=20 bbWeight=0.50 PerfScore 2.75 G_M49301_IG47: - ldr x15, [x27, #-0x08] - ;; size=4 bbWeight=0.50 PerfScore 1.50 + movz x14, #0xD1FFAB1E // data for Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Empty + movk x14, #0xD1FFAB1E LSL #32 + ldr x15, [x14] + ;; size=12 bbWeight=0.50 PerfScore 2.00 G_M49301_IG48: add x14, x26, #64 bl CORINFO_HELP_ASSIGN_REF str w22, [x26, #0x60] add x14, x26, #88 mov x15, x24 bl CORINFO_HELP_ASSIGN_REF str xzr, [x26, #0x48] add x14, x26, #80 mov x15, x21 bl CORINFO_HELP_ASSIGN_REF mov x0, x26 ldr x14, [x20] movz x15, #0xD1FFAB1E movk x15, #0xD1FFAB1E LSL #16 movk x15, #0xD1FFAB1E LSL #32 cmp x14, x15 beq G_M49301_IG51 ;; size=68 bbWeight=0.25 PerfScore 3.50 G_M49301_IG49: add x14, x0, #72 mov x15, x20 bl CORINFO_HELP_ASSIGN_REF b G_M49301_IG51 ;; size=16 bbWeight=0.50 PerfScore 1.50 G_M49301_IG50: mov x0, x21 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.SymbolTable:GetCTypeArrayFromTypes(System.Type[]):Microsoft.CSharp.RuntimeBinder.Semantics.CType[] movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Allocate(Microsoft.CSharp.RuntimeBinder.Semantics.CType[]):Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 mov x19, x0 b G_M49301_IG44 ;; size=52 bbWeight=0.50 PerfScore 6.50 G_M49301_IG51: - ldp x27, x28, [sp, #0xA0] - ldp x25, x26, [sp, #0x90] - ldp x23, x24, [sp, #0x80] - ldp x21, x22, [sp, #0x70] - ldp x19, x20, [sp, #0x60] - ldp fp, lr, [sp], #0xB0 + ldp x27, x28, [sp, #0x90] + ldp x25, x26, [sp, #0x80] + ldp x23, x24, [sp, #0x70] + ldp x21, x22, [sp, #0x60] + ldp x19, x20, [sp, #0x50] + ldp fp, lr, [sp], #0xA0 ret lr ;; size=28 bbWeight=1 PerfScore 7.00 G_M49301_IG52: bl CORINFO_HELP_GET_GCSTATIC_BASE b G_M49301_IG06 ;; size=8 bbWeight=0 PerfScore 0.00 G_M49301_IG53: mov x0, x26 bl CORINFO_HELP_GET_GCSTATIC_BASE b G_M49301_IG07 ;; size=12 bbWeight=0 PerfScore 0.00 G_M49301_IG54: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_GET_GCSTATIC_BASE b G_M49301_IG15 ;; size=20 bbWeight=0 PerfScore 0.00 G_M49301_IG55: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_GET_GCSTATIC_BASE b G_M49301_IG43 ;; size=20 bbWeight=0 PerfScore 0.00 G_M49301_IG56: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_GET_GCSTATIC_BASE b G_M49301_IG45 ;; size=20 bbWeight=0 PerfScore 0.00 G_M49301_IG57: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_GET_GCSTATIC_BASE b G_M49301_IG47 ;; size=20 bbWeight=0 PerfScore 0.00 G_M49301_IG58: movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 brk_unix #0 ;; size=24 bbWeight=0 PerfScore 0.00 G_M49301_IG59: bl CORINFO_HELP_RNGCHKFAIL brk_unix #0 ;; size=8 bbWeight=0 PerfScore 0.00 G_M49301_IG60: stp fp, lr, [sp, #-0x70]! stp x19, x20, [sp, #0x20] stp x21, x22, [sp, #0x30] stp x23, x24, [sp, #0x40] stp x25, x26, [sp, #0x50] stp x27, x28, [sp, #0x60] - add x3, fp, #176 + add x3, fp, #160 str x3, [sp, #0x18] ;; size=32 bbWeight=0 PerfScore 0.00 G_M49301_IG61: - ldr x0, [fp, #0x38] // [V15 loc11] + ldr x0, [fp, #0x30] // [V15 loc11] cbz x0, G_M49301_IG62 movz x25, #0xD1FFAB1E movk x25, #0xD1FFAB1E LSL #16 movk x25, #0xD1FFAB1E LSL #32 add x11, x25, #16 ldr xip0, [x11] blr xip0 ;; size=32 bbWeight=0 PerfScore 0.00 G_M49301_IG62: ldp x27, x28, [sp, #0x60] ldp x25, x26, [sp, #0x50] ldp x23, x24, [sp, #0x40] ldp x21, x22, [sp, #0x30] ldp x19, x20, [sp, #0x20] ldp fp, lr, [sp], #0x70 ret lr ;; size=28 bbWeight=0 PerfScore 0.00 RWD00 dd G_M49301_IG13 - G_M49301_IG02 dd G_M49301_IG12 - G_M49301_IG02 dd G_M49301_IG14 - G_M49301_IG02 dd G_M49301_IG14 - G_M49301_IG02 dd G_M49301_IG12 - G_M49301_IG02 -; Total bytes of code 1836, prolog size 52, PerfScore 885.62, instruction count 463, allocated bytes for code 1836 (MethodHash=83463f6a) for method Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts) +; Total bytes of code 1872, prolog size 52, PerfScore 884.12, instruction count 472, allocated bytes for code 1872 (MethodHash=83463f6a) for method Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts) ```
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> x0 single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> x0 single-def ;* V01 arg0 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def ; V02 arg1 [V02,T01] ( 3, 2 ) ref -> x3 class-hnd single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ; V10 tmp7 [V10,T02] ( 1, 1 ) long -> x1 single-def "field V01._lower (fldOffset=0x0)" P-INDEP ; V11 tmp8 [V11,T03] ( 1, 1 ) long -> x2 single-def "field V01._upper (fldOffset=0x8)" P-INDEP -;* V12 tmp9 [V12 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V12 tmp9 [V12,T04] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V13 tmp10 [V13 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V14 rat0 [V14,T05] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V15 rat1 [V15,T06] ( 2, 0 ) long -> x0 "fgMakeTemp is creating a new local variable" +;* V16 rat2 [V16,T08] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V17 rat3 [V17,T07] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M23152_IG01: - stp fp, lr, [sp, #-0x10]! + stp fp, lr, [sp, #-0x20]! mov fp, sp - ;; size=8 bbWeight=0 PerfScore 0.00 + str x0, [fp, #0x18] + ;; size=12 bbWeight=0 PerfScore 0.00 G_M23152_IG02: + ldr x0, [x0, #0x30] + ldr x0, [x0] + ldr x0, [x0, #0xA0] + cbz x0, G_M23152_IG03 + b G_M23152_IG03 + ;; size=20 bbWeight=0 PerfScore 0.00 +G_M23152_IG03: ldr wzr, [x3, #0x08] mov w0, #67 movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowNotSupportedException(int) movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 brk_unix #0 ;; size=32 bbWeight=0 PerfScore 0.00 -; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=fb03a58f) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts) +; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=fb03a58f) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts) ```
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> x0 single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> x0 single-def ; V01 arg0 [V01,T01] ( 3, 2 ) ref -> x1 class-hnd single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" ;* V05 tmp3 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V06 tmp4 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp5 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp6 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp7 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V10 tmp8 [V10 ] ( 0, 0 ) long -> zero-ref "field V04._lower (fldOffset=0x0)" P-DEP ;* V11 tmp9 [V11 ] ( 0, 0 ) long -> zero-ref "field V04._upper (fldOffset=0x8)" P-DEP -;* V12 tmp10 [V12 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V12 tmp10 [V12,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V13 tmp11 [V13 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local" +;* V14 rat0 [V14,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V15 rat1 [V15,T04] ( 2, 0 ) long -> x0 "fgMakeTemp is creating a new local variable" +;* V16 rat2 [V16,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V17 rat3 [V17,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M59324_IG01: - stp fp, lr, [sp, #-0x10]! + stp fp, lr, [sp, #-0x20]! mov fp, sp - ;; size=8 bbWeight=0 PerfScore 0.00 + str x0, [fp, #0x18] + ;; size=12 bbWeight=0 PerfScore 0.00 G_M59324_IG02: + ldr x0, [x0, #0x30] + ldr x0, [x0] + ldr x0, [x0, #0xB8] + cbz x0, G_M59324_IG03 + b G_M59324_IG03 + ;; size=20 bbWeight=0 PerfScore 0.00 +G_M59324_IG03: ldr wzr, [x1, #0x08] mov w0, #67 movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowNotSupportedException(int) movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 brk_unix #0 ;; size=32 bbWeight=0 PerfScore 0.00 -; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=ec911843) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) +; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=ec911843) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) ```
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; -; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> x0 single-def +; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> x0 single-def ;* V01 arg0 [V01 ] ( 0, 0 ) byref -> zero-ref single-def ; V02 arg1 [V02,T01] ( 3, 2 ) ref -> x2 class-hnd single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V12 rat1 [V12,T04] ( 2, 0 ) long -> x0 "fgMakeTemp is creating a new local variable" +;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M9626_IG01: - stp fp, lr, [sp, #-0x10]! + stp fp, lr, [sp, #-0x20]! mov fp, sp - ;; size=8 bbWeight=0 PerfScore 0.00 + str x0, [fp, #0x18] + ;; size=12 bbWeight=0 PerfScore 0.00 G_M9626_IG02: + ldr x0, [x0, #0x30] + ldr x0, [x0] + ldr x0, [x0, #0x98] + cbz x0, G_M9626_IG03 + b G_M9626_IG03 + ;; size=20 bbWeight=0 PerfScore 0.00 +G_M9626_IG03: ldr wzr, [x2, #0x08] mov w0, #67 movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowNotSupportedException(int) movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 brk_unix #0 ;; size=32 bbWeight=0 PerfScore 0.00 -; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=57a4da65) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts) +; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=57a4da65) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts) ```
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] ```diff ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def -; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> x0 single-def +; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> x0 single-def ; V02 arg0 [V02,T01] ( 3, 2 ) ref -> x1 class-hnd single-def ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V04 loc1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" +;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect" +;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup" +; V12 rat1 [V12,T04] ( 2, 0 ) long -> x0 "fgMakeTemp is creating a new local variable" +;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup" +;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable" ; -; Lcl frame size = 0 +; Lcl frame size = 16 G_M1942_IG01: - stp fp, lr, [sp, #-0x10]! + stp fp, lr, [sp, #-0x20]! mov fp, sp - ;; size=8 bbWeight=0 PerfScore 0.00 + str x0, [fp, #0x18] + ;; size=12 bbWeight=0 PerfScore 0.00 G_M1942_IG02: + ldr x0, [x0, #0x30] + ldr x0, [x0] + ldr x0, [x0, #0xB0] + cbz x0, G_M1942_IG03 + b G_M1942_IG03 + ;; size=20 bbWeight=0 PerfScore 0.00 +G_M1942_IG03: ldr wzr, [x1, #0x08] mov w0, #67 movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowNotSupportedException(int) movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 brk_unix #0 ;; size=32 bbWeight=0 PerfScore 0.00 -; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=f020f869) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) +; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=f020f869) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) ```

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

MihuBot commented 1 month ago

Top method improvements

-64 (-2.66 % of base) - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetStandardAndLiftedBinopSignatures(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):ubyte:this ```diff ; Assembly listing for method Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetStandardAndLiftedBinopSignatures(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):ubyte:this (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Unix ; FullOpts code ; optimized code ; fp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 65 single block inlinees; 3 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T11] ( 10, 46 ) byref -> x20 this single-def ; V01 arg1 [V01,T19] ( 20, 29 ) ref -> x21 class-hnd single-def ; V02 arg2 [V02,T06] ( 15, 72 ) ref -> x19 class-hnd single-def ; V03 loc0 [V03,T21] ( 6, 24.25) int -> x22 ; V04 loc1 [V04,T10] ( 13, 48.25) int -> x23 -; V05 loc2 [V05,T05] ( 21, 74 ) ref -> x25 class-hnd -; V06 loc3 [V06,T22] ( 11, 22 ) ref -> x26 class-hnd -; V07 loc4 [V07,T04] ( 11, 78 ) ref -> x27 class-hnd -; V08 loc5 [V08,T49] ( 2, 4 ) int -> x28 -; V09 loc6 [V09,T47] ( 3, 6 ) int -> [fp+0x7C] -; V10 loc7 [V10,T20] ( 9, 30 ) int -> [fp+0x78] -; V11 loc8 [V11,T30] ( 5, 10 ) ref -> x28 class-hnd exact +; V05 loc2 [V05,T05] ( 21, 74 ) ref -> x24 class-hnd +; V06 loc3 [V06,T22] ( 11, 22 ) ref -> x25 class-hnd +; V07 loc4 [V07,T04] ( 11, 78 ) ref -> x26 class-hnd +; V08 loc5 [V08,T49] ( 2, 4 ) int -> x27 +; V09 loc6 [V09,T48] ( 3, 6 ) int -> x28 +; V10 loc7 [V10,T20] ( 9, 30 ) int -> [fp+0x6C] +; V11 loc8 [V11,T30] ( 5, 10 ) ref -> x27 class-hnd exact ;* V12 loc9 [V12 ] ( 0, 0 ) int -> zero-ref ;* V13 loc10 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact -; V14 loc11 [V14,T31] ( 5, 10 ) ref -> [fp+0x68] class-hnd exact +; V14 loc11 [V14,T31] ( 5, 10 ) ref -> x28 class-hnd exact ;# V15 OutArgs [V15 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V16 tmp1 [V16,T26] ( 4, 14 ) ref -> x28 "ISINST eval op1" +; V16 tmp1 [V16,T26] ( 4, 14 ) ref -> x27 "ISINST eval op1" ;* V17 tmp2 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" -; V18 tmp3 [V18,T27] ( 4, 14 ) ref -> x1 "ISINST eval op1" +; V18 tmp3 [V18,T27] ( 4, 14 ) ref -> x28 "ISINST eval op1" ;* V19 tmp4 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" -; V20 tmp5 [V20,T24] ( 4, 16 ) ref -> x26 class-hnd exact "NewObj constructor temp" +; V20 tmp5 [V20,T24] ( 4, 16 ) ref -> x25 class-hnd exact "NewObj constructor temp" ; V21 tmp6 [V21,T12] ( 10, 40 ) ref -> x1 class-hnd exact "NewObj constructor temp" -; V22 tmp7 [V22,T23] ( 6, 18 ) ref -> x28 class-hnd exact "NewObj constructor temp" +; V22 tmp7 [V22,T23] ( 6, 18 ) ref -> x27 class-hnd exact "NewObj constructor temp" ;* V23 tmp8 [V23 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V24 tmp9 [V24 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" -; V25 tmp10 [V25,T36] ( 2, 8 ) ref -> [fp+0x60] class-hnd spill-single-def "Inlining Arg" +; V25 tmp10 [V25,T36] ( 2, 8 ) ref -> [fp+0x58] class-hnd spill-single-def "Inlining Arg" ; V26 tmp11 [V26,T13] ( 9, 36 ) ref -> x0 class-hnd exact "NewObj constructor temp" ;* V27 tmp12 [V27 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inlining Arg" -; V28 tmp13 [V28,T37] ( 2, 8 ) ref -> [fp+0x58] class-hnd spill-single-def "Inlining Arg" +; V28 tmp13 [V28,T37] ( 2, 8 ) ref -> [fp+0x50] class-hnd spill-single-def "Inlining Arg" ; V29 tmp14 [V29,T14] ( 9, 36 ) ref -> x0 class-hnd exact "NewObj constructor temp" ;* V30 tmp15 [V30 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inlining Arg" -; V31 tmp16 [V31,T28] ( 3, 12 ) ref -> x28 class-hnd "Inlining Arg" -; V32 tmp17 [V32,T38] ( 2, 8 ) ref -> [fp+0x50] class-hnd spill-single-def "Inlining Arg" +; V31 tmp16 [V31,T28] ( 3, 12 ) ref -> x27 class-hnd "Inlining Arg" +; V32 tmp17 [V32,T38] ( 2, 8 ) ref -> [fp+0x48] class-hnd spill-single-def "Inlining Arg" ; V33 tmp18 [V33,T15] ( 9, 36 ) ref -> x0 class-hnd exact "NewObj constructor temp" ;* V34 tmp19 [V34 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inlining Arg" -; V35 tmp20 [V35,T29] ( 3, 12 ) ref -> [fp+0x48] class-hnd spill-single-def "Inlining Arg" -; V36 tmp21 [V36,T39] ( 2, 8 ) ref -> [fp+0x40] class-hnd spill-single-def "Inlining Arg" +; V35 tmp20 [V35,T29] ( 3, 12 ) ref -> [fp+0x40] class-hnd spill-single-def "Inlining Arg" +; V36 tmp21 [V36,T39] ( 2, 8 ) ref -> [fp+0x38] class-hnd spill-single-def "Inlining Arg" ; V37 tmp22 [V37,T16] ( 9, 36 ) ref -> x0 class-hnd exact "NewObj constructor temp" ;* V38 tmp23 [V38 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inlining Arg" ; V39 tmp24 [V39,T53] ( 3, 1.50) ref -> x14 class-hnd single-def "Inline stloc first use temp" ; V40 tmp25 [V40,T52] ( 4, 2 ) int -> x15 "Inline stloc first use temp" -; V41 tmp26 [V41,T40] ( 2, 8 ) ref -> [fp+0x38] class-hnd spill-single-def "Inlining Arg" +; V41 tmp26 [V41,T40] ( 2, 8 ) ref -> [fp+0x30] class-hnd spill-single-def "Inlining Arg" ; V42 tmp27 [V42,T17] ( 9, 36 ) ref -> x0 class-hnd exact "NewObj constructor temp" ;* V43 tmp28 [V43 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inlining Arg" -; V44 tmp29 [V44,T41] ( 2, 8 ) ref -> [fp+0x30] class-hnd spill-single-def "Inlining Arg" +; V44 tmp29 [V44,T41] ( 2, 8 ) ref -> [fp+0x28] class-hnd spill-single-def "Inlining Arg" ; V45 tmp30 [V45,T18] ( 9, 36 ) ref -> x0 class-hnd exact "NewObj constructor temp" ;* V46 tmp31 [V46 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inlining Arg" -; V47 tmp32 [V47,T02] ( 3, 96 ) ref -> [fp+0x28] class-hnd spill-single-def "Inlining Arg" +; V47 tmp32 [V47,T02] ( 3, 96 ) ref -> x28 class-hnd "Inlining Arg" ; V48 tmp33 [V48,T08] ( 2, 64 ) ref -> [fp+0x20] class-hnd spill-single-def "Inlining Arg" ; V49 tmp34 [V49,T00] ( 9,288 ) ref -> x0 class-hnd exact "NewObj constructor temp" ;* V50 tmp35 [V50 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inlining Arg" ; V51 tmp36 [V51,T03] ( 3, 96 ) ref -> [fp+0x18] class-hnd spill-single-def "Inlining Arg" ; V52 tmp37 [V52,T09] ( 2, 64 ) ref -> [fp+0x10] class-hnd spill-single-def "Inlining Arg" ; V53 tmp38 [V53,T01] ( 9,288 ) ref -> x0 class-hnd exact "NewObj constructor temp" ;* V54 tmp39 [V54 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inlining Arg" ; V55 tmp40 [V55,T42] ( 2, 8 ) ref -> x15 class-hnd exact "Inlining Arg" -; V56 tmp41 [V56,T43] ( 2, 8 ) int -> x0 "Inlining Arg" -; V57 tmp42 [V57,T44] ( 2, 8 ) int -> x2 "Inlining Arg" -; V58 tmp43 [V58,T45] ( 3, 6 ) ref -> x14 class-hnd "Inline stloc first use temp" +; V56 tmp41 [V56,T44] ( 2, 8 ) int -> x0 "Inlining Arg" +; V57 tmp42 [V57,T45] ( 2, 8 ) int -> x2 "Inlining Arg" +; V58 tmp43 [V58,T46] ( 3, 6 ) ref -> x14 class-hnd "Inline stloc first use temp" ; V59 tmp44 [V59,T34] ( 4, 8 ) int -> x15 "Inline stloc first use temp" -; V60 tmp45 [V60,T46] ( 3, 6 ) ref -> x14 class-hnd "Inline stloc first use temp" +; V60 tmp45 [V60,T47] ( 3, 6 ) ref -> x14 class-hnd "Inline stloc first use temp" ; V61 tmp46 [V61,T35] ( 4, 8 ) int -> x15 "Inline stloc first use temp" ; V62 tmp47 [V62,T25] ( 2, 16 ) ref -> x0 "arr expr" -; V63 cse0 [V63,T48] ( 2, 4.25) ref -> x24 hoist "CSE #02: moderate" +; V63 cse0 [V63,T43] ( 2, 8 ) ref -> x0 "CSE #11: moderate" ; V64 cse1 [V64,T54] ( 2, 1 ) int -> x12 "CSE #12: moderate" -; V65 cse2 [V65,T07] ( 12, 66 ) long -> [fp+0x70] multi-def "CSE #03: aggressive" -; V66 cse3 [V66,T50] ( 2, 4 ) int -> x12 "CSE #10: moderate" -; V67 cse4 [V67,T51] ( 2, 4 ) int -> x12 "CSE #11: moderate" -; V68 rat0 [V68,T32] ( 3, 11.33) int -> x3 "ReplaceWithLclVar is creating a new local variable" +; V65 cse2 [V65,T07] ( 12, 66 ) long -> [fp+0x60] multi-def "CSE #01: aggressive" +; V66 cse3 [V66,T50] ( 2, 4 ) int -> x12 "CSE #08: moderate" +; V67 cse4 [V67,T51] ( 2, 4 ) int -> x12 "CSE #09: moderate" +; V68 rat0 [V68,T32] ( 3, 11.33) int -> x2 "ReplaceWithLclVar is creating a new local variable" ; V69 rat1 [V69,T33] ( 3, 11.33) int -> registers "ReplaceWithLclVar is creating a new local variable" ; -; Lcl frame size = 112 +; Lcl frame size = 96 G_M24207_IG01: - stp fp, lr, [sp, #-0xD0]! - stp x19, x20, [sp, #0x80] - stp x21, x22, [sp, #0x90] - stp x23, x24, [sp, #0xA0] - stp x25, x26, [sp, #0xB0] - stp x27, x28, [sp, #0xC0] + stp fp, lr, [sp, #-0xC0]! + stp x19, x20, [sp, #0x70] + stp x21, x22, [sp, #0x80] + stp x23, x24, [sp, #0x90] + stp x25, x26, [sp, #0xA0] + stp x27, x28, [sp, #0xB0] mov fp, sp mov x20, x0 mov x21, x1 mov x19, x2 ;; size=40 bbWeight=0.25 PerfScore 2.00 G_M24207_IG02: mov w22, wzr mov w23, wzr + ;; size=8 bbWeight=0.25 PerfScore 0.25 +G_M24207_IG03: movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 - ldr x24, [x0] - ;; size=24 bbWeight=0.25 PerfScore 1.38 -G_M24207_IG03: - mov x0, x24 + ldr x0, [x0] cmp w23, #20 bhs G_M24207_IG34 add x0, x0, #16 - ldr x25, [x0, w23, UXTW #3] - ldr w0, [x25, #0x18] + ldr x24, [x0, w23, UXTW #3] + ldr w0, [x24, #0x18] ldr w1, [x19, #0x4C] tst w0, w1 beq G_M24207_IG28 - ;; size=36 bbWeight=4 PerfScore 52.00 + ;; size=44 bbWeight=4 PerfScore 66.00 G_M24207_IG04: - ldr w0, [x25, #0x10] + ldr w0, [x24, #0x10] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypes:GetPredefinedAggregate(uint):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol:getThisType():Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] ldr wzr, [x0] blr x1 - mov x26, x0 - ldr w0, [x25, #0x14] + mov x25, x0 + ldr w0, [x24, #0x14] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypes:GetPredefinedAggregate(uint):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol:getThisType():Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] ldr wzr, [x0] blr x1 - mov x27, x0 + mov x26, x0 + cbz x25, G_M24207_IG28 cbz x26, G_M24207_IG28 - cbz x27, G_M24207_IG28 ldr w0, [x19, #0x38] - ldr w1, [x25, #0x10] + ldr w1, [x24, #0x10] movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetConvKind(uint,uint):int movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 - sxtw w28, w0 + sxtw w27, w0 ldr w0, [x19, #0x3C] - ldr w1, [x25, #0x14] + ldr w1, [x24, #0x14] movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetConvKind(uint,uint):int movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 - sxtw w1, w0 - mov w2, wzr - sub w3, w28, #1 - cmp w3, #4 - stp w2, w1, [fp, #0x78] // [V10 loc7], [V09 loc6] + sxtw w28, w0 + mov w1, wzr + sub w2, w27, #1 + cmp w2, #4 + str w1, [fp, #0x6C] // [V10 loc7] bhi G_M24207_IG28 ;; size=196 bbWeight=2 PerfScore 129.00 G_M24207_IG05: - mov w0, w3 - adr x3, [@RWD00] - ldr w3, [x3, x0, LSL #2] - adr x4, [G_M24207_IG02] - add x3, x3, x4 - br x3 + mov w0, w2 + adr x2, [@RWD00] + ldr w2, [x2, x0, LSL #2] + adr x3, [G_M24207_IG02] + add x2, x2, x3 + br x2 ;; size=24 bbWeight=1.67 PerfScore 10.00 G_M24207_IG06: - ldr x28, [x19, #0x08] - ldr x3, [x28, #0x08] - str x3, [fp, #0x50] // [V32 tmp17] - movz x4, #0xD1FFAB1E - movk x4, #0xD1FFAB1E LSL #16 - movk x4, #0xD1FFAB1E LSL #32 - str x4, [fp, #0x70] // [V65 cse2] - mov x0, x4 + ldr x27, [x19, #0x08] + ldr x2, [x27, #0x08] + str x2, [fp, #0x48] // [V32 tmp17] + movz x3, #0xD1FFAB1E + movk x3, #0xD1FFAB1E LSL #16 + movk x3, #0xD1FFAB1E LSL #32 + str x3, [fp, #0x60] // [V65 cse2] + mov x0, x3 bl CORINFO_HELP_NEWSFAST add x14, x0, #48 mov x13, x20 bl CORINFO_HELP_ASSIGN_BYREF ldr x12, [x13], #0x08 str x12, [x14], #0x08 add x14, x0, #16 - mov x15, x28 + mov x15, x27 bl CORINFO_HELP_ASSIGN_REF add x14, x0, #24 - ldr x15, [fp, #0x50] // [V32 tmp17] + ldr x15, [fp, #0x48] // [V32 tmp17] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #32 - mov x15, x26 + mov x15, x25 bl CORINFO_HELP_ASSIGN_REF strb wzr, [x0, #0x2C] str wzr, [x0, #0x28] str xzr, [x0, #0x08] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ImplicitConversion:Bind():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 cbnz w0, G_M24207_IG08 cmp w23, w22 blt G_M24207_IG28 - ldr w1, [fp, #0x7C] // [V09 loc6] - ldr x28, [fp, #0x70] // [V65 cse2] - ldr w0, [x25, #0x20] - str w1, [fp, #0x7C] // [V09 loc6] + ldr x27, [fp, #0x60] // [V65 cse2] + ldr w0, [x24, #0x20] tbz w0, #1, G_M24207_IG28 - mov x0, x26 - movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 - mov x26, x0 + mov x0, x25 + movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType + movk x1, #0xD1FFAB1E LSL #16 + movk x1, #0xD1FFAB1E LSL #32 + ldr x1, [x1] + blr x1 + mov x25, x0 ldr x1, [x19, #0x08] - str x1, [fp, #0x48] // [V35 tmp20] + str x1, [fp, #0x40] // [V35 tmp20] ldr x2, [x1, #0x08] - str x2, [fp, #0x40] // [V36 tmp21] - mov x0, x28 + str x2, [fp, #0x38] // [V36 tmp21] + mov x0, x27 bl CORINFO_HELP_NEWSFAST add x14, x0, #48 mov x13, x20 bl CORINFO_HELP_ASSIGN_BYREF ldr x12, [x13], #0x08 str x12, [x14], #0x08 add x14, x0, #16 - ldr x15, [fp, #0x48] // [V35 tmp20] + ldr x15, [fp, #0x40] // [V35 tmp20] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #24 - ldr x15, [fp, #0x40] // [V36 tmp21] + ldr x15, [fp, #0x38] // [V36 tmp21] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #32 - mov x15, x26 + mov x15, x25 bl CORINFO_HELP_ASSIGN_REF strb wzr, [x0, #0x2C] str wzr, [x0, #0x28] str xzr, [x0, #0x08] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ImplicitConversion:Bind():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 cbz w0, G_M24207_IG28 - ldr w28, [fp, #0x7C] // [V09 loc6] ldr w0, [x19, #0x40] - ldr w1, [x25, #0x10] + ldr w1, [x24, #0x10] movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetConvKind(uint,uint):int movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 sub w0, w0, #1 cmp w0, #1 bls G_M24207_IG13 - ;; size=344 bbWeight=2 PerfScore 201.00 + ;; size=332 bbWeight=2 PerfScore 191.00 G_M24207_IG07: - mov w2, #4 - sxtw w1, w2 - stp w1, w28, [fp, #0x78] // [V10 loc7], [V09 loc6] + mov w1, #4 + sxtw w27, w1 + str w27, [fp, #0x6C] // [V10 loc7] ;; size=12 bbWeight=2 PerfScore 4.00 G_M24207_IG08: - ldr w1, [fp, #0x7C] // [V09 loc6] - sub w28, w1, #1 - cmp w28, #4 + sub w27, w28, #1 + cmp w27, #4 bhi G_M24207_IG28 - ;; size=16 bbWeight=2 PerfScore 8.00 + ;; size=12 bbWeight=2 PerfScore 4.00 G_M24207_IG09: - mov w0, w28 - ldr w28, [fp, #0x78] // [V10 loc7] + mov w0, w27 + ldr w27, [fp, #0x6C] // [V10 loc7] mov w0, w0 adr x1, [@RWD20] ldr w1, [x1, x0, LSL #2] adr x2, [G_M24207_IG02] add x1, x1, x2 br x1 ;; size=32 bbWeight=1.67 PerfScore 14.17 G_M24207_IG10: - ldr x28, [x19, #0x08] - cbz x28, G_M24207_IG28 + ldr x27, [x19, #0x08] + cbz x27, G_M24207_IG28 ;; size=8 bbWeight=2 PerfScore 8.00 G_M24207_IG11: - ldp w2, w1, [fp, #0x78] // [V10 loc7], [V09 loc6] - ldr x0, [x28] - movz x3, #0xD1FFAB1E - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - cmp x0, x3 - stp w2, w1, [fp, #0x78] // [V10 loc7], [V09 loc6] + ldr w1, [fp, #0x6C] // [V10 loc7] + ldr x0, [x27] + movz x2, #0xD1FFAB1E + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + cmp x0, x2 + str w1, [fp, #0x6C] // [V10 loc7] bne G_M24207_IG28 ;; size=32 bbWeight=1 PerfScore 9.00 G_M24207_IG12: - ldr x3, [x28, #0x08] - str x3, [fp, #0x60] // [V25 tmp10] + ldr x2, [x27, #0x08] + str x2, [fp, #0x58] // [V25 tmp10] movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 - mov x4, x0 - str x4, [fp, #0x70] // [V65 cse2] - mov x0, x4 + mov x3, x0 + str x3, [fp, #0x60] // [V65 cse2] + mov x0, x3 bl CORINFO_HELP_NEWSFAST add x14, x0, #48 mov x13, x20 bl CORINFO_HELP_ASSIGN_BYREF ldr x12, [x13], #0x08 str x12, [x14], #0x08 add x14, x0, #16 - mov x15, x28 + mov x15, x27 bl CORINFO_HELP_ASSIGN_REF add x14, x0, #24 - ldr x15, [fp, #0x60] // [V25 tmp10] + ldr x15, [fp, #0x58] // [V25 tmp10] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #32 - mov x15, x26 + mov x15, x25 bl CORINFO_HELP_ASSIGN_REF strb wzr, [x0, #0x2C] str wzr, [x0, #0x28] str xzr, [x0, #0x08] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ImplicitConversion:Bind():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 cbnz w0, G_M24207_IG08 cmp w23, w22 blt G_M24207_IG28 - ldr x1, [fp, #0x70] // [V65 cse2] - ldr w2, [fp, #0x7C] // [V09 loc6] - ldr w0, [x25, #0x20] - str x1, [fp, #0x70] // [V65 cse2] - str w2, [fp, #0x7C] // [V09 loc6] + ldr x1, [fp, #0x60] // [V65 cse2] + ldr w0, [x24, #0x20] + str x1, [fp, #0x60] // [V65 cse2] tbz w0, #1, G_M24207_IG28 - mov x0, x26 - movz x3, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - mov x26, x0 - ldr x1, [x28, #0x08] - str x1, [fp, #0x58] // [V28 tmp13] - ldr x0, [fp, #0x70] // [V65 cse2] + mov x0, x25 + movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + ldr x2, [x2] + blr x2 + mov x25, x0 + ldr x1, [x27, #0x08] + str x1, [fp, #0x50] // [V28 tmp13] + ldr x0, [fp, #0x60] // [V65 cse2] bl CORINFO_HELP_NEWSFAST add x14, x0, #48 mov x13, x20 bl CORINFO_HELP_ASSIGN_BYREF ldr x12, [x13], #0x08 str x12, [x14], #0x08 add x14, x0, #16 - mov x15, x28 + mov x15, x27 bl CORINFO_HELP_ASSIGN_REF add x14, x0, #24 - ldr x15, [fp, #0x58] // [V28 tmp13] + ldr x15, [fp, #0x50] // [V28 tmp13] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #32 - mov x15, x26 + mov x15, x25 bl CORINFO_HELP_ASSIGN_REF strb wzr, [x0, #0x2C] str wzr, [x0, #0x28] str xzr, [x0, #0x08] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ImplicitConversion:Bind():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 cbz w0, G_M24207_IG28 - ldr w28, [fp, #0x7C] // [V09 loc6] ldr w0, [x19, #0x40] - ldr w1, [x25, #0x10] + ldr w1, [x24, #0x10] movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetConvKind(uint,uint):int movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 sub w0, w0, #1 cmp w0, #1 bhi G_M24207_IG07 - ;; size=340 bbWeight=2 PerfScore 190.00 + ;; size=328 bbWeight=2 PerfScore 180.00 G_M24207_IG13: - mov w2, #1 - stp w2, w28, [fp, #0x78] // [V10 loc7], [V09 loc6] + mov w1, #1 + str w1, [fp, #0x6C] // [V10 loc7] b G_M24207_IG08 ;; size=12 bbWeight=2 PerfScore 5.00 G_M24207_IG14: - ldr w1, [fp, #0x7C] // [V09 loc6] - cmp w1, #1 - str w1, [fp, #0x7C] // [V09 loc6] + cmp w28, #1 bne G_M24207_IG08 movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST - mov x28, x0 - mov x1, x25 + mov x27, x0 + mov x1, x24 movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig:.ctor(Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpSig):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 - ldr x14, [x28, #0x28] + ldr x14, [x27, #0x28] cbz x14, G_M24207_IG08 - ldr x14, [x28, #0x30] + ldr x14, [x27, #0x30] cbz x14, G_M24207_IG08 - ;; size=76 bbWeight=2 PerfScore 43.00 + ;; size=68 bbWeight=2 PerfScore 37.00 G_M24207_IG15: ldp w15, w14, [x21, #0x10] add w14, w14, #1 str w14, [x21, #0x14] ldr x14, [x21, #0x08] ldr w12, [x14, #0x08] cmp w12, w15 bls G_M24207_IG31 add w12, w15, #1 str w12, [x21, #0x10] add x14, x14, #16 add x14, x14, x15, LSL #3 - mov x15, x28 + mov x15, x27 bl CORINFO_HELP_ASSIGN_REF b G_M24207_IG32 ;; size=56 bbWeight=0.50 PerfScore 8.75 G_M24207_IG16: - ldr x1, [x19, #0x10] - str x1, [fp, #0x28] // [V47 tmp32] - ldr x2, [x1, #0x08] - str x2, [fp, #0x20] // [V48 tmp33] + ldr x28, [x19, #0x10] + ldr x1, [x28, #0x08] + str x1, [fp, #0x20] // [V48 tmp33] movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 - mov x3, x0 - str x3, [fp, #0x70] // [V65 cse2] - mov x0, x3 + mov x2, x0 + str x2, [fp, #0x60] // [V65 cse2] + mov x0, x2 bl CORINFO_HELP_NEWSFAST add x14, x0, #48 mov x13, x20 bl CORINFO_HELP_ASSIGN_BYREF ldr x12, [x13], #0x08 str x12, [x14], #0x08 add x14, x0, #16 - ldr x15, [fp, #0x28] // [V47 tmp32] + mov x15, x28 bl CORINFO_HELP_ASSIGN_REF add x14, x0, #24 ldr x15, [fp, #0x20] // [V48 tmp33] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #32 - mov x15, x27 + mov x15, x26 bl CORINFO_HELP_ASSIGN_REF strb wzr, [x0, #0x2C] str wzr, [x0, #0x28] str xzr, [x0, #0x08] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ImplicitConversion:Bind():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 cbnz w0, G_M24207_IG19 cmp w23, w22 blt G_M24207_IG28 - ldr x1, [fp, #0x70] // [V65 cse2] - ldr w0, [x25, #0x20] - str x1, [fp, #0x70] // [V65 cse2] + ldr x28, [fp, #0x60] // [V65 cse2] + ldr w0, [x24, #0x20] tbz w0, #1, G_M24207_IG28 - mov x0, x27 - movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2] - blr x2 - mov x27, x0 + mov x0, x26 + movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType + movk x1, #0xD1FFAB1E LSL #16 + movk x1, #0xD1FFAB1E LSL #32 + ldr x1, [x1] + blr x1 + mov x26, x0 ldr x1, [x19, #0x10] str x1, [fp, #0x18] // [V51 tmp36] ldr x2, [x1, #0x08] str x2, [fp, #0x10] // [V52 tmp37] - ldr x0, [fp, #0x70] // [V65 cse2] + mov x0, x28 bl CORINFO_HELP_NEWSFAST add x14, x0, #48 mov x13, x20 bl CORINFO_HELP_ASSIGN_BYREF ldr x12, [x13], #0x08 str x12, [x14], #0x08 add x14, x0, #16 ldr x15, [fp, #0x18] // [V51 tmp36] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #24 ldr x15, [fp, #0x10] // [V52 tmp37] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #32 - mov x15, x27 + mov x15, x26 bl CORINFO_HELP_ASSIGN_REF strb wzr, [x0, #0x2C] str wzr, [x0, #0x28] str xzr, [x0, #0x08] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ImplicitConversion:Bind():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 cbz w0, G_M24207_IG28 ldr w0, [x19, #0x44] - ldr w1, [x25, #0x14] + ldr w1, [x24, #0x14] movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetConvKind(uint,uint):int movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 sub w0, w0, #1 cmp w0, #1 bls G_M24207_IG18 - ;; size=344 bbWeight=16 PerfScore 1616.00 + ;; size=336 bbWeight=16 PerfScore 1536.00 G_M24207_IG17: - orr w28, w28, #8 + orr w27, w27, #8 b G_M24207_IG19 ;; size=8 bbWeight=2 PerfScore 3.00 G_M24207_IG18: - orr w28, w28, #2 + orr w27, w27, #2 ;; size=4 bbWeight=8 PerfScore 4.00 G_M24207_IG19: - cbz w28, G_M24207_IG23 + cbz w27, G_M24207_IG23 movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST mov x1, x0 - ldr x15, [x25, #0x08] - ldp w0, w2, [x25, #0x20] + ldr x15, [x24, #0x08] + ldp w0, w2, [x24, #0x20] ldr q16, [@RWD48] str q16, [x1, #0x10] add x14, x1, #8 bl CORINFO_HELP_ASSIGN_REF str w0, [x1, #0x20] add x14, x1, #40 - mov x15, x26 + mov x15, x25 bl CORINFO_HELP_ASSIGN_REF add x14, x1, #48 - mov x15, x27 + mov x15, x26 bl CORINFO_HELP_ASSIGN_REF - str w28, [x1, #0x38] + str w27, [x1, #0x38] str w2, [x1, #0x24] ldp w15, w14, [x21, #0x10] add w14, w14, #1 str w14, [x21, #0x14] ldr x14, [x21, #0x08] ldr w12, [x14, #0x08] cmp w12, w15 bls G_M24207_IG26 add w12, w15, #1 str w12, [x21, #0x10] add x14, x14, #16 add x14, x14, x15, LSL #3 mov x15, x1 bl CORINFO_HELP_ASSIGN_REF b G_M24207_IG27 ;; size=140 bbWeight=2 PerfScore 78.00 G_M24207_IG20: - ldr x1, [x19, #0x10] - cbz x1, G_M24207_IG28 + ldr x28, [x19, #0x10] + cbz x28, G_M24207_IG28 ;; size=8 bbWeight=2 PerfScore 8.00 G_M24207_IG21: - ldr x0, [x1] - movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - cmp x0, x2 + ldr x0, [x28] + movz x1, #0xD1FFAB1E + movk x1, #0xD1FFAB1E LSL #16 + movk x1, #0xD1FFAB1E LSL #32 + cmp x0, x1 bne G_M24207_IG28 ;; size=24 bbWeight=1 PerfScore 6.00 G_M24207_IG22: - str x1, [fp, #0x68] // [V14 loc11] - ldr x2, [x1, #0x08] - str x2, [fp, #0x38] // [V41 tmp26] + ldr x1, [x28, #0x08] + str x1, [fp, #0x30] // [V41 tmp26] movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 - mov x3, x0 - str x3, [fp, #0x70] // [V65 cse2] - mov x0, x3 + mov x2, x0 + str x2, [fp, #0x60] // [V65 cse2] + mov x0, x2 bl CORINFO_HELP_NEWSFAST add x14, x0, #48 mov x13, x20 bl CORINFO_HELP_ASSIGN_BYREF ldr x12, [x13], #0x08 str x12, [x14], #0x08 add x14, x0, #16 - ldr x15, [fp, #0x68] // [V14 loc11] + mov x15, x28 bl CORINFO_HELP_ASSIGN_REF add x14, x0, #24 - ldr x15, [fp, #0x38] // [V41 tmp26] + ldr x15, [fp, #0x30] // [V41 tmp26] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #32 - mov x15, x27 + mov x15, x26 bl CORINFO_HELP_ASSIGN_REF strb wzr, [x0, #0x2C] str wzr, [x0, #0x28] str xzr, [x0, #0x08] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ImplicitConversion:Bind():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 cbnz w0, G_M24207_IG19 - ldr x1, [fp, #0x68] // [V14 loc11] cmp w23, w22 blt G_M24207_IG28 - ldr x2, [fp, #0x70] // [V65 cse2] - ldr w0, [x25, #0x20] - stp x1, x2, [fp, #0x68] // [V14 loc11], [V65 cse2] + ldr x1, [fp, #0x60] // [V65 cse2] + ldr w0, [x24, #0x20] + str x1, [fp, #0x60] // [V65 cse2] tbz w0, #1, G_M24207_IG28 - mov x0, x27 - movz x3, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3] - blr x3 - mov x27, x0 - ldr x1, [fp, #0x68] // [V14 loc11] - ldr x2, [x1, #0x08] - str x2, [fp, #0x30] // [V44 tmp29] - ldr x0, [fp, #0x70] // [V65 cse2] + mov x0, x26 + movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeManager:GetNullable(Microsoft.CSharp.RuntimeBinder.Semantics.CType):Microsoft.CSharp.RuntimeBinder.Semantics.NullableType + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + ldr x2, [x2] + blr x2 + mov x26, x0 + ldr x1, [x28, #0x08] + str x1, [fp, #0x28] // [V44 tmp29] + ldr x0, [fp, #0x60] // [V65 cse2] bl CORINFO_HELP_NEWSFAST add x14, x0, #48 mov x13, x20 bl CORINFO_HELP_ASSIGN_BYREF ldr x12, [x13], #0x08 str x12, [x14], #0x08 add x14, x0, #16 - ldr x15, [fp, #0x68] // [V14 loc11] + mov x15, x28 bl CORINFO_HELP_ASSIGN_REF add x14, x0, #24 - ldr x15, [fp, #0x30] // [V44 tmp29] + ldr x15, [fp, #0x28] // [V44 tmp29] bl CORINFO_HELP_ASSIGN_REF add x14, x0, #32 - mov x15, x27 + mov x15, x26 bl CORINFO_HELP_ASSIGN_REF strb wzr, [x0, #0x2C] str wzr, [x0, #0x28] str xzr, [x0, #0x08] movz x1, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ImplicitConversion:Bind():ubyte:this movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1] blr x1 cbz w0, G_M24207_IG28 ldr w0, [x19, #0x44] - ldr w1, [x25, #0x14] + ldr w1, [x24, #0x14] movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetConvKind(uint,uint):int movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 sub w0, w0, #1 cmp w0, #1 bls G_M24207_IG18 b G_M24207_IG17 - ;; size=344 bbWeight=2 PerfScore 198.00 + ;; size=332 bbWeight=2 PerfScore 182.00 G_M24207_IG23: movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 bl CORINFO_HELP_NEWSFAST - mov x26, x0 - mov x1, x25 + mov x25, x0 + mov x1, x24 movz x2, #0xD1FFAB1E // code for Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig:.ctor(Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpSig):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ldp w15, w14, [x21, #0x10] add w14, w14, #1 str w14, [x21, #0x14] ldr x14, [x21, #0x08] ldr w12, [x14, #0x08] cmp w12, w15 bls G_M24207_IG24 add w12, w15, #1 str w12, [x21, #0x10] add x14, x14, #16 add x14, x14, x15, LSL #3 - mov x15, x26 + mov x15, x25 bl CORINFO_HELP_ASSIGN_REF b G_M24207_IG25 ;; size=100 bbWeight=2 PerfScore 53.00 G_M24207_IG24: mov x0, x21 - mov x1, x26 + mov x1, x25 movz x2, #0xD1FFAB1E // code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ;; size=28 bbWeight=2 PerfScore 13.00 G_M24207_IG25: - ldr w0, [x25, #0x1C] + ldr w0, [x24, #0x1C] add w23, w23, w0 b G_M24207_IG28 ;; size=12 bbWeight=2 PerfScore 9.00 G_M24207_IG26: mov x0, x21 movz x2, #0xD1FFAB1E // code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ;; size=24 bbWeight=2 PerfScore 12.00 G_M24207_IG27: - ldr w0, [x25, #0x1C] + ldr w0, [x24, #0x1C] add w0, w23, w0 add w22, w0, #1 ;; size=12 bbWeight=2 PerfScore 8.00 G_M24207_IG28: add w23, w23, #1 cmp w23, #20 blt G_M24207_IG03 ;; size=12 bbWeight=4 PerfScore 8.00 G_M24207_IG29: mov w0, wzr ;; size=4 bbWeight=0.50 PerfScore 0.25 G_M24207_IG30: - ldp x27, x28, [sp, #0xC0] - ldp x25, x26, [sp, #0xB0] - ldp x23, x24, [sp, #0xA0] - ldp x21, x22, [sp, #0x90] - ldp x19, x20, [sp, #0x80] - ldp fp, lr, [sp], #0xD0 + ldp x27, x28, [sp, #0xB0] + ldp x25, x26, [sp, #0xA0] + ldp x23, x24, [sp, #0x90] + ldp x21, x22, [sp, #0x80] + ldp x19, x20, [sp, #0x70] + ldp fp, lr, [sp], #0xC0 ret lr ;; size=28 bbWeight=0.50 PerfScore 3.50 G_M24207_IG31: mov x0, x21 - mov x1, x28 + mov x1, x27 movz x2, #0xD1FFAB1E // code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2] blr x2 ;; size=28 bbWeight=0.50 PerfScore 3.25 G_M24207_IG32: mov w0, #1 ;; size=4 bbWeight=0.50 PerfScore 0.25 G_M24207_IG33: - ldp x27, x28, [sp, #0xC0] - ldp x25, x26, [sp, #0xB0] - ldp x23, x24, [sp, #0xA0] - ldp x21, x22, [sp, #0x90] - ldp x19, x20, [sp, #0x80] - ldp fp, lr, [sp], #0xD0 + ldp x27, x28, [sp, #0xB0] + ldp x25, x26, [sp, #0xA0] + ldp x23, x24, [sp, #0x90] + ldp x21, x22, [sp, #0x80] + ldp x19, x20, [sp, #0x70] + ldp fp, lr, [sp], #0xC0 ret lr ;; size=28 bbWeight=0.50 PerfScore 3.50 G_M24207_IG34: bl CORINFO_HELP_RNGCHKFAIL brk_unix #0 ;; size=8 bbWeight=0 PerfScore 0.00 RWD00 dd G_M24207_IG14 - G_M24207_IG02 dd G_M24207_IG08 - G_M24207_IG02 dd G_M24207_IG10 - G_M24207_IG02 dd G_M24207_IG06 - G_M24207_IG02 dd G_M24207_IG28 - G_M24207_IG02 RWD20 dd G_M24207_IG19 - G_M24207_IG02 dd G_M24207_IG19 - G_M24207_IG02 dd G_M24207_IG20 - G_M24207_IG02 dd G_M24207_IG16 - G_M24207_IG02 dd G_M24207_IG28 - G_M24207_IG02 RWD40 dd 00000000h, 00000000h RWD48 dq FFFFFFFFFFFFFFFFh, 0000000000000000h -; Total bytes of code 2408, prolog size 40, PerfScore 2712.04, instruction count 602, allocated bytes for code 2408 (MethodHash=794fa170) for method Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetStandardAndLiftedBinopSignatures(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):ubyte:this (FullOpts) +; Total bytes of code 2344, prolog size 40, PerfScore 2598.92, instruction count 586, allocated bytes for code 2344 (MethodHash=794fa170) for method Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:GetStandardAndLiftedBinopSignatures(System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpFullSig],Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+BinOpArgInfo):ubyte:this (FullOpts) ```

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

MihuBot commented 1 month ago

@xtqqczze