MihuBot / runtime-utils

0 stars 0 forks source link

[X64] [EgorBo] Make getStaticFieldContent less conservative for struct with gc fields #157

Open MihuBot opened 1 year ago

MihuBot commented 1 year ago

Build completed in 1 hour 9 minutes. https://github.com/dotnet/runtime/pull/90162

CoreLib diffs

Found 1 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 6627520
Total bytes of diff: 6627520
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), 52849 unchanged.

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

Frameworks diffs

Diffs ``` Found 260 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38544971 Total bytes of diff: 38544931 Total bytes of delta: -40 (-0.00 % of base) Total relative delta: -0.10 diff is an improvement. relative diff is an improvement. Top file regressions (bytes): 43 : System.Runtime.Numerics.dasm (0.03 % of base) Top file improvements (bytes): -33 : System.Transactions.Local.dasm (-0.02 % of base) -30 : Microsoft.Extensions.FileSystemGlobbing.dasm (-0.10 % of base) -20 : Microsoft.Extensions.Http.dasm (-0.03 % of base) 4 total files with Code Size differences (3 improved, 1 regressed), 250 unchanged. Top method regressions (bytes): 12 (0.66 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:DivRem(System.Numerics.BigInteger,System.Numerics.BigInteger,byref):System.Numerics.BigInteger (FullOpts) 10 (0.98 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:Pow(System.Numerics.BigInteger,int):System.Numerics.BigInteger (FullOpts) 6 (0.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Division(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 3 (9.38 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Decrement(System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 3 (9.38 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Increment(System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 3 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_OnesComplement(System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (0.77 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:Abs(System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (0.81 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:CreateSaturating[double](double):System.Numerics.BigInteger (FullOpts) 1 (0.81 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:CreateTruncating[double](double):System.Numerics.BigInteger (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:get_MinusOne():System.Numerics.BigInteger (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:get_One():System.Numerics.BigInteger (FullOpts) 1 (0.26 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:MaxMagnitude(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (0.26 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:MinMagnitude(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.IBinaryNumber.get_AllBitsSet():System.Numerics.BigInteger (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.IMultiplicativeIdentity.get_MultiplicativeIdentity():System.Numerics.BigInteger (FullOpts) 1 (0.31 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.INumberBase.MaxMagnitudeNumber(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (0.31 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.INumberBase.MinMagnitudeNumber(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (0.90 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.INumberBase.TryConvertFromSaturating[double](double,byref):bool (FullOpts) 1 (0.90 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.INumberBase.TryConvertFromTruncating[double](double,byref):bool (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.ISignedNumber.get_NegativeOne():System.Numerics.BigInteger (FullOpts) 1 (0.90 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:TryConvertFromSaturating[double](double,byref):bool (FullOpts) 1 (0.90 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:TryConvertFromTruncating[double](double,byref):bool (FullOpts) Top method improvements (bytes): -33 (-4.56 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionTable:.ctor():this (FullOpts) -5 (-0.96 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler+Log:RequestEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,bool]) (FullOpts) -5 (-1.02 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler+Log:RequestStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.Func`2[System.String,bool]) (FullOpts) -5 (-0.96 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler+Log:RequestPipelineEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,bool]) (FullOpts) -5 (-1.08 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler+Log:RequestPipelineStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.Func`2[System.String,bool]) (FullOpts) -5 (-0.43 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_BitwiseAnd(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) -3 (-4.55 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[double]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,double):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.76 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[int]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,int):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.76 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[long]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,long):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.48 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[short]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,short):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.76 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[System.__Canon]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.__Canon):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.23 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[System.Nullable`1[int]]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.Nullable`1[int]):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-3.45 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[System.Numerics.Vector`1[float]]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.Numerics.Vector`1[float]):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.55 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[ubyte]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,ubyte):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-1.01 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContextLinear:Test(Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileInfoBase):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-1.09 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContextRagged:Test(Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileInfoBase):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -2 (-9.09 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:get_Zero():System.Numerics.BigInteger (FullOpts) -2 (-9.09 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.IAdditiveIdentity.get_AdditiveIdentity():System.Numerics.BigInteger (FullOpts) -1 (-0.22 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Implicit(System.Int128):System.Numerics.BigInteger (FullOpts) Top method regressions (percentages): 3 (9.38 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Decrement(System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 3 (9.38 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Increment(System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:get_MinusOne():System.Numerics.BigInteger (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:get_One():System.Numerics.BigInteger (FullOpts) 3 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_OnesComplement(System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.IBinaryNumber.get_AllBitsSet():System.Numerics.BigInteger (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.IMultiplicativeIdentity.get_MultiplicativeIdentity():System.Numerics.BigInteger (FullOpts) 1 (4.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.ISignedNumber.get_NegativeOne():System.Numerics.BigInteger (FullOpts) 10 (0.98 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:Pow(System.Numerics.BigInteger,int):System.Numerics.BigInteger (FullOpts) 1 (0.90 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.INumberBase.TryConvertFromSaturating[double](double,byref):bool (FullOpts) 1 (0.90 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.INumberBase.TryConvertFromTruncating[double](double,byref):bool (FullOpts) 1 (0.90 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:TryConvertFromSaturating[double](double,byref):bool (FullOpts) 1 (0.90 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:TryConvertFromTruncating[double](double,byref):bool (FullOpts) 1 (0.81 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:CreateSaturating[double](double):System.Numerics.BigInteger (FullOpts) 1 (0.81 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:CreateTruncating[double](double):System.Numerics.BigInteger (FullOpts) 1 (0.77 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:Abs(System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 12 (0.66 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:DivRem(System.Numerics.BigInteger,System.Numerics.BigInteger,byref):System.Numerics.BigInteger (FullOpts) 6 (0.55 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Division(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (0.31 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.INumberBase.MaxMagnitudeNumber(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (0.31 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.INumberBase.MinMagnitudeNumber(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (0.26 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:MaxMagnitude(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) 1 (0.26 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:MinMagnitude(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) Top method improvements (percentages): -2 (-9.09 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:get_Zero():System.Numerics.BigInteger (FullOpts) -2 (-9.09 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:System.Numerics.IAdditiveIdentity.get_AdditiveIdentity():System.Numerics.BigInteger (FullOpts) -3 (-4.76 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[int]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,int):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.76 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[long]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,long):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.76 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[System.__Canon]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.__Canon):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -33 (-4.56 % of base) : System.Transactions.Local.dasm - System.Transactions.TransactionTable:.ctor():this (FullOpts) -3 (-4.55 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[double]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,double):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.55 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[ubyte]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,ubyte):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.48 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[short]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,short):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-4.23 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[System.Nullable`1[int]]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.Nullable`1[int]):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-3.45 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.MatcherContext+<>c__DisplayClass15_0`1[System.Numerics.Vector`1[float]]:b__0(Microsoft.Extensions.FileSystemGlobbing.Internal.IPatternContext,System.Numerics.Vector`1[float]):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -3 (-1.09 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContextRagged:Test(Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileInfoBase):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -5 (-1.08 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler+Log:RequestPipelineStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.Func`2[System.String,bool]) (FullOpts) -5 (-1.02 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler+Log:RequestStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.Func`2[System.String,bool]) (FullOpts) -3 (-1.01 % of base) : Microsoft.Extensions.FileSystemGlobbing.dasm - Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts.PatternContextLinear:Test(Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileInfoBase):Microsoft.Extensions.FileSystemGlobbing.Internal.PatternTestResult:this (FullOpts) -5 (-0.96 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler+Log:RequestEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,bool]) (FullOpts) -5 (-0.96 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler+Log:RequestPipelineEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,bool]) (FullOpts) -5 (-0.43 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_BitwiseAnd(System.Numerics.BigInteger,System.Numerics.BigInteger):System.Numerics.BigInteger (FullOpts) -1 (-0.22 % of base) : System.Runtime.Numerics.dasm - System.Numerics.BigInteger:op_Implicit(System.Int128):System.Numerics.BigInteger (FullOpts) 41 total methods with Code Size differences (19 improved, 22 regressed), 233409 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 1 year ago

@EgorBo