Skip to content

[X64] [MichalPetryka] Implement Interlocked for small types. #229

@MihuBot

Description

@MihuBot

Build completed in 2 hours 58 minutes.
dotnet/runtime#92974

CoreLib diffs

Found 2 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 6796331
Total bytes of diff: 6796443
Total bytes of delta: 112 (0.00 % of base)
    diff is a regression.


Total byte diff includes 112 bytes from reconciling methods
	Base had    0 unique methods,        0 unique bytes
	Diff had    8 unique methods,      112 unique bytes

Top file regressions (bytes):
         112 : System.Private.CoreLib.dasm (0.00 % of base)

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

Top method regressions (bytes):
          19 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,byte,byte):byte (FullOpts) (0 base, 1 diff methods)
          18 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,ushort,ushort):ushort (FullOpts) (0 base, 1 diff methods)
          15 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,short,short):short (FullOpts) (0 base, 1 diff methods)
          15 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,ubyte,ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,byte):byte (FullOpts) (0 base, 1 diff methods)
          12 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,ushort):ushort (FullOpts) (0 base, 1 diff methods)
          10 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
           9 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,short):short (FullOpts) (0 base, 1 diff methods)

Top method regressions (percentages):
          19 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,byte,byte):byte (FullOpts) (0 base, 1 diff methods)
          15 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,short,short):short (FullOpts) (0 base, 1 diff methods)
          15 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,ubyte,ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          18 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,ushort,ushort):ushort (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,byte):byte (FullOpts) (0 base, 1 diff methods)
           9 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,short):short (FullOpts) (0 base, 1 diff methods)
          10 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          12 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,ushort):ushort (FullOpts) (0 base, 1 diff methods)

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

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

Frameworks diffs

Diffs
Found 259 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 38179345
Total bytes of diff: 38179457
Total bytes of delta: 112 (0.00 % of base)
Total relative delta: -1.00
    diff is a regression.
    relative diff is an improvement.


Total byte diff includes 483 bytes from reconciling methods
	Base had    0 unique methods,        0 unique bytes
	Diff had    9 unique methods,      483 unique bytes

Top file regressions (bytes):
         112 : System.Private.CoreLib.dasm (0.00 % of base)

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

Top method regressions (bytes):
         371 (Infinity of base) : System.Net.Sockets.dasm - 
          19 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,byte,byte):byte (FullOpts) (0 base, 1 diff methods)
          18 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,ushort,ushort):ushort (FullOpts) (0 base, 1 diff methods)
          15 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,short,short):short (FullOpts) (0 base, 1 diff methods)
          15 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,ubyte,ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,byte):byte (FullOpts) (0 base, 1 diff methods)
          12 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,ushort):ushort (FullOpts) (0 base, 1 diff methods)
          10 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
           9 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,short):short (FullOpts) (0 base, 1 diff methods)

Top method improvements (bytes):
        -371 (-100.00 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (FullOpts)

Top method regressions (percentages):
         371 (Infinity of base) : System.Net.Sockets.dasm - 
          19 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,byte,byte):byte (FullOpts) (0 base, 1 diff methods)
          15 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,short,short):short (FullOpts) (0 base, 1 diff methods)
          15 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,ubyte,ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          18 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:CompareExchange(byref,ushort,ushort):ushort (FullOpts) (0 base, 1 diff methods)
          14 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,byte):byte (FullOpts) (0 base, 1 diff methods)
           9 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,short):short (FullOpts) (0 base, 1 diff methods)
          10 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,ubyte):ubyte (FullOpts) (0 base, 1 diff methods)
          12 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Interlocked:Exchange(byref,ushort):ushort (FullOpts) (0 base, 1 diff methods)

Top method improvements (percentages):
        -371 (-100.00 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:EventLoop():this (FullOpts)

10 total methods with Code Size differences (1 improved, 9 regressed), 237452 unchanged.

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

Artifacts:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions