Skip to content

[JitDiff X64] [EgorBo] Remove more unsafe code from IPAddress parsing #1611

@MihuBot

Description

@MihuBot

Job completed in 16 minutes 42 seconds (remote runner delay: 46 seconds).
dotnet/runtime#121225

Diffs

Diffs
Found 85 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 45918512
Total bytes of diff: 45921479
Total bytes of delta: 2967 (0.01 % of base)
Total relative delta: 3.82
    diff is a regression.
    relative diff is a regression.


Total byte diff includes 2660 bytes from reconciling methods
	Base had   24 unique methods,    13642 unique bytes
	Diff had   28 unique methods,    16302 unique bytes

Top file regressions (bytes):
        1681 : System.Net.Primitives.dasm (1.53 % of base)
        1286 : System.Private.Uri.dasm (1.20 % of base)

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

Top method regressions (bytes):
        1355 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[long](System.ReadOnlySpan`1[long]):bool (FullOpts) (0 base, 1 diff methods)
        1337 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[short](System.ReadOnlySpan`1[short]):bool (FullOpts) (0 base, 1 diff methods)
        1319 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[int](System.ReadOnlySpan`1[int]):bool (FullOpts) (0 base, 1 diff methods)
        1002 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](System.ReadOnlySpan`1[short],byref,bool):long (FullOpts) (0 base, 1 diff methods)
        1002 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](System.ReadOnlySpan`1[short],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         996 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](System.ReadOnlySpan`1[int],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         996 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](System.ReadOnlySpan`1[int],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         996 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](System.ReadOnlySpan`1[long],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         996 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](System.ReadOnlySpan`1[long],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         983 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[byte](System.ReadOnlySpan`1[byte]):bool (FullOpts) (0 base, 1 diff methods)
         599 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[byte](System.ReadOnlySpan`1[byte],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         599 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[byte](System.ReadOnlySpan`1[byte],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         501 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[long](System.ReadOnlySpan`1[long],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         501 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[long](System.ReadOnlySpan`1[long],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         501 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[short](System.ReadOnlySpan`1[short],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         501 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[short](System.ReadOnlySpan`1[short],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         498 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[int](System.ReadOnlySpan`1[int],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         498 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[int](System.ReadOnlySpan`1[int],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         305 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[byte](System.ReadOnlySpan`1[byte],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         305 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[byte](System.ReadOnlySpan`1[byte],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          72 (112.50 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[int](ptr,int,byref,bool,bool,bool):bool (FullOpts)
          72 (112.50 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[long](ptr,int,byref,bool,bool,bool):bool (FullOpts)
          72 (112.50 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[short](ptr,int,byref,bool,bool,bool):bool (FullOpts)
          71 (110.94 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[byte](ptr,int,byref,bool,bool,bool):bool (FullOpts)
          64 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[byte](System.ReadOnlySpan`1[byte],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[byte](System.ReadOnlySpan`1[byte],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[int](System.ReadOnlySpan`1[int],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[int](System.ReadOnlySpan`1[int],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[long](System.ReadOnlySpan`1[long],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[long](System.ReadOnlySpan`1[long],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[short](System.ReadOnlySpan`1[short],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[short](System.ReadOnlySpan`1[short],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          48 (1.84 % of base) : System.Private.Uri.dasm - System.Uri:CheckAuthorityHelper(ptr,int,int,byref,byref,System.UriParser,byref):int:this (FullOpts)
          38 (8.82 % of base) : System.Private.Uri.dasm - System.Uri:CheckHostName(System.String):int (FullOpts)
          29 (4.42 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseCanonicalName(System.String,int,int,byref):System.String (FullOpts)
          29 (4.28 % of base) : System.Private.Uri.dasm - System.Net.IPv6AddressHelper:InternalIsValid(ptr,int,byref,bool):bool (FullOpts)

Top method improvements (bytes):
       -1000 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[long](ptr,int,int):bool (FullOpts) (1 base, 0 diff methods)
        -995 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[short](ptr,int,int):bool (FullOpts) (1 base, 0 diff methods)
        -981 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[int](ptr,int,int):bool (FullOpts) (1 base, 0 diff methods)
        -874 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -874 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -864 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -864 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -864 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -864 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -812 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[byte](ptr,int,int):bool (FullOpts) (1 base, 0 diff methods)
        -504 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[byte](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -504 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[byte](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -469 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[long](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -469 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[long](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -469 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[short](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -469 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[short](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -466 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[int](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -466 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[int](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -289 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[byte](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -289 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[byte](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
         -64 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[byte](ptr,int,byref,bool,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
         -64 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[int](ptr,int,byref,bool,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
         -64 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[long](ptr,int,byref,bool,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
         -64 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[short](ptr,int,byref,bool,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
         -13 (-12.87 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIpv4[byte](System.ReadOnlySpan`1[byte],byref):bool (FullOpts)
         -13 (-12.87 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIpv4[int](System.ReadOnlySpan`1[int],byref):bool (FullOpts)
         -13 (-12.87 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIpv4[long](System.ReadOnlySpan`1[long],byref):bool (FullOpts)
         -13 (-12.87 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIpv4[short](System.ReadOnlySpan`1[short],byref):bool (FullOpts)
         -12 (-4.53 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIPv6[byte](System.ReadOnlySpan`1[byte],System.Span`1[ushort],int,byref):bool (FullOpts)
         -12 (-4.03 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIPv6[int](System.ReadOnlySpan`1[int],System.Span`1[ushort],int,byref):bool (FullOpts)
         -12 (-4.03 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIPv6[long](System.ReadOnlySpan`1[long],System.Span`1[ushort],int,byref):bool (FullOpts)
         -12 (-4.51 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIPv6[short](System.ReadOnlySpan`1[short],System.Span`1[ushort],int,byref):bool (FullOpts)
          -6 (-4.35 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:IsValid[byte](System.ReadOnlySpan`1[byte]):bool (FullOpts)
          -6 (-4.35 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:IsValid[int](System.ReadOnlySpan`1[int]):bool (FullOpts)
          -6 (-4.35 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:IsValid[long](System.ReadOnlySpan`1[long]):bool (FullOpts)
          -6 (-4.35 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:IsValid[short](System.ReadOnlySpan`1[short]):bool (FullOpts)

Top method regressions (percentages):
          64 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[byte](System.ReadOnlySpan`1[byte],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[byte](System.ReadOnlySpan`1[byte],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[int](System.ReadOnlySpan`1[int],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[int](System.ReadOnlySpan`1[int],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[long](System.ReadOnlySpan`1[long],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[long](System.ReadOnlySpan`1[long],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[short](System.ReadOnlySpan`1[short],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
          64 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[short](System.ReadOnlySpan`1[short],byref,bool,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         305 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[byte](System.ReadOnlySpan`1[byte],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         305 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[byte](System.ReadOnlySpan`1[byte],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         498 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[int](System.ReadOnlySpan`1[int],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         498 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[int](System.ReadOnlySpan`1[int],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         501 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[long](System.ReadOnlySpan`1[long],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         501 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[long](System.ReadOnlySpan`1[long],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         501 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[short](System.ReadOnlySpan`1[short],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         501 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[short](System.ReadOnlySpan`1[short],byref,bool,bool):bool (FullOpts) (0 base, 1 diff methods)
         599 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[byte](System.ReadOnlySpan`1[byte],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         599 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[byte](System.ReadOnlySpan`1[byte],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         996 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](System.ReadOnlySpan`1[int],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         996 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](System.ReadOnlySpan`1[int],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         996 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](System.ReadOnlySpan`1[long],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         996 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](System.ReadOnlySpan`1[long],byref,bool):long (FullOpts) (0 base, 1 diff methods)
        1002 (Infinity of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](System.ReadOnlySpan`1[short],byref,bool):long (FullOpts) (0 base, 1 diff methods)
        1002 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](System.ReadOnlySpan`1[short],byref,bool):long (FullOpts) (0 base, 1 diff methods)
         983 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[byte](System.ReadOnlySpan`1[byte]):bool (FullOpts) (0 base, 1 diff methods)
        1319 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[int](System.ReadOnlySpan`1[int]):bool (FullOpts) (0 base, 1 diff methods)
        1355 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[long](System.ReadOnlySpan`1[long]):bool (FullOpts) (0 base, 1 diff methods)
        1337 (Infinity of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[short](System.ReadOnlySpan`1[short]):bool (FullOpts) (0 base, 1 diff methods)
          72 (112.50 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[int](ptr,int,byref,bool,bool,bool):bool (FullOpts)
          72 (112.50 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[long](ptr,int,byref,bool,bool,bool):bool (FullOpts)
          72 (112.50 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[short](ptr,int,byref,bool,bool,bool):bool (FullOpts)
          71 (110.94 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValid[byte](ptr,int,byref,bool,bool,bool):bool (FullOpts)
          38 (8.82 % of base) : System.Private.Uri.dasm - System.Uri:CheckHostName(System.String):int (FullOpts)
          29 (4.42 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseCanonicalName(System.String,int,int,byref):System.String (FullOpts)
          29 (4.28 % of base) : System.Private.Uri.dasm - System.Net.IPv6AddressHelper:InternalIsValid(ptr,int,byref,bool):bool (FullOpts)
          48 (1.84 % of base) : System.Private.Uri.dasm - System.Uri:CheckAuthorityHelper(ptr,int,int,byref,byref,System.UriParser,byref):int:this (FullOpts)

Top method improvements (percentages):
         -64 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[byte](ptr,int,byref,bool,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
         -64 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[int](ptr,int,byref,bool,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
         -64 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[long](ptr,int,byref,bool,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
         -64 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValid[short](ptr,int,byref,bool,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -289 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[byte](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -289 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[byte](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -466 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[int](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -466 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[int](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -469 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[long](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -469 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[long](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -469 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[short](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -469 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:IsValidCanonical[short](ptr,int,byref,bool,bool):bool (FullOpts) (1 base, 0 diff methods)
        -504 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[byte](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -504 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[byte](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -864 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -864 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[int](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -864 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -864 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[long](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -874 (-100.00 % of base) : System.Private.Uri.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -874 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv4AddressHelper:ParseNonCanonical[short](ptr,int,byref,bool):long (FullOpts) (1 base, 0 diff methods)
        -812 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[byte](ptr,int,int):bool (FullOpts) (1 base, 0 diff methods)
        -981 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[int](ptr,int,int):bool (FullOpts) (1 base, 0 diff methods)
       -1000 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[long](ptr,int,int):bool (FullOpts) (1 base, 0 diff methods)
        -995 (-100.00 % of base) : System.Net.Primitives.dasm - System.Net.IPv6AddressHelper:IsValidStrict[short](ptr,int,int):bool (FullOpts) (1 base, 0 diff methods)
         -13 (-12.87 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIpv4[byte](System.ReadOnlySpan`1[byte],byref):bool (FullOpts)
         -13 (-12.87 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIpv4[int](System.ReadOnlySpan`1[int],byref):bool (FullOpts)
         -13 (-12.87 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIpv4[long](System.ReadOnlySpan`1[long],byref):bool (FullOpts)
         -13 (-12.87 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIpv4[short](System.ReadOnlySpan`1[short],byref):bool (FullOpts)
         -12 (-4.53 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIPv6[byte](System.ReadOnlySpan`1[byte],System.Span`1[ushort],int,byref):bool (FullOpts)
         -12 (-4.51 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIPv6[short](System.ReadOnlySpan`1[short],System.Span`1[ushort],int,byref):bool (FullOpts)
          -6 (-4.35 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:IsValid[byte](System.ReadOnlySpan`1[byte]):bool (FullOpts)
          -6 (-4.35 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:IsValid[int](System.ReadOnlySpan`1[int]):bool (FullOpts)
          -6 (-4.35 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:IsValid[long](System.ReadOnlySpan`1[long]):bool (FullOpts)
          -6 (-4.35 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:IsValid[short](System.ReadOnlySpan`1[short]):bool (FullOpts)
         -12 (-4.03 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIPv6[int](System.ReadOnlySpan`1[int],System.Span`1[ushort],int,byref):bool (FullOpts)
         -12 (-4.03 % of base) : System.Net.Primitives.dasm - System.Net.IPAddressParser:TryParseIPv6[long](System.ReadOnlySpan`1[long],System.Span`1[ushort],int,byref):bool (FullOpts)

72 total methods with Code Size differences (36 improved, 36 regressed), 282857 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