Skip to content

[JitDiff X64] [EgorBo] Remove unsafe code from System.Reflection.Metadata PE ... #2005

@MihuBot

Description

@MihuBot

Job completed in 16 minutes 28 seconds (remote runner delay: 1 minute 2 seconds).
dotnet/runtime#129626

Main commit: dotnet/runtime@18696ad
PR commit: EgorBo/runtime-1@6558355

Diffs

Diffs
Found 86 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 45833125
Total bytes of diff: 45832337
Total bytes of delta: -788 (-0.00 % of base)
Total relative delta: 3.55
    diff is an improvement.
    relative diff is a regression.


Total byte diff includes -1192 bytes from reconciling methods
	Base had   11 unique methods,     1409 unique bytes
	Diff had    1 unique methods,      217 unique bytes

Top file regressions (bytes):
          20 : System.Reflection.MetadataLoadContext.dasm (0.01 % of base)

Top file improvements (bytes):
        -808 : System.Reflection.Metadata.dasm (-0.14 % of base)

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

Top method regressions (bytes):
         380 (277.37 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:CalculateChecksum(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Blob):uint (FullOpts)
         217 (Infinity of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:AddToChecksum(System.ArraySegment`1[byte],byref,byref) (FullOpts) (0 base, 1 diff methods)
          30 (21.58 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:GetVirtualBlobBytes(System.Reflection.Metadata.BlobHandle,bool):byte[] (FullOpts)
          26 (56.52 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobHandle:SubstituteTemplateParameters(byte[]):this (FullOpts)
          26 (6.58 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:GetVirtualHandleMemoryBlock(System.Reflection.Metadata.BlobHandle):System.Reflection.Internal.MemoryBlock:this (FullOpts)
          10 (2.22 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetBlobBytes(System.Reflection.Metadata.BlobHandle):byte[]:this (FullOpts)
          10 (2.24 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetBlobContent(System.Reflection.Metadata.BlobHandle):System.Collections.Immutable.ImmutableArray`1[byte]:this (FullOpts)
          10 (2.22 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.MetadataExtensions:GetBlobBytes(System.Reflection.Metadata.BlobHandle,System.Reflection.Metadata.MetadataReader):byte[] (FullOpts)
          10 (2.24 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.MetadataExtensions:GetBlobContent(System.Reflection.Metadata.BlobHandle,System.Reflection.Metadata.MetadataReader):System.Collections.Immutable.ImmutableArray`1[byte] (FullOpts)

Top method improvements (bytes):
        -525 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:MoveNext():bool:this (FullOpts) (1 base, 0 diff methods)
        -411 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:CalculateChecksum(System.Collections.Generic.IEnumerable`1[System.Reflection.Metadata.Blob]):uint (FullOpts) (1 base, 0 diff methods)
        -132 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.Generic.IEnumerable<System.Reflection.Metadata.Blob>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Reflection.Metadata.Blob]:this (FullOpts) (1 base, 0 diff methods)
        -104 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:GetContentToChecksum(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Blob):System.Collections.Generic.IEnumerable`1[System.Reflection.Metadata.Blob] (FullOpts) (1 base, 0 diff methods)
         -98 (-15.76 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:Sign(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Blob,System.Func`2[System.Collections.Generic.IEnumerable`1[System.Reflection.Metadata.Blob],byte[]]):this (FullOpts)
         -62 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) (1 base, 0 diff methods)
         -57 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.IDisposable.Dispose():this (FullOpts) (1 base, 0 diff methods)
         -43 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.IEnumerator.Reset():this (FullOpts) (1 base, 0 diff methods)
         -37 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.Generic.IEnumerator<System.Reflection.Metadata.Blob>.get_Current():System.Reflection.Metadata.Blob:this (FullOpts) (1 base, 0 diff methods)
         -17 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:.ctor(int):this (FullOpts) (1 base, 0 diff methods)
         -13 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) (1 base, 0 diff methods)
          -8 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:<>m__Finally1():this (FullOpts) (1 base, 0 diff methods)

Top method regressions (percentages):
         217 (Infinity of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:AddToChecksum(System.ArraySegment`1[byte],byref,byref) (FullOpts) (0 base, 1 diff methods)
         380 (277.37 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:CalculateChecksum(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Blob):uint (FullOpts)
          26 (56.52 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobHandle:SubstituteTemplateParameters(byte[]):this (FullOpts)
          30 (21.58 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:GetVirtualBlobBytes(System.Reflection.Metadata.BlobHandle,bool):byte[] (FullOpts)
          26 (6.58 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:GetVirtualHandleMemoryBlock(System.Reflection.Metadata.BlobHandle):System.Reflection.Internal.MemoryBlock:this (FullOpts)
          10 (2.24 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetBlobContent(System.Reflection.Metadata.BlobHandle):System.Collections.Immutable.ImmutableArray`1[byte]:this (FullOpts)
          10 (2.24 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.MetadataExtensions:GetBlobContent(System.Reflection.Metadata.BlobHandle,System.Reflection.Metadata.MetadataReader):System.Collections.Immutable.ImmutableArray`1[byte] (FullOpts)
          10 (2.22 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetBlobBytes(System.Reflection.Metadata.BlobHandle):byte[]:this (FullOpts)
          10 (2.22 % of base) : System.Reflection.MetadataLoadContext.dasm - System.Reflection.TypeLoading.Ecma.MetadataExtensions:GetBlobBytes(System.Reflection.Metadata.BlobHandle,System.Reflection.Metadata.MetadataReader):byte[] (FullOpts)

Top method improvements (percentages):
        -411 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:CalculateChecksum(System.Collections.Generic.IEnumerable`1[System.Reflection.Metadata.Blob]):uint (FullOpts) (1 base, 0 diff methods)
        -104 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:GetContentToChecksum(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Blob):System.Collections.Generic.IEnumerable`1[System.Reflection.Metadata.Blob] (FullOpts) (1 base, 0 diff methods)
         -17 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:.ctor(int):this (FullOpts) (1 base, 0 diff methods)
          -8 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:<>m__Finally1():this (FullOpts) (1 base, 0 diff methods)
        -525 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:MoveNext():bool:this (FullOpts) (1 base, 0 diff methods)
        -132 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.Generic.IEnumerable<System.Reflection.Metadata.Blob>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Reflection.Metadata.Blob]:this (FullOpts) (1 base, 0 diff methods)
         -37 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.Generic.IEnumerator<System.Reflection.Metadata.Blob>.get_Current():System.Reflection.Metadata.Blob:this (FullOpts) (1 base, 0 diff methods)
         -13 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.IEnumerable.GetEnumerator():System.Collections.IEnumerator:this (FullOpts) (1 base, 0 diff methods)
         -62 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.IEnumerator.get_Current():System.Object:this (FullOpts) (1 base, 0 diff methods)
         -43 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.Collections.IEnumerator.Reset():this (FullOpts) (1 base, 0 diff methods)
         -57 (-100.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder+<GetContentToChecksum>d__32:System.IDisposable.Dispose():this (FullOpts) (1 base, 0 diff methods)
         -98 (-15.76 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBuilder:Sign(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Blob,System.Func`2[System.Collections.Generic.IEnumerable`1[System.Reflection.Metadata.Blob],byte[]]):this (FullOpts)

21 total methods with Code Size differences (12 improved, 9 regressed), 288724 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