Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[EgorBo] [X64] Fold BOX+ISINST to null if possible #132

Open
MihuBot opened this issue Jul 17, 2023 · 1 comment
Open

[EgorBo] [X64] Fold BOX+ISINST to null if possible #132

MihuBot opened this issue Jul 17, 2023 · 1 comment

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jul 17, 2023

Build completed in 1 hour 0 minutes.
dotnet/runtime#88989

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 8723947
Total bytes of diff: 8723947
Total bytes of delta: 0 (0.00 % of base)


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

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

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

Frameworks diffs

Diffs
Found 262 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 49124721
Total bytes of diff: 49121869
Total bytes of delta: -2852 (-0.01 % of base)
Total relative delta: -8.88
    diff is an improvement.
    relative diff is an improvement.


Top file improvements (bytes):
        -810 : System.ComponentModel.TypeConverter.dasm (-0.18 % of base)
        -712 : Microsoft.Extensions.Logging.Abstractions.dasm (-0.64 % of base)
        -484 : System.Threading.Tasks.Dataflow.dasm (-0.03 % of base)
        -474 : System.Diagnostics.DiagnosticSource.dasm (-0.14 % of base)
        -372 : System.Text.Json.dasm (-0.03 % of base)

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

Top method improvements (bytes):
        -712 (-81.00 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:TryFormatArgumentIfNullOrEnumerable[System.Nullable`1[int]](System.Nullable`1[int],byref):bool (Tier0-FullOpts)
         -78 (-8.61 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[short](System.Exception,short,bool) (Instrumented Tier0)
         -78 (-8.61 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[ubyte](System.Exception,ubyte,bool) (Instrumented Tier0)
         -77 (-8.51 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[int](System.Exception,int,bool) (Instrumented Tier0)
         -74 (-8.01 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[double](System.Exception,double,bool) (Instrumented Tier0)
         -73 (-10.78 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[double]:.ctor(System.Diagnostics.ActivitySource,System.String,double,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -70 (-10.97 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[short]:.ctor(System.Diagnostics.ActivitySource,System.String,short,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -70 (-10.97 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[ubyte]:.ctor(System.Diagnostics.ActivitySource,System.String,ubyte,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -69 (-10.85 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[int]:.ctor(System.Diagnostics.ActivitySource,System.String,int,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -68 (-10.46 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[long]:.ctor(System.Diagnostics.ActivitySource,System.String,long,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -66 (-30.41 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[double]:HookPropertyChanged(double):this (Tier0)
         -64 (-44.14 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[double]:UnhookPropertyChanged(double):this (Tier0)
         -63 (-6.91 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[long](System.Exception,long,bool) (Instrumented Tier0)
         -62 (-9.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Nullable`1[int]]:.ctor(System.Diagnostics.ActivitySource,System.String,System.Nullable`1[int],int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -62 (-9.44 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Numerics.Vector`1[float]]:.ctor(System.Diagnostics.ActivitySource,System.String,System.Numerics.Vector`1[float],int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -62 (-6.99 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[System.Numerics.Vector`1[float]](System.Exception,System.Numerics.Vector`1[float],bool) (Instrumented Tier0)
         -61 (-28.91 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[long]:HookPropertyChanged(long):this (Tier0)
         -60 (-28.71 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[short]:HookPropertyChanged(short):this (Tier0)
         -60 (-28.71 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[ubyte]:HookPropertyChanged(ubyte):this (Tier0)
         -59 (-28.37 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[int]:HookPropertyChanged(int):this (Tier0)
         -59 (-42.45 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[long]:UnhookPropertyChanged(long):this (Tier0)
         -58 (-42.34 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[short]:UnhookPropertyChanged(short):this (Tier0)
         -58 (-42.34 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[ubyte]:UnhookPropertyChanged(ubyte):this (Tier0)
         -57 (-41.91 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[int]:UnhookPropertyChanged(int):this (Tier0)
         -56 (-28.14 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[double](double):this (Tier0)
         -54 (-28.12 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[long](long):this (Tier0)
         -53 (-26.11 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:HookPropertyChanged(System.Nullable`1[int]):this (Tier0)
         -53 (-26.63 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Numerics.Vector`1[float]]:HookPropertyChanged(System.Numerics.Vector`1[float]):this (Tier0)
         -53 (-27.46 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[short](short):this (Tier0)
         -53 (-27.46 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[ubyte](ubyte):this (Tier0)
         -52 (-27.66 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[int](int):this (Tier0)
         -52 (-25.12 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[System.Nullable`1[int]](System.Nullable`1[int]):this (Tier0)
         -52 (-26.67 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):this (Tier0)
         -52 (-5.60 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[System.Nullable`1[int]](System.Exception,System.Nullable`1[int],bool) (Instrumented Tier0)
         -51 (-38.93 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:UnhookPropertyChanged(System.Nullable`1[int]):this (Tier0)
         -51 (-40.16 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Numerics.Vector`1[float]]:UnhookPropertyChanged(System.Numerics.Vector`1[float]):this (Tier0)

Top method improvements (percentages):
        -712 (-81.00 % of base) : Microsoft.Extensions.Logging.Abstractions.dasm - Microsoft.Extensions.Logging.LogValuesFormatter:TryFormatArgumentIfNullOrEnumerable[System.Nullable`1[int]](System.Nullable`1[int],byref):bool (Tier0-FullOpts)
         -64 (-44.14 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[double]:UnhookPropertyChanged(double):this (Tier0)
         -59 (-42.45 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[long]:UnhookPropertyChanged(long):this (Tier0)
         -58 (-42.34 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[short]:UnhookPropertyChanged(short):this (Tier0)
         -58 (-42.34 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[ubyte]:UnhookPropertyChanged(ubyte):this (Tier0)
         -57 (-41.91 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[int]:UnhookPropertyChanged(int):this (Tier0)
         -51 (-40.16 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Numerics.Vector`1[float]]:UnhookPropertyChanged(System.Numerics.Vector`1[float]):this (Tier0)
         -51 (-38.93 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:UnhookPropertyChanged(System.Nullable`1[int]):this (Tier0)
         -66 (-30.41 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[double]:HookPropertyChanged(double):this (Tier0)
         -61 (-28.91 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[long]:HookPropertyChanged(long):this (Tier0)
         -60 (-28.71 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[short]:HookPropertyChanged(short):this (Tier0)
         -60 (-28.71 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[ubyte]:HookPropertyChanged(ubyte):this (Tier0)
         -59 (-28.37 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[int]:HookPropertyChanged(int):this (Tier0)
         -56 (-28.14 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[double](double):this (Tier0)
         -54 (-28.12 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[long](long):this (Tier0)
         -52 (-27.66 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[int](int):this (Tier0)
         -53 (-27.46 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[short](short):this (Tier0)
         -53 (-27.46 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[ubyte](ubyte):this (Tier0)
         -52 (-26.67 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[System.Numerics.Vector`1[float]](System.Numerics.Vector`1[float]):this (Tier0)
         -53 (-26.63 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Numerics.Vector`1[float]]:HookPropertyChanged(System.Numerics.Vector`1[float]):this (Tier0)
         -53 (-26.11 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.BindingList`1[System.Nullable`1[int]]:HookPropertyChanged(System.Nullable`1[int]):this (Tier0)
         -52 (-25.12 % of base) : System.Text.Json.dasm - System.Text.Json.Nodes.JsonArray:Add[System.Nullable`1[int]](System.Nullable`1[int]):this (Tier0)
         -70 (-10.97 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[short]:.ctor(System.Diagnostics.ActivitySource,System.String,short,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -70 (-10.97 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[ubyte]:.ctor(System.Diagnostics.ActivitySource,System.String,ubyte,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -69 (-10.85 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[int]:.ctor(System.Diagnostics.ActivitySource,System.String,int,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -73 (-10.78 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[double]:.ctor(System.Diagnostics.ActivitySource,System.String,double,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -68 (-10.46 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[long]:.ctor(System.Diagnostics.ActivitySource,System.String,long,int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -62 (-9.63 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Nullable`1[int]]:.ctor(System.Diagnostics.ActivitySource,System.String,System.Nullable`1[int],int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -62 (-9.44 % of base) : System.Diagnostics.DiagnosticSource.dasm - System.Diagnostics.ActivityCreationOptions`1[System.Numerics.Vector`1[float]]:.ctor(System.Diagnostics.ActivitySource,System.String,System.Numerics.Vector`1[float],int,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Collections.Generic.IEnumerable`1[System.Diagnostics.ActivityLink],int):this (Tier0)
         -78 (-8.61 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[short](System.Exception,short,bool) (Instrumented Tier0)
         -78 (-8.61 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[ubyte](System.Exception,ubyte,bool) (Instrumented Tier0)
         -77 (-8.51 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[int](System.Exception,int,bool) (Instrumented Tier0)
         -74 (-8.01 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[double](System.Exception,double,bool) (Instrumented Tier0)
         -62 (-6.99 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[System.Numerics.Vector`1[float]](System.Exception,System.Numerics.Vector`1[float],bool) (Instrumented Tier0)
         -63 (-6.91 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[long](System.Exception,long,bool) (Instrumented Tier0)
         -52 (-5.60 % of base) : System.Threading.Tasks.Dataflow.dasm - System.Threading.Tasks.Dataflow.Internal.Common:StoreDataflowMessageValueIntoExceptionData[System.Nullable`1[int]](System.Exception,System.Nullable`1[int],bool) (Instrumented Tier0)

36 total methods with Code Size differences (36 improved, 0 regressed), 233061 unchanged.

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

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Jul 17, 2023

@EgorBo

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

No branches or pull requests

1 participant