{"Summary":"63 changed method listings; 63 examples across 8 assemblies.\n\nFound 92 files with textual diffs.\n\nSummary of Code Size diffs:\n(Lower is better)\n\nTotal bytes of base: 162243195\nTotal bytes of diff: 162242818\nTotal bytes of delta: -377 (-0.00 % of base)\nTotal relative delta: -5.49\n    diff is an improvement.\n    relative diff is an improvement.\n\n\nTotal byte diff includes 665 bytes from reconciling methods\n\tBase had    0 unique methods,        0 unique bytes\n\tDiff had   18 unique methods,      665 unique bytes\n\nTop file regressions (bytes):\n         425 : Pipelines.Sockets.Unofficial.dasm (0.06 % of base)\n          69 : System.Text.Encodings.Web.dasm (0.30 % of base)\n\nTop file improvements (bytes):\n        -331 : System.Net.Sockets.dasm (-0.13 % of base)\n        -300 : System.IO.Hashing.dasm (-0.77 % of base)\n        -240 : System.Net.NameResolution.dasm (-0.19 % of base)\n\n5 total files with Code Size differences (3 improved, 2 regressed), 349 unchanged.\n\nTop method regressions (bytes):\n         425 (Infinity of base) : Pipelines.Sockets.Unofficial.dasm - Pipelines.Sockets.Unofficial.SocketConnection\u002BCounters:.cctor() (FullOpts) (0 base, 1 diff methods)\n          86 (Infinity of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters(System.Span\u00601[uint]) (FullOpts) (0 base, 1 diff methods)\n          30 (6.85 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstCharToEncode(System.ReadOnlySpan\u00601[char]):int:this (FullOpts)\n          28 (80.00 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:.ctor(bool):this (FullOpts)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[byte,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[byte,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[double,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[double,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[int,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[int,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[long,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[long,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[short,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[short,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.Nullable\u00601[int],System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.Nullable\u00601[int],System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.Numerics.Vector\u00601[float],System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.Numerics.Vector\u00601[float],System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n           8 (5.13 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:TryEncodeUnicodeScalar(int,ptr,int,byref):bool:this (FullOpts)\n           7 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.__Canon,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n           7 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.__Canon,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n           7 (1.25 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:Encode(System.ReadOnlySpan\u00601[char],System.Span\u00601[char],byref,byref,bool):int:this (FullOpts)\n           3 (12.50 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCharAllowed(char):bool:this (FullOpts)\n           3 (9.38 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCodePointAllowed(uint):bool:this (FullOpts)\n           3 (3.41 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.DefaultHtmlEncoder:WillEncode(int):bool:this (FullOpts)\n           3 (3.41 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.DefaultJavaScriptEncoder:WillEncode(int):bool:this (FullOpts)\n           3 (3.41 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.DefaultUrlEncoder:WillEncode(int):bool:this (FullOpts)\n           3 (1.23 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstByteToEncode(System.ReadOnlySpan\u00601[byte]):int:this (FullOpts)\n           3 (6.52 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:IsScalarValueAllowed(System.Text.Rune):bool:this (FullOpts)\n           3 (2.97 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.TextEncoderSettings\u002B\u003CGetAllowedCodePoints\u003Ed__14:MoveNext():bool:this (FullOpts)\n\nTop method improvements (bytes):\n         -93 (-81.58 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters():this (FullOpts)\n         -89 (-57.05 % of base) : System.Net.Sockets.dasm - Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n         -89 (-57.05 % of base) : System.Net.NameResolution.dasm - Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n         -88 (-43.35 % of base) : System.Net.Sockets.dasm - System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n         -88 (-43.35 % of base) : System.Net.NameResolution.dasm - System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n         -85 (-68.00 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n         -85 (-68.00 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n         -83 (-9.22 % of base) : System.Net.NameResolution.dasm - System.Net.NameResolutionPal:ParseHostEntry(Interop\u002BSys\u002BHostEntry,bool,byref,byref,byref) (FullOpts)\n         -57 (-41.91 % of base) : System.Net.Sockets.dasm - Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n         -57 (-41.91 % of base) : System.Net.NameResolution.dasm - Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n         -57 (-24.26 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:GetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,byref):int (FullOpts)\n         -44 (-29.53 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Clone():System.IO.Hashing.XxHash128:this (FullOpts)\n         -44 (-29.53 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:Clone():System.IO.Hashing.XxHash3:this (FullOpts)\n         -42 (-12.61 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:GetIPPacketInformation(ptr,bool,bool):System.Net.Sockets.IPPacketInformation (FullOpts)\n         -39 (-17.26 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:SetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,System.Net.Sockets.IPv6MulticastOption):int (FullOpts)\n         -36 (-22.36 % of base) : System.Net.Sockets.dasm - System.Net.InteropIPAddressExtensions:GetNativeIPAddress(System.Net.IPAddress):Interop\u002BSys\u002BIPAddress (FullOpts)\n         -20 (-4.45 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:.ctor(System.Text.Encodings.Web.ScalarEscaperBase,byref,bool,System.ReadOnlySpan\u00601[char]):this (FullOpts)\n         -12 (-0.97 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Append(byref,System.ReadOnlySpan\u00601[byte]) (FullOpts)\n          -8 (-2.14 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:GetCurrentHashAsHash128():System.IO.Hashing.XxHash128\u002BHash128:this (FullOpts)\n          -8 (-2.50 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:GetCurrentHashAsUInt64():ulong:this (FullOpts)\n          -6 (-10.91 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Reset(byref) (FullOpts)\n          -4 (-6.90 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr) (FullOpts)\n          -4 (-3.12 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Initialize(byref,ulong) (FullOpts)\n          -1 (-7.14 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:_GetIndexAndOffset(uint,byref,byref) (FullOpts)\n\nTop method regressions (percentages):\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[byte,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[byte,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[double,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[double,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[int,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[int,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[long,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[long,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[short,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[short,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n           7 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.__Canon,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n           7 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.__Canon,System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.Nullable\u00601[int],System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.Nullable\u00601[int],System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.Sockets.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.Numerics.Vector\u00601[float],System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n          10 (Infinity of base) : System.Net.NameResolution.dasm - \u003CPrivateImplementationDetails\u003E:InlineArrayAsSpan[System.Numerics.Vector\u00601[float],System.Nullable\u00601[int]](byref,int):System.Span\u00601[System.Nullable\u00601[int]] (FullOpts) (0 base, 1 diff methods)\n         425 (Infinity of base) : Pipelines.Sockets.Unofficial.dasm - Pipelines.Sockets.Unofficial.SocketConnection\u002BCounters:.cctor() (FullOpts) (0 base, 1 diff methods)\n          86 (Infinity of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters(System.Span\u00601[uint]) (FullOpts) (0 base, 1 diff methods)\n          28 (80.00 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:.ctor(bool):this (FullOpts)\n           3 (12.50 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCharAllowed(char):bool:this (FullOpts)\n           3 (9.38 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCodePointAllowed(uint):bool:this (FullOpts)\n          30 (6.85 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstCharToEncode(System.ReadOnlySpan\u00601[char]):int:this (FullOpts)\n           3 (6.52 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:IsScalarValueAllowed(System.Text.Rune):bool:this (FullOpts)\n           8 (5.13 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:TryEncodeUnicodeScalar(int,ptr,int,byref):bool:this (FullOpts)\n           3 (3.41 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.DefaultHtmlEncoder:WillEncode(int):bool:this (FullOpts)\n           3 (3.41 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.DefaultJavaScriptEncoder:WillEncode(int):bool:this (FullOpts)\n           3 (3.41 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.DefaultUrlEncoder:WillEncode(int):bool:this (FullOpts)\n           3 (2.97 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.TextEncoderSettings\u002B\u003CGetAllowedCodePoints\u003Ed__14:MoveNext():bool:this (FullOpts)\n           7 (1.25 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:Encode(System.ReadOnlySpan\u00601[char],System.Span\u00601[char],byref,byref,bool):int:this (FullOpts)\n           3 (1.23 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstByteToEncode(System.ReadOnlySpan\u00601[byte]):int:this (FullOpts)\n\nTop method improvements (percentages):\n         -93 (-81.58 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters():this (FullOpts)\n         -85 (-68.00 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n         -85 (-68.00 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n         -89 (-57.05 % of base) : System.Net.Sockets.dasm - Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n         -89 (-57.05 % of base) : System.Net.NameResolution.dasm - Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n         -88 (-43.35 % of base) : System.Net.Sockets.dasm - System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n         -88 (-43.35 % of base) : System.Net.NameResolution.dasm - System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n         -57 (-41.91 % of base) : System.Net.Sockets.dasm - Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n         -57 (-41.91 % of base) : System.Net.NameResolution.dasm - Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n         -44 (-29.53 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:Clone():System.IO.Hashing.XxHash128:this (FullOpts)\n         -44 (-29.53 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:Clone():System.IO.Hashing.XxHash3:this (FullOpts)\n         -57 (-24.26 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:GetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,byref):int (FullOpts)\n         -36 (-22.36 % of base) : System.Net.Sockets.dasm - System.Net.InteropIPAddressExtensions:GetNativeIPAddress(System.Net.IPAddress):Interop\u002BSys\u002BIPAddress (FullOpts)\n         -39 (-17.26 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:SetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,System.Net.Sockets.IPv6MulticastOption):int (FullOpts)\n         -42 (-12.61 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:GetIPPacketInformation(ptr,bool,bool):System.Net.Sockets.IPPacketInformation (FullOpts)\n          -6 (-10.91 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Reset(byref) (FullOpts)\n         -83 (-9.22 % of base) : System.Net.NameResolution.dasm - System.Net.NameResolutionPal:ParseHostEntry(Interop\u002BSys\u002BHostEntry,bool,byref,byref,byref) (FullOpts)\n          -1 (-7.14 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:_GetIndexAndOffset(uint,byref,byref) (FullOpts)\n          -4 (-6.90 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr) (FullOpts)\n         -20 (-4.45 % of base) : System.Text.Encodings.Web.dasm - System.Text.Encodings.Web.OptimizedInboxTextEncoder:.ctor(System.Text.Encodings.Web.ScalarEscaperBase,byref,bool,System.ReadOnlySpan\u00601[char]):this (FullOpts)\n          -4 (-3.12 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Initialize(byref,ulong) (FullOpts)\n          -8 (-2.50 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash3:GetCurrentHashAsUInt64():ulong:this (FullOpts)\n          -8 (-2.14 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHash128:GetCurrentHashAsHash128():System.IO.Hashing.XxHash128\u002BHash128:this (FullOpts)\n         -12 (-0.97 % of base) : System.IO.Hashing.dasm - System.IO.Hashing.XxHashShared:Append(byref,System.ReadOnlySpan\u00601[byte]) (FullOpts)\n\n54 total methods with Code Size differences (24 improved, 30 regressed), 833755 unchanged.\n\n--------------------------------------------------------------------------------","Notes":["19 new method listings are excluded. Use -includeNewMethodRegressions to include them."],"Entries":[{"Assembly":"Newtonsoft.Json.dasm","Method":"Newtonsoft.Json.DefaultJsonNameTable:Get(char[],int,int):System.String:this (FullOpts)","Category":"same-size","Description":"333 -\u003E 333 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,173 \u002B1,173 @@\n ; Assembly listing for method Newtonsoft.Json.DefaultJsonNameTable:Get(char[],int,int):System.String:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T07] (  4,  3   )     ref  -\u003E  rdi         this class-hnd single-def \u003CNewtonsoft.Json.DefaultJsonNameTable\u003E\n ;  V01 arg1         [V01,T03] (  7,  9   )     ref  -\u003E  rbx         class-hnd single-def \u003Cchar[]\u003E\n ;  V02 arg2         [V02,T04] (  7,  6   )     int  -\u003E  r15         single-def\n ;  V03 arg3         [V03,T05] (  6,  6   )     int  -\u003E  r14         single-def\n ;  V04 loc0         [V04,T00] ( 21, 23   )     int  -\u003E  r13        \n ;  V05 loc1         [V05,T06] (  6,  6   )     int  -\u003E  rdx         single-def\n ;* V06 loc2         [V06    ] (  0,  0   )     int  -\u003E  zero-ref   \n ;  V07 loc3         [V07,T10] (  3,  1.50)     int  -\u003E  rsi         single-def\n ;  V08 loc4         [V08,T02] ( 11, 17.04)     int  -\u003E  rcx        \n ;  V09 loc5         [V09,T01] (  8, 19.50)     ref  -\u003E  r12         class-hnd \u003CNewtonsoft.Json.DefaultJsonNameTable\u002BEntry\u003E\n ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V11 tmp1         [V11,T08] (  3,  3   )     ref  -\u003E  rdi         single-def \u0022arr expr\u0022\n ;  V12 cse0         [V12,T09] (  4,  1.54)     int  -\u003E  rsi         \u0022CSE #01: moderate\u0022\n ;\n ; Lcl frame size = 8\n \n G_M29284_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n        push     rax\n        lea      rbp, [rsp\u002B0x30]\n        mov      rbx, rsi\n        mov      r15d, edx\n        mov      r14d, ecx\n \t\t\t\t\t\t;; size=25 bbWeight=1 PerfScore 8.25\n G_M29284_IG02:\n        test     r14d, r14d\n        je       G_M29284_IG14\n \t\t\t\t\t\t;; size=9 bbWeight=1 PerfScore 1.25\n G_M29284_IG03:\n-       lea      r13d, [r14\u002B0x000EF6AD]\n\u002B       lea      r13d, [r14\u002B0x000EF57D]\n        mov      esi, dword ptr [rbx\u002B0x08]\n        cmp      r15d, esi\n        jae      G_M29284_IG16\n        mov      edx, r15d\n        movzx    rdx, word  ptr [rbx\u002B2*rdx\u002B0x10]\n        mov      ecx, r13d\n        shl      ecx, 7\n        xor      edx, ecx\n        add      r13d, edx\n        lea      edx, [r15\u002Br14]\n        lea      ecx, [r15\u002B0x01]\n        cmp      ecx, edx\n        jge      SHORT G_M29284_IG05\n        test     edx, edx\n        jl       G_M29284_IG10\n        cmp      esi, edx\n        jl       G_M29284_IG10\n        align    [0 bytes for IG04]\n \t\t\t\t\t\t;; size=66 bbWeight=0.50 PerfScore 6.00\n G_M29284_IG04:\n        mov      esi, ecx\n        movzx    rsi, word  ptr [rbx\u002B2*rsi\u002B0x10]\n        mov      eax, r13d\n        shl      eax, 7\n        xor      esi, eax\n        add      r13d, esi\n        inc      ecx\n        cmp      ecx, edx\n        jl       SHORT G_M29284_IG04\n \t\t\t\t\t\t;; size=24 bbWeight=3.96 PerfScore 19.80\n G_M29284_IG05:\n        mov      esi, r13d\n        sar      esi, 17\n        sub      r13d, esi\n        mov      esi, r13d\n        sar      esi, 11\n        sub      r13d, esi\n        mov      esi, r13d\n        sar      esi, 5\n        sub      r13d, esi\n        mov      esi, r13d\n        and      esi, dword ptr [rdi\u002B0x14]\n        mov      rdi, gword ptr [rdi\u002B0x08]\n        cmp      esi, dword ptr [rdi\u002B0x08]\n        jae      G_M29284_IG16\n        mov      r12, gword ptr [rdi\u002B8*rsi\u002B0x10]\n        test     r12, r12\n        je       SHORT G_M29284_IG12\n \t\t\t\t\t\t;; size=56 bbWeight=0.50 PerfScore 6.75\n G_M29284_IG06:\n        cmp      dword ptr [r12\u002B0x18], r13d\n        jne      SHORT G_M29284_IG11\n \t\t\t\t\t\t;; size=7 bbWeight=4 PerfScore 12.00\n G_M29284_IG07:\n        mov      rdi, gword ptr [r12\u002B0x08]\n        mov      rsi, rbx\n        mov      edx, r15d\n        mov      ecx, r14d\n        mov      rax, 0xD1FFAB1E      ; code for Newtonsoft.Json.DefaultJsonNameTable:TextEquals(System.String,char[],int,int):bool\n        call     [rax]Newtonsoft.Json.DefaultJsonNameTable:TextEquals(System.String,char[],int,int):bool\n        test     eax, eax\n        je       SHORT G_M29284_IG11\n \t\t\t\t\t\t;; size=30 bbWeight=2 PerfScore 14.50\n G_M29284_IG08:\n        mov      rax, gword ptr [r12\u002B0x08]\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 1.00\n G_M29284_IG09:\n        add      rsp, 8\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 2.12\n G_M29284_IG10:\n        cmp      ecx, esi\n        jae      SHORT G_M29284_IG16\n        mov      eax, ecx\n        movzx    rax, word  ptr [rbx\u002B2*rax\u002B0x10]\n        mov      r8d, r13d\n        shl      r8d, 7\n        xor      eax, r8d\n        add      eax, r13d\n        mov      r13d, eax\n        inc      ecx\n        cmp      ecx, edx\n        jl       SHORT G_M29284_IG10\n        jmp      G_M29284_IG05\n \t\t\t\t\t\t;; size=38 bbWeight=0.04 PerfScore 0.34\n G_M29284_IG11:\n        mov      r12, gword ptr [r12\u002B0x10]\n        test     r12, r12\n        jne      SHORT G_M29284_IG06\n \t\t\t\t\t\t;; size=10 bbWeight=4 PerfScore 13.00\n G_M29284_IG12:\n        xor      rax, rax\n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n G_M29284_IG13:\n        add      rsp, 8\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 2.12\n G_M29284_IG14:\n        mov      rax, 0xD1FFAB1E      ; \u0027\u0027\n \t\t\t\t\t\t;; size=10 bbWeight=0.50 PerfScore 0.12\n G_M29284_IG15:\n        add      rsp, 8\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 2.12\n G_M29284_IG16:\n        call     CORINFO_HELP_RNGCHKFAIL\n        int3     \n \t\t\t\t\t\t;; size=6 bbWeight=0 PerfScore 0.00\n \n ; Total bytes of code 333, prolog size 25, PerfScore 89.52, instruction count 113, allocated bytes for code 333 (MethodHash=987c8d9b) for method Newtonsoft.Json.DefaultJsonNameTable:Get(char[],int,int):System.String:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":333,"DiffBytes":333},{"Assembly":"Silk.NET.Assimp.dasm","Method":"Silk.NET.Assimp.CustomFileIO:.ctor(Silk.NET.Assimp.OpenFileCustomIOCallback):this (FullOpts)","Category":"same-size","Description":"159 -\u003E 159 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,94 \u002B1,94 @@\n ; Assembly listing for method Silk.NET.Assimp.CustomFileIO:.ctor(Silk.NET.Assimp.OpenFileCustomIOCallback):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  7,  6.50)     ref  -\u003E  rbx         this class-hnd single-def \u003CSilk.NET.Assimp.CustomFileIO\u003E\n ;  V01 arg1         [V01,T01] (  3,  3   )     ref  -\u003E  r15         class-hnd single-def \u003CSilk.NET.Assimp.OpenFileCustomIOCallback\u003E\n ;* V02 loc0         [V02    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u003CSystem.Runtime.InteropServices.GCHandle\u003E\n ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op \u003CSilk.NET.Assimp.FileIO\u003E\n ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V05 tmp1         [V05,T03] (  3,  0   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.InvalidOperationException\u003E\n ;* V06 tmp2         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Runtime.InteropServices.GCHandle\u003E\n ;* V07 tmp3         [V07    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n ;  V08 tmp4         [V08,T02] (  5,  4.50)    long  -\u003E  r14         \u0022Inline stloc first use temp\u0022\n ;* V09 tmp5         [V09    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSilk.NET.Assimp.PfnFileOpenProc\u003E\n ;* V10 tmp6         [V10    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSilk.NET.Assimp.PfnFileCloseProc\u003E\n ;* V11 tmp7         [V11    ] (  0,  0   )  struct ( 8) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Runtime.InteropServices.GCHandle\u003E\n ;* V12 tmp8         [V12    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V13 tmp9         [V13    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V02._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V14 tmp10        [V14    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V03.OpenProc (fldOffset=0x0)\u0022 P-INDEP\n ;* V15 tmp11        [V15    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V03.CloseProc (fldOffset=0x8)\u0022 P-INDEP\n ;* V16 tmp12        [V16    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V03.UserData (fldOffset=0x10)\u0022 P-INDEP\n ;* V17 tmp13        [V17    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V06._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V18 tmp14        [V18    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V09._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V19 tmp15        [V19    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V10._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V20 tmp16        [V20    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V11._handle (fldOffset=0x0)\u0022 P-INDEP\n ;\n ; Lcl frame size = 8\n \n G_M23716_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     rbx\n        push     rax\n        lea      rbp, [rsp\u002B0x20]\n        mov      rbx, rdi\n        mov      r15, rsi\n \t\t\t\t\t\t;; size=18 bbWeight=1 PerfScore 6.00\n G_M23716_IG02:\n        mov      rdi, rbx\n        mov      esi, 2\n        call     System.Runtime.InteropServices.GCHandle:_InternalAlloc(System.Object,int):nint\n        mov      r14, rax\n        test     r14, r14\n        jne      SHORT G_M23716_IG04\n \t\t\t\t\t\t;; size=21 bbWeight=1 PerfScore 3.00\n G_M23716_IG03:\n        mov      rdi, rbx\n        mov      esi, 2\n        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.GCHandle:InternalAllocWithGCTransition(System.Object,int):nint\n        call     [rax]System.Runtime.InteropServices.GCHandle:InternalAllocWithGCTransition(System.Object,int):nint\n        mov      r14, rax\n \t\t\t\t\t\t;; size=23 bbWeight=0.50 PerfScore 2.00\n G_M23716_IG04:\n        test     r14, r14\n        je       SHORT G_M23716_IG06\n        lea      rdi, bword ptr [rbx\u002B0x08]\n        mov      rsi, r15\n        call     CORINFO_HELP_ASSIGN_REF\n        vmovups  xmm0, xmmword ptr [reloc @RWD00]\n        vmovups  xmmword ptr [rbx\u002B0x10], xmm0\n        mov      qword ptr [rbx\u002B0x20], r14\n \t\t\t\t\t\t;; size=34 bbWeight=1 PerfScore 6.00\n G_M23716_IG05:\n        add      rsp, 8\n        pop      rbx\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 3.25\n G_M23716_IG06:\n        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException\n        call     CORINFO_HELP_NEWSFAST\n        mov      rbx, rax\n        mov      rdi, rbx\n        mov      rsi, 0xD1FFAB1E      ; \u0027Failed to allocate GCHandle for CustomFileIO\u0027\n        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this\n        call     [rax]System.InvalidOperationException:.ctor(System.String):this\n        mov      rdi, rbx\n        call     CORINFO_HELP_THROW\n        int3     \n \t\t\t\t\t\t;; size=52 bbWeight=0 PerfScore 0.00\n-RWD00  \tdq\t0000743DC8940CC0h, 0000743DC8940CD8h\n\u002BRWD00  \tdq\t0000722B56F40DF8h, 0000722B56F40E10h\n \n \n ; Total bytes of code 159, prolog size 12, PerfScore 20.25, instruction count 43, allocated bytes for code 159 (MethodHash=57fda35b) for method Silk.NET.Assimp.CustomFileIO:.ctor(Silk.NET.Assimp.OpenFileCustomIOCallback):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":159,"DiffBytes":159},{"Assembly":"SixLabors.ImageSharp.dasm","Method":"SixLabors.ImageSharp.Formats.Webp.WebpChunkParsingUtils:ReadChunkSize(System.IO.Stream,System.Span\u00601[byte],bool):uint (FullOpts)","Category":"same-size","Description":"207 -\u003E 207 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,149 \u002B1,127 @@\n ; Assembly listing for method SixLabors.ImageSharp.Formats.Webp.WebpChunkParsingUtils:ReadChunkSize(System.IO.Stream,System.Span\u00601[byte],bool):uint (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 arg0         [V00,T00] (  6,  5   )     ref  -\u003E  rbx         class-hnd single-def \u003CSystem.IO.Stream\u003E\n ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def \u003CSystem.Span\u00601[byte]\u003E\n ;  V02 arg2         [V02,T02] (  3,  2.50)   ubyte  -\u003E  r14         single-def\n ;  V03 loc0         [V03,T05] (  4,  2   )     int  -\u003E  rax         single-def\n ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V05 tmp1         [V05    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022non-inline candidate call\u0022\n ;  V06 tmp2         [V06,T07] (  4,  0   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSixLabors.ImageSharp.ImageFormatException\u003E\n ;* V07 tmp3         [V07    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V08 tmp4         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V09 tmp5         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V10 tmp6         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V11 tmp7         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V12 tmp8         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V13 tmp9         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;  V14 tmp10        [V14,T01] (  3,  2.50)   byref  -\u003E  r15         single-def \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n ;  V15 tmp11        [V15,T03] (  3,  2.50)     int  -\u003E  r13         single-def \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V16 tmp12        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V17 tmp13        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V18 tmp14        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V19 tmp15        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V20 tmp16        [V20    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V21 tmp17        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V22 tmp18        [V22    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V23 tmp19        [V23    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V24 tmp20        [V24    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V25 tmp21        [V25    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n ;  V26 cse0         [V26,T06] (  3,  1.50)    long  -\u003E  r13         \u0022CSE #02: aggressive\u0022\n ;  V27 cse1         [V27,T04] (  3,  2.50)    long  -\u003E  r12         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 8\n \n G_M54538_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n        push     rax\n        lea      rbp, [rsp\u002B0x30]\n        mov      rbx, rdi\n        mov      r15, rsi\n        mov      r13d, edx\n        mov      r14d, ecx\n \t\t\t\t\t\t;; size=28 bbWeight=1 PerfScore 8.50\n G_M54538_IG02:\n        mov      rsi, r15\n        mov      edx, r13d\n        mov      rdi, rbx\n        mov      r12, qword ptr [rbx]\n        mov      rax, qword ptr [r12\u002B0x68]\n        call     [rax\u002B0x18]System.IO.Stream:Read(System.Span\u00601[byte]):int:this\n        cmp      eax, 4\n        je       SHORT G_M54538_IG05\n \t\t\t\t\t\t;; size=25 bbWeight=1 PerfScore 9.00\n G_M54538_IG03:\n        test     r14b, r14b\n        jne      SHORT G_M54538_IG08\n        mov      rdi, rbx\n        mov      r13, qword ptr [r12\u002B0x48]\n        call     [r13\u002B0x08]System.IO.Stream:get_Length():long:this\n        mov      r15d, eax\n        mov      rdi, rbx\n        call     [r13\u002B0x10]System.IO.Stream:get_Position():long:this\n        sub      r15d, eax\n        mov      eax, r15d\n \t\t\t\t\t\t;; size=33 bbWeight=0.50 PerfScore 5.25\n G_M54538_IG04:\n-       add      rsp; Assembly listing for method SixLabors.ImageSharp.Memory.Internals.UniformUnmanagedMemoryPool\u002B\u003C\u003Ec:\u003CUpdateTimer\u003Eb__26_0(System.Object):this (FullOpts)\n-; Emitting BLENDED_CODE,  for 8\n-x64 \u002B VEX       \u002B EVEX pop       on Unixrbx\n-\n-; FullOpts code\n-; optimized code\n-; rsp based frame\n-; fully interruptible\n-      ; No PGO data\n- pop      r12\n\u002B       add      rsp, 8\n\u002B       pop      rbx\n\u002B       pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n-; Final local variable assignments\n-;\n        ret      \n-;* \t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 2.12V00 this\n-G_M54538_IG05:         \n-[V00    ]       (  0,  0   ) cmp      r13d     ref ,  -\u003E  4\n-zero-ref          jl        thisSHORT  class-hndG_M54538_IG07\n- single-def       mov      eax, dword ptr [r15]\n- \u003CSixLabors.ImageSharp.Memory.Internals.UniformUnmanagedMemoryPool\u002B\u003C\u003Ec\u003E      \n-;*  lea      edi, [V01 arg1rax         \u002B[V01    ] (  0,  0   )0x01     ref ] -\u003E  \n-zero-ref    class-hnd single-def       test      \u003CSystem.Object\u003Eal, \n-1\n-;#       V02 OutArgs       cmovne   [V02    ]eax (  1,  1   ), edi\n-  struct ( 0) \t\t\t\t\t\t;; size=17 bbWeight=0.50 PerfScore 2.25\n\u002B\t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 2.12\n\u002BG_M54538_IG05:\n\u002B       cmp      r13d, 4\n\u002B       jl       SHORT G_M54538_IG07\n\u002B       mov      eax, dword ptr [r15]\n\u002B       lea      edi, [rax\u002B0x01]\n\u002B       test     al, 1\n\u002B       cmovne   eax, edi\n\u002B\t\t\t\t\t\t;; size=17 bbWeight=0.50 PerfScore 2.25\n G_M54538_IG06:\n-[rsp\u002B0x00]        do-not-enreg[ add      XSrsp] addr-exposed, 8\n- \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-       pop      ;\n-rbx\n-; Lcl frame size = 0\n\u002B       add      rsp, 8\n\u002B       pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 2.12\n G_M54538_IG07:\n        mov      edi, 40\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n G_M54538_IG08:\n        mov      rdi, 0xD1FFAB1E      ; SixLabors.ImageSharp.ImageFormatException\n        call     CORINFO_HELP_NEWSFAST\n        mov      rbx, rax\n        mov      rdi, rbx\n        mov      rax, 0xD1FFAB1E      ; code for System.Exception:.ctor():this\n-      \n-G_M16090_IG01:\n- call     [rax]System.Exception:.ctor():this\n-       mov      rdi, 0xD1FFAB1E\t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n-G_M16090_IG02:\n-      ; \u0027Invalid Webp data, could not read chunk size.\u0027\n-             mov       mov      gword ptr [rbx\u002B0x10]rax, rdi\n-,        mov      0xD1FFAB1Erdi, rbx\n\u002B       call     [rax]System.Exception:.ctor():this\n\u002B       mov      rdi, 0xD1FFAB1E      ; \u0027Invalid Webp data, could not read chunk size.\u0027\n\u002B       mov      gword ptr [rbx\u002B0x10], rdi\n\u002B       mov      rdi, rbx\n        call     CORINFO_HELP_THROW\n        int3     \n-      ; code for SixLabors.ImageSharp.Memory.Internals.UniformUnmanagedMemoryPool:TimerCallback()\n \t\t\t\t\t\t;; size=56 bbWeight=0 PerfScore 0.00\n-\t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 0.25\n-G_M16090_IG03:\n-      \n- tail.jmp [rax]SixLabors.ImageSharp.Memory.Internals.UniformUnmanagedMemoryPool:TimerCallback()\n\u002B\n ; Total bytes of code 207, prolog size 16, PerfScore 29.25, instruction count 67, allocated bytes for code 207 (MethodHash=920e2af5) for method SixLabors.ImageSharp.Formats.Webp.WebpChunkParsingUtils:ReadChunkSize(System.IO.Stream,System.Span\u00601[byte],bool):uint (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":207,"DiffBytes":207},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHash128:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)","Category":"improvement","Description":"125 -\u003E 40 bytes (-85)","ExtraInfo":null,"Diff":"@@ -1,54 \u002B1,35 @@\n ; Assembly listing for method System.IO.Hashing.XxHash128:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 this         [V00,T00] (  4,  4   )     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.IO.Hashing.XxHash128\u003E\n-;  V01 arg1         [V01,T02] (  1,  1   )  struct (544) [rsp\u002B0x240]  do-not-enreg[S] single-def unsafe-buffer \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n-;  V02 tmp0         [V02,T03] (  1,  1   )     int  -\u003E  [rsp\u002B0x224]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V04 rat0         [V04    ] (  1,  1   )    long  -\u003E  [rsp\u002B0x228]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n-;  V05 rat1         [V05,T01] (  2,  2   )  struct (544) [rsp\u002B0x00]  do-not-enreg[S] single-def unsafe-buffer \u0022V01 shadow\u0022 \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n\u002B;  V00 this         [V00,T00] (  4,  4   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.IO.Hashing.XxHash128\u003E\n\u002B;  V01 arg1         [V01,T01] (  1,  1   )  struct (544) [rsp\u002B0x10]  do-not-enreg[S] single-def \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n\u002B;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;\n-; Lcl frame size = 560\n\u002B; Lcl frame size = 8\n \n G_M18903_IG01:\n-       push     rbx\n-       sub      rsp, 560\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rsp\u002B0x228], rax\n-       mov      rbx, rdi\n-\t\t\t\t\t\t;; size=29 bbWeight=1 PerfScore 2.75\n\u002B       push     rax\n\u002B\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n G_M18903_IG02:\n\u002B       mov      dword ptr [rdi\u002B0x08], 16\n\u002B       add      rdi, 16\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMCPY\n-       lea      rdi, bword ptr [rsp]\n-       lea      rsi, [rsp\u002B0x240]\n\u002B       lea      rsi, [rsp\u002B0x10]\n        mov      edx, 544\n        call     [rax]CORINFO_HELP_MEMCPY\n-       mov      dword ptr [rbx\u002B0x08], 16\n-       lea      rdi, bword ptr [rbx\u002B0x10]\n-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMCPY\n-       lea      rsi, [rsp]\n-       mov      edx, 544\n-       call     [rax]CORINFO_HELP_MEMCPY\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rsp\u002B0x228], r9\n-       je       SHORT G_M18903_IG03\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=86 bbWeight=1 PerfScore 13.25\n-G_M18903_IG03:\n        nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n-G_M18903_IG04:\n-       add      rsp, 560\n-       pop      rbx\n\u002B\t\t\t\t\t\t;; size=34 bbWeight=1 PerfScore 5.50\n\u002BG_M18903_IG03:\n\u002B       add      rsp, 8\n        ret      \n-\t\t\t\t\t\t;; size=9 bbWeight=1 PerfScore 1.75\n\u002B\t\t\t\t\t\t;; size=5 bbWeight=1 PerfScore 1.25\n \n-; Total bytes of code 125, prolog size 26, PerfScore 18.00, instruction count 24, allocated bytes for code 125 (MethodHash=cb77b628) for method System.IO.Hashing.XxHash128:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n\u002B; Total bytes of code 40, prolog size 1, PerfScore 7.75, instruction count 10, allocated bytes for code 40 (MethodHash=cb77b628) for method System.IO.Hashing.XxHash128:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":125,"DiffBytes":40},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHashShared:DigestLong(byref,ptr,ptr) (FullOpts)","Category":"same-size","Description":"436 -\u003E 436 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,195 \u002B1,196 @@\n ; Assembly listing for method System.IO.Hashing.XxHashShared:DigestLong(byref,ptr,ptr) (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 0 single block inlinees; 7 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 1 single block inlinees; 7 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 arg0         [V00,T01] (  7,  5.50)   byref  -\u003E  rbx         single-def\n-;  V01 arg1         [V01,T02] (  7,  5   )    long  -\u003E  r15         single-def\n-;  V02 arg2         [V02,T03] (  7,  5   )    long  -\u003E  r14         single-def\n\u002B;  V00 arg0         [V00,T02] (  7,  5.50)   byref  -\u003E  rbx         single-def\n\u002B;  V01 arg1         [V01,T03] (  7,  5   )    long  -\u003E  r15         single-def\n\u002B;  V02 arg2         [V02,T04] (  7,  5   )    long  -\u003E  r14         single-def\n ;* V03 loc0         [V03    ] (  0,  0   )    long  -\u003E  zero-ref    ptr\n-;  V04 loc1         [V04    ] (  3,  3   )   byref  -\u003E  [rbp-0x38]  do-not-enreg[] pinned ptr\n-;  V05 loc2         [V05,T11] (  3,  2   )    long  -\u003E  r12        \n-;  V06 loc3         [V06,T17] (  2,  1   )     int  -\u003E  r12        \n-;  V07 loc4         [V07,T08] (  4,  2   )    long  -\u003E  rdx         ld-addr-op\n-;  V08 loc5         [V08,T09] (  4,  2   )    long  -\u003E  [rbp-0x40]  spill-single-def ptr\n-;  V09 loc6         [V09,T10] (  4,  2   )     int  -\u003E  r12        \n\u002B;  V04 loc1         [V04    ] (  2,  2   )   byref  -\u003E  [rbp-0x38]  do-not-enreg[] pinned ptr\n\u002B;  V05 loc2         [V05,T12] (  3,  2   )    long  -\u003E  r12        \n\u002B;  V06 loc3         [V06,T18] (  2,  1   )     int  -\u003E  r12        \n\u002B;  V07 loc4         [V07,T09] (  4,  2   )    long  -\u003E  rdx         ld-addr-op\n\u002B;  V08 loc5         [V08,T10] (  4,  2   )    long  -\u003E  [rbp-0x40]  spill-single-def ptr\n\u002B;  V09 loc6         [V09,T11] (  4,  2   )     int  -\u003E  r12        \n ;* V10 loc7         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V12 tmp1         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V13 tmp2         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V14 tmp3         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V15 tmp4         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;  V16 tmp5         [V16,T07] (  5,  2.50)    long  -\u003E  r12         \u0022Inline stloc first use temp\u0022\n-;  V17 tmp6         [V17,T04] (  4,  4   )    long  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;  V18 tmp7         [V18,T18] (  2,  1   )    long  -\u003E  [rbp-0x48]  spill-single-def ptr \u0022Inline stloc first use temp\u0022\n-;* V19 tmp8         [V19    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V20 tmp9         [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;  V21 tmp10        [V21,T06] (  3,  3   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V22 tmp11        [V22,T19] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V23 tmp12        [V23    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V24 tmp13        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;* V25 tmp14        [V25    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V26 tmp15        [V26    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V27 tmp16        [V27,T13] (  2,  1   )   byref  -\u003E  rax         single-def \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V28 tmp17        [V28    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V29 tmp18        [V29,T14] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V30 tmp19        [V30    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V31 tmp20        [V31,T15] (  2,  1   )   byref  -\u003E  rsi         single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V32 tmp21        [V32    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V33 tmp22        [V33,T16] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V34 tmp23        [V34    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V35 tmp24        [V35    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V36 tmp25        [V36    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V37 tmp26        [V37    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V24._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V38 tmp27        [V38    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V24._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V39 tmp28        [V39,T00] (  7,  8   )    long  -\u003E  r13         \u0022Cast away GC\u0022\n-;  V40 cse0         [V40,T05] (  4,  3   )     int  -\u003E  r12         \u0022CSE #01: moderate\u0022\n-;  V41 cse1         [V41,T12] (  2,  1   )     int  -\u003E  rdx         \u0022CSE #05: moderate\u0022\n-;  V42 rat0         [V42    ] (  1,  1   )    long  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;  V16 tmp5         [V16,T01] (  4,  8   )   byref  -\u003E  r13         single-def \u0022Inlining Arg\u0022\n\u002B;  V17 tmp6         [V17,T08] (  5,  2.50)    long  -\u003E  r12         \u0022Inline stloc first use temp\u0022\n\u002B;  V18 tmp7         [V18,T05] (  4,  4   )    long  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;  V19 tmp8         [V19,T19] (  2,  1   )    long  -\u003E  [rbp-0x48]  spill-single-def ptr \u0022Inline stloc first use temp\u0022\n\u002B;* V20 tmp9         [V20    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V21 tmp10        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V22 tmp11        [V22,T07] (  3,  3   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;* V23 tmp12        [V23,T20] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V24 tmp13        [V24    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V25 tmp14        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V26 tmp15        [V26    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V27 tmp16        [V27    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V28 tmp17        [V28,T14] (  2,  1   )   byref  -\u003E  rax         single-def \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V29 tmp18        [V29    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V30 tmp19        [V30,T15] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V31 tmp20        [V31    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V32 tmp21        [V32,T16] (  2,  1   )   byref  -\u003E  rsi         single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V33 tmp22        [V33    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V34 tmp23        [V34,T17] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V35 tmp24        [V35    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V36 tmp25        [V36    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V21._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V37 tmp26        [V37    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V21._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V38 tmp27        [V38    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V25._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V39 tmp28        [V39    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V25._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V40 tmp29        [V40,T00] (  7,  8   )    long  -\u003E  r13         \u0022Cast away GC\u0022\n\u002B;  V41 cse0         [V41,T06] (  4,  3   )     int  -\u003E  r12         \u0022CSE #01: moderate\u0022\n\u002B;  V42 cse1         [V42,T13] (  2,  1   )     int  -\u003E  rdx         \u0022CSE #05: moderate\u0022\n\u002B;  V43 rat0         [V43    ] (  1,  1   )    long  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n ;\n ; Lcl frame size = 40\n \n G_M57261_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n        sub      rsp, 40\n        lea      rbp, [rsp\u002B0x50]\n        mov      rax, 0xD1FFAB1E\n        mov      qword ptr [rbp-0x30], rax\n        mov      rbx, rdi\n        mov      r15, rsi\n        mov      r14, rdx\n \t\t\t\t\t\t;; size=42 bbWeight=1 PerfScore 8.75\n G_M57261_IG02:\n-       lea      rdx, bword ptr [rbx\u002B0x120]\n-       mov      bword ptr [rbp-0x38], rdx\n-       mov      r13, bword ptr [rbp-0x38]\n\u002B       lea      r13, bword ptr [rbx\u002B0x120]\n\u002B       cmp      byte  ptr [r13], r13b\n\u002B       mov      bword ptr [rbp-0x38], r13\n        mov      r12d, dword ptr [rbx\u002B0x18]\n        cmp      r12d, 64\n        jae      SHORT G_M57261_IG04\n-\t\t\t\t\t\t;; size=25 bbWeight=1 PerfScore 5.75\n\u002B\t\t\t\t\t\t;; size=25 bbWeight=1 PerfScore 6.75\n G_M57261_IG03:\n        test     dword ptr [rsp], esp\n        sub      rsp, 64\n        lea      rax, [rsp]\n        mov      rsi, rax\n        mov      qword ptr [rbp-0x40], rsi\n        neg      r12d\n        add      r12d, 64\n        lea      rdx, [r13\u002B0x100]\n        mov      edi, r12d\n        sub      rdx, rdi\n        mov      rax, rdx\n        mov      rdi, rsi\n        mov      edx, r12d\n        mov      rsi, rax\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)\n        call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)\n        mov      edx, dword ptr [rbx\u002B0x18]\n        test     edx, edx\n        jl       G_M57261_IG10\n        mov      rsi, r13\n        mov      edi, r12d\n        mov      r12, qword ptr [rbp-0x40]\n        add      rdi, r12\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)\n        call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)\n        jmp      G_M57261_IG07\n \t\t\t\t\t\t;; size=103 bbWeight=0.50 PerfScore 10.00\n G_M57261_IG04:\n        dec      r12d\n        shr      r12d, 6\n        mov      rdx, qword ptr [rbx]\n        mov      ecx, r12d\n        mov      r12, rdx\n        neg      r12\n        add      r12, 16\n        cmp      r12, rcx\n        jbe      SHORT G_M57261_IG05\n        shl      edx, 3\n        movsxd   rdx, edx\n        add      rdx, r14\n        mov      rdi, r15\n        mov      rsi, r13\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [rax]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        jmp      SHORT G_M57261_IG06\n \t\t\t\t\t\t;; size=66 bbWeight=0.50 PerfScore 6.12\n G_M57261_IG05:\n        mov      rax, rcx\n        sub      rax, r12\n        mov      qword ptr [rbp-0x48], rax\n        shl      edx, 3\n        movsxd   rdx, edx\n        add      rdx, r14\n        mov      rdi, r15\n        mov      rsi, r13\n        mov      ecx, r12d\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      r10, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [r10]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        lea      rsi, [r14\u002B0x80]\n        mov      rdi, r15\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        call     [rax]System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        shl      r12d, 6\n        movsxd   rsi, r12d\n        add      rsi, r13\n        mov      rdi, r15\n        mov      rdx, r14\n        mov      rcx, qword ptr [rbp-0x48]\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [rax]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n \t\t\t\t\t\t;; size=113 bbWeight=0.50 PerfScore 8.62\n G_M57261_IG06:\n        mov      edx, dword ptr [rbx\u002B0x18]\n        lea      r12, [r13\u002Brdx-0x40]\n \t\t\t\t\t\t;; size=8 bbWeight=0.50 PerfScore 2.00\n G_M57261_IG07:\n        lea      rdx, [r14\u002B0x79]\n        mov      rdi, r15\n        mov      rsi, r12\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate512(ptr,ptr,ptr)\n        call     [rax]System.IO.Hashing.XxHashShared:Accumulate512(ptr,ptr,ptr)\n        xor      r9d, r9d\n        mov      bword ptr [rbp-0x38], r9\n        mov      r9, 0xD1FFAB1E\n        cmp      qword ptr [rbp-0x30], r9\n        je       SHORT G_M57261_IG08\n        call     CORINFO_HELP_FAIL_FAST\n \t\t\t\t\t\t;; size=50 bbWeight=1 PerfScore 8.75\n G_M57261_IG08:\n        nop      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n G_M57261_IG09:\n        lea      rsp, [rbp-0x28]\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=15 bbWeight=1 PerfScore 4.50\n G_M57261_IG10:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 436, prolog size 33, PerfScore 54.75, instruction count 116, allocated bytes for code 436 (MethodHash=ae3d2052) for method System.IO.Hashing.XxHashShared:DigestLong(byref,ptr,ptr) (FullOpts)\n\u002B; Total bytes of code 436, prolog size 33, PerfScore 55.75, instruction count 116, allocated bytes for code 436 (MethodHash=ae3d2052) for method System.IO.Hashing.XxHashShared:DigestLong(byref,ptr,ptr) (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":436,"DiffBytes":436},{"Assembly":"System.Net.NameResolution.dasm","Method":"Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)","Category":"improvement","Description":"156 -\u003E 67 bytes (-89)","ExtraInfo":null,"Diff":"@@ -1,119 \u002B1,132 @@\n ; Assembly listing for method Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 10 single block inlinees; 2 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 20 single block inlinees; 3 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  5,  4   )   byref  -\u003E  rdi         this single-def\n-;  V01 arg1         [V01    ] (  1,  1   )  struct (24) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def unsafe-buffer \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;  V01 arg1         [V01    ] (  4,  2   )  struct (24) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def \u003CInterop\u002BSys\u002BIPAddress\u003E\n ;  V02 loc0         [V02,T01] (  3,  1.50)     int  -\u003E  rdx        \n-;  V03 tmp0         [V03,T04] (  1,  1   )     int  -\u003E  [rbp-0x24]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    \u0022impAppendStmt\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V07 tmp4         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V09 tmp6         [V09    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V10 tmp7         [V10,T03] (  2,  1   )   ubyte  -\u003E  rax         \u0022Inline return value spill temp\u0022\n-;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V12 tmp9         [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n-;* V13 tmp10        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V14 tmp11        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n-;* V15 tmp12        [V15    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n-;* V16 tmp13        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022impAppendStmt\u0022\n-;* V17 tmp14        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V18 tmp15        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V19 tmp16        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V20 tmp17        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V21 tmp18        [V21,T02] (  2,  1   )   byref  -\u003E  rsi         single-def \u0022field V05._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V22 tmp19        [V22    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V23 tmp20        [V23    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V24 tmp21        [V24    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V25 tmp22        [V25    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V26 tmp23        [V26    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V27 tmp24        [V27    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V28 tmp25        [V28    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V29 tmp26        [V29    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V30 tmp27        [V30    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V31 tmp28        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V17._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V32 tmp29        [V32    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V17._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V33 tmp30        [V33    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V34 tmp31        [V34    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V35 tmp32        [V35    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V36 tmp33        [V36    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V37 tmp34        [V37    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V38 tmp35        [V38    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V39 rat0         [V39    ] (  1,  1   )    long  -\u003E  [rbp-0x08]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n-;  V40 rat1         [V40    ] (  5,  3   )  struct (24) [rbp-0x20]  do-not-enreg[XSF] addr-exposed single-def unsafe-buffer \u0022V01 shadow\u0022 \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;* V03 loc1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n\u002B;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    \u0022impAppendStmt\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V10 tmp5         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V11 tmp6         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V12 tmp7         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V13 tmp8         [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V14 tmp9         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V15 tmp10        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V16 tmp11        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V17 tmp12        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V18 tmp13        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V19 tmp14        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V20 tmp15        [V20    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V21 tmp16        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V22 tmp17        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V23 tmp18        [V23    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V24 tmp19        [V24    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V25 tmp20        [V25,T02] (  2,  1   )   ubyte  -\u003E  rax         \u0022Inline return value spill temp\u0022\n\u002B;* V26 tmp21        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V27 tmp22        [V27    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n\u002B;* V28 tmp23        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V29 tmp24        [V29    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n\u002B;* V30 tmp25        [V30    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n\u002B;* V31 tmp26        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022impAppendStmt\u0022\n\u002B;* V32 tmp27        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V33 tmp28        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V34 tmp29        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V35 tmp30        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V36 tmp31        [V36    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V37 tmp32        [V37    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V38 tmp33        [V38    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V39 tmp34        [V39    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V40 tmp35        [V40    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V41 tmp36        [V41    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V42 tmp37        [V42    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V43 tmp38        [V43    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V44 tmp39        [V44    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V45 tmp40        [V45    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V46 tmp41        [V46    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V47 tmp42        [V47    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V48 tmp43        [V48    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V49 tmp44        [V49    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V50 tmp45        [V50    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V51 tmp46        [V51    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V52 tmp47        [V52    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V53 tmp48        [V53    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V54 tmp49        [V54    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V55 tmp50        [V55    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V56 tmp51        [V56,T03] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V57 tmp52        [V57    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V58 tmp53        [V58    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V59 tmp54        [V59    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V60 tmp55        [V60    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V21._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V61 tmp56        [V61    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V21._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V62 tmp57        [V62    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V63 tmp58        [V63    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V64 tmp59        [V64    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V65 tmp60        [V65    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V66 tmp61        [V66    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V28._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V67 tmp62        [V67    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V28._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V68 tmp63        [V68    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V32._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V69 tmp64        [V69    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V32._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V70 tmp65        [V70    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V33._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V71 tmp66        [V71    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V33._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V72 tmp67        [V72    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V34._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V73 tmp68        [V73    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V34._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V74 tmp69        [V74    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V35._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V75 tmp70        [V75    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V35._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n-; Lcl frame size = 48\n\u002B; Lcl frame size = 0\n \n G_M8406_IG01:\n        push     rbp\n-       sub      rsp, 48\n-       lea      rbp, [rsp\u002B0x30]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x08], rax\n-\t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 3.00\n\u002B       mov      rbp, rsp\n\u002B\t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M8406_IG02:\n-       vmovdqu  xmm0, xmmword ptr [rbp\u002B0x10]\n-       vmovdqu  xmmword ptr [rbp-0x20], xmm0\n-       mov      rdx, qword ptr [rbp\u002B0x20]\n-       mov      qword ptr [rbp-0x10], rdx\n        cmp      dword ptr [rdi\u002B0x10], 0\n        jne      SHORT G_M8406_IG04\n-\t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 7.00\n\u002B\t\t\t\t\t\t;; size=6 bbWeight=1 PerfScore 3.00\n G_M8406_IG03:\n-       cmp      dword ptr [rbp-0x10], 0\n-       jne      SHORT G_M8406_IG08\n\u002B       cmp      dword ptr [rbp\u002B0x20], 0\n\u002B       jne      SHORT G_M8406_IG07\n        mov      edx, 4\n        jmp      SHORT G_M8406_IG05\n \t\t\t\t\t\t;; size=13 bbWeight=0.50 PerfScore 2.12\n G_M8406_IG04:\n-       cmp      dword ptr [rbp-0x10], 0\n-       je       SHORT G_M8406_IG08\n\u002B       cmp      dword ptr [rbp\u002B0x20], 0\n\u002B       je       SHORT G_M8406_IG07\n        mov      edx, dword ptr [rdi\u002B0x14]\n-       cmp      edx, dword ptr [rbp-0x0C]\n-       jne      SHORT G_M8406_IG08\n\u002B       cmp      edx, dword ptr [rbp\u002B0x24]\n\u002B       jne      SHORT G_M8406_IG07\n        mov      edx, 16\n \t\t\t\t\t\t;; size=19 bbWeight=0.50 PerfScore 3.12\n G_M8406_IG05:\n-       lea      rsi, [rbp-0x20]\n        mov      edx, edx\n\u002B       lea      rsi, bword ptr [rbp\u002B0x10]\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,nuint):bool\n        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,nuint):bool\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x08], r9\n-       je       SHORT G_M8406_IG06\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=39 bbWeight=0.50 PerfScore 3.62\n\u002B       nop      \n\u002B\t\t\t\t\t\t;; size=19 bbWeight=0.50 PerfScore 2.12\n G_M8406_IG06:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n\u002B       pop      rbp\n\u002B       ret      \n\u002B\t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n G_M8406_IG07:\n-       add      rsp, 48\n-       pop      rbp\n-       ret      \n-\t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 0.88\n-G_M8406_IG08:\n        xor      eax, eax\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x08], r9\n-       je       SHORT G_M8406_IG09\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=23 bbWeight=0.50 PerfScore 1.75\n-G_M8406_IG09:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M8406_IG10:\n-       add      rsp, 48\n\u002B\t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n\u002BG_M8406_IG08:\n        pop      rbp\n        ret      \n-\t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 0.88\n\u002B\t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n \n-; Total bytes of code 156, prolog size 24, PerfScore 22.62, instruction count 42, allocated bytes for code 156 (MethodHash=6dbddf29) for method Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n\u002B; Total bytes of code 67, prolog size 4, PerfScore 13.25, instruction count 24, allocated bytes for code 67 (MethodHash=6dbddf29) for method Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":156,"DiffBytes":67},{"Assembly":"System.Net.NameResolution.dasm","Method":"Interop\u002BSys\u002BIPAddress:GetHashCode():int:this (FullOpts)","Category":"same-size","Description":"78 -\u003E 78 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,57 \u002B1,77 @@\n ; Assembly listing for method Interop\u002BSys\u002BIPAddress:GetHashCode():int:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  4,  4   )   byref  -\u003E  rdi         this single-def\n ;  V01 loc0         [V01    ] (  3,  3   )  struct (32) [rbp-0x20]  do-not-enreg[XS] addr-exposed ld-addr-op \u003CSystem.HashCode\u003E\n-;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V03 tmp1         [V03    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n-;* V04 tmp2         [V04    ] (  0,  0   )   byref  -\u003E  zero-ref   \n-;* V05 tmp3         [V05    ] (  0,  0   )   byref  -\u003E  zero-ref   \n-;* V06 tmp4         [V06    ] (  0,  0   )   byref  -\u003E  zero-ref   \n-;* V07 tmp5         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def\n-;  V08 tmp6         [V08,T01] (  2,  2   )     int  -\u003E  rdx        \n-;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V11 tmp9         [V11    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V12 tmp10        [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V13 tmp11        [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V14 tmp12        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n\u002B;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V04 tmp1         [V04    ] (  0,  0   )   byref  -\u003E  zero-ref   \n\u002B;* V05 tmp2         [V05    ] (  0,  0   )   byref  -\u003E  zero-ref   \n\u002B;* V06 tmp3         [V06    ] (  0,  0   )     int  -\u003E  zero-ref   \n\u002B;* V07 tmp4         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref   \n\u002B;* V08 tmp5         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref   \n\u002B;* V09 tmp6         [V09    ] (  0,  0   )     int  -\u003E  zero-ref   \n\u002B;  V10 tmp7         [V10,T01] (  2,  2   )     int  -\u003E  rdx        \n\u002B;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V13 tmp10        [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V14 tmp11        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V15 tmp12        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V16 tmp13        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V17 tmp14        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V18 tmp15        [V18    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V19 tmp16        [V19    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V20 tmp17        [V20    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V21 tmp18        [V21    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V22 tmp19        [V22    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V23 tmp20        [V23    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V24 tmp21        [V24    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V25 tmp22        [V25    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V26 tmp23        [V26    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V27 tmp24        [V27    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V28 tmp25        [V28    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V29 tmp26        [V29    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V30 tmp27        [V30    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V31 tmp28        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V17._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V32 tmp29        [V32    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V17._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V33 tmp30        [V33    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V34 tmp31        [V34    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 32\n \n G_M64368_IG01:\n        push     rbp\n        sub      rsp, 32\n        lea      rbp, [rsp\u002B0x20]\n \t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 1.75\n G_M64368_IG02:\n        vxorps   xmm0, xmm0, xmm0\n        vmovdqu  ymmword ptr [rbp-0x20], ymm0\n        mov      edx, 16\n        mov      esi, 4\n        cmp      dword ptr [rdi\u002B0x10], 0\n        cmove    edx, esi\n        mov      rsi, rdi\n        lea      rdi, [rbp-0x20]\n        mov      rax, 0xD1FFAB1E      ; code for System.HashCode:AddBytes(System.ReadOnlySpan\u00601[byte]):this\n        call     [rax]System.HashCode:AddBytes(System.ReadOnlySpan\u00601[byte]):this\n        lea      rdi, [rbp-0x20]\n        mov      rax, 0xD1FFAB1E      ; code for System.HashCode:ToHashCode():int:this\n        call     [rax]System.HashCode:ToHashCode():int:this\n        nop      \n \t\t\t\t\t\t;; size=62 bbWeight=1 PerfScore 12.33\n G_M64368_IG03:\n        add      rsp, 32\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=6 bbWeight=1 PerfScore 1.75\n \n ; Total bytes of code 78, prolog size 10, PerfScore 15.83, instruction count 20, allocated bytes for code 78 (MethodHash=0fdd048f) for method Interop\u002BSys\u002BIPAddress:GetHashCode():int:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":78,"DiffBytes":78},{"Assembly":"System.Net.Sockets.dasm","Method":"Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)","Category":"improvement","Description":"156 -\u003E 67 bytes (-89)","ExtraInfo":null,"Diff":"@@ -1,119 \u002B1,132 @@\n ; Assembly listing for method Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 10 single block inlinees; 2 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 20 single block inlinees; 3 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  5,  4   )   byref  -\u003E  rdi         this single-def\n-;  V01 arg1         [V01    ] (  1,  1   )  struct (24) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def unsafe-buffer \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;  V01 arg1         [V01    ] (  4,  2   )  struct (24) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def \u003CInterop\u002BSys\u002BIPAddress\u003E\n ;  V02 loc0         [V02,T01] (  3,  1.50)     int  -\u003E  rdx        \n-;  V03 tmp0         [V03,T04] (  1,  1   )     int  -\u003E  [rbp-0x24]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    \u0022impAppendStmt\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V07 tmp4         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V09 tmp6         [V09    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V10 tmp7         [V10,T03] (  2,  1   )   ubyte  -\u003E  rax         \u0022Inline return value spill temp\u0022\n-;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V12 tmp9         [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n-;* V13 tmp10        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V14 tmp11        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n-;* V15 tmp12        [V15    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n-;* V16 tmp13        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022impAppendStmt\u0022\n-;* V17 tmp14        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V18 tmp15        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V19 tmp16        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V20 tmp17        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V21 tmp18        [V21,T02] (  2,  1   )   byref  -\u003E  rsi         single-def \u0022field V05._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V22 tmp19        [V22    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V23 tmp20        [V23    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V24 tmp21        [V24    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V25 tmp22        [V25    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V26 tmp23        [V26    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V27 tmp24        [V27    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V28 tmp25        [V28    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V29 tmp26        [V29    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V30 tmp27        [V30    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V31 tmp28        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V17._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V32 tmp29        [V32    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V17._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V33 tmp30        [V33    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V34 tmp31        [V34    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V35 tmp32        [V35    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V36 tmp33        [V36    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V37 tmp34        [V37    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V38 tmp35        [V38    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V39 rat0         [V39    ] (  1,  1   )    long  -\u003E  [rbp-0x08]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n-;  V40 rat1         [V40    ] (  5,  3   )  struct (24) [rbp-0x20]  do-not-enreg[XSF] addr-exposed single-def unsafe-buffer \u0022V01 shadow\u0022 \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;* V03 loc1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n\u002B;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    \u0022impAppendStmt\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V10 tmp5         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V11 tmp6         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V12 tmp7         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V13 tmp8         [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V14 tmp9         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V15 tmp10        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V16 tmp11        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V17 tmp12        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V18 tmp13        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V19 tmp14        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V20 tmp15        [V20    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V21 tmp16        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V22 tmp17        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V23 tmp18        [V23    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V24 tmp19        [V24    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V25 tmp20        [V25,T02] (  2,  1   )   ubyte  -\u003E  rax         \u0022Inline return value spill temp\u0022\n\u002B;* V26 tmp21        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V27 tmp22        [V27    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n\u002B;* V28 tmp23        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V29 tmp24        [V29    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n\u002B;* V30 tmp25        [V30    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n\u002B;* V31 tmp26        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022impAppendStmt\u0022\n\u002B;* V32 tmp27        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V33 tmp28        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V34 tmp29        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V35 tmp30        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V36 tmp31        [V36    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V37 tmp32        [V37    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V38 tmp33        [V38    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V39 tmp34        [V39    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V40 tmp35        [V40    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V41 tmp36        [V41    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V42 tmp37        [V42    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V43 tmp38        [V43    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V44 tmp39        [V44    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V45 tmp40        [V45    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V46 tmp41        [V46    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V47 tmp42        [V47    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V48 tmp43        [V48    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V49 tmp44        [V49    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V50 tmp45        [V50    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V51 tmp46        [V51    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V52 tmp47        [V52    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V53 tmp48        [V53    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V54 tmp49        [V54    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V55 tmp50        [V55    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V56 tmp51        [V56,T03] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V57 tmp52        [V57    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V58 tmp53        [V58    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V59 tmp54        [V59    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V60 tmp55        [V60    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V21._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V61 tmp56        [V61    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V21._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V62 tmp57        [V62    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V63 tmp58        [V63    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V64 tmp59        [V64    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V65 tmp60        [V65    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V66 tmp61        [V66    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V28._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V67 tmp62        [V67    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V28._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V68 tmp63        [V68    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V32._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V69 tmp64        [V69    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V32._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V70 tmp65        [V70    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V33._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V71 tmp66        [V71    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V33._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V72 tmp67        [V72    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V34._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V73 tmp68        [V73    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V34._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V74 tmp69        [V74    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V35._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V75 tmp70        [V75    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V35._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n-; Lcl frame size = 48\n\u002B; Lcl frame size = 0\n \n G_M8406_IG01:\n        push     rbp\n-       sub      rsp, 48\n-       lea      rbp, [rsp\u002B0x30]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x08], rax\n-\t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 3.00\n\u002B       mov      rbp, rsp\n\u002B\t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M8406_IG02:\n-       vmovdqu  xmm0, xmmword ptr [rbp\u002B0x10]\n-       vmovdqu  xmmword ptr [rbp-0x20], xmm0\n-       mov      rdx, qword ptr [rbp\u002B0x20]\n-       mov      qword ptr [rbp-0x10], rdx\n        cmp      dword ptr [rdi\u002B0x10], 0\n        jne      SHORT G_M8406_IG04\n-\t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 7.00\n\u002B\t\t\t\t\t\t;; size=6 bbWeight=1 PerfScore 3.00\n G_M8406_IG03:\n-       cmp      dword ptr [rbp-0x10], 0\n-       jne      SHORT G_M8406_IG08\n\u002B       cmp      dword ptr [rbp\u002B0x20], 0\n\u002B       jne      SHORT G_M8406_IG07\n        mov      edx, 4\n        jmp      SHORT G_M8406_IG05\n \t\t\t\t\t\t;; size=13 bbWeight=0.50 PerfScore 2.12\n G_M8406_IG04:\n-       cmp      dword ptr [rbp-0x10], 0\n-       je       SHORT G_M8406_IG08\n\u002B       cmp      dword ptr [rbp\u002B0x20], 0\n\u002B       je       SHORT G_M8406_IG07\n        mov      edx, dword ptr [rdi\u002B0x14]\n-       cmp      edx, dword ptr [rbp-0x0C]\n-       jne      SHORT G_M8406_IG08\n\u002B       cmp      edx, dword ptr [rbp\u002B0x24]\n\u002B       jne      SHORT G_M8406_IG07\n        mov      edx, 16\n \t\t\t\t\t\t;; size=19 bbWeight=0.50 PerfScore 3.12\n G_M8406_IG05:\n-       lea      rsi, [rbp-0x20]\n        mov      edx, edx\n\u002B       lea      rsi, bword ptr [rbp\u002B0x10]\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,nuint):bool\n        call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,nuint):bool\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x08], r9\n-       je       SHORT G_M8406_IG06\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=39 bbWeight=0.50 PerfScore 3.62\n\u002B       nop      \n\u002B\t\t\t\t\t\t;; size=19 bbWeight=0.50 PerfScore 2.12\n G_M8406_IG06:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n\u002B       pop      rbp\n\u002B       ret      \n\u002B\t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n G_M8406_IG07:\n-       add      rsp, 48\n-       pop      rbp\n-       ret      \n-\t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 0.88\n-G_M8406_IG08:\n        xor      eax, eax\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x08], r9\n-       je       SHORT G_M8406_IG09\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=23 bbWeight=0.50 PerfScore 1.75\n-G_M8406_IG09:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M8406_IG10:\n-       add      rsp, 48\n\u002B\t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n\u002BG_M8406_IG08:\n        pop      rbp\n        ret      \n-\t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 0.88\n\u002B\t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n \n-; Total bytes of code 156, prolog size 24, PerfScore 22.62, instruction count 42, allocated bytes for code 156 (MethodHash=6dbddf29) for method Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n\u002B; Total bytes of code 67, prolog size 4, PerfScore 13.25, instruction count 24, allocated bytes for code 67 (MethodHash=6dbddf29) for method Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":156,"DiffBytes":67},{"Assembly":"System.Net.Sockets.dasm","Method":"Interop\u002BSys\u002BIPAddress:GetHashCode():int:this (FullOpts)","Category":"same-size","Description":"78 -\u003E 78 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,57 \u002B1,77 @@\n ; Assembly listing for method Interop\u002BSys\u002BIPAddress:GetHashCode():int:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  4,  4   )   byref  -\u003E  rdi         this single-def\n ;  V01 loc0         [V01    ] (  3,  3   )  struct (32) [rbp-0x20]  do-not-enreg[XS] addr-exposed ld-addr-op \u003CSystem.HashCode\u003E\n-;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V03 tmp1         [V03    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n-;* V04 tmp2         [V04    ] (  0,  0   )   byref  -\u003E  zero-ref   \n-;* V05 tmp3         [V05    ] (  0,  0   )   byref  -\u003E  zero-ref   \n-;* V06 tmp4         [V06    ] (  0,  0   )   byref  -\u003E  zero-ref   \n-;* V07 tmp5         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def\n-;  V08 tmp6         [V08,T01] (  2,  2   )     int  -\u003E  rdx        \n-;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V11 tmp9         [V11    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V12 tmp10        [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V13 tmp11        [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V14 tmp12        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n\u002B;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V04 tmp1         [V04    ] (  0,  0   )   byref  -\u003E  zero-ref   \n\u002B;* V05 tmp2         [V05    ] (  0,  0   )   byref  -\u003E  zero-ref   \n\u002B;* V06 tmp3         [V06    ] (  0,  0   )     int  -\u003E  zero-ref   \n\u002B;* V07 tmp4         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref   \n\u002B;* V08 tmp5         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref   \n\u002B;* V09 tmp6         [V09    ] (  0,  0   )     int  -\u003E  zero-ref   \n\u002B;  V10 tmp7         [V10,T01] (  2,  2   )     int  -\u003E  rdx        \n\u002B;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V13 tmp10        [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V14 tmp11        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V15 tmp12        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V16 tmp13        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V17 tmp14        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V18 tmp15        [V18    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V19 tmp16        [V19    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V20 tmp17        [V20    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V21 tmp18        [V21    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V22 tmp19        [V22    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V23 tmp20        [V23    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V24 tmp21        [V24    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V25 tmp22        [V25    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V26 tmp23        [V26    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V27 tmp24        [V27    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V28 tmp25        [V28    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V29 tmp26        [V29    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V30 tmp27        [V30    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V31 tmp28        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V17._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V32 tmp29        [V32    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V17._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V33 tmp30        [V33    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V34 tmp31        [V34    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 32\n \n G_M64368_IG01:\n        push     rbp\n        sub      rsp, 32\n        lea      rbp, [rsp\u002B0x20]\n \t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 1.75\n G_M64368_IG02:\n        vxorps   xmm0, xmm0, xmm0\n        vmovdqu  ymmword ptr [rbp-0x20], ymm0\n        mov      edx, 16\n        mov      esi, 4\n        cmp      dword ptr [rdi\u002B0x10], 0\n        cmove    edx, esi\n        mov      rsi, rdi\n        lea      rdi, [rbp-0x20]\n        mov      rax, 0xD1FFAB1E      ; code for System.HashCode:AddBytes(System.ReadOnlySpan\u00601[byte]):this\n        call     [rax]System.HashCode:AddBytes(System.ReadOnlySpan\u00601[byte]):this\n        lea      rdi, [rbp-0x20]\n        mov      rax, 0xD1FFAB1E      ; code for System.HashCode:ToHashCode():int:this\n        call     [rax]System.HashCode:ToHashCode():int:this\n        nop      \n \t\t\t\t\t\t;; size=62 bbWeight=1 PerfScore 12.33\n G_M64368_IG03:\n        add      rsp, 32\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=6 bbWeight=1 PerfScore 1.75\n \n ; Total bytes of code 78, prolog size 10, PerfScore 15.83, instruction count 20, allocated bytes for code 78 (MethodHash=0fdd048f) for method Interop\u002BSys\u002BIPAddress:GetHashCode():int:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":78,"DiffBytes":78},{"Assembly":"System.Private.CoreLib.dasm","Method":"System.Runtime.CompilerServices.AsyncHelpers\u002BValueTaskSourceContinuation\u002BValueTaskSourceContinuationResume:.cctor() (FullOpts)","Category":"same-size","Description":"23 -\u003E 23 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,32 \u002B1,32 @@\n ; Assembly listing for method System.Runtime.CompilerServices.AsyncHelpers\u002BValueTaskSourceContinuation\u002BValueTaskSourceContinuationResume:.cctor() (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n ; Final local variable assignments\n ;\n ;* V00 loc0         [V00    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Runtime.CompilerServices.ResumeInfo\u003E\n ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V02 tmp1         [V02    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022field V00.Resume (fldOffset=0x0)\u0022 P-INDEP\n ;* V03 tmp2         [V03    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022field V00.DiagnosticIP (fldOffset=0x8)\u0022 P-INDEP\n ;  V04 cse0         [V04,T00] (  2,  2   )    long  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 0\n \n G_M58358_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M58358_IG02:\n        mov      rax, 0xD1FFAB1E      ; data for System.Runtime.CompilerServices.AsyncHelpers\u002BValueTaskSourceContinuation\u002BValueTaskSourceContinuationResume:ResumeInfo\n        vmovsd   xmm0, qword ptr [reloc @RWD00]\n        vmovups  xmmword ptr [rax], xmm0\n \t\t\t\t\t\t;; size=22 bbWeight=1 PerfScore 3.25\n G_M58358_IG03:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n-RWD00  \tdq\t0000776A1F711818h\n\u002BRWD00  \tdq\t0000774FA6D11818h\n \n \n ; Total bytes of code 23, prolog size 0, PerfScore 4.25, instruction count 4, allocated bytes for code 23 (MethodHash=bcd21c09) for method System.Runtime.CompilerServices.AsyncHelpers\u002BValueTaskSourceContinuation\u002BValueTaskSourceContinuationResume:.cctor() (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":23,"DiffBytes":23},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters():this (FullOpts)","Category":"improvement","Description":"114 -\u003E 21 bytes (-93)","ExtraInfo":null,"Diff":"@@ -1,120 \u002B1,35 @@\n ; Assembly listing for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters():this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n-; rbp based frame\n\u002B; rsp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 10 single block inlinees; 8 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 this         [V00,T08] (  5,  5   )   byref  -\u003E  rdi         this single-def\n-;* V01 loc0         [V01    ] (  0,  0   )    long  -\u003E  zero-ref   \n-;  V02 loc1         [V02    ] (  1,  1   )   byref  -\u003E  [rbp-0x08]  do-not-enreg[] must-init pinned single-def\n-;* V03 loc2         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V04 loc3         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[uint]\u003E\n-;  V05 loc4         [V05,T11] (  2, 16   )  simd32  -\u003E  mm0         ld-addr-op \u003CSystem.Numerics.Vector\u00601[uint]\u003E\n-;* V06 loc5         [V06    ] (  0,  0   )     int  -\u003E  zero-ref   \n-;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V08 tmp1         [V08    ] (  0,  0   )  simd32  -\u003E  zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Numerics.Vector\u00601[uint]\u003E\n-;  V09 tmp2         [V09,T10] (  2, 24   )  simd32  -\u003E  mm0         \u0022impAppendStmt\u0022\n-;* V10 tmp3         [V10    ] (  0,  0   )  simd32  -\u003E  zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Numerics.Vector\u00601[uint]\u003E\n-;* V11 tmp4         [V11    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n-;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V13 tmp6         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[uint]\u003E\n-;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n-;* V17 tmp10        [V17    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V18 tmp11        [V18    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V19 tmp12        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n-;* V20 tmp13        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n-;* V21 tmp14        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[uint]\u003E\n-;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[uint]\u003E\n-;* V23 tmp16        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V24 tmp17        [V24,T01] (  2, 32   )   byref  -\u003E  rax         \u0022Inlining Arg\u0022\n-;  V25 tmp18        [V25,T03] (  2, 32   )     int  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V26 tmp19        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n-;  V27 tmp20        [V27,T02] (  2, 32   )   byref  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;  V28 tmp21        [V28,T04] (  2, 32   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;  V29 tmp22        [V29,T06] (  4, 21   )   byref  -\u003E  rax         \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V30 tmp23        [V30,T05] (  6, 30   )     int  -\u003E  rcx         \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V31 tmp24        [V31,T00] (  5, 33   )   byref  -\u003E  rdi         \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V32 tmp25        [V32,T07] (  4, 21   )     int  -\u003E  rdx         \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V33 tmp26        [V33    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V34 tmp27        [V34    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V35 tmp28        [V35    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V36 tmp29        [V36    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V37 tmp30        [V37    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V38 tmp31        [V38    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V39 tmp32        [V39    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V40 tmp33        [V40    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V41 tmp34        [V41    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V42 tmp35        [V42    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V43 tmp36        [V43    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V16._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V44 tmp37        [V44    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V16._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V45 tmp38        [V45    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V46 tmp39        [V46    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V47 tmp40        [V47    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V48 tmp41        [V48    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V49 tmp42        [V49    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V21._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V50 tmp43        [V50    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V21._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V51 tmp44        [V51    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V52 tmp45        [V52    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V53 tmp46        [V53    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V23._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V54 tmp47        [V54    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V23._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V55 tmp48        [V55    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V56 tmp49        [V56    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V57 tmp50        [V57,T09] (  2,  4   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n\u002B;  V00 this         [V00,T00] (  4,  4   )   byref  -\u003E  rdi         this single-def\n\u002B;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V02 tmp1         [V02    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V03 tmp2         [V03    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V04 tmp3         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V05 tmp4         [V05    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V06 tmp5         [V06    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V07 tmp6         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V08 tmp7         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n-; Lcl frame size = 16\n\u002B; Lcl frame size = 0\n \n G_M33239_IG01:\n-       push     rbp\n-       sub      rsp, 16\n-       lea      rbp, [rsp\u002B0x10]\n-       xor      eax, eax\n-       mov      qword ptr [rbp-0x08], rax\n-\t\t\t\t\t\t;; size=16 bbWeight=1 PerfScore 3.00\n\u002B\t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M33239_IG02:\n        cmp      byte  ptr [rdi], dil\n-       mov      bword ptr [rbp-0x08], rdi\n-       mov      rax, 0xD1FFAB1E      ; static handle\n-       mov      ecx, 0x2000\n-       mov      edx, 0x800\n-       test     ecx, ecx\n-       je       SHORT G_M33239_IG05\n-       align    [0 bytes for IG03]\n-\t\t\t\t\t\t;; size=31 bbWeight=1 PerfScore 5.00\n\u002B       mov      esi, 0x800\n\u002B       mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters(System.Span\u00601[uint])\n\u002B\t\t\t\t\t\t;; size=18 bbWeight=1 PerfScore 2.50\n G_M33239_IG03:\n-       cmp      ecx, 32\n-       jl       SHORT G_M33239_IG06\n-       vmovups  ymm0, ymmword ptr [rax]\n-       cmp      edx, 8\n-       jl       SHORT G_M33239_IG06\n-\t\t\t\t\t\t;; size=14 bbWeight=4 PerfScore 22.00\n-G_M33239_IG04:\n-       vpand    ymm0, ymm0, ymmword ptr [rdi]\n-       vmovups  ymmword ptr [rdi], ymm0\n-       add      rax, 32\n-       add      ecx, -32\n-       add      rdi, 32\n-       add      edx, -8\n-       test     ecx, ecx\n-       jne      SHORT G_M33239_IG03\n-\t\t\t\t\t\t;; size=26 bbWeight=8 PerfScore 58.00\n-G_M33239_IG05:\n-       vzeroupper \n-       add      rsp, 16\n-       pop      rbp\n-       ret      \n-\t\t\t\t\t\t;; size=9 bbWeight=1 PerfScore 2.75\n-G_M33239_IG06:\n-       mov      edi, 6\n-       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n-       call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n-       int3     \n-\t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n\u002B       tail.jmp [rax]System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters(System.Span\u00601[uint])\n\u002B\t\t\t\t\t\t;; size=3 bbWeight=1 PerfScore 2.00\n \n-; Total bytes of code 114, prolog size 16, PerfScore 90.75, instruction count 34, allocated bytes for code 114 (MethodHash=481a7e28) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters():this (FullOpts)\n\u002B; Total bytes of code 21, prolog size 0, PerfScore 4.50, instruction count 4, allocated bytes for code 21 (MethodHash=481a7e28) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters():this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":114,"DiffBytes":21},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstCharToEncode(System.ReadOnlySpan\u00601[char]):int:this (FullOpts)","Category":"regression","Description":"438 -\u003E 468 bytes (\u002B30)","ExtraInfo":null,"Diff":"@@ -1,266 \u002B1,339 @@\n ; Assembly listing for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstCharToEncode(System.ReadOnlySpan\u00601[char]):int:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 13 single block inlinees; 12 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 40 single block inlinees; 12 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 this         [V00,T22] (  6, 11.46)     ref  -\u003E  r14         this class-hnd single-def \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n\u002B;  V00 this         [V00,T23] (  6, 11.46)     ref  -\u003E  r14         this class-hnd single-def \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n ;  V02 loc0         [V02,T02] ( 25, 26.92)     int  -\u003E  rax        \n ;* V03 loc1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n-;* V04 loc2         [V04,T31] (  0,  0   )     int  -\u003E  zero-ref   \n-;  V05 loc3         [V05,T25] (  3, 11.88)  ushort  -\u003E  rsi        \n\u002B;* V04 loc2         [V04,T50] (  0,  0   )     int  -\u003E  zero-ref   \n\u002B;  V05 loc3         [V05,T26] (  3, 11.88)  ushort  -\u003E  rsi        \n ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V07 tmp1         [V07,T27] (  4,  4   )     ref  -\u003E  rdi         class-hnd single-def \u0022Inlining Arg\u0022 \u003CSystem.Buffers.SearchValues\u00601[char]\u003E\n\u002B;  V07 tmp1         [V07,T46] (  4,  4   )     ref  -\u003E  rdi         class-hnd single-def \u0022Inlining Arg\u0022 \u003CSystem.Buffers.SearchValues\u00601[char]\u003E\n ;* V08 tmp2         [V08    ] (  0,  0   )  struct (16) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n ;* V09 tmp3         [V09    ] (  0,  0   )  ushort  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V10 tmp4         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n-;  V11 tmp5         [V11,T28] (  2,  2   )   byref  -\u003E  rbx         single-def \u0022Inlining Arg\u0022\n-;  V12 tmp6         [V12,T29] (  2,  2   )     int  -\u003E  r15         \u0022Inlining Arg\u0022\n\u002B;  V11 tmp5         [V11,T47] (  2,  2   )   byref  -\u003E  rbx         single-def \u0022Inlining Arg\u0022\n\u002B;  V12 tmp6         [V12,T48] (  2,  2   )     int  -\u003E  r15         \u0022Inlining Arg\u0022\n ;* V13 tmp7         [V13    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;  V14 tmp8         [V14,T03] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V15 tmp9         [V15    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V16 tmp10        [V16    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V15 tmp9         [V15,T27] (  2,  8   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V16 tmp10        [V16,T28] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V17 tmp11        [V17,T12] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V18 tmp12        [V18    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;  V19 tmp13        [V19,T04] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V20 tmp14        [V20    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V21 tmp15        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V22 tmp16        [V22,T13] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V23 tmp17        [V23    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;  V24 tmp18        [V24,T05] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V25 tmp19        [V25    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V26 tmp20        [V26    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V27 tmp21        [V27,T14] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V28 tmp22        [V28    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;  V29 tmp23        [V29,T06] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V30 tmp24        [V30    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V31 tmp25        [V31    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V32 tmp26        [V32,T15] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V33 tmp27        [V33    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;  V34 tmp28        [V34,T07] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V35 tmp29        [V35    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V36 tmp30        [V36    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V37 tmp31        [V37,T16] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V38 tmp32        [V38    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;  V39 tmp33        [V39,T08] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V40 tmp34        [V40    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V41 tmp35        [V41    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V42 tmp36        [V42,T17] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V43 tmp37        [V43    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;  V44 tmp38        [V44,T09] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V45 tmp39        [V45    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V46 tmp40        [V46    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V47 tmp41        [V47,T18] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V48 tmp42        [V48    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;  V49 tmp43        [V49,T10] (  3, 24   )  ushort  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V50 tmp44        [V50    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V51 tmp45        [V51    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V52 tmp46        [V52,T19] (  2, 16   )   byref  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;* V53 tmp47        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n-;  V54 tmp48        [V54,T20] (  2, 16   )   byref  -\u003E  rbx         \u0022Inlining Arg\u0022\n-;  V55 tmp49        [V55,T21] (  2, 16   )     int  -\u003E  r15         \u0022Inlining Arg\u0022\n-;* V56 tmp50        [V56    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;* V57 tmp51        [V57    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V58 tmp52        [V58    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V18 tmp12        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V19 tmp13        [V19    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V20 tmp14        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V21 tmp15        [V21    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;  V22 tmp16        [V22,T04] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V23 tmp17        [V23,T29] (  2,  8   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V24 tmp18        [V24,T30] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V25 tmp19        [V25,T13] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;* V26 tmp20        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V27 tmp21        [V27    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V28 tmp22        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V29 tmp23        [V29    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;  V30 tmp24        [V30,T05] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V31 tmp25        [V31,T31] (  2,  8   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V32 tmp26        [V32,T32] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V33 tmp27        [V33,T14] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;* V34 tmp28        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V35 tmp29        [V35    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V36 tmp30        [V36    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V37 tmp31        [V37    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;  V38 tmp32        [V38,T06] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V39 tmp33        [V39,T33] (  2,  8   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V40 tmp34        [V40,T34] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V41 tmp35        [V41,T15] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;* V42 tmp36        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V43 tmp37        [V43    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V44 tmp38        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V45 tmp39        [V45    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;  V46 tmp40        [V46,T07] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V47 tmp41        [V47,T35] (  2,  8   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V48 tmp42        [V48,T36] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V49 tmp43        [V49,T16] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;* V50 tmp44        [V50    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V51 tmp45        [V51    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V52 tmp46        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V53 tmp47        [V53    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;  V54 tmp48        [V54,T08] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V55 tmp49        [V55,T37] (  2,  8   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V56 tmp50        [V56,T38] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V57 tmp51        [V57,T17] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;* V58 tmp52        [V58    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n ;* V59 tmp53        [V59    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V60 tmp54        [V60,T00] ( 16, 43.50)   byref  -\u003E  rbx         \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V61 tmp55        [V61,T11] ( 11, 17.25)     int  -\u003E  r15         \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V62 tmp56        [V62,T26] (  2,  4.46)   byref  -\u003E  rdi         single-def \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V63 tmp57        [V63,T30] (  3,  1.50)     int  -\u003E  rcx         \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V64 tmp58        [V64    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V65 tmp59        [V65    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V66 tmp60        [V66    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V67 tmp61        [V67    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V68 tmp62        [V68    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V53._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V69 tmp63        [V69    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V53._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V70 cse0         [V70,T01] (  9, 36   )   byref  -\u003E  rdi         \u0022CSE #01: aggressive\u0022\n-;  V71 rat0         [V71,T23] (  4, 12.38)    long  -\u003E  rdx         \u0022Strength reduced derived IV\u0022\n-;  V72 rat1         [V72,T24] (  4, 12.38)     int  -\u003E  rcx         \u0022Trip count IV\u0022\n\u002B;* V60 tmp54        [V60    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V61 tmp55        [V61    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;  V62 tmp56        [V62,T09] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V63 tmp57        [V63,T39] (  2,  8   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V64 tmp58        [V64,T40] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V65 tmp59        [V65,T18] (  2, 16   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;* V66 tmp60        [V66    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V67 tmp61        [V67    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V68 tmp62        [V68    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V69 tmp63        [V69    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;  V70 tmp64        [V70,T10] (  3, 24   )  ushort  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;  V71 tmp65        [V71,T41] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V72 tmp66        [V72,T42] (  2,  8   )     int  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V73 tmp67        [V73,T19] (  2, 16   )   byref  -\u003E  rdi         \u0022Inlining Arg\u0022\n\u002B;* V74 tmp68        [V74    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V75 tmp69        [V75    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V76 tmp70        [V76    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V77 tmp71        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n\u002B;  V78 tmp72        [V78,T20] (  2, 16   )   byref  -\u003E  rbx         \u0022Inlining Arg\u0022\n\u002B;  V79 tmp73        [V79,T21] (  2, 16   )     int  -\u003E  r15         \u0022Inlining Arg\u0022\n\u002B;* V80 tmp74        [V80    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;  V81 tmp75        [V81,T43] (  2,  7.92)     int  -\u003E   r9         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V82 tmp76        [V82,T44] (  2,  7.92)     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V83 tmp77        [V83,T22] (  2, 15.84)   byref  -\u003E   r8         \u0022Inlining Arg\u0022\n\u002B;* V84 tmp78        [V84    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V85 tmp79        [V85    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V86 tmp80        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;  V87 tmp81        [V87,T00] ( 16, 43.50)   byref  -\u003E  rbx         \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V88 tmp82        [V88,T11] ( 11, 17.25)     int  -\u003E  r15         \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V89 tmp83        [V89,T45] (  2,  4.46)   byref  -\u003E  rdi         single-def \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V90 tmp84        [V90,T49] (  3,  1.50)     int  -\u003E  rcx         \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V91 tmp85        [V91    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V92 tmp86        [V92    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V93 tmp87        [V93    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V94 tmp88        [V94    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V95 tmp89        [V95    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V96 tmp90        [V96    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V97 tmp91        [V97    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V98 tmp92        [V98    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V99 tmp93        [V99    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V100 tmp94       [V100    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V101 tmp95       [V101    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V28._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V102 tmp96       [V102    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V28._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V103 tmp97       [V103    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V34._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V104 tmp98       [V104    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V34._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V105 tmp99       [V105    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V36._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V106 tmp100      [V106    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V36._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V107 tmp101      [V107    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V42._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V108 tmp102      [V108    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V42._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V109 tmp103      [V109    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V44._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V110 tmp104      [V110    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V44._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V111 tmp105      [V111    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V50._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V112 tmp106      [V112    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V50._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V113 tmp107      [V113    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V52._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V114 tmp108      [V114    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V52._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V115 tmp109      [V115    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V58._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V116 tmp110      [V116    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V58._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V117 tmp111      [V117    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V60._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V118 tmp112      [V118    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V60._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V119 tmp113      [V119    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V66._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V120 tmp114      [V120    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V66._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V121 tmp115      [V121    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V68._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V122 tmp116      [V122    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V68._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V123 tmp117      [V123    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V74._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V124 tmp118      [V124    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V74._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V125 tmp119      [V125    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V76._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V126 tmp120      [V126    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V76._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V127 tmp121      [V127    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V77._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V128 tmp122      [V128    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V77._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V129 tmp123      [V129    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V84._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V130 tmp124      [V130    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V84._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V131 tmp125      [V131    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V86._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V132 tmp126      [V132    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V86._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V133 cse0        [V133,T01] ( 11, 43.92)   byref  -\u003E  registers   multi-def \u0022CSE #01: moderate\u0022\n\u002B;  V134 rat0        [V134,T24] (  4, 12.38)    long  -\u003E  rdx         \u0022Strength reduced derived IV\u0022\n\u002B;  V135 rat1        [V135,T25] (  4, 12.38)     int  -\u003E  rcx         \u0022Trip count IV\u0022\n ;\n ; Lcl frame size = 8\n \n G_M4922_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     rbx\n        push     rax\n        lea      rbp, [rsp\u002B0x20]\n        mov      r14, rdi\n        mov      rbx, rsi\n        mov      r15d, edx\n \t\t\t\t\t\t;; size=21 bbWeight=1 PerfScore 6.25\n G_M4922_IG02:\n        cmp      byte  ptr [r14], r14b\n        xor      eax, eax\n        cmp      r15d, 8\n        jl       SHORT G_M4922_IG04\n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 3.50\n G_M4922_IG03:\n        mov      rdi, gword ptr [r14\u002B0x18]\n        test     rdi, rdi\n        je       G_M4922_IG19\n        mov      rsi, rbx\n        mov      edx, r15d\n        mov      rax, qword ptr [rdi]\n        mov      rax, qword ptr [rax\u002B0x40]\n        call     [rax\u002B0x38]System.Buffers.SearchValues\u00601[char]:IndexOfAnyExcept(System.ReadOnlySpan\u00601[char]):int:this\n        cmp      eax, r15d\n        jae      G_M4922_IG18\n        mov      edi, eax\n        cmp      word  ptr [rbx\u002B2*rdi], 127\n        jbe      G_M4922_IG18\n        mov      edi, eax\n        lea      rbx, bword ptr [rbx\u002B2*rdi]\n        sub      r15d, eax\n \t\t\t\t\t\t;; size=60 bbWeight=0.50 PerfScore 8.12\n G_M4922_IG04:\n        cmp      r15d, 8\n        jl       G_M4922_IG07\n        align    [0 bytes for IG05]\n \t\t\t\t\t\t;; size=10 bbWeight=0.75 PerfScore 0.94\n G_M4922_IG05:\n        lea      rdi, bword ptr [r14\u002B0x0420]\n        mov      rcx, rdi\n        movzx    rdx, word  ptr [rbx]\n        mov      esi, edx\n        shr      esi, 5\n\u002B       and      edx, 31\n        mov      ecx, dword ptr [rcx\u002B4*rsi]\n        bt       ecx, edx\n        jae      G_M4922_IG18\n        mov      rcx, rdi\n        movzx    rdx, word  ptr [rbx\u002B0x02]\n        mov      esi, edx\n        shr      esi, 5\n\u002B       and      edx, 31\n        mov      ecx, dword ptr [rcx\u002B4*rsi]\n        bt       ecx, edx\n        jae      G_M4922_IG11\n        mov      rcx, rdi\n        movzx    rdx, word  ptr [rbx\u002B0x04]\n        mov      esi, edx\n        shr      esi, 5\n\u002B       and      edx, 31\n        mov      ecx, dword ptr [rcx\u002B4*rsi]\n        bt       ecx, edx\n        jae      G_M4922_IG12\n        mov      rcx, rdi\n        movzx    rdx, word  ptr [rbx\u002B0x06]\n        mov      esi, edx\n        shr      esi, 5\n\u002B       and      edx, 31\n        mov      ecx, dword ptr [rcx\u002B4*rsi]\n        bt       ecx, edx\n        jae      G_M4922_IG13\n        mov      rcx, rdi\n        movzx    rdx, word  ptr [rbx\u002B0x08]\n        mov      esi, edx\n        shr      esi, 5\n\u002B       and      edx, 31\n        mov      ecx, dword ptr [rcx\u002B4*rsi]\n        bt       ecx, edx\n        jae      G_M4922_IG14\n        mov      rcx, rdi\n        movzx    rdx, word  ptr [rbx\u002B0x0A]\n        mov      esi, edx\n        shr      esi, 5\n\u002B       and      edx, 31\n        mov      ecx, dword ptr [rcx\u002B4*rsi]\n        bt       ecx, edx\n        jae      G_M4922_IG15\n        mov      rcx, rdi\n        movzx    rdx, word  ptr [rbx\u002B0x0C]\n        mov      esi, edx\n        shr      esi, 5\n\u002B       and      edx, 31\n        mov      ecx, dword ptr [rcx\u002B4*rsi]\n        bt       ecx, edx\n\u002B\t\t\t\t\t\t;; size=189 bbWeight=4 PerfScore 187.00\n\u002BG_M4922_IG06:\n        jae      G_M4922_IG16\n        movzx    rcx, word  ptr [rbx\u002B0x0E]\n        mov      edx, ecx\n        shr      edx, 5\n\u002B       and      ecx, 31\n        mov      edi, dword ptr [rdi\u002B4*rdx]\n        bt       edi, ecx\n        jae      SHORT G_M4922_IG17\n        add      eax, 8\n        add      rbx, 16\n        add      r15d, -8\n-\t\t\t\t\t\t;; size=202 bbWeight=4 PerfScore 212.00\n-G_M4922_IG06:\n        cmp      r15d, 8\n        jge      G_M4922_IG05\n-\t\t\t\t\t\t;; size=10 bbWeight=4 PerfScore 5.00\n\u002B\t\t\t\t\t\t;; size=47 bbWeight=4 PerfScore 38.00\n G_M4922_IG07:\n        mov      rdi, rbx\n        mov      ecx, r15d\n        test     ecx, ecx\n        je       SHORT G_M4922_IG09\n        xor      edx, edx\n        align    [0 bytes for IG08]\n \t\t\t\t\t\t;; size=12 bbWeight=0.50 PerfScore 1.00\n G_M4922_IG08:\n        movzx    rsi, word  ptr [rdi\u002Brdx]\n-       mov      r8d, esi\n-       shr      r8d, 5\n-       mov      r8d, dword ptr [r14\u002B4*r8\u002B0x0420]\n\u002B       lea      r8, bword ptr [r14\u002B0x0420]\n\u002B       mov      r9d, esi\n\u002B       shr      r9d, 5\n\u002B       and      esi, 31\n\u002B       mov      r8d, dword ptr [r8\u002B4*r9]\n        bt       r8d, esi\n        jae      SHORT G_M4922_IG18\n        inc      eax\n        add      rdx, 2\n        dec      ecx\n        jne      SHORT G_M4922_IG08\n-\t\t\t\t\t\t;; size=35 bbWeight=3.96 PerfScore 31.68\n\u002B\t\t\t\t\t\t;; size=41 bbWeight=3.96 PerfScore 34.65\n G_M4922_IG09:\n        mov      eax, -1\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 0.12\n G_M4922_IG10:\n        add      rsp, 8\n        pop      rbx\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=11 bbWeight=0.50 PerfScore 1.62\n G_M4922_IG11:\n        inc      eax\n        jmp      SHORT G_M4922_IG18\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 1.12\n G_M4922_IG12:\n        add      eax, 2\n        jmp      SHORT G_M4922_IG18\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 1.12\n G_M4922_IG13:\n        add      eax, 3\n        jmp      SHORT G_M4922_IG18\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 1.12\n G_M4922_IG14:\n        add      eax, 4\n        jmp      SHORT G_M4922_IG18\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 1.12\n G_M4922_IG15:\n        add      eax, 5\n        jmp      SHORT G_M4922_IG18\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 1.12\n G_M4922_IG16:\n        add      eax, 6\n        jmp      SHORT G_M4922_IG18\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 1.12\n G_M4922_IG17:\n        add      eax, 7\n \t\t\t\t\t\t;; size=3 bbWeight=0.50 PerfScore 0.12\n G_M4922_IG18:\n        add      rsp, 8\n        pop      rbx\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=11 bbWeight=0.50 PerfScore 1.62\n G_M4922_IG19:\n        mov      edi, 6\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)\n        call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 438, prolog size 21, PerfScore 278.74, instruction count 139, allocated bytes for code 442 (MethodHash=4e14ecc5) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstCharToEncode(System.ReadOnlySpan\u00601[char]):int:this (FullOpts)\n\u002B; Total bytes of code 468, prolog size 21, PerfScore 289.71, instruction count 149, allocated bytes for code 472 (MethodHash=4e14ecc5) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstCharToEncode(System.ReadOnlySpan\u00601[char]):int:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":438,"DiffBytes":468},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:AllowChar(char):this (FullOpts)","Category":"same-size","Description":"26 -\u003E 26 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,39 \u002B1,46 @@\n ; Assembly listing for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:AllowChar(char):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  4,  4   )   byref  -\u003E  rdi         this single-def\n ;  V01 arg1         [V01,T02] (  3,  3   )  ushort  -\u003E  rsi         single-def\n-;  V02 loc0         [V02,T04] (  2,  2   )    long  -\u003E  rcx         ld-addr-op\n\u002B;  V02 loc0         [V02,T04] (  2,  2   )     int  -\u003E  rcx         ld-addr-op\n ;  V03 loc1         [V03,T05] (  2,  2   )     int  -\u003E  rax         ld-addr-op\n-;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V05 tmp1         [V05,T01] (  3,  6   )   byref  -\u003E  rcx         single-def \u0022dup spill\u0022\n-;  V06 cse0         [V06,T03] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n\u002B;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[uint]\u003E\n\u002B;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;  V06 tmp1         [V06,T01] (  3,  6   )   byref  -\u003E  rcx         single-def \u0022dup spill\u0022\n\u002B;* V07 tmp2         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V09 tmp4         [V09    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V10 tmp5         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V11 tmp6         [V11    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V12 tmp7         [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V13 cse0         [V13,T03] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 0\n \n G_M13258_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M13258_IG02:\n        movzx    rax, si\n        mov      ecx, eax\n        shr      ecx, 5\n        and      eax, 31\n        cmp      byte  ptr [rdi], dil\n        lea      rcx, bword ptr [rdi\u002B4*rcx]\n        mov      edx, dword ptr [rcx]\n        bts      edx, eax\n        mov      dword ptr [rcx], edx\n \t\t\t\t\t\t;; size=25 bbWeight=1 PerfScore 7.25\n G_M13258_IG03:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n \n ; Total bytes of code 26, prolog size 0, PerfScore 8.25, instruction count 10, allocated bytes for code 26 (MethodHash=37ffcc35) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:AllowChar(char):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":26,"DiffBytes":26},{"Assembly":"Silk.NET.Assimp.dasm","Method":"Silk.NET.Assimp.CustomFileIO:OpenFile(ptr,ptr,ptr):ptr (FullOpts)","Category":"same-size","Description":"1,423 -\u003E 1,423 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,815 \u002B1,815 @@\n ; Assembly listing for method Silk.NET.Assimp.CustomFileIO:OpenFile(ptr,ptr,ptr):ptr (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 88 single block inlinees; 22 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 arg0         [V00,T13] (  3,  3   )    long  -\u003E  r14         single-def\n ;  V01 arg1         [V01,T01] (  5,  8   )    long  -\u003E  rbx         single-def\n ;  V02 arg2         [V02,T02] (  5,  8   )    long  -\u003E  r15         single-def\n ;  V03 loc0         [V03,T36] (  2,  2   )     ref  -\u003E  [rbp-0xA8]  class-hnd exact spill-single-def ptr \u003CSilk.NET.Assimp.CustomFileIO\u003E\n ;  V04 loc1         [V04,T00] ( 23, 38.50)     int  -\u003E  r13        \n ;* V05 loc2         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n ;* V06 loc3         [V06    ] (  0,  0   )     int  -\u003E  zero-ref    single-def\n ;* V07 loc4         [V07    ] (  0,  0   )  struct (16) zero-ref    \u003CSystem.Span\u00601[char]\u003E\n ;* V08 loc5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n ;  V09 loc6         [V09,T20] (  4,  3   )   ubyte  -\u003E  rbx         single-def\n ;  V10 loc7         [V10,T30] (  3,  2   )   ubyte  -\u003E  r14         single-def\n ;  V11 loc8         [V11,T31] (  3,  2   )   ubyte  -\u003E  r12         single-def\n ;  V12 loc9         [V12,T17] (  5,  3.50)   ubyte  -\u003E  r15         single-def\n ;* V13 loc10        [V13    ] (  0,  0   )     int  -\u003E  zero-ref    single-def\n ;* V14 loc11        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    single-def\n ;  V15 loc12        [V15,T16] (  5,  3.50)     ref  -\u003E  r14         class-hnd single-def \u003CSystem.IO.Stream\u003E\n ;* V16 loc13        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u003CSystem.Runtime.InteropServices.GCHandle\u003E\n ;  V17 loc14        [V17,T25] (  5,  2.50)    long  -\u003E  r15         single-def\n ;* V18 loc15        [V18    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u003CSystem.Runtime.InteropServices.GCHandle\u003E\n ;* V19 loc16        [V19    ] (  0,  0   )  struct (16) zero-ref    \u003CSystem.Span\u00601[char]\u003E\n ;* V20 loc17        [V20    ] (  0,  0   )     int  -\u003E  zero-ref    single-def\n ;* V21 loc18        [V21    ] (  0,  0   )  struct (56) zero-ref    do-not-enreg[SF] ld-addr-op \u003CSilk.NET.Assimp.File\u003E\n ;  V22 OutArgs      [V22    ] (  1,  1   )  struct (16) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n ;  V23 tmp1         [V23,T03] (  4,  7   )     ref  -\u003E  r14         single-def \u0022ISINST eval op1\u0022\n ;* V24 tmp2         [V24    ] (  0,  0   )     ref  -\u003E  zero-ref    class-hnd \u0022spilling qmarkNull\u0022 \u003CSilk.NET.Assimp.CustomFileIO\u003E\n ;  V25 tmp3         [V25,T23] (  2,  3   )     ref  -\u003E  [rbp-0xB0]  class-hnd exact spill-single-def ptr \u0022impAppendStmt\u0022 \u003CSystem.Text.UTF8Encoding\u002BUTF8EncodingSealed\u003E\n ;* V26 tmp4         [V26    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V27 tmp5         [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;  V28 tmp6         [V28,T24] (  2,  3   )     ref  -\u003E  r12         class-hnd exact single-def \u0022impAppendStmt\u0022 \u003CSystem.Text.UTF8Encoding\u002BUTF8EncodingSealed\u003E\n ;* V29 tmp7         [V29    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;  V30 tmp8         [V30,T32] (  3,  2   )     int  -\u003E  r14        \n ;  V31 tmp9         [V31,T33] (  3,  2   )     int  -\u003E  r12        \n ;  V32 tmp10        [V32,T34] (  3,  2   )     int  -\u003E  rax        \n ;  V33 tmp11        [V33,T26] (  4,  2.50)     int  -\u003E  rcx        \n ;  V34 tmp12        [V34,T27] (  4,  2.50)     int  -\u003E   r8        \n ;  V35 tmp13        [V35,T08] (  3,  6   )     ref  -\u003E  rax         class-hnd exact single-def \u0022impAppendStmt\u0022 \u003CSilk.NET.Assimp.OpenFileCustomIOCallback\u003E\n ;* V36 tmp14        [V36    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n ;  V37 tmp15        [V37,T43] (  3,  0   )     ref  -\u003E  r15         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.InvalidOperationException\u003E\n ;  V38 tmp16        [V38,T44] (  3,  0   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.ArgumentException\u003E\n ;  V39 tmp17        [V39,T45] (  3,  0   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.ArgumentException\u003E\n ;  V40 tmp18        [V40,T21] (  3,  3   )     ref  -\u003E  rax         class-hnd exact single-def \u0022NewArr temp\u0022 \u003Cchar[]\u003E\n ;  V41 tmp19        [V41,T46] (  3,  0   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.InvalidOperationException\u003E\n ;  V42 tmp20        [V42,T09] (  3,  6   )    long  -\u003E  rdx         \u0022Inlining Arg\u0022\n ;* V43 tmp21        [V43    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Runtime.InteropServices.GCHandle\u003E\n ;* V44 tmp22        [V44    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022dup spill\u0022\n ;* V45 tmp23        [V45    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022\n ;* V46 tmp24        [V46    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V47 tmp25        [V47    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V48 tmp26        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V49 tmp27        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V50 tmp28        [V50    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V51 tmp29        [V51    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V52 tmp30        [V52    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022Inline return value spill temp\u0022\n ;* V53 tmp31        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;  V54 tmp32        [V54    ] (  2,  2   )   byref  -\u003E  [rbp-0x38]  do-not-enreg[] must-init pinned ptr \u0022Inline stloc first use temp\u0022\n ;* V55 tmp33        [V55    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022Inline stloc first use temp\u0022\n ;* V56 tmp34        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V57 tmp35        [V57    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V58 tmp36        [V58    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op single-def \u0022Inline ldloca(s) first use temp\u0022\n ;  V59 tmp37        [V59,T11] (  9,  5.50)     int  -\u003E  [rbp-0x3C]  ptr \u0022Inline stloc first use temp\u0022\n ;  V60 tmp38        [V60    ] (  2,  2   )     int  -\u003E  [rbp-0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op ptr \u0022Inline ldloca(s) first use temp\u0022\n ;  V61 tmp39        [V61    ] (  1,  1   )     int  -\u003E  [rbp-0x50]  do-not-enreg[X] must-init addr-exposed ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V62 tmp40        [V62,T18] (  4,  3.50)     int  -\u003E  rcx         single-def \u0022Inline stloc first use temp\u0022\n ;* V63 tmp41        [V63    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;  V64 tmp42        [V64,T37] (  2,  2   )    long  -\u003E  rax         \u0022Inlining Arg\u0022\n ;* V65 tmp43        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V66 tmp44        [V66    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V67 tmp45        [V67    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V68 tmp46        [V68    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V69 tmp47        [V69    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022Inline return value spill temp\u0022\n ;* V70 tmp48        [V70    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;  V71 tmp49        [V71    ] (  2,  2   )   byref  -\u003E  [rbp-0x58]  do-not-enreg[] must-init pinned ptr \u0022Inline stloc first use temp\u0022\n ;* V72 tmp50        [V72    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022Inline stloc first use temp\u0022\n ;* V73 tmp51        [V73    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;  V74 tmp52        [V74    ] (  2,  2   )   byref  -\u003E  [rbp-0x60]  do-not-enreg[] must-init pinned ptr \u0022Inline stloc first use temp\u0022\n ;* V75 tmp53        [V75    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022Inline stloc first use temp\u0022\n ;* V76 tmp54        [V76    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V77 tmp55        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;* V78 tmp56        [V78    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V79 tmp57        [V79    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V80 tmp58        [V80    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;  V81 tmp59        [V81,T28] (  3,  2.50)     int  -\u003E   r9         ld-addr-op single-def \u0022Inline ldloca(s) first use temp\u0022\n ;  V82 tmp60        [V82,T39] (  2,  1.50)     int  -\u003E  rdi         single-def \u0022Inline stloc first use temp\u0022\n ;  V83 tmp61        [V83    ] (  2,  2   )    long  -\u003E  [rbp-0x68]  do-not-enreg[X] must-init addr-exposed ld-addr-op ptr \u0022Inline ldloca(s) first use temp\u0022\n ;  V84 tmp62        [V84    ] (  2,  2   )    long  -\u003E  [rbp-0x70]  do-not-enreg[X] must-init addr-exposed ld-addr-op ptr \u0022Inline ldloca(s) first use temp\u0022\n ;* V85 tmp63        [V85    ] (  0,  0   )  struct (16) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V86 tmp64        [V86    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V87 tmp65        [V87    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V88 tmp66        [V88    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V89 tmp67        [V89    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V90 tmp68        [V90    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V91 tmp69        [V91    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V92 tmp70        [V92    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V93 tmp71        [V93    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V94 tmp72        [V94    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V95 tmp73        [V95    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V96 tmp74        [V96    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V97 tmp75        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V98 tmp76        [V98    ] (  0,  0   )  struct (16) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V99 tmp77        [V99    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V100 tmp78       [V100    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V101 tmp79       [V101    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V102 tmp80       [V102    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V103 tmp81       [V103    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V104 tmp82       [V104    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V105 tmp83       [V105    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V106 tmp84       [V106    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V107 tmp85       [V107    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V108 tmp86       [V108    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V109 tmp87       [V109    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V110 tmp88       [V110    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V111 tmp89       [V111    ] (  0,  0   )  struct (16) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V112 tmp90       [V112    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V113 tmp91       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V114 tmp92       [V114    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V115 tmp93       [V115    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V116 tmp94       [V116    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V117 tmp95       [V117    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V118 tmp96       [V118    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V119 tmp97       [V119    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V120 tmp98       [V120    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V121 tmp99       [V121    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V122 tmp100      [V122    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V123 tmp101      [V123    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V124 tmp102      [V124    ] (  0,  0   )  struct (16) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V125 tmp103      [V125    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V126 tmp104      [V126    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V127 tmp105      [V127    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V128 tmp106      [V128    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V129 tmp107      [V129    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V130 tmp108      [V130    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V131 tmp109      [V131    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V132 tmp110      [V132    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V133 tmp111      [V133    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V134 tmp112      [V134    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V135 tmp113      [V135    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V136 tmp114      [V136    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V137 tmp115      [V137    ] (  0,  0   )  struct (16) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V138 tmp116      [V138    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V139 tmp117      [V139    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V140 tmp118      [V140    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V141 tmp119      [V141    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V142 tmp120      [V142    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V143 tmp121      [V143    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V144 tmp122      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V145 tmp123      [V145    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V146 tmp124      [V146    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V147 tmp125      [V147    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V148 tmp126      [V148    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V149 tmp127      [V149    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V150 tmp128      [V150    ] (  0,  0   )  struct (16) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V151 tmp129      [V151    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V152 tmp130      [V152    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V153 tmp131      [V153    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V154 tmp132      [V154    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V155 tmp133      [V155    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V156 tmp134      [V156    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V157 tmp135      [V157    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V158 tmp136      [V158    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V159 tmp137      [V159    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V160 tmp138      [V160    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V161 tmp139      [V161    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V162 tmp140      [V162    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V163 tmp141      [V163    ] (  0,  0   )  struct (16) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V164 tmp142      [V164    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V165 tmp143      [V165    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V166 tmp144      [V166    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V167 tmp145      [V167    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V168 tmp146      [V168    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V169 tmp147      [V169    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V170 tmp148      [V170    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V171 tmp149      [V171    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V172 tmp150      [V172    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V173 tmp151      [V173    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V174 tmp152      [V174    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V175 tmp153      [V175    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V176 tmp154      [V176    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;* V177 tmp155      [V177    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n ;* V178 tmp156      [V178    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n ;* V179 tmp157      [V179    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;  V180 tmp158      [V180    ] (  3,  3   )  struct ( 8) [rbp-0x78]  do-not-enreg[XS] addr-exposed ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Runtime.InteropServices.GCHandle\u003E\n ;* V181 tmp159      [V181    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSilk.NET.Assimp.PfnFileReadProc\u003E\n ;* V182 tmp160      [V182    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSilk.NET.Assimp.PfnFileReadProc\u003E\n ;* V183 tmp161      [V183    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSilk.NET.Assimp.PfnFileTellProc\u003E\n ;* V184 tmp162      [V184    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSilk.NET.Assimp.PfnFileTellProc\u003E\n ;* V185 tmp163      [V185    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSilk.NET.Assimp.PfnFileFlushProc\u003E\n ;* V186 tmp164      [V186    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSilk.NET.Assimp.PfnFileSeek\u003E\n ;* V187 tmp165      [V187    ] (  0,  0   )  struct ( 8) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Runtime.InteropServices.GCHandle\u003E\n ;* V188 tmp166      [V188    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;  V189 tmp167      [V189,T15] (  3,  4   )    long  -\u003E  r15         \u0022Single return block return value\u0022\n ;  V190 tmp168      [V190    ] (  3,  3   )  struct (16) [rbp-0x88]  do-not-enreg[XS] must-init addr-exposed \u0022Reverse Pinvoke FrameVar\u0022 \u003CUNNAMED\u003E\n ;  V191 tmp169      [V191,T12] (  5,  5   )   byref  -\u003E  rbx         single-def \u0022field V05._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V192 tmp170      [V192    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V05._length (fldOffset=0x8)\u0022 P-INDEP\n ;  V193 tmp171      [V193,T14] (  4,  4   )   byref  -\u003E  [rbp-0xB8]  spill-single-def ptr \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n ;  V194 tmp172      [V194,T19] (  4,  3.50)     int  -\u003E  [rbp-0x8C]  spill-single-def ptr \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n ;  V195 tmp173      [V195,T07] (  8,  6.50)   byref  -\u003E  r15         single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V196 tmp174      [V196    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n ;  V197 tmp175      [V197,T38] (  3,  1.50)    long  -\u003E  rbx         single-def \u0022field V16._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V198 tmp176      [V198    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V18._handle (fldOffset=0x0)\u0022 P-INDEP\n ;  V199 tmp177      [V199,T29] (  3,  2   )   byref  -\u003E  rax         \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n ;  V200 tmp178      [V200,T35] (  3,  2   )     int  -\u003E  registers   ptr \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V201 tmp179      [V201    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V202 tmp180      [V202    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n ;  V203 tmp181      [V203,T40] (  2,  1   )   byref  -\u003E  rax         single-def \u0022field V27._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V204 tmp182      [V204    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V27._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V205 tmp183      [V205    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V29._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V206 tmp184      [V206    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V29._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V207 tmp185      [V207    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V36._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V208 tmp186      [V208    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V36._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V209 tmp187      [V209    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V43._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V210 tmp188      [V210    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V48._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V211 tmp189      [V211    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V48._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V212 tmp190      [V212    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V49._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V213 tmp191      [V213    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V49._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V214 tmp192      [V214    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V53._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V215 tmp193      [V215    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V53._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V216 tmp194      [V216    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V56._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V217 tmp195      [V217    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V56._length (fldOffset=0x8)\u0022 P-INDEP\n ;  V218 tmp196      [V218,T41] (  2,  1   )   byref  -\u003E   r8         single-def \u0022field V63._reference (fldOffset=0x0)\u0022 P-INDEP\n ;  V219 tmp197      [V219,T42] (  2,  1   )     int  -\u003E  rcx         single-def \u0022field V63._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V220 tmp198      [V220    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V65._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V221 tmp199      [V221    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V65._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V222 tmp200      [V222    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V66._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V223 tmp201      [V223    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V66._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V224 tmp202      [V224    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V70._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V225 tmp203      [V225    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V70._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V226 tmp204      [V226    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V73._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V227 tmp205      [V227    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V73._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V228 tmp206      [V228    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V76._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V229 tmp207      [V229    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V76._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V230 tmp208      [V230    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V77._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V231 tmp209      [V231    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V77._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V232 tmp210      [V232    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V85._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V233 tmp211      [V233    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V85._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V234 tmp212      [V234    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V86._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V235 tmp213      [V235    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V86._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V236 tmp214      [V236    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V87._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V237 tmp215      [V237    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V87._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V238 tmp216      [V238    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V88._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V239 tmp217      [V239    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V88._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V240 tmp218      [V240    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V92._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V241 tmp219      [V241    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V92._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V242 tmp220      [V242    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V93._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V243 tmp221      [V243    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V93._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V244 tmp222      [V244    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V97._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V245 tmp223      [V245    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V97._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V246 tmp224      [V246    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V98._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V247 tmp225      [V247    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V98._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V248 tmp226      [V248    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V99._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V249 tmp227      [V249    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V99._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V250 tmp228      [V250    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V100._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V251 tmp229      [V251    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V100._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V252 tmp230      [V252    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V101._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V253 tmp231      [V253    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V101._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V254 tmp232      [V254    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V105._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V255 tmp233      [V255    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V105._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V256 tmp234      [V256    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V106._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V257 tmp235      [V257    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V106._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V258 tmp236      [V258    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V110._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V259 tmp237      [V259    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V110._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V260 tmp238      [V260    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V111._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V261 tmp239      [V261    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V111._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V262 tmp240      [V262    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V112._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V263 tmp241      [V263    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V112._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V264 tmp242      [V264    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V113._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V265 tmp243      [V265    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V113._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V266 tmp244      [V266    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V114._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V267 tmp245      [V267    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V114._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V268 tmp246      [V268    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V118._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V269 tmp247      [V269    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V118._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V270 tmp248      [V270    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V119._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V271 tmp249      [V271    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V119._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V272 tmp250      [V272    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V123._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V273 tmp251      [V273    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V123._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V274 tmp252      [V274    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V124._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V275 tmp253      [V275    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V124._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V276 tmp254      [V276    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V125._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V277 tmp255      [V277    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V125._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V278 tmp256      [V278    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V126._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V279 tmp257      [V279    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V126._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V280 tmp258      [V280    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V127._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V281 tmp259      [V281    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V127._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V282 tmp260      [V282    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V131._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V283 tmp261      [V283    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V131._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V284 tmp262      [V284    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V132._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V285 tmp263      [V285    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V132._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V286 tmp264      [V286    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V136._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V287 tmp265      [V287    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V136._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V288 tmp266      [V288    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V137._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V289 tmp267      [V289    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V137._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V290 tmp268      [V290    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V138._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V291 tmp269      [V291    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V138._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V292 tmp270      [V292    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V139._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V293 tmp271      [V293    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V139._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V294 tmp272      [V294    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V140._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V295 tmp273      [V295    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V140._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V296 tmp274      [V296    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V144._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V297 tmp275      [V297    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V144._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V298 tmp276      [V298    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V145._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V299 tmp277      [V299    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V145._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V300 tmp278      [V300    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V149._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V301 tmp279      [V301    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V149._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V302 tmp280      [V302    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V150._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V303 tmp281      [V303    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V150._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V304 tmp282      [V304    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V151._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V305 tmp283      [V305    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V151._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V306 tmp284      [V306    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V152._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V307 tmp285      [V307    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V152._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V308 tmp286      [V308    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V153._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V309 tmp287      [V309    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V153._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V310 tmp288      [V310    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V157._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V311 tmp289      [V311    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V157._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V312 tmp290      [V312    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V158._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V313 tmp291      [V313    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V158._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V314 tmp292      [V314    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V162._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V315 tmp293      [V315    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V162._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V316 tmp294      [V316    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V163._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V317 tmp295      [V317    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V163._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V318 tmp296      [V318    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V164._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V319 tmp297      [V319    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V164._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V320 tmp298      [V320    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V165._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V321 tmp299      [V321    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V165._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V322 tmp300      [V322    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V166._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V323 tmp301      [V323    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V166._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V324 tmp302      [V324    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V170._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V325 tmp303      [V325    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V170._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V326 tmp304      [V326    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V171._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V327 tmp305      [V327    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V171._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V328 tmp306      [V328    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V175._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V329 tmp307      [V329    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V175._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V330 tmp308      [V330    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V176._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V331 tmp309      [V331    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V176._length (fldOffset=0x8)\u0022 P-INDEP\n ;* V332 tmp310      [V332    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V177._reference (fldOffset=0x0)\u0022 P-INDEP\n ;* V333 tmp311      [V333    ] (  0,  0   )     int  -\u003E  zero-ref    single-def \u0022field V177._length (fldOffset=0x8)\u0022 P-INDEP\n ;  V334 tmp312      [V334    ] (  3,  2.50)    long  -\u003E  [rbp-0x78]  do-not-enreg[X] addr-exposed \u0022field V180._handle (fldOffset=0x0)\u0022 P-DEP\n ;* V335 tmp313      [V335    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V181._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V336 tmp314      [V336    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V182._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V337 tmp315      [V337    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V183._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V338 tmp316      [V338    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V184._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V339 tmp317      [V339    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V185._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V340 tmp318      [V340    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V186._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V341 tmp319      [V341    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022field V187._handle (fldOffset=0x0)\u0022 P-INDEP\n ;* V342 tmp320      [V342    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022V21.[000..008)\u0022\n ;* V343 tmp321      [V343    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022V21.[008..016)\u0022\n ;* V344 tmp322      [V344    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022V21.[016..024)\u0022\n ;* V345 tmp323      [V345    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022V21.[024..032)\u0022\n ;* V346 tmp324      [V346    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022V21.[032..040)\u0022\n ;* V347 tmp325      [V347    ] (  0,  0   )    long  -\u003E  zero-ref    single-def \u0022V21.[040..048)\u0022\n ;* V348 tmp326      [V348    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V21.[048..056)\u0022\n ;  V349 tmp327      [V349,T04] (  4,  7   )    long  -\u003E  [rbp-0x98]  spill-single-def ptr \u0022Cast away GC\u0022\n ;  V350 tmp328      [V350,T05] (  4,  7   )    long  -\u003E  rbx         \u0022Cast away GC\u0022\n ;  V351 tmp329      [V351,T06] (  4,  7   )    long  -\u003E  [rbp-0xA0]  spill-single-def ptr \u0022Cast away GC\u0022\n ;  V352 cse0        [V352,T22] (  3,  3   )     ref  -\u003E  r12         \u0022CSE #01: moderate\u0022\n ;  V353 rat0        [V353    ] (  1,  1   )    long  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n ;  V354 rat1        [V354,T10] (  3,  6   )    long  -\u003E  rdi         \u0022ReplaceWithLclVar is creating a new local variable\u0022\n ;\n ; Lcl frame size = 168\n \n G_M44419_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n        sub      rsp, 168\n        lea      rbp, [rsp\u002B0xD0]\n        xor      eax, eax\n        mov      qword ptr [rbp-0x88], rax\n        vxorps   xmm8, xmm8, xmm8\n        vmovdqu32 zmmword ptr [rbp-0x80], zmm8\n        vmovdqa  xmmword ptr [rbp-0x40], xmm8\n        mov      rax, 0xD1FFAB1E\n        mov      qword ptr [rbp-0x30], rax\n        mov      r14, rdi\n        mov      rbx, rsi\n        mov      r15, rdx\n \t\t\t\t\t\t;; size=74 bbWeight=1 PerfScore 13.33\n G_M44419_IG02:\n        lea      rdi, [rbp-0x88]\n        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER\n        mov      rdx, qword ptr [r14\u002B0x10]\n        test     rdx, rdx\n        je       G_M44419_IG43\n        and      rdx, -2\n        mov      r14, gword ptr [rdx]\n        test     r14, r14\n        je       G_M44419_IG44\n \t\t\t\t\t\t;; size=41 bbWeight=1 PerfScore 8.25\n G_M44419_IG03:\n        mov      rdx, 0xD1FFAB1E      ; Silk.NET.Assimp.CustomFileIO\n        cmp      qword ptr [r14], rdx\n        jne      G_M44419_IG44\n \t\t\t\t\t\t;; size=19 bbWeight=0.50 PerfScore 1.62\n G_M44419_IG04:\n        mov      gword ptr [rbp-0xA8], r14\n        xor      r13d, r13d\n        cmp      byte  ptr [rbx], 0\n        je       SHORT G_M44419_IG06\n        align    [11 bytes for IG05]\n \t\t\t\t\t\t;; size=26 bbWeight=1 PerfScore 4.50\n G_M44419_IG05:\n        inc      r13d\n        movsxd   rdx, r13d\n        cmp      byte  ptr [rbx\u002Brdx], 0\n        jne      SHORT G_M44419_IG05\n \t\t\t\t\t\t;; size=12 bbWeight=4 PerfScore 14.00\n G_M44419_IG06:\n        test     r13d, r13d\n        jl       G_M44419_IG45\n        mov      rdx, 0xD1FFAB1E      ; const ptr\n        mov      r12, gword ptr [rdx]\n        mov      gword ptr [rbp-0xB0], r12\n        mov      bword ptr [rbp-0x38], rbx\n        mov      r8, rbx\n        mov      qword ptr [rbp-0x98], r8\n        lea      rdx, [rbp-0x48]\n        lea      rcx, [rbp-0x50]\n        mov      rdi, r8\n        mov      esi, r13d\n        mov      r9, 0xD1FFAB1E      ; code for System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ptr,int,byref,byref):ptr\n        call     [r9]System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ptr,int,byref,byref):ptr\n        mov      rsi, qword ptr [rbp-0x98]\n        mov      ecx, eax\n        sub      ecx, esi\n        mov      eax, ecx\n        add      eax, dword ptr [rbp-0x48]\n        mov      dword ptr [rbp-0x3C], eax\n        cmp      ecx, r13d\n        je       SHORT G_M44419_IG08\n \t\t\t\t\t\t;; size=94 bbWeight=1 PerfScore 16.50\n G_M44419_IG07:\n        mov      rdi, gword ptr [rbp-0xB0]\n        mov      edx, r13d\n        mov      r8, 0xD1FFAB1E      ; code for System.Text.Encoding:GetCharCountWithFallback(ptr,int,int):int:this\n        call     [r8]System.Text.Encoding:GetCharCountWithFallback(ptr,int,int):int:this\n        add      eax, dword ptr [rbp-0x3C]\n        mov      esi, eax\n        test     esi, esi\n        mov      dword ptr [rbp-0x3C], esi\n        jl       G_M44419_IG46\n \t\t\t\t\t\t;; size=39 bbWeight=0.50 PerfScore 4.00\n G_M44419_IG08:\n        xor      rdx, rdx\n        mov      bword ptr [rbp-0x38], rdx\n        mov      eax, dword ptr [rbp-0x3C]\n        cmp      eax, 256\n        jg       SHORT G_M44419_IG12\n \t\t\t\t\t\t;; size=16 bbWeight=1 PerfScore 3.50\n G_M44419_IG09:\n        mov      dword ptr [rbp-0x3C], eax\n        mov      esi, eax\n        mov      edi, 2\n        mov      rax, rsi\n        mul      rdx:rax, rdi\n        jb       G_M44419_IG50\n        test     rax, rax\n        je       SHORT G_M44419_IG11\n        add      rax, 15\n        shr      rax, 4\n        add      rsp, 16\n \t\t\t\t\t\t;; size=39 bbWeight=0.50 PerfScore 4.00\n G_M44419_IG10:\n        push     0\n        push     0\n        dec      rax\n        jne      SHORT G_M44419_IG10\n        sub      rsp, 16\n        lea      rax, [rsp\u002B0x10]\n \t\t\t\t\t\t;; size=18 bbWeight=0.50 PerfScore 2.00\n G_M44419_IG11:\n        mov      esi, dword ptr [rbp-0x3C]\n        test     esi, esi\n        jl       G_M44419_IG45\n        mov      ecx, esi\n        mov      r10d, ecx\n        jmp      SHORT G_M44419_IG13\n        align    [0 bytes for IG18]\n \t\t\t\t\t\t;; size=18 bbWeight=0.50 PerfScore 2.38\n G_M44419_IG12:\n        mov      esi, eax\n        mov      rdi, 0xD1FFAB1E      ; char[]\n        call     CORINFO_HELP_NEWARR_1_VC\n        lea      r8, bword ptr [rax\u002B0x10]\n        mov      ecx, dword ptr [rax\u002B0x08]\n        mov      rax, r8\n        mov      r10d, ecx\n \t\t\t\t\t\t;; size=30 bbWeight=0.50 PerfScore 2.25\n G_M44419_IG13:\n        mov      bword ptr [rbp-0xB8], rax\n        mov      dword ptr [rbp-0x8C], r10d\n        mov      bword ptr [rbp-0x58], rbx\n        mov      bword ptr [rbp-0x60], rax\n        mov      r11, rax\n        mov      qword ptr [rbp-0xA0], r11\n        lea      r8, [rbp-0x68]\n        lea      r9, [rbp-0x70]\n        mov      rdi, rbx\n        mov      esi, r13d\n        mov      rdx, r11\n        mov      ecx, r10d\n        mov      r14, 0xD1FFAB1E      ; code for System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ptr,int,ptr,int,byref,byref):int\n        call     [r14]System.Text.Unicode.Utf8Utility:TranscodeToUtf16(ptr,int,ptr,int,byref,byref):int\n        mov      r9d, dword ptr [rbp-0x68]\n        sub      r9d, ebx\n        mov      rdi, qword ptr [rbp-0x70]\n        mov      r14, qword ptr [rbp-0xA0]\n        sub      rdi, r14\n        mov      rsi, rdi\n        shr      rsi, 63\n        add      rdi, rsi\n        sar      rdi, 1\n        cmp      r9d, r13d\n        je       SHORT G_M44419_IG15\n \t\t\t\t\t\t;; size=104 bbWeight=1 PerfScore 16.75\n G_M44419_IG14:\n        mov      dword ptr [rsp], edi\n        mov      dword ptr [rsp\u002B0x08], 1\n        mov      rdi, r12\n        mov      rsi, rbx\n        mov      edx, r13d\n        mov      rcx, r14\n        mov      r8d, dword ptr [rbp-0x8C]\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encoding:GetCharsWithFallback(ptr,int,ptr,int,int,int,bool):int:this\n        call     [rax]System.Text.Encoding:GetCharsWithFallback(ptr,int,ptr,int,int,int,bool):int:this\n \t\t\t\t\t\t;; size=42 bbWeight=0.50 PerfScore 3.62\n G_M44419_IG15:\n        xor      rdi, rdi\n        mov      bword ptr [rbp-0x58], rdi\n \t\t\t\t\t\t;; size=6 bbWeight=1 PerfScore 1.25\n G_M44419_IG16:\n        mov      bword ptr [rbp-0x60], rdi\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.00\n G_M44419_IG17:\n        xor      r13d, r13d\n        cmp      byte  ptr [r15], 0\n        je       SHORT G_M44419_IG19\n \t\t\t\t\t\t;; size=9 bbWeight=1 PerfScore 3.25\n G_M44419_IG18:\n        inc      r13d\n        movsxd   rdi, r13d\n        cmp      byte  ptr [r15\u002Brdi], 0\n        jne      SHORT G_M44419_IG18\n \t\t\t\t\t\t;; size=13 bbWeight=4 PerfScore 14.00\n G_M44419_IG19:\n        test     r13d, r13d\n        jl       G_M44419_IG45\n        mov      rdi, r15\n        mov      edx, r13d\n        mov      esi, 43\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        call     [rax]System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        mov      ebx, eax\n        mov      rdi, r15\n        mov      edx, r13d\n        mov      esi, 119\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        call     [rax]System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        test     eax, eax\n        je       SHORT G_M44419_IG21\n \t\t\t\t\t\t;; size=61 bbWeight=1 PerfScore 10.75\n G_M44419_IG20:\n        mov      r14d, 1\n        jmp      SHORT G_M44419_IG22\n \t\t\t\t\t\t;; size=8 bbWeight=0.50 PerfScore 1.12\n G_M44419_IG21:\n        mov      rdi, r15\n        mov      edx, r13d\n        mov      esi, 87\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        call     [rax]System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        mov      r14d, eax\n \t\t\t\t\t\t;; size=26 bbWeight=0.50 PerfScore 2.12\n G_M44419_IG22:\n        movzx    r14, r14b\n        mov      rdi, r15\n        mov      edx, r13d\n        mov      esi, 114\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        call     [rax]System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        test     eax, eax\n        je       SHORT G_M44419_IG24\n \t\t\t\t\t\t;; size=31 bbWeight=1 PerfScore 5.50\n G_M44419_IG23:\n        mov      r12d, 1\n        jmp      SHORT G_M44419_IG25\n \t\t\t\t\t\t;; size=8 bbWeight=0.50 PerfScore 1.12\n G_M44419_IG24:\n        mov      rdi, r15\n        mov      edx, r13d\n        mov      esi, 82\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        call     [rax]System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        mov      r12d, eax\n \t\t\t\t\t\t;; size=26 bbWeight=0.50 PerfScore 2.12\n G_M44419_IG25:\n        movzx    r12, r12b\n        mov      rdi, r15\n        mov      edx, r13d\n        mov      esi, 97\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        call     [rax]System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        test     eax, eax\n        je       SHORT G_M44419_IG27\n \t\t\t\t\t\t;; size=31 bbWeight=1 PerfScore 5.50\n G_M44419_IG26:\n        mov      eax, 1\n        jmp      SHORT G_M44419_IG28\n \t\t\t\t\t\t;; size=7 bbWeight=0.50 PerfScore 1.12\n G_M44419_IG27:\n        mov      rdi, r15\n        mov      edx, r13d\n        mov      esi, 65\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n        call     [rax]System.SpanHelpers:NonPackedContainsValueType[byte](byref,byte,int):bool\n \t\t\t\t\t\t;; size=23 bbWeight=0.50 PerfScore 2.00\n G_M44419_IG28:\n        movzx    r15, al\n        test     ebx, ebx\n        je       SHORT G_M44419_IG30\n \t\t\t\t\t\t;; size=8 bbWeight=1 PerfScore 1.50\n G_M44419_IG29:\n        mov      ecx, 3\n        jmp      SHORT G_M44419_IG32\n \t\t\t\t\t\t;; size=7 bbWeight=0.50 PerfScore 1.12\n G_M44419_IG30:\n        mov      ecx, r14d\n        or       ecx, r15d\n        je       SHORT G_M44419_IG31\n        mov      ecx, 2\n        jmp      SHORT G_M44419_IG32\n \t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 1.88\n G_M44419_IG31:\n        test     r12d, r12d\n        je       G_M44419_IG47\n        mov      ecx, 1\n \t\t\t\t\t\t;; size=14 bbWeight=0.50 PerfScore 0.75\n G_M44419_IG32:\n        test     r15d, r15d\n        je       SHORT G_M44419_IG34\n \t\t\t\t\t\t;; size=5 bbWeight=1 PerfScore 1.25\n G_M44419_IG33:\n        test     ebx, ebx\n        jne      SHORT G_M44419_IG34\n        mov      r8d, 6\n        jmp      SHORT G_M44419_IG36\n \t\t\t\t\t\t;; size=12 bbWeight=0.50 PerfScore 1.75\n G_M44419_IG34:\n        or       r12d, r15d\n        je       SHORT G_M44419_IG35\n        mov      r8d, 3\n        jmp      SHORT G_M44419_IG36\n \t\t\t\t\t\t;; size=13 bbWeight=0.50 PerfScore 1.75\n G_M44419_IG35:\n        test     r14d, r14d\n        je       G_M44419_IG48\n        mov      r8d, 2\n \t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 0.75\n G_M44419_IG36:\n        mov      r14, gword ptr [rbp-0xA8]\n        mov      rax, gword ptr [r14\u002B0x08]\n        mov      rsi, bword ptr [rbp-0xB8]\n        mov      edx, dword ptr [rbp-0x8C]\n        mov      rdi, gword ptr [rax\u002B0x10]\n        call     [rax\u002B0x18]Silk.NET.Assimp.OpenFileCustomIOCallback:Invoke(System.ReadOnlySpan\u00601[char],int,int):System.IO.Stream:this\n        mov      r14, rax\n        test     r14, r14\n        je       G_M44419_IG39\n \t\t\t\t\t\t;; size=43 bbWeight=1 PerfScore 11.50\n G_M44419_IG37:\n        test     r15d, ebx\n        je       SHORT G_M44419_IG38\n        mov      rdi, r14\n        xor      esi, esi\n        mov      edx, 2\n        mov      rax, qword ptr [r14]\n        mov      rax, qword ptr [rax\u002B0x68]\n        call     [rax]System.IO.Stream:Seek(long,int):long:this\n \t\t\t\t\t\t;; size=24 bbWeight=0.50 PerfScore 4.50\n G_M44419_IG38:\n        xor      edi, edi\n        mov      qword ptr [rbp-0x78], rdi\n        lea      rdi, [rbp-0x78]\n        mov      rsi, r14\n        mov      edx, 2\n        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.GCHandle:.ctor(System.Object,int):this\n        call     [rax]System.Runtime.InteropServices.GCHandle:.ctor(System.Object,int):this\n        mov      rbx, qword ptr [rbp-0x78]\n        test     rbx, rbx\n        je       G_M44419_IG49\n        mov      edi, 56\n        mov      rax, 0xD1FFAB1E      ; code for Silk.NET.Core.Native.GlobalMemory:Allocate(int):Silk.NET.Core.Native.GlobalMemory\n        call     [rax]Silk.NET.Core.Native.GlobalMemory:Allocate(int):Silk.NET.Core.Native.GlobalMemory\n        mov      rdi, rax\n        mov      rax, 0xD1FFAB1E      ; code for Silk.NET.Core.Native.SilkMarshal:RegisterMemory(Silk.NET.Core.Native.GlobalMemory):nint\n        call     [rax]Silk.NET.Core.Native.SilkMarshal:RegisterMemory(Silk.NET.Core.Native.GlobalMemory):nint\n        mov      r15, rax\n        vmovups  ymm0, ymmword ptr [reloc @RWD00]\n        vmovups  ymmword ptr [r15], ymm0\n        vmovups  xmm0, xmmword ptr [reloc @RWD32]\n        vmovups  xmmword ptr [r15\u002B0x20], xmm0\n        mov      qword ptr [r15\u002B0x30], rbx\n        jmp      SHORT G_M44419_IG40\n \t\t\t\t\t\t;; size=111 bbWeight=0.50 PerfScore 11.50\n G_M44419_IG39:\n        xor      r15d, r15d\n \t\t\t\t\t\t;; size=3 bbWeight=0.50 PerfScore 0.12\n G_M44419_IG40:\n        lea      rdi, [rbp-0x88]\n        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT\n        mov      rax, r15\n        mov      r9, 0xD1FFAB1E\n        cmp      qword ptr [rbp-0x30], r9\n        je       SHORT G_M44419_IG41\n        call     CORINFO_HELP_FAIL_FAST\n \t\t\t\t\t\t;; size=36 bbWeight=1 PerfScore 5.00\n G_M44419_IG41:\n        nop      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n G_M44419_IG42:\n        vzeroupper \n        lea      rsp, [rbp-0x28]\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=18 bbWeight=1 PerfScore 5.50\n G_M44419_IG43:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()\n        call     [rax]System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n G_M44419_IG44:\n        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException\n        call     CORINFO_HELP_NEWSFAST\n        mov      rbx, rax\n        mov      rdi, rbx\n        mov      rsi, 0xD1FFAB1E      ; \u0027Invalid UserData for FileIO.\u0027\n        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this\n        call     [rax]System.InvalidOperationException:.ctor(System.String):this\n        mov      rdi, rbx\n        call     CORINFO_HELP_THROW\n        int3     \n \t\t\t\t\t\t;; size=52 bbWeight=0 PerfScore 0.00\n G_M44419_IG45:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n G_M44419_IG46:\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encoding:ThrowConversionOverflow()\n        call     [rax]System.Text.Encoding:ThrowConversionOverflow()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n G_M44419_IG47:\n        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException\n        call     CORINFO_HELP_NEWSFAST\n        mov      rbx, rax\n        mov      rdi, rbx\n        mov      rsi, 0xD1FFAB1E      ; \u0027Invalid mode, must have \u0027r\u0027, \u0027w\u0027, \u0027a\u0027, or \u0027\u002B\u0027 set.\u0027\n        mov      rdx, 0xD1FFAB1E      ; \u0027pMode\u0027\n        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this\n        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this\n        mov      rdi, rbx\n        call     CORINFO_HELP_THROW\n        int3     \n \t\t\t\t\t\t;; size=62 bbWeight=0 PerfScore 0.00\n G_M44419_IG48:\n        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException\n        call     CORINFO_HELP_NEWSFAST\n        mov      rbx, rax\n        mov      rdi, rbx\n        mov      rsi, 0xD1FFAB1E      ; \u0027Invalid mode\u0027\n        mov      rdx, 0xD1FFAB1E      ; \u0027pMode\u0027\n        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this\n        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this\n        mov      rdi, rbx\n        call     CORINFO_HELP_THROW\n        int3     \n \t\t\t\t\t\t;; size=62 bbWeight=0 PerfScore 0.00\n G_M44419_IG49:\n        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException\n        call     CORINFO_HELP_NEWSFAST\n        mov      r15, rax\n        mov      rdi, r15\n        mov      rsi, 0xD1FFAB1E      ; \u0027Failed to allocate GCHandle.\u0027\n        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this\n        call     [rax]System.InvalidOperationException:.ctor(System.String):this\n        mov      rdi, r15\n        call     CORINFO_HELP_THROW\n        int3     \n \t\t\t\t\t\t;; size=52 bbWeight=0 PerfScore 0.00\n G_M44419_IG50:\n        call     CORINFO_HELP_OVERFLOW\n        int3     \n \t\t\t\t\t\t;; size=6 bbWeight=0 PerfScore 0.00\n-RWD00  \tdq\t0000743DC8940C30h, 0000743DC8940C48h, 0000743DC8940C78h, 0000743DC8940C60h\n-RWD32  \tdq\t0000743DC8940CA8h, 0000743DC8940C90h\n\u002BRWD00  \tdq\t0000722B56F40D68h, 0000722B56F40D80h, 0000722B56F40DB0h, 0000722B56F40D98h\n\u002BRWD32  \tdq\t0000722B56F40DE0h, 0000722B56F40DC8h\n \n \n ; Total bytes of code 1423, prolog size 74, PerfScore 196.71, instruction count 341, allocated bytes for code 1423 (MethodHash=5738527c) for method Silk.NET.Assimp.CustomFileIO:OpenFile(ptr,ptr,ptr):ptr (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":1423,"DiffBytes":1423},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHash3:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)","Category":"improvement","Description":"125 -\u003E 40 bytes (-85)","ExtraInfo":null,"Diff":"@@ -1,54 \u002B1,35 @@\n ; Assembly listing for method System.IO.Hashing.XxHash3:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 this         [V00,T00] (  4,  4   )     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.IO.Hashing.XxHash3\u003E\n-;  V01 arg1         [V01,T02] (  1,  1   )  struct (544) [rsp\u002B0x240]  do-not-enreg[S] single-def unsafe-buffer \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n-;  V02 tmp0         [V02,T03] (  1,  1   )     int  -\u003E  [rsp\u002B0x224]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V04 rat0         [V04    ] (  1,  1   )    long  -\u003E  [rsp\u002B0x228]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n-;  V05 rat1         [V05,T01] (  2,  2   )  struct (544) [rsp\u002B0x00]  do-not-enreg[S] single-def unsafe-buffer \u0022V01 shadow\u0022 \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n\u002B;  V00 this         [V00,T00] (  4,  4   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.IO.Hashing.XxHash3\u003E\n\u002B;  V01 arg1         [V01,T01] (  1,  1   )  struct (544) [rsp\u002B0x10]  do-not-enreg[S] single-def \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n\u002B;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;\n-; Lcl frame size = 560\n\u002B; Lcl frame size = 8\n \n G_M21919_IG01:\n-       push     rbx\n-       sub      rsp, 560\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rsp\u002B0x228], rax\n-       mov      rbx, rdi\n-\t\t\t\t\t\t;; size=29 bbWeight=1 PerfScore 2.75\n\u002B       push     rax\n\u002B\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n G_M21919_IG02:\n\u002B       mov      dword ptr [rdi\u002B0x08], 8\n\u002B       add      rdi, 16\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMCPY\n-       lea      rdi, bword ptr [rsp]\n-       lea      rsi, [rsp\u002B0x240]\n\u002B       lea      rsi, [rsp\u002B0x10]\n        mov      edx, 544\n        call     [rax]CORINFO_HELP_MEMCPY\n-       mov      dword ptr [rbx\u002B0x08], 8\n-       lea      rdi, bword ptr [rbx\u002B0x10]\n-       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMCPY\n-       lea      rsi, [rsp]\n-       mov      edx, 544\n-       call     [rax]CORINFO_HELP_MEMCPY\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rsp\u002B0x228], r9\n-       je       SHORT G_M21919_IG03\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=86 bbWeight=1 PerfScore 13.25\n-G_M21919_IG03:\n        nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n-G_M21919_IG04:\n-       add      rsp, 560\n-       pop      rbx\n\u002B\t\t\t\t\t\t;; size=34 bbWeight=1 PerfScore 5.50\n\u002BG_M21919_IG03:\n\u002B       add      rsp, 8\n        ret      \n-\t\t\t\t\t\t;; size=9 bbWeight=1 PerfScore 1.75\n\u002B\t\t\t\t\t\t;; size=5 bbWeight=1 PerfScore 1.25\n \n-; Total bytes of code 125, prolog size 26, PerfScore 18.00, instruction count 24, allocated bytes for code 125 (MethodHash=69a8aa60) for method System.IO.Hashing.XxHash3:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n\u002B; Total bytes of code 40, prolog size 1, PerfScore 7.75, instruction count 10, allocated bytes for code 40 (MethodHash=69a8aa60) for method System.IO.Hashing.XxHash3:.ctor(System.IO.Hashing.XxHashShared\u002BState):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":125,"DiffBytes":40},{"Assembly":"System.Net.NameResolution.dasm","Method":"System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)","Category":"improvement","Description":"203 -\u003E 115 bytes (-88)","ExtraInfo":null,"Diff":"@@ -1,95 \u002B1,82 @@\n ; Assembly listing for method System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 arg0         [V00    ] (  1,  1   )  struct (24) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def unsafe-buffer \u003CInterop\u002BSys\u002BIPAddress\u003E\n-;  V01 tmp0         [V01,T03] (  1,  1   )     int  -\u003E  [rbp-0x34]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V03 tmp2         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V04 tmp3         [V04,T00] (  3,  3   )     ref  -\u003E  r15         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.Net.IPAddress\u003E\n\u002B;  V00 arg0         [V00    ] (  4,  2.50)  struct (24) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;  V02 tmp1         [V02,T00] (  3,  3   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.Net.IPAddress\u003E\n\u002B;* V03 tmp2         [V03    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V04 tmp3         [V04    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;  V05 tmp4         [V05,T01] (  3,  3   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.Net.IPAddress\u003E\n-;* V06 tmp5         [V06    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V07 tmp6         [V07,T02] (  2,  1   )   byref  -\u003E  rbx         single-def \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V08 tmp7         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V09 rat0         [V09    ] (  1,  1   )    long  -\u003E  [rbp-0x18]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n-;  V10 rat1         [V10    ] (  5,  3.50)  struct (24) [rbp-0x30]  do-not-enreg[XSF] addr-exposed single-def unsafe-buffer \u0022V00 shadow\u0022 \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;* V06 tmp5         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V07 tmp6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V08 tmp7         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V09 tmp8         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V10 tmp9         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V11 tmp10        [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V12 tmp11        [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V13 tmp12        [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V14 tmp13        [V14,T02] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp14        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V16 tmp15        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V17 tmp16        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V18 tmp17        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp18        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V20 tmp19        [V20,T03] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V21 tmp20        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n-; Lcl frame size = 48\n\u002B; Lcl frame size = 8\n \n G_M7390_IG01:\n        push     rbp\n-       push     r15\n        push     rbx\n-       sub      rsp, 48\n-       lea      rbp, [rsp\u002B0x40]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x18], rax\n-\t\t\t\t\t\t;; size=27 bbWeight=1 PerfScore 5.00\n\u002B       push     rax\n\u002B       lea      rbp, [rsp\u002B0x10]\n\u002B\t\t\t\t\t\t;; size=8 bbWeight=1 PerfScore 3.50\n G_M7390_IG02:\n-       vmovdqu  xmm0, xmmword ptr [rbp\u002B0x10]\n-       vmovdqu  xmmword ptr [rbp-0x30], xmm0\n-       mov      rdi, qword ptr [rbp\u002B0x20]\n-       mov      qword ptr [rbp-0x20], rdi\n-       cmp      dword ptr [rbp-0x20], 0\n-       je       SHORT G_M7390_IG06\n-\t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 6.00\n\u002B       cmp      dword ptr [rbp\u002B0x20], 0\n\u002B       je       SHORT G_M7390_IG05\n\u002B\t\t\t\t\t\t;; size=6 bbWeight=1 PerfScore 2.00\n G_M7390_IG03:\n-       lea      rbx, [rbp-0x30]\n-       mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress\n-       call     CORINFO_HELP_NEWSFAST\n-       mov      r15, rax\n-       mov      ecx, dword ptr [rbp-0x1C]\n-       mov      rsi, rbx\n-       mov      edx, 16\n-       mov      rdi, r15\n-       mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(System.ReadOnlySpan\u00601[byte],long):this\n-       call     [rax]System.Net.IPAddress:.ctor(System.ReadOnlySpan\u00601[byte],long):this\n-       mov      rax, r15\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x18], r9\n-       je       SHORT G_M7390_IG04\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=72 bbWeight=0.50 PerfScore 5.25\n-G_M7390_IG04:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M7390_IG05:\n-       add      rsp, 48\n-       pop      rbx\n-       pop      r15\n-       pop      rbp\n-       ret      \n-\t\t\t\t\t\t;; size=9 bbWeight=0.50 PerfScore 1.38\n-G_M7390_IG06:\n        mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress\n        call     CORINFO_HELP_NEWSFAST\n        mov      rbx, rax\n-       mov      esi, dword ptr [rbp-0x30]\n\u002B       mov      ecx, dword ptr [rbp\u002B0x24]\n\u002B       lea      rsi, bword ptr [rbp\u002B0x10]\n\u002B       mov      edx, 16\n\u002B       mov      rdi, rbx\n\u002B       mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(System.ReadOnlySpan\u00601[byte],long):this\n\u002B       call     [rax]System.Net.IPAddress:.ctor(System.ReadOnlySpan\u00601[byte],long):this\n\u002B       mov      rax, rbx\n\u002B\t\t\t\t\t\t;; size=48 bbWeight=0.50 PerfScore 3.50\n\u002BG_M7390_IG04:\n\u002B       add      rsp, 8\n\u002B       pop      rbx\n\u002B       pop      rbp\n\u002B       ret      \n\u002B\t\t\t\t\t\t;; size=7 bbWeight=0.50 PerfScore 1.12\n\u002BG_M7390_IG05:\n\u002B       mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress\n\u002B       call     CORINFO_HELP_NEWSFAST\n\u002B       mov      rbx, rax\n\u002B       mov      esi, dword ptr [rbp\u002B0x10]\n        mov      rdi, rbx\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(long):this\n        call     [rax]System.Net.IPAddress:.ctor(long):this\n        mov      rax, rbx\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x18], r9\n-       je       SHORT G_M7390_IG07\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=60 bbWeight=0.50 PerfScore 4.75\n-G_M7390_IG07:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M7390_IG08:\n-       add      rsp, 48\n\u002B\t\t\t\t\t\t;; size=39 bbWeight=0.50 PerfScore 3.12\n\u002BG_M7390_IG06:\n\u002B       add      rsp, 8\n        pop      rbx\n-       pop      r15\n        pop      rbp\n        ret      \n-\t\t\t\t\t\t;; size=9 bbWeight=0.50 PerfScore 1.38\n\u002B\t\t\t\t\t\t;; size=7 bbWeight=0.50 PerfScore 1.12\n \n-; Total bytes of code 203, prolog size 27, PerfScore 24.00, instruction count 52, allocated bytes for code 203 (MethodHash=ba94e321) for method System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n\u002B; Total bytes of code 115, prolog size 8, PerfScore 14.38, instruction count 32, allocated bytes for code 115 (MethodHash=ba94e321) for method System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":203,"DiffBytes":115},{"Assembly":"System.Net.Sockets.dasm","Method":"System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)","Category":"improvement","Description":"203 -\u003E 115 bytes (-88)","ExtraInfo":null,"Diff":"@@ -1,95 \u002B1,82 @@\n ; Assembly listing for method System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 arg0         [V00    ] (  1,  1   )  struct (24) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def unsafe-buffer \u003CInterop\u002BSys\u002BIPAddress\u003E\n-;  V01 tmp0         [V01,T03] (  1,  1   )     int  -\u003E  [rbp-0x34]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V03 tmp2         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V04 tmp3         [V04,T00] (  3,  3   )     ref  -\u003E  r15         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.Net.IPAddress\u003E\n\u002B;  V00 arg0         [V00    ] (  4,  2.50)  struct (24) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;  V02 tmp1         [V02,T00] (  3,  3   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.Net.IPAddress\u003E\n\u002B;* V03 tmp2         [V03    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V04 tmp3         [V04    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;  V05 tmp4         [V05,T01] (  3,  3   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.Net.IPAddress\u003E\n-;* V06 tmp5         [V06    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V07 tmp6         [V07,T02] (  2,  1   )   byref  -\u003E  rbx         single-def \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V08 tmp7         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V09 rat0         [V09    ] (  1,  1   )    long  -\u003E  [rbp-0x18]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n-;  V10 rat1         [V10    ] (  5,  3.50)  struct (24) [rbp-0x30]  do-not-enreg[XSF] addr-exposed single-def unsafe-buffer \u0022V00 shadow\u0022 \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;* V06 tmp5         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V07 tmp6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V08 tmp7         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V09 tmp8         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V10 tmp9         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V11 tmp10        [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V12 tmp11        [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V13 tmp12        [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V14 tmp13        [V14,T02] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp14        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V16 tmp15        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V17 tmp16        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V18 tmp17        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp18        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V20 tmp19        [V20,T03] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V21 tmp20        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n-; Lcl frame size = 48\n\u002B; Lcl frame size = 8\n \n G_M7390_IG01:\n        push     rbp\n-       push     r15\n        push     rbx\n-       sub      rsp, 48\n-       lea      rbp, [rsp\u002B0x40]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x18], rax\n-\t\t\t\t\t\t;; size=27 bbWeight=1 PerfScore 5.00\n\u002B       push     rax\n\u002B       lea      rbp, [rsp\u002B0x10]\n\u002B\t\t\t\t\t\t;; size=8 bbWeight=1 PerfScore 3.50\n G_M7390_IG02:\n-       vmovdqu  xmm0, xmmword ptr [rbp\u002B0x10]\n-       vmovdqu  xmmword ptr [rbp-0x30], xmm0\n-       mov      rdi, qword ptr [rbp\u002B0x20]\n-       mov      qword ptr [rbp-0x20], rdi\n-       cmp      dword ptr [rbp-0x20], 0\n-       je       SHORT G_M7390_IG06\n-\t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 6.00\n\u002B       cmp      dword ptr [rbp\u002B0x20], 0\n\u002B       je       SHORT G_M7390_IG05\n\u002B\t\t\t\t\t\t;; size=6 bbWeight=1 PerfScore 2.00\n G_M7390_IG03:\n-       lea      rbx, [rbp-0x30]\n-       mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress\n-       call     CORINFO_HELP_NEWSFAST\n-       mov      r15, rax\n-       mov      ecx, dword ptr [rbp-0x1C]\n-       mov      rsi, rbx\n-       mov      edx, 16\n-       mov      rdi, r15\n-       mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(System.ReadOnlySpan\u00601[byte],long):this\n-       call     [rax]System.Net.IPAddress:.ctor(System.ReadOnlySpan\u00601[byte],long):this\n-       mov      rax, r15\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x18], r9\n-       je       SHORT G_M7390_IG04\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=72 bbWeight=0.50 PerfScore 5.25\n-G_M7390_IG04:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M7390_IG05:\n-       add      rsp, 48\n-       pop      rbx\n-       pop      r15\n-       pop      rbp\n-       ret      \n-\t\t\t\t\t\t;; size=9 bbWeight=0.50 PerfScore 1.38\n-G_M7390_IG06:\n        mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress\n        call     CORINFO_HELP_NEWSFAST\n        mov      rbx, rax\n-       mov      esi, dword ptr [rbp-0x30]\n\u002B       mov      ecx, dword ptr [rbp\u002B0x24]\n\u002B       lea      rsi, bword ptr [rbp\u002B0x10]\n\u002B       mov      edx, 16\n\u002B       mov      rdi, rbx\n\u002B       mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(System.ReadOnlySpan\u00601[byte],long):this\n\u002B       call     [rax]System.Net.IPAddress:.ctor(System.ReadOnlySpan\u00601[byte],long):this\n\u002B       mov      rax, rbx\n\u002B\t\t\t\t\t\t;; size=48 bbWeight=0.50 PerfScore 3.50\n\u002BG_M7390_IG04:\n\u002B       add      rsp, 8\n\u002B       pop      rbx\n\u002B       pop      rbp\n\u002B       ret      \n\u002B\t\t\t\t\t\t;; size=7 bbWeight=0.50 PerfScore 1.12\n\u002BG_M7390_IG05:\n\u002B       mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress\n\u002B       call     CORINFO_HELP_NEWSFAST\n\u002B       mov      rbx, rax\n\u002B       mov      esi, dword ptr [rbp\u002B0x10]\n        mov      rdi, rbx\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(long):this\n        call     [rax]System.Net.IPAddress:.ctor(long):this\n        mov      rax, rbx\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x18], r9\n-       je       SHORT G_M7390_IG07\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=60 bbWeight=0.50 PerfScore 4.75\n-G_M7390_IG07:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M7390_IG08:\n-       add      rsp, 48\n\u002B\t\t\t\t\t\t;; size=39 bbWeight=0.50 PerfScore 3.12\n\u002BG_M7390_IG06:\n\u002B       add      rsp, 8\n        pop      rbx\n-       pop      r15\n        pop      rbp\n        ret      \n-\t\t\t\t\t\t;; size=9 bbWeight=0.50 PerfScore 1.38\n\u002B\t\t\t\t\t\t;; size=7 bbWeight=0.50 PerfScore 1.12\n \n-; Total bytes of code 203, prolog size 27, PerfScore 24.00, instruction count 52, allocated bytes for code 203 (MethodHash=ba94e321) for method System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n\u002B; Total bytes of code 115, prolog size 8, PerfScore 14.38, instruction count 32, allocated bytes for code 115 (MethodHash=ba94e321) for method System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":203,"DiffBytes":115},{"Assembly":"System.Private.CoreLib.dasm","Method":"System.Runtime.CompilerServices.AsyncProfiler\u002BContinuationWrapper:InitContinuationWrappers():System.Runtime.CompilerServices.AsyncProfiler\u002BContinuationWrapper\u002BContinuationWrapperTable (FullOpts)","Category":"same-size","Description":"79 -\u003E 79 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,76 \u002B1,76 @@\n ; Assembly listing for method System.Runtime.CompilerServices.AsyncProfiler\u002BContinuationWrapper:InitContinuationWrappers():System.Runtime.CompilerServices.AsyncProfiler\u002BContinuationWrapper\u002BContinuationWrapperTable (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 32 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 RetBuf       [V00,T00] (  7,  7   )    long  -\u003E  rdi         single-def\n ;* V01 loc0         [V01    ] (  0,  0   )  struct (256) zero-ref    do-not-enreg[SF] ld-addr-op \u003CSystem.Runtime.CompilerServices.AsyncProfiler\u002BContinuationWrapper\u002BContinuationWrapperTable\u003E\n ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V03 tmp1         [V03    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[000..008)\u0022\n ;* V04 tmp2         [V04    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[008..016)\u0022\n ;* V05 tmp3         [V05    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[016..024)\u0022\n ;* V06 tmp4         [V06    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[024..032)\u0022\n ;* V07 tmp5         [V07    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[032..040)\u0022\n ;* V08 tmp6         [V08    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[040..048)\u0022\n ;* V09 tmp7         [V09    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[048..056)\u0022\n ;* V10 tmp8         [V10    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[056..064)\u0022\n ;* V11 tmp9         [V11    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[064..072)\u0022\n ;* V12 tmp10        [V12    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[072..080)\u0022\n ;* V13 tmp11        [V13    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[080..088)\u0022\n ;* V14 tmp12        [V14    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[088..096)\u0022\n ;* V15 tmp13        [V15    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[096..104)\u0022\n ;* V16 tmp14        [V16    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[104..112)\u0022\n ;* V17 tmp15        [V17    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[112..120)\u0022\n ;* V18 tmp16        [V18    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[120..128)\u0022\n ;* V19 tmp17        [V19    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[128..136)\u0022\n ;* V20 tmp18        [V20    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[136..144)\u0022\n ;* V21 tmp19        [V21    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[144..152)\u0022\n ;* V22 tmp20        [V22    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[152..160)\u0022\n ;* V23 tmp21        [V23    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[160..168)\u0022\n ;* V24 tmp22        [V24    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[168..176)\u0022\n ;* V25 tmp23        [V25    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[176..184)\u0022\n ;* V26 tmp24        [V26    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[184..192)\u0022\n ;* V27 tmp25        [V27    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[192..200)\u0022\n ;* V28 tmp26        [V28    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[200..208)\u0022\n ;* V29 tmp27        [V29    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[208..216)\u0022\n ;* V30 tmp28        [V30    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[216..224)\u0022\n ;* V31 tmp29        [V31    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[224..232)\u0022\n ;* V32 tmp30        [V32    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[232..240)\u0022\n ;* V33 tmp31        [V33    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[240..248)\u0022\n ;* V34 tmp32        [V34    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022V01.[248..256)\u0022\n ;\n ; Lcl frame size = 0\n \n G_M36615_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M36615_IG02:\n        vmovups  zmm0, zmmword ptr [reloc @RWD00]\n        vmovups  zmmword ptr [rdi], zmm0\n        vmovups  zmm0, zmmword ptr [reloc @RWD64]\n        vmovups  zmmword ptr [rdi\u002B0x40], zmm0\n        vmovups  zmm0, zmmword ptr [reloc @RWD128]\n        vmovups  zmmword ptr [rdi\u002B0x80], zmm0\n        vmovups  zmm0, zmmword ptr [reloc @RWD192]\n        vmovups  zmmword ptr [rdi\u002B0xC0], zmm0\n        mov      rax, rdi\n \t\t\t\t\t\t;; size=70 bbWeight=1 PerfScore 20.25\n G_M36615_IG03:\n        vzeroupper \n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=5 bbWeight=1 PerfScore 2.50\n-RWD00  \tdq\t0000776A1F711908h, 0000776A1F711920h, 0000776A1F711938h, 0000776A1F711950h, 0000776A1F711968h, 0000776A1F711980h, 0000776A1F711998h, 0000776A1F7119B0h\n-RWD64  \tdq\t0000776A1F7119C8h, 0000776A1F7119E0h, 0000776A1F7119F8h, 0000776A1F711A10h, 0000776A1F711A28h, 0000776A1F711A40h, 0000776A1F711A58h, 0000776A1F711A70h\n-RWD128 \tdq\t0000776A1F711A88h, 0000776A1F711AA0h, 0000776A1F711AB8h, 0000776A1F711AD0h, 0000776A1F711AE8h, 0000776A1F711B00h, 0000776A1F711B18h, 0000776A1F711B30h\n-RWD192 \tdq\t0000776A1F711B48h, 0000776A1F711B60h, 0000776A1F711B78h, 0000776A1F711B90h, 0000776A1F711BA8h, 0000776A1F711BC0h, 0000776A1F711BD8h, 0000776A1F711BF0h\n\u002BRWD00  \tdq\t0000774FA6D11908h, 0000774FA6D11920h, 0000774FA6D11938h, 0000774FA6D11950h, 0000774FA6D11968h, 0000774FA6D11980h, 0000774FA6D11998h, 0000774FA6D119B0h\n\u002BRWD64  \tdq\t0000774FA6D119C8h, 0000774FA6D119E0h, 0000774FA6D119F8h, 0000774FA6D11A10h, 0000774FA6D11A28h, 0000774FA6D11A40h, 0000774FA6D11A58h, 0000774FA6D11A70h\n\u002BRWD128 \tdq\t0000774FA6D11A88h, 0000774FA6D11AA0h, 0000774FA6D11AB8h, 0000774FA6D11AD0h, 0000774FA6D11AE8h, 0000774FA6D11B00h, 0000774FA6D11B18h, 0000774FA6D11B30h\n\u002BRWD192 \tdq\t0000774FA6D11B48h, 0000774FA6D11B60h, 0000774FA6D11B78h, 0000774FA6D11B90h, 0000774FA6D11BA8h, 0000774FA6D11BC0h, 0000774FA6D11BD8h, 0000774FA6D11BF0h\n \n \n ; Total bytes of code 79, prolog size 4, PerfScore 24.00, instruction count 14, allocated bytes for code 79 (MethodHash=14f070f8) for method System.Runtime.CompilerServices.AsyncProfiler\u002BContinuationWrapper:InitContinuationWrappers():System.Runtime.CompilerServices.AsyncProfiler\u002BContinuationWrapper\u002BContinuationWrapperTable (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":79,"DiffBytes":79},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.OptimizedInboxTextEncoder:.ctor(System.Text.Encodings.Web.ScalarEscaperBase,byref,bool,System.ReadOnlySpan\u00601[char]):this (FullOpts)","Category":"improvement","Description":"449 -\u003E 429 bytes (-20)","ExtraInfo":null,"Diff":"@@ -1,249 \u002B1,267 @@\n ; Assembly listing for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:.ctor(System.Text.Encodings.Web.ScalarEscaperBase,byref,bool,System.ReadOnlySpan\u00601[char]):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 10 single block inlinees; 5 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 20 single block inlinees; 5 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 this         [V00,T10] (  7,  7   )     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n-;  V01 arg1         [V01,T13] (  4,  4   )     ref  -\u003E  r15         class-hnd single-def \u003CSystem.Text.Encodings.Web.ScalarEscaperBase\u003E\n-;  V02 arg2         [V02,T14] (  3,  3   )   byref  -\u003E  r14         single-def\n-;  V03 arg3         [V03,T15] (  3,  3   )   ubyte  -\u003E  r13         single-def\n\u002B;  V00 this         [V00,T12] (  7,  7   )     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n\u002B;  V01 arg1         [V01,T15] (  4,  4   )     ref  -\u003E  r15         class-hnd single-def \u003CSystem.Text.Encodings.Web.ScalarEscaperBase\u003E\n\u002B;  V02 arg2         [V02,T16] (  3,  3   )   byref  -\u003E  r14         single-def\n\u002B;  V03 arg3         [V03,T17] (  3,  3   )   ubyte  -\u003E  r13         single-def\n ;* V04 arg4         [V04    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SFA] multireg-arg single-def \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n ;* V05 loc0         [V05    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n ;* V06 loc1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[char]\u003E\n-;  V07 loc2         [V07,T06] (  9, 14   )     int  -\u003E  r14        \n\u002B;  V07 loc2         [V07,T08] (  9, 14   )     int  -\u003E  r13        \n ;* V08 loc3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n-;* V09 loc4         [V09,T28] (  0,  0   )     int  -\u003E  zero-ref   \n-;  V10 loc5         [V10,T09] (  3, 11.88)  ushort  -\u003E  rsi        \n\u002B;* V09 loc4         [V09,T31] (  0,  0   )     int  -\u003E  zero-ref   \n\u002B;  V10 loc5         [V10,T11] (  3, 11.88)  ushort  -\u003E  rsi        \n ;  V11 loc6         [V11,T01] (  7, 37   )     int  -\u003E  rsi        \n ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V13 tmp1         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V14 tmp2         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V16 tmp4         [V16    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V17 tmp5         [V17    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n-;  V19 tmp7         [V19,T11] (  2,  7.92)    long  -\u003E  rax         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V20 tmp8         [V20,T12] (  2,  7.92)     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V21 tmp9         [V21,T05] (  2, 15.84)   byref  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;  V22 tmp10        [V22,T03] (  3, 23.76)   byref  -\u003E  rdx         \u0022dup spill\u0022\n-;  V23 tmp11        [V23,T19] (  2,  4   )    long  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;  V24 tmp12        [V24,T20] (  2,  4   )    long  -\u003E  r15         \u0022Inlining Arg\u0022\n-;* V25 tmp13        [V25    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;* V26 tmp14        [V26    ] (  0,  0   )  ushort  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V27 tmp15        [V27    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V28 tmp16        [V28    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V29 tmp17        [V29,T02] (  2, 32   )   byref  -\u003E  rax         \u0022Inlining Arg\u0022\n-;  V30 tmp18        [V30,T00] (  3, 48   )     int  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V31 tmp19        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;* V32 tmp20        [V32    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V33 tmp21        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;* V34 tmp22        [V34    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V35 tmp23        [V35    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n-;* V36 tmp24        [V36    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V37 tmp25        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n-;* V38 tmp26        [V38    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V39 tmp27        [V39    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[char]\u003E\n-;* V40 tmp28        [V40    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n-;* V41 tmp29        [V41    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n-;* V42 tmp30        [V42    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V43 tmp31        [V43,T17] (  3,  4   )   byref  -\u003E  rdi         single-def \u0022field V05._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V44 tmp32        [V44,T29] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V45 tmp33        [V45,T18] (  3,  4   )   byref  -\u003E  r15         single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V46 tmp34        [V46,T30] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V47 tmp35        [V47,T16] (  2,  4.96)   byref  -\u003E  r12         single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V48 tmp36        [V48,T23] (  3,  2.50)     int  -\u003E  r14         \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V49 tmp37        [V49,T24] (  2,  2   )   byref  -\u003E  rdi         single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V50 tmp38        [V50    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V51 tmp39        [V51,T25] (  2,  2   )   byref  -\u003E  r15         single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V52 tmp40        [V52    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V53 tmp41        [V53    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V54 tmp42        [V54    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V55 tmp43        [V55    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V16._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V56 tmp44        [V56    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V16._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V57 tmp45        [V57    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V17._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V58 tmp46        [V58    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V17._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V59 tmp47        [V59    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V60 tmp48        [V60    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V61 tmp49        [V61    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V31._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V62 tmp50        [V62    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V31._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V63 tmp51        [V63    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V33._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V64 tmp52        [V64    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V33._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V65 tmp53        [V65    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V34._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V66 tmp54        [V66    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V34._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V67 tmp55        [V67    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V37._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V68 tmp56        [V68    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V37._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V69 tmp57        [V69    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V39._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V70 tmp58        [V70    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V39._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V71 tmp59        [V71    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V40._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V72 tmp60        [V72    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V40._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V73 tmp61        [V73,T26] (  2,  2   )   byref  -\u003E  r12         single-def \u0022V04.[000..008)\u0022\n-;  V74 tmp62        [V74,T27] (  2,  2   )     int  -\u003E  r14         \u0022V04.[008..012)\u0022\n-;  V75 cse0         [V75,T04] (  7, 16.46)   byref  -\u003E  [rbp-0x40]  spill-single-def ptr \u0022CSE #01: moderate\u0022\n-;  V76 rat0         [V76,T07] (  4, 12.38)    long  -\u003E  rdi         \u0022Strength reduced derived IV\u0022\n-;  V77 rat1         [V77,T08] (  4, 12.38)     int  -\u003E  r14         \u0022Trip count IV\u0022\n-;  V78 rat2         [V78,T21] (  3,  3   )   byref  -\u003E  r12         \u0022V04.r8\u0022\n-;  V79 rat3         [V79,T22] (  3,  3   )    long  -\u003E  [rbp-0x38]  \u0022V04.r9\u0022\n-;  V80 rat4         [V80    ] (  1,  1   )    long  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;* V19 tmp7         [V19    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V20 tmp8         [V20    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V21 tmp9         [V21,T21] (  2,  4   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n\u002B;* V22 tmp10        [V22    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V23 tmp11        [V23,T13] (  2,  7.92)     int  -\u003E  rax         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V24 tmp12        [V24,T14] (  2,  7.92)     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V25 tmp13        [V25,T07] (  2, 15.84)   byref  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;* V26 tmp14        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V27 tmp15        [V27,T03] (  3, 23.76)   byref  -\u003E  rdx         \u0022dup spill\u0022\n\u002B;* V28 tmp16        [V28    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V29 tmp17        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V30 tmp18        [V30,T22] (  2,  4   )    long  -\u003E  rdi         \u0022Inlining Arg\u0022\n\u002B;  V31 tmp19        [V31,T23] (  2,  4   )    long  -\u003E  r15         \u0022Inlining Arg\u0022\n\u002B;* V32 tmp20        [V32    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;* V33 tmp21        [V33    ] (  0,  0   )  ushort  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V34 tmp22        [V34,T05] (  2, 16   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V35 tmp23        [V35,T06] (  2, 16   )     int  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V36 tmp24        [V36,T02] (  2, 32   )   byref  -\u003E  rax         \u0022Inlining Arg\u0022\n\u002B;* V37 tmp25        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;  V38 tmp26        [V38,T00] (  3, 48   )     int  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;* V39 tmp27        [V39    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V40 tmp28        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V41 tmp29        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V42 tmp30        [V42    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V43 tmp31        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V44 tmp32        [V44    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V45 tmp33        [V45    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V46 tmp34        [V46    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V47 tmp35        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n\u002B;* V48 tmp36        [V48    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V49 tmp37        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[char]\u003E\n\u002B;* V50 tmp38        [V50    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n\u002B;* V51 tmp39        [V51    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V52 tmp40        [V52    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V53 tmp41        [V53,T19] (  3,  4   )   byref  -\u003E  rdi         single-def \u0022field V05._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V54 tmp42        [V54,T32] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V55 tmp43        [V55,T20] (  3,  4   )   byref  -\u003E  r15         single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V56 tmp44        [V56,T33] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V57 tmp45        [V57,T18] (  2,  4.96)   byref  -\u003E  r12         single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V58 tmp46        [V58,T26] (  3,  2.50)     int  -\u003E  r13         \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V59 tmp47        [V59,T27] (  2,  2   )   byref  -\u003E  rdi         single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V60 tmp48        [V60    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V61 tmp49        [V61,T28] (  2,  2   )   byref  -\u003E  r15         single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V62 tmp50        [V62    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V63 tmp51        [V63    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V64 tmp52        [V64    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V65 tmp53        [V65    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V16._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V66 tmp54        [V66    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V16._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V67 tmp55        [V67    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V17._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V68 tmp56        [V68    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V17._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V69 tmp57        [V69    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V70 tmp58        [V70    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V71 tmp59        [V71    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V72 tmp60        [V72    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V73 tmp61        [V73    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V74 tmp62        [V74    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V75 tmp63        [V75    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V76 tmp64        [V76    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V77 tmp65        [V77    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V29._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V78 tmp66        [V78    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V29._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V79 tmp67        [V79    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V37._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V80 tmp68        [V80    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V37._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V81 tmp69        [V81    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V40._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V82 tmp70        [V82    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V40._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V83 tmp71        [V83    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V41._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V84 tmp72        [V84    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V41._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V85 tmp73        [V85    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V43._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V86 tmp74        [V86    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V43._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V87 tmp75        [V87    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V44._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V88 tmp76        [V88    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V44._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V89 tmp77        [V89    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V47._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V90 tmp78        [V90    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V47._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V91 tmp79        [V91    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V49._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V92 tmp80        [V92    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V49._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V93 tmp81        [V93    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V50._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V94 tmp82        [V94    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V50._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V95 tmp83        [V95,T29] (  2,  2   )   byref  -\u003E  r12         single-def \u0022V04.[000..008)\u0022\n\u002B;  V96 tmp84        [V96,T30] (  2,  2   )     int  -\u003E  r13         \u0022V04.[008..012)\u0022\n\u002B;  V97 cse0         [V97,T04] (  7, 16.46)   byref  -\u003E  [rbp-0x40]  spill-single-def ptr \u0022CSE #01: moderate\u0022\n\u002B;  V98 rat0         [V98,T09] (  4, 12.38)    long  -\u003E  rdi         \u0022Strength reduced derived IV\u0022\n\u002B;  V99 rat1         [V99,T10] (  4, 12.38)     int  -\u003E  r13         \u0022Trip count IV\u0022\n\u002B;  V100 rat2        [V100,T24] (  3,  3   )   byref  -\u003E  r12         \u0022V04.r8\u0022\n\u002B;  V101 rat3        [V101,T25] (  3,  3   )    long  -\u003E  [rbp-0x38]  \u0022V04.r9\u0022\n\u002B;  V102 rat4        [V102    ] (  1,  1   )    long  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n ;\n ; Lcl frame size = 24\n \n G_M10257_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n        sub      rsp, 24\n        lea      rbp, [rsp\u002B0x40]\n        mov      rax, 0xD1FFAB1E\n        mov      qword ptr [rbp-0x30], rax\n        mov      qword ptr [rbp-0x38], r9\n        mov      rbx, rdi\n        mov      r15, rsi\n        mov      r14, rdx\n        mov      r13d, ecx\n        mov      r12, r8\n \t\t\t\t\t\t;; size=52 bbWeight=1 PerfScore 10.25\n G_M10257_IG02:\n        lea      rdi, bword ptr [rbx\u002B0x08]\n        mov      rsi, r15\n        call     CORINFO_HELP_ASSIGN_REF\n        lea      rax, bword ptr [rbx\u002B0x0420]\n        mov      bword ptr [rbp-0x40], rax\n        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMCPY\n        mov      rdi, rax\n        mov      rsi, r14\n        mov      edx, 0x2000\n        call     [rcx]CORINFO_HELP_MEMCPY\n-       mov      rdi, bword ptr [rbp-0x40]\n-       mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters():this\n-       call     [rax]System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters():this\n\u002B       mov      r14, bword ptr [rbp-0x40]\n\u002B       mov      rdi, r14\n\u002B       mov      esi, 0x800\n\u002B       mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters(System.Span\u00601[uint])\n\u002B       call     [rax]System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidUndefinedCharacters(System.Span\u00601[uint])\n        test     r13b, r13b\n        je       SHORT G_M10257_IG04\n-\t\t\t\t\t\t;; size=67 bbWeight=1 PerfScore 12.75\n\u002B\t\t\t\t\t\t;; size=75 bbWeight=1 PerfScore 13.25\n G_M10257_IG03:\n-       mov      rdi, bword ptr [rbp-0x40]\n\u002B       mov      rdi, r14\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidHtmlCharacters():this\n        call     [rax]System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidHtmlCharacters():this\n-\t\t\t\t\t\t;; size=16 bbWeight=0.50 PerfScore 2.12\n\u002B\t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 1.75\n G_M10257_IG04:\n-       mov      r14, qword ptr [rbp-0x38]\n-       test     r14d, r14d\n-       jne      G_M10257_IG13\n-\t\t\t\t\t\t;; size=13 bbWeight=1 PerfScore 2.25\n\u002B       mov      r13, qword ptr [rbp-0x38]\n\u002B       test     r13d, r13d\n\u002B       je       SHORT G_M10257_IG07\n\u002B\t\t\t\t\t\t;; size=9 bbWeight=1 PerfScore 2.25\n G_M10257_IG05:\n-       mov      r13, bword ptr [rbp-0x40]\n-\t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 0.50\n\u002B       xor      edi, edi\n\u002B       align    [0 bytes for IG06]\n\u002B\t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n G_M10257_IG06:\n\u002B       movzx    rsi, word  ptr [r12\u002Brdi]\n\u002B       mov      rdx, r14\n\u002B       mov      eax, esi\n\u002B       shr      eax, 5\n\u002B       and      esi, 31\n\u002B       lea      rdx, bword ptr [rdx\u002B4*rax]\n\u002B       mov      eax, dword ptr [rdx]\n\u002B       btr      eax, esi\n\u002B       mov      dword ptr [rdx], eax\n\u002B       add      rdi, 2\n\u002B       dec      r13d\n\u002B       jne      SHORT G_M10257_IG06\n\u002B\t\t\t\t\t\t;; size=36 bbWeight=3.96 PerfScore 34.65\n\u002BG_M10257_IG07:\n        lea      rdi, bword ptr [rbx\u002B0x20]\n-       mov      rsi, r13\n\u002B       mov      rsi, r14\n        mov      rdx, r15\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.OptimizedInboxTextEncoder\u002BAsciiPreescapedData:PopulatePreescapedData(byref,System.Text.Encodings.Web.ScalarEscaperBase):this\n        call     [rax]System.Text.Encodings.Web.OptimizedInboxTextEncoder\u002BAsciiPreescapedData:PopulatePreescapedData(byref,System.Text.Encodings.Web.ScalarEscaperBase):this\n        test     dword ptr [rsp], esp\n        sub      rsp, 128\n        lea      rdi, [rsp]\n        test     dword ptr [rsp], esp\n        sub      rsp, 256\n        lea      r15, [rsp]\n-       xor      r14d, r14d\n\u002B       xor      r13d, r13d\n        xor      esi, esi\n-       align    [1 bytes for IG07]\n-\t\t\t\t\t\t;; size=56 bbWeight=1 PerfScore 10.50\n-G_M10257_IG07:\n-       mov      rax, r13\n\u002B       align    [0 bytes for IG08]\n\u002B\t\t\t\t\t\t;; size=55 bbWeight=1 PerfScore 10.25\n\u002BG_M10257_IG08:\n\u002B       mov      rax, r14\n        movzx    rcx, si\n        mov      edx, ecx\n        shr      edx, 5\n\u002B       and      ecx, 31\n        mov      eax, dword ptr [rax\u002B4*rdx]\n        bt       eax, ecx\n-       jae      SHORT G_M10257_IG09\n-\t\t\t\t\t\t;; size=19 bbWeight=8 PerfScore 38.00\n-G_M10257_IG08:\n-       cmp      r14d, 128\n-       jae      G_M10257_IG17\n-       mov      eax, r14d\n-       mov      byte  ptr [rdi\u002Brax], sil\n-       mov      eax, r14d\n-       mov      word  ptr [r15\u002B2*rax], si\n-       inc      r14d\n-\t\t\t\t\t\t;; size=31 bbWeight=2 PerfScore 8.00\n\u002B       jae      SHORT G_M10257_IG10\n\u002B\t\t\t\t\t\t;; size=22 bbWeight=8 PerfScore 40.00\n G_M10257_IG09:\n\u002B       cmp      r13d, 128\n\u002B       jae      G_M10257_IG15\n\u002B       mov      eax, r13d\n\u002B       mov      byte  ptr [rdi\u002Brax], sil\n\u002B       mov      eax, r13d\n\u002B       mov      word  ptr [r15\u002B2*rax], si\n\u002B       inc      r13d\n\u002B\t\t\t\t\t\t;; size=31 bbWeight=2 PerfScore 8.00\n\u002BG_M10257_IG10:\n        inc      esi\n        cmp      esi, 128\n-       jl       SHORT G_M10257_IG07\n\u002B       jl       SHORT G_M10257_IG08\n \t\t\t\t\t\t;; size=10 bbWeight=8 PerfScore 12.00\n-G_M10257_IG10:\n-       cmp      r14d, 128\n-       ja       G_M10257_IG16\n-       mov      esi, r14d\n\u002BG_M10257_IG11:\n\u002B       cmp      r13d, 128\n\u002B       ja       SHORT G_M10257_IG14\n\u002B       mov      esi, r13d\n        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SearchValues:Create(System.ReadOnlySpan\u00601[byte]):System.Buffers.SearchValues\u00601[byte]\n        call     [rax]System.Buffers.SearchValues:Create(System.ReadOnlySpan\u00601[byte]):System.Buffers.SearchValues\u00601[byte]\n        mov      rsi, rax\n        lea      rdi, bword ptr [rbx\u002B0x10]\n        call     CORINFO_HELP_ASSIGN_REF\n        mov      rdi, r15\n-       mov      esi, r14d\n\u002B       mov      esi, r13d\n        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SearchValues:Create(System.ReadOnlySpan\u00601[char]):System.Buffers.SearchValues\u00601[char]\n        call     [rax]System.Buffers.SearchValues:Create(System.ReadOnlySpan\u00601[char]):System.Buffers.SearchValues\u00601[char]\n        mov      rsi, rax\n        lea      rdi, bword ptr [rbx\u002B0x18]\n        call     CORINFO_HELP_ASSIGN_REF\n        mov      r9, 0xD1FFAB1E\n        cmp      qword ptr [rbp-0x30], r9\n-       je       SHORT G_M10257_IG11\n\u002B       je       SHORT G_M10257_IG12\n        call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=91 bbWeight=1 PerfScore 15.25\n-G_M10257_IG11:\n\u002B\t\t\t\t\t\t;; size=87 bbWeight=1 PerfScore 15.25\n\u002BG_M10257_IG12:\n        nop      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n-G_M10257_IG12:\n\u002BG_M10257_IG13:\n        lea      rsp, [rbp-0x28]\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=15 bbWeight=1 PerfScore 4.50\n-G_M10257_IG13:\n-       xor      edi, edi\n-       align    [7 bytes for IG14]\n-\t\t\t\t\t\t;; size=9 bbWeight=0.50 PerfScore 0.25\n G_M10257_IG14:\n-       movzx    rsi, word  ptr [r12\u002Brdi]\n-       mov      r13, bword ptr [rbp-0x40]\n-       mov      rdx, r13\n-       mov      eax, esi\n-       shr      eax, 5\n-       and      esi, 31\n-       lea      rdx, bword ptr [rdx\u002B4*rax]\n-       mov      eax, dword ptr [rdx]\n-       btr      eax, esi\n-       mov      dword ptr [rdx], eax\n-       add      rdi, 2\n-       dec      r14d\n-       je       G_M10257_IG06\n-\t\t\t\t\t\t;; size=44 bbWeight=3.96 PerfScore 38.61\n-G_M10257_IG15:\n-       jmp      SHORT G_M10257_IG14\n-\t\t\t\t\t\t;; size=2 bbWeight=1.98 PerfScore 3.96\n-G_M10257_IG16:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n-G_M10257_IG17:\n\u002BG_M10257_IG15:\n        call     CORINFO_HELP_RNGCHKFAIL\n        int3     \n \t\t\t\t\t\t;; size=6 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 449, prolog size 52, PerfScore 159.20, instruction count 118, allocated bytes for code 449 (MethodHash=1740d7ee) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:.ctor(System.Text.Encodings.Web.ScalarEscaperBase,byref,bool,System.ReadOnlySpan\u00601[char]):this (FullOpts)\n\u002B; Total bytes of code 429, prolog size 52, PerfScore 152.53, instruction count 118, allocated bytes for code 429 (MethodHash=1740d7ee) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:.ctor(System.Text.Encodings.Web.ScalarEscaperBase,byref,bool,System.ReadOnlySpan\u00601[char]):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":449,"DiffBytes":429},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:.ctor(bool):this (FullOpts)","Category":"regression","Description":"35 -\u003E 63 bytes (\u002B28)","ExtraInfo":null,"Diff":"@@ -1,45 \u002B1,105 @@\n ; Assembly listing for method System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:.ctor(bool):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 2 single block inlinees; 7 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 23 single block inlinees; 7 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 this         [V00,T00] (  7,  6.50)     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation\u003E\n-;  V01 arg1         [V01,T01] (  3,  3   )   ubyte  -\u003E  rsi         single-def\n\u002B;  V00 this         [V00,T02] (  3,  3   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation\u003E\n\u002B;  V01 arg1         [V01,T03] (  3,  3   )   ubyte  -\u003E  rsi         single-def\n ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V03 tmp1         [V03    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V04 tmp2         [V04    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V05 tmp3         [V05    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V06 tmp4         [V06    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V05 tmp3         [V05,T01] (  3,  6   )   byref  -\u003E  rax         single-def \u0022Inlining Arg\u0022\n\u002B;* V06 tmp4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V07 tmp5         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V08 tmp6         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V09 tmp7         [V09    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V08 tmp6         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V09 tmp7         [V09,T04] (  2,  4   )   byref  -\u003E  rax         single-def \u0022Inlining Arg\u0022\n\u002B;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V11 tmp9         [V11    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V12 tmp10        [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V13 tmp11        [V13,T05] (  2,  4   )   byref  -\u003E  rax         single-def \u0022Inlining Arg\u0022\n\u002B;* V14 tmp12        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V15 tmp13        [V15    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V17 tmp15        [V17,T06] (  2,  4   )   byref  -\u003E  rax         single-def \u0022Inlining Arg\u0022\n\u002B;* V18 tmp16        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V19 tmp17        [V19    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V21 tmp19        [V21,T07] (  2,  4   )   byref  -\u003E  rax         single-def \u0022Inlining Arg\u0022\n\u002B;* V22 tmp20        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V23 tmp21        [V23    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V24 tmp22        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V25 tmp23        [V25,T08] (  2,  4   )   byref  -\u003E  rax         single-def \u0022Inlining Arg\u0022\n\u002B;* V26 tmp24        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V27 tmp25        [V27    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V28 tmp26        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V29 tmp27        [V29,T09] (  2,  2   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n\u002B;* V30 tmp28        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V31 tmp29        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V32 tmp30        [V32    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V33 tmp31        [V33    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V34 tmp32        [V34    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V35 tmp33        [V35    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V36 tmp34        [V36    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V37 tmp35        [V37    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V38 tmp36        [V38    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V39 tmp37        [V39    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V40 tmp38        [V40    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V41 tmp39        [V41    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V42 tmp40        [V42    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V43 tmp41        [V43    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V16._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V44 tmp42        [V44    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V16._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V45 tmp43        [V45    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V46 tmp44        [V46    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V47 tmp45        [V47    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V48 tmp46        [V48    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V49 tmp47        [V49    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V50 tmp48        [V50    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V51 tmp49        [V51    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V24._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V52 tmp50        [V52    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V24._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V53 tmp51        [V53    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V54 tmp52        [V54    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V55 tmp53        [V55    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V28._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V56 tmp54        [V56    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V28._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V57 tmp55        [V57    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V30._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V58 tmp56        [V58    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V30._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V59 cse0         [V59,T00] (  8,  7.50)   byref  -\u003E  rdi         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 0\n \n G_M59945_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M59945_IG02:\n-       mov      word  ptr [rdi\u002B0x10], 0x7462\n-       mov      byte  ptr [rdi\u002B0x12], 110\n-       mov      word  ptr [rdi\u002B0x14], 0x7266\n-       mov      byte  ptr [rdi\u002B0x64], 92\n\u002B       add      rdi, 8\n\u002B       mov      rax, rdi\n\u002B       cmp      byte  ptr [rax], al\n\u002B       mov      byte  ptr [rax\u002B0x08], 98\n\u002B       mov      rax, rdi\n\u002B       mov      byte  ptr [rax\u002B0x09], 116\n\u002B       mov      rax, rdi\n\u002B       mov      byte  ptr [rax\u002B0x0A], 110\n\u002B       mov      rax, rdi\n\u002B       mov      byte  ptr [rax\u002B0x0C], 102\n\u002B       mov      rax, rdi\n\u002B       mov      byte  ptr [rax\u002B0x0D], 114\n\u002B       mov      rax, rdi\n\u002B       mov      byte  ptr [rax\u002B0x5C], 92\n        test     sil, sil\n        je       SHORT G_M59945_IG04\n-\t\t\t\t\t\t;; size=25 bbWeight=1 PerfScore 5.25\n\u002B\t\t\t\t\t\t;; size=53 bbWeight=1 PerfScore 11.00\n G_M59945_IG03:\n-       mov      byte  ptr [rdi\u002B0x2A], 34\n\u002B       mov      byte  ptr [rdi\u002B0x22], 34\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 0.50\n G_M59945_IG04:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=1 PerfScore 1.50\n \n-; Total bytes of code 35, prolog size 4, PerfScore 8.50, instruction count 11, allocated bytes for code 35 (MethodHash=ad5215d6) for method System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:.ctor(bool):this (FullOpts)\n\u002B; Total bytes of code 63, prolog size 4, PerfScore 14.25, instruction count 21, allocated bytes for code 63 (MethodHash=ad5215d6) for method System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:.ctor(bool):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":35,"DiffBytes":63},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidChar(char):this (FullOpts)","Category":"same-size","Description":"26 -\u003E 26 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,39 \u002B1,46 @@\n ; Assembly listing for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidChar(char):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  4,  4   )   byref  -\u003E  rdi         this single-def\n ;  V01 arg1         [V01,T02] (  3,  3   )  ushort  -\u003E  rsi         single-def\n-;  V02 loc0         [V02,T04] (  2,  2   )    long  -\u003E  rcx         ld-addr-op\n\u002B;  V02 loc0         [V02,T04] (  2,  2   )     int  -\u003E  rcx         ld-addr-op\n ;  V03 loc1         [V03,T05] (  2,  2   )     int  -\u003E  rax         ld-addr-op\n-;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V05 tmp1         [V05,T01] (  3,  6   )   byref  -\u003E  rcx         single-def \u0022dup spill\u0022\n-;  V06 cse0         [V06,T03] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n\u002B;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[uint]\u003E\n\u002B;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;  V06 tmp1         [V06,T01] (  3,  6   )   byref  -\u003E  rcx         single-def \u0022dup spill\u0022\n\u002B;* V07 tmp2         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V09 tmp4         [V09    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V10 tmp5         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V11 tmp6         [V11    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V12 tmp7         [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V13 cse0         [V13,T03] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 0\n \n G_M10663_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M10663_IG02:\n        movzx    rax, si\n        mov      ecx, eax\n        shr      ecx, 5\n        and      eax, 31\n        cmp      byte  ptr [rdi], dil\n        lea      rcx, bword ptr [rdi\u002B4*rcx]\n        mov      edx, dword ptr [rcx]\n        btr      edx, eax\n        mov      dword ptr [rcx], edx\n \t\t\t\t\t\t;; size=25 bbWeight=1 PerfScore 7.25\n G_M10663_IG03:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n \n ; Total bytes of code 26, prolog size 0, PerfScore 8.25, instruction count 10, allocated bytes for code 26 (MethodHash=b25ad658) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidChar(char):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":26,"DiffBytes":26},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHash128:Clone():System.IO.Hashing.XxHash128:this (FullOpts)","Category":"improvement","Description":"149 -\u003E 105 bytes (-44)","ExtraInfo":null,"Diff":"@@ -1,60 \u002B1,49 @@\n ; Assembly listing for method System.IO.Hashing.XxHash128:Clone():System.IO.Hashing.XxHash128:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T01] (  3,  3   )     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.IO.Hashing.XxHash128\u003E\n ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V02 tmp1         [V02,T00] (  4,  8   )     ref  -\u003E  r15         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.IO.Hashing.XxHash128\u003E\n-;  V03 tmp2         [V03,T02] (  2,  4   )  struct (544) [rsp\u002B0x08]  do-not-enreg[S] unsafe-buffer \u0022Inlining Arg\u0022 \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n-;  V04 tmp3         [V04,T03] (  1,  1   )     int  -\u003E  [rsp\u002B0x22C]  do-not-enreg[V] \u0022GSCookie dummy for inlinee\u0022\n-;  V05 rat0         [V05    ] (  1,  1   )    long  -\u003E  [rsp\u002B0x230]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;  V03 tmp2         [V03,T02] (  2,  4   )  struct (544) [rsp\u002B0x08]  do-not-enreg[S] \u0022Inlining Arg\u0022 \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n ;\n-; Lcl frame size = 568\n\u002B; Lcl frame size = 552\n \n G_M044_IG01:\n        push     r15\n        push     rbx\n-       sub      rsp, 568\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rsp\u002B0x230], rax\n\u002B       sub      rsp, 552\n        mov      rbx, rdi\n-\t\t\t\t\t\t;; size=31 bbWeight=1 PerfScore 3.75\n\u002B\t\t\t\t\t\t;; size=13 bbWeight=1 PerfScore 2.50\n G_M044_IG02:\n        mov      rdi, 0xD1FFAB1E      ; System.IO.Hashing.XxHash128\n        call     CORINFO_HELP_NEWSFAST\n        mov      r15, rax\n        lea      rsi, bword ptr [rbx\u002B0x10]\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMCPY\n        lea      rdi, bword ptr [rsp\u002B0x08]\n        mov      edx, 544\n        call     [rax]CORINFO_HELP_MEMCPY\n        mov      dword ptr [r15\u002B0x08], 16\n        lea      rdi, bword ptr [r15\u002B0x10]\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMCPY\n        lea      rsi, [rsp\u002B0x08]\n        mov      edx, 544\n        call     [rax]CORINFO_HELP_MEMCPY\n        mov      rax, r15\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rsp\u002B0x230], r9\n-       je       SHORT G_M044_IG03\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=106 bbWeight=1 PerfScore 15.00\n\u002B\t\t\t\t\t\t;; size=81 bbWeight=1 PerfScore 11.75\n G_M044_IG03:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n-G_M044_IG04:\n-       add      rsp, 568\n\u002B       add      rsp, 552\n        pop      rbx\n        pop      r15\n        ret      \n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 2.25\n \n-; Total bytes of code 149, prolog size 28, PerfScore 21.25, instruction count 30, allocated bytes for code 149 (MethodHash=9023ffd3) for method System.IO.Hashing.XxHash128:Clone():System.IO.Hashing.XxHash128:this (FullOpts)\n\u002B; Total bytes of code 105, prolog size 10, PerfScore 16.50, instruction count 23, allocated bytes for code 105 (MethodHash=9023ffd3) for method System.IO.Hashing.XxHash128:Clone():System.IO.Hashing.XxHash128:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":149,"DiffBytes":105},{"Assembly":"System.Net.NameResolution.dasm","Method":"System.Net.NameResolutionPal:ParseHostEntry(Interop\u002BSys\u002BHostEntry,bool,byref,byref,byref) (FullOpts)","Category":"improvement","Description":"900 -\u003E 817 bytes (-83)","ExtraInfo":null,"Diff":"@@ -1,344 \u002B1,327 @@\n ; Assembly listing for method System.Net.NameResolutionPal:ParseHostEntry(Interop\u002BSys\u002BHostEntry,bool,byref,byref,byref) (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 arg0         [V00    ] (  1,  1   )  struct (32) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def ptr \u003CInterop\u002BSys\u002BHostEntry\u003E\n\u002B;  V00 arg0         [V00    ] (  9, 12   )  struct (32) [rbp\u002B0x10]  do-not-enreg[XSF] addr-exposed ld-addr-op single-def \u003CInterop\u002BSys\u002BHostEntry\u003E\n ;  V01 arg1         [V01,T12] (  4,  4   )   ubyte  -\u003E  rbx         single-def\n ;  V02 arg2         [V02,T15] (  3,  3   )   byref  -\u003E  r15         single-def\n ;  V03 arg3         [V03,T16] (  3,  3   )   byref  -\u003E  r14         single-def\n ;  V04 arg4         [V04,T17] (  3,  3   )   byref  -\u003E  r13         single-def\n-;  V05 loc0         [V05,T11] (  5,  6   )     ref  -\u003E  [rbp-0x90]  class-hnd ptr \u003CSystem.Net.IPAddress[]\u003E\n\u002B;  V05 loc0         [V05,T11] (  5,  6   )     ref  -\u003E  [rbp-0x68]  class-hnd \u003CSystem.Net.IPAddress[]\u003E\n ;  V06 loc1         [V06,T10] (  5,  7   )     ref  -\u003E  r12         class-hnd \u003CSystem.String[]\u003E\n ;  V07 loc2         [V07,T08] (  5, 10.50)     ref  -\u003E  r12         class-hnd exact single-def \u003CInterop\u002BSys\u002BIPAddress[]\u003E\n-;  V08 loc3         [V08,T06] (  9, 14   )     int  -\u003E  [rbp-0x4C]  ptr\n-;  V09 loc4         [V09,T18] (  2,  4.50)    long  -\u003E  [rbp-0x58]  spill-single-def ptr\n-;  V10 loc5         [V10,T02] (  5, 16.50)     int  -\u003E  [rbp-0x5C]  ptr\n-;  V11 loc6         [V11,T09] (  3, 10   )  struct (24) [rbp-0x48]  do-not-enreg[S] ld-addr-op unsafe-buffer \u003CInterop\u002BSys\u002BIPAddress\u003E\n-;  V12 loc7         [V12,T00] ( 12, 20.54)     int  -\u003E  [rbp-0x60]  ptr\n\u002B;  V08 loc3         [V08,T06] (  9, 14   )     int  -\u003E  [rbp-0x2C] \n\u002B;  V09 loc4         [V09,T18] (  2,  4.50)    long  -\u003E  [rbp-0x38]  spill-single-def\n\u002B;  V10 loc5         [V10,T02] (  5, 16.50)     int  -\u003E  [rbp-0x3C] \n\u002B;  V11 loc6         [V11,T09] (  3, 10   )  struct (24) [rbp-0x58]  do-not-enreg[S] ld-addr-op \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;  V12 loc7         [V12,T00] ( 12, 20.54)     int  -\u003E  [rbp-0x5C] \n ;  V13 loc8         [V13,T07] (  6, 13.50)     int  -\u003E  rdi        \n-;* V14 loc9         [V14,T23] (  0,  0   )     int  -\u003E  zero-ref   \n-;  V15 tmp0         [V15,T22] (  1,  1   )     int  -\u003E  [rbp-0x64]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;  V16 OutArgs      [V16    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n-;* V17 tmp2         [V17    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def\n-;* V18 tmp3         [V18    ] (  0,  0   )   byref  -\u003E  zero-ref   \n-;  V19 tmp4         [V19,T20] (  3,  2   )     ref  -\u003E  rax        \n-;* V20 tmp5         [V20    ] (  0,  0   )     ref  -\u003E  zero-ref    class-hnd exact \u0022NewArr temp\u0022 \u003CInterop\u002BSys\u002BIPAddress[]\u003E\n-;  V21 tmp6         [V21,T04] (  4, 16   )     int  -\u003E  rsi         \u0022impSpillLclRefs\u0022\n-;* V22 tmp7         [V22    ] (  0,  0   )     ref  -\u003E  zero-ref    class-hnd exact \u0022NewArr temp\u0022 \u003CSystem.Net.IPAddress[]\u003E\n-;* V23 tmp8         [V23    ] (  0,  0   )     ref  -\u003E  zero-ref    class-hnd exact \u0022NewArr temp\u0022 \u003CSystem.String[]\u003E\n-;  V24 tmp9         [V24,T05] (  2, 16   )     ref  -\u003E  rax         class-hnd exact \u0022Strict ordering of exceptions for Array store\u0022 \u003CSystem.String\u003E\n-;  V25 tmp10        [V25,T21] (  2,  2   )    long  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;* V26 tmp11        [V26    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V27 tmp12        [V27,T03] (  4, 16   )     ref  -\u003E  rax         \u0022argument with side effect\u0022\n-;  V28 cse0         [V28,T14] (  4,  5.50)    long  -\u003E  rsi         \u0022CSE #04: moderate\u0022\n-;  V29 cse1         [V29,T19] (  2,  4.50)     int  -\u003E  [rbp-0x68]  spill-single-def ptr \u0022CSE #05: moderate\u0022\n-;  V30 cse2         [V30,T13] (  7,  5.54)     int  -\u003E  r15         \u0022CSE #02: moderate\u0022\n-;  V31 rat0         [V31,T01] (  6, 20.50)    long  -\u003E  rbx         \u0022Widened IV V14\u0022\n-;  V32 rat1         [V32    ] (  1,  1   )    long  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n-;  V33 rat2         [V33    ] ( 10, 13   )  struct (32) [rbp-0x88]  do-not-enreg[XSF] addr-exposed single-def ptr \u0022V00 shadow\u0022 \u003CInterop\u002BSys\u002BHostEntry\u003E\n\u002B;* V14 loc9         [V14,T22] (  0,  0   )     int  -\u003E  zero-ref   \n\u002B;  V15 OutArgs      [V15    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n\u002B;* V16 tmp1         [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def\n\u002B;* V17 tmp2         [V17    ] (  0,  0   )   byref  -\u003E  zero-ref   \n\u002B;  V18 tmp3         [V18,T20] (  3,  2   )     ref  -\u003E  rax        \n\u002B;* V19 tmp4         [V19    ] (  0,  0   )     ref  -\u003E  zero-ref    class-hnd exact \u0022NewArr temp\u0022 \u003CInterop\u002BSys\u002BIPAddress[]\u003E\n\u002B;  V20 tmp5         [V20,T04] (  4, 16   )     int  -\u003E  rsi         \u0022impSpillLclRefs\u0022\n\u002B;* V21 tmp6         [V21    ] (  0,  0   )     ref  -\u003E  zero-ref    class-hnd exact \u0022NewArr temp\u0022 \u003CSystem.Net.IPAddress[]\u003E\n\u002B;* V22 tmp7         [V22    ] (  0,  0   )     ref  -\u003E  zero-ref    class-hnd exact \u0022NewArr temp\u0022 \u003CSystem.String[]\u003E\n\u002B;  V23 tmp8         [V23,T05] (  2, 16   )     ref  -\u003E  rax         class-hnd exact \u0022Strict ordering of exceptions for Array store\u0022 \u003CSystem.String\u003E\n\u002B;  V24 tmp9         [V24,T21] (  2,  2   )    long  -\u003E  rdi         \u0022Inlining Arg\u0022\n\u002B;* V25 tmp10        [V25    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V26 tmp11        [V26,T03] (  4, 16   )     ref  -\u003E  rax         \u0022argument with side effect\u0022\n\u002B;  V27 cse0         [V27,T14] (  4,  5.50)    long  -\u003E  rsi         \u0022CSE #04: moderate\u0022\n\u002B;  V28 cse1         [V28,T19] (  2,  4.50)     int  -\u003E  [rbp-0x60]  spill-single-def \u0022CSE #05: moderate\u0022\n\u002B;  V29 cse2         [V29,T13] (  7,  5.54)     int  -\u003E  r15         \u0022CSE #02: moderate\u0022\n\u002B;  V30 rat0         [V30,T01] (  6, 20.50)    long  -\u003E  rbx         \u0022Widened IV V14\u0022\n ;\n-; Lcl frame size = 136\n\u002B; Lcl frame size = 88\n \n G_M4028_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n-       sub      rsp, 136\n-       lea      rbp, [rsp\u002B0xB0]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x30], rax\n\u002B       sub      rsp, 88\n\u002B       vzeroupper \n\u002B       lea      rbp, [rsp\u002B0x80]\n        mov      ebx, edi\n        mov      r15, rsi\n        mov      r14, rdx\n        mov      r13, rcx\n-\t\t\t\t\t\t;; size=50 bbWeight=1 PerfScore 9.00\n\u002B\t\t\t\t\t\t;; size=36 bbWeight=1 PerfScore 8.75\n G_M4028_IG02:\n-       vmovdqu  ymm0, ymmword ptr [rbp\u002B0x10]\n-       vmovdqu  ymmword ptr [rbp-0x88], ymm0\n-\t\t\t\t\t\t;; size=13 bbWeight=1 PerfScore 3.00\n-G_M4028_IG03:\n        test     bl, bl\n-       jne      SHORT G_M4028_IG05\n\u002B       jne      SHORT G_M4028_IG04\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n-G_M4028_IG04:\n-       cmp      qword ptr [rbp-0x88], 0\n-       je       SHORT G_M4028_IG05\n-       mov      rdi, qword ptr [rbp-0x88]\n\u002BG_M4028_IG03:\n\u002B       cmp      qword ptr [rbp\u002B0x10], 0\n\u002B       je       SHORT G_M4028_IG04\n\u002B       mov      rdi, qword ptr [rbp\u002B0x10]\n        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.Marshal:PtrToStringUTF8(nint):System.String\n        call     [rax]System.Runtime.InteropServices.Marshal:PtrToStringUTF8(nint):System.String\n-       jmp      SHORT G_M4028_IG06\n-\t\t\t\t\t\t;; size=31 bbWeight=0.50 PerfScore 4.12\n-G_M4028_IG05:\n\u002B       jmp      SHORT G_M4028_IG05\n\u002B\t\t\t\t\t\t;; size=25 bbWeight=0.50 PerfScore 4.12\n\u002BG_M4028_IG04:\n        xor      rax, rax\n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n-G_M4028_IG06:\n\u002BG_M4028_IG05:\n        mov      rdi, r15\n        mov      rsi, rax\n        call     CORINFO_HELP_CHECKED_ASSIGN_REF\n-       mov      r15d, dword ptr [rbp-0x70]\n\u002B       mov      r15d, dword ptr [rbp\u002B0x28]\n        test     r15d, r15d\n-       je       G_M4028_IG26\n\u002B       je       G_M4028_IG25\n \t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 3.75\n-G_M4028_IG07:\n\u002BG_M4028_IG06:\n        movsxd   rsi, r15d\n        mov      rdi, 0xD1FFAB1E      ; Interop\u002BSys\u002BIPAddress[]\n        call     CORINFO_HELP_NEWARR_1_VC\n        mov      r12, rax\n        xor      eax, eax\n-       mov      rcx, qword ptr [rbp-0x78]\n-       mov      qword ptr [rbp-0x58], rcx\n\u002B       mov      rcx, qword ptr [rbp\u002B0x20]\n\u002B       mov      qword ptr [rbp-0x38], rcx\n        xor      r8d, r8d\n        test     r15d, r15d\n-       jg       G_M4028_IG19\n\u002B       jg       G_M4028_IG18\n \t\t\t\t\t\t;; size=43 bbWeight=0.50 PerfScore 2.75\n\u002BG_M4028_IG07:\n\u002B       mov      dword ptr [rbp-0x2C], eax\n\u002B       jmp      G_M4028_IG21\n\u002B       align    [8 bytes for IG13]\n\u002B\t\t\t\t\t\t;; size=16 bbWeight=0.25 PerfScore 0.75\n G_M4028_IG08:\n-       mov      dword ptr [rbp-0x4C], eax\n-       jmp      G_M4028_IG22\n-       align    [1 bytes for IG14]\n-\t\t\t\t\t\t;; size=9 bbWeight=0.25 PerfScore 0.75\n-G_M4028_IG09:\n-       mov      dword ptr [rbp-0x4C], edx\n\u002B       mov      dword ptr [rbp-0x2C], edx\n        cmp      r15d, edx\n-       jl       G_M4028_IG24\n\u002B       jl       G_M4028_IG23\n \t\t\t\t\t\t;; size=12 bbWeight=0.50 PerfScore 1.12\n-G_M4028_IG10:\n-       mov      dword ptr [rbp-0x60], ecx\n\u002BG_M4028_IG09:\n\u002B       mov      dword ptr [rbp-0x5C], ecx\n        mov      edi, ecx\n        lea      rdi, [rdi\u002B2*rdi]\n        shl      rdi, 3\n        add      rdi, 16\n        add      rdi, r12\n        vmovdqu  xmm0, xmmword ptr [rdi]\n        vmovdqu  xmmword ptr [rsp], xmm0\n        mov      rsi, qword ptr [rdi\u002B0x10]\n        mov      qword ptr [rsp\u002B0x10], rsi\n        mov      rdi, 0xD1FFAB1E      ; code for System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress\n        call     [rdi]System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress\n        mov      rdx, rax\n-       mov      r15d, dword ptr [rbp-0x60]\n\u002B       mov      r15d, dword ptr [rbp-0x5C]\n        mov      esi, r15d\n-       mov      rdi, gword ptr [rbp-0x90]\n\u002B       mov      rdi, gword ptr [rbp-0x68]\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST\n        call     [rax]CORINFO_HELP_ARRADDR_ST\n        inc      r15d\n-       cmp      r15d, dword ptr [rbp-0x4C]\n\u002B       cmp      r15d, dword ptr [rbp-0x2C]\n        mov      ecx, r15d\n-       jl       SHORT G_M4028_IG10\n-\t\t\t\t\t\t;; size=91 bbWeight=3.96 PerfScore 80.19\n\u002B       jl       SHORT G_M4028_IG09\n\u002B\t\t\t\t\t\t;; size=88 bbWeight=3.96 PerfScore 80.19\n\u002BG_M4028_IG10:\n\u002B       mov      r15, gword ptr [rbp-0x68]\n\u002B\t\t\t\t\t\t;; size=4 bbWeight=1.98 PerfScore 1.98\n G_M4028_IG11:\n-       mov      r15, gword ptr [rbp-0x90]\n-\t\t\t\t\t\t;; size=7 bbWeight=1.98 PerfScore 1.98\n-G_M4028_IG12:\n        mov      rsi, 0xD1FFAB1E      ; const ptr\n        mov      r12, gword ptr [rsi]\n        test     bl, bl\n-       jne      SHORT G_M4028_IG17\n\u002B       jne      SHORT G_M4028_IG16\n \t\t\t\t\t\t;; size=17 bbWeight=1 PerfScore 3.50\n-G_M4028_IG13:\n-       mov      rsi, qword ptr [rbp-0x80]\n\u002BG_M4028_IG12:\n\u002B       mov      rsi, qword ptr [rbp\u002B0x18]\n        test     rsi, rsi\n-       je       SHORT G_M4028_IG17\n\u002B       je       SHORT G_M4028_IG16\n        xor      edi, edi\n        cmp      qword ptr [rsi], 0\n-       je       SHORT G_M4028_IG17\n\u002B       je       SHORT G_M4028_IG16\n \t\t\t\t\t\t;; size=17 bbWeight=0.50 PerfScore 2.75\n-G_M4028_IG14:\n\u002BG_M4028_IG13:\n        inc      edi\n        movsxd   rax, edi\n        cmp      qword ptr [rsi\u002B8*rax], 0\n-       jne      SHORT G_M4028_IG14\n\u002B       jne      SHORT G_M4028_IG13\n \t\t\t\t\t\t;; size=12 bbWeight=4 PerfScore 14.00\n-G_M4028_IG15:\n\u002BG_M4028_IG14:\n        test     edi, edi\n-       jle      SHORT G_M4028_IG17\n\u002B       jle      SHORT G_M4028_IG16\n        movsxd   rsi, edi\n        mov      rdi, 0xD1FFAB1E      ; System.String[]\n        call     CORINFO_HELP_NEWARR_1_PTR\n        mov      r12, rax\n        xor      ebx, ebx\n        mov      eax, dword ptr [r12\u002B0x08]\n-       mov      dword ptr [rbp-0x68], eax\n\u002B       mov      dword ptr [rbp-0x60], eax\n \t\t\t\t\t\t;; size=35 bbWeight=0.50 PerfScore 3.12\n-G_M4028_IG16:\n-       mov      rdi, qword ptr [rbp-0x80]\n\u002BG_M4028_IG15:\n\u002B       mov      rdi, qword ptr [rbp\u002B0x18]\n        movsxd   rcx, ebx\n        mov      rdi, qword ptr [rdi\u002B8*rcx]\n        mov      rcx, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.Marshal:PtrToStringUTF8(nint):System.String\n        call     [rcx]System.Runtime.InteropServices.Marshal:PtrToStringUTF8(nint):System.String\n        lea      rdi, bword ptr [r12\u002B8*rbx\u002B0x10]\n        mov      rsi, rax\n        call     CORINFO_HELP_ASSIGN_REF\n        inc      ebx\n-       mov      edi, dword ptr [rbp-0x68]\n\u002B       mov      edi, dword ptr [rbp-0x60]\n        cmp      edi, ebx\n-       jg       SHORT G_M4028_IG16\n\u002B       jg       SHORT G_M4028_IG15\n \t\t\t\t\t\t;; size=45 bbWeight=4 PerfScore 45.00\n-G_M4028_IG17:\n\u002BG_M4028_IG16:\n        mov      rdi, r14\n        mov      rsi, r12\n        call     CORINFO_HELP_CHECKED_ASSIGN_REF\n        mov      rdi, r13\n        mov      rsi, r15\n        call     CORINFO_HELP_CHECKED_ASSIGN_REF\n-       jmp      G_M4028_IG30\n\u002B       jmp      G_M4028_IG29\n \t\t\t\t\t\t;; size=27 bbWeight=1 PerfScore 5.00\n-G_M4028_IG18:\n-       mov      eax, dword ptr [rbp-0x4C]\n\u002BG_M4028_IG17:\n\u002B       mov      eax, dword ptr [rbp-0x2C]\n \t\t\t\t\t\t;; size=3 bbWeight=2 PerfScore 2.00\n-G_M4028_IG19:\n-       mov      dword ptr [rbp-0x5C], r8d\n\u002BG_M4028_IG18:\n\u002B       mov      dword ptr [rbp-0x3C], r8d\n        movsxd   rdi, r8d\n        lea      rdi, [rdi\u002B2*rdi]\n        vmovdqu  xmm0, xmmword ptr [rcx\u002B8*rdi]\n-       vmovdqu  xmmword ptr [rbp-0x48], xmm0\n\u002B       vmovdqu  xmmword ptr [rbp-0x58], xmm0\n        mov      rdx, qword ptr [rcx\u002B8*rdi\u002B0x10]\n-       mov      qword ptr [rbp-0x38], rdx\n-       vmovdqu  xmm0, xmmword ptr [rbp-0x48]\n\u002B       mov      qword ptr [rbp-0x48], rdx\n\u002B       vmovdqu  xmm0, xmmword ptr [rbp-0x58]\n        vmovdqu  xmmword ptr [rsp], xmm0\n-       mov      rdi, qword ptr [rbp-0x38]\n\u002B       mov      rdi, qword ptr [rbp-0x48]\n        mov      qword ptr [rsp\u002B0x10], rdi\n        mov      rdi, r12\n-       mov      dword ptr [rbp-0x4C], eax\n\u002B       mov      dword ptr [rbp-0x2C], eax\n        mov      edx, eax\n        xor      esi, esi\n        mov      r9, 0xD1FFAB1E      ; code for System.Array:IndexOf[Interop\u002BSys\u002BIPAddress](Interop\u002BSys\u002BIPAddress[],Interop\u002BSys\u002BIPAddress,int,int):int\n        call     [r9]System.Array:IndexOf[Interop\u002BSys\u002BIPAddress](Interop\u002BSys\u002BIPAddress[],Interop\u002BSys\u002BIPAddress,int,int):int\n        test     eax, eax\n-       jge      SHORT G_M4028_IG21\n\u002B       jge      SHORT G_M4028_IG20\n \t\t\t\t\t\t;; size=76 bbWeight=4 PerfScore 72.00\n-G_M4028_IG20:\n-       mov      esi, dword ptr [rbp-0x4C]\n\u002BG_M4028_IG19:\n\u002B       mov      esi, dword ptr [rbp-0x2C]\n        lea      edi, [rsi\u002B0x01]\n        mov      eax, edi\n        cmp      esi, r15d\n-       jae      G_M4028_IG29\n\u002B       jae      G_M4028_IG28\n        lea      rsi, [rsi\u002B2*rsi]\n-       vmovdqu  xmm0, xmmword ptr [rbp-0x48]\n\u002B       vmovdqu  xmm0, xmmword ptr [rbp-0x58]\n        vmovdqu  xmmword ptr [r12\u002B8*rsi\u002B0x10], xmm0\n-       mov      rdi, qword ptr [rbp-0x38]\n\u002B       mov      rdi, qword ptr [rbp-0x48]\n        mov      qword ptr [r12\u002B8*rsi\u002B0x20], rdi\n-       mov      dword ptr [rbp-0x4C], eax\n\u002B       mov      dword ptr [rbp-0x2C], eax\n \t\t\t\t\t\t;; size=45 bbWeight=2 PerfScore 17.00\n-G_M4028_IG21:\n-       mov      r8d, dword ptr [rbp-0x5C]\n\u002BG_M4028_IG20:\n\u002B       mov      r8d, dword ptr [rbp-0x3C]\n        inc      r8d\n-       cmp      r8d, dword ptr [rbp-0x70]\n-       mov      rcx, qword ptr [rbp-0x58]\n-       jl       G_M4028_IG18\n\u002B       cmp      r8d, dword ptr [rbp\u002B0x28]\n\u002B       mov      rcx, qword ptr [rbp-0x38]\n\u002B       jl       G_M4028_IG17\n \t\t\t\t\t\t;; size=21 bbWeight=4 PerfScore 17.00\n-G_M4028_IG22:\n-       movsxd   rsi, dword ptr [rbp-0x4C]\n\u002BG_M4028_IG21:\n\u002B       movsxd   rsi, dword ptr [rbp-0x2C]\n        mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress[]\n        call     CORINFO_HELP_NEWARR_1_PTR\n-       mov      gword ptr [rbp-0x90], rax\n\u002B       mov      gword ptr [rbp-0x68], rax\n        xor      ecx, ecx\n-       mov      edx, dword ptr [rbp-0x4C]\n\u002B       mov      edx, dword ptr [rbp-0x2C]\n        test     edx, edx\n-       jg       G_M4028_IG09\n-\t\t\t\t\t\t;; size=39 bbWeight=0.50 PerfScore 2.88\n\u002B       jg       G_M4028_IG08\n\u002B\t\t\t\t\t\t;; size=36 bbWeight=0.50 PerfScore 2.88\n\u002BG_M4028_IG22:\n\u002B       mov      r15, gword ptr [rbp-0x68]\n\u002B       jmp      G_M4028_IG11\n\u002B\t\t\t\t\t\t;; size=9 bbWeight=0.25 PerfScore 0.75\n G_M4028_IG23:\n-       mov      r15, gword ptr [rbp-0x90]\n-       jmp      G_M4028_IG12\n-\t\t\t\t\t\t;; size=12 bbWeight=0.25 PerfScore 0.75\n-G_M4028_IG24:\n        cmp      ecx, r15d\n-       jae      G_M4028_IG29\n-       mov      dword ptr [rbp-0x60], ecx\n\u002B       jae      G_M4028_IG28\n\u002B       mov      dword ptr [rbp-0x5C], ecx\n        mov      edi, ecx\n        lea      rdi, [rdi\u002B2*rdi]\n        shl      rdi, 3\n        add      rdi, 16\n        add      rdi, r12\n        vmovdqu  xmm0, xmmword ptr [rdi]\n        vmovdqu  xmmword ptr [rsp], xmm0\n        mov      rsi, qword ptr [rdi\u002B0x10]\n        mov      qword ptr [rsp\u002B0x10], rsi\n        mov      rdi, 0xD1FFAB1E      ; code for System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress\n        call     [rdi]System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress\n        mov      rdx, rax\n-       mov      esi, dword ptr [rbp-0x60]\n-       mov      rdi, gword ptr [rbp-0x90]\n\u002B       mov      esi, dword ptr [rbp-0x5C]\n\u002B       mov      rdi, gword ptr [rbp-0x68]\n        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST\n        call     [rcx]CORINFO_HELP_ARRADDR_ST\n-       mov      edi, dword ptr [rbp-0x60]\n\u002B       mov      edi, dword ptr [rbp-0x5C]\n        inc      edi\n-       mov      edx, dword ptr [rbp-0x4C]\n\u002B       mov      edx, dword ptr [rbp-0x2C]\n        cmp      edi, edx\n-       mov      dword ptr [rbp-0x4C], edx\n\u002B       mov      dword ptr [rbp-0x2C], edx\n        mov      ecx, edi\n-       jl       SHORT G_M4028_IG24\n-\t\t\t\t\t\t;; size=101 bbWeight=0.04 PerfScore 0.94\n\u002B       jl       SHORT G_M4028_IG23\n\u002B\t\t\t\t\t\t;; size=98 bbWeight=0.04 PerfScore 0.94\n\u002BG_M4028_IG24:\n\u002B       mov      r15, gword ptr [rbp-0x68]\n\u002B       jmp      G_M4028_IG11\n\u002B\t\t\t\t\t\t;; size=9 bbWeight=0.02 PerfScore 0.06\n G_M4028_IG25:\n-       mov      r15, gword ptr [rbp-0x90]\n-       jmp      G_M4028_IG12\n-\t\t\t\t\t\t;; size=12 bbWeight=0.02 PerfScore 0.06\n-G_M4028_IG26:\n        mov      rdi, 0xD1FFAB1E      ; global ptr\n        test     byte  ptr [rdi], 1\n-       je       SHORT G_M4028_IG28\n\u002B       je       SHORT G_M4028_IG27\n \t\t\t\t\t\t;; size=15 bbWeight=0.50 PerfScore 1.62\n-G_M4028_IG27:\n\u002BG_M4028_IG26:\n        mov      rsi, 0xD1FFAB1E      ; data for System.Array\u002BEmptyArray\u00601[System.Net.IPAddress]:Value\n        mov      rdi, gword ptr [rsi]\n        mov      r15, rdi\n-       jmp      G_M4028_IG12\n\u002B       jmp      G_M4028_IG11\n \t\t\t\t\t\t;; size=21 bbWeight=0.50 PerfScore 2.25\n-G_M4028_IG28:\n\u002BG_M4028_IG27:\n        mov      rdi, 0xD1FFAB1E      ; System.Array\u002BEmptyArray\u00601[System.Net.IPAddress]\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE\n        call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE\n-       jmp      SHORT G_M4028_IG27\n\u002B       jmp      SHORT G_M4028_IG26\n \t\t\t\t\t\t;; size=24 bbWeight=0 PerfScore 0.00\n-G_M4028_IG29:\n\u002BG_M4028_IG28:\n        call     CORINFO_HELP_RNGCHKFAIL\n        int3     \n \t\t\t\t\t\t;; size=6 bbWeight=0 PerfScore 0.00\n-G_M4028_IG30:\n-       lea      rdi, [rbp-0x88]\n-       vzeroupper \n\u002BG_M4028_IG29:\n\u002B       lea      rdi, [rbp\u002B0x10]\n        call     Interop\u002BSys:FreeHostEntry(ptr)\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x30], r9\n-       je       SHORT G_M4028_IG31\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=36 bbWeight=1 PerfScore 5.75\n-G_M4028_IG31:\n        nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n-G_M4028_IG32:\n-       vzeroupper \n-       add      rsp, 136\n\u002B\t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 1.75\n\u002BG_M4028_IG30:\n\u002B       add      rsp, 88\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n-\t\t\t\t\t\t;; size=21 bbWeight=1 PerfScore 5.25\n-G_M4028_IG33:\n\u002B\t\t\t\t\t\t;; size=15 bbWeight=1 PerfScore 4.25\n\u002BG_M4028_IG31:\n        sub      rsp, 24\n-\t\t\t\t\t\t;; size=4 bbWeight=0 PerfScore 0.00\n-G_M4028_IG34:\n-       lea      rdi, [rbp-0x88]\n        vzeroupper \n\u002B\t\t\t\t\t\t;; size=7 bbWeight=0 PerfScore 0.00\n\u002BG_M4028_IG32:\n\u002B       lea      rdi, [rbp\u002B0x10]\n        call     Interop\u002BSys:FreeHostEntry(ptr)\n        nop      \n-\t\t\t\t\t\t;; size=16 bbWeight=0 PerfScore 0.00\n-G_M4028_IG35:\n-       vzeroupper \n\u002B\t\t\t\t\t\t;; size=10 bbWeight=0 PerfScore 0.00\n\u002BG_M4028_IG33:\n        add      rsp, 24\n        ret      \n-\t\t\t\t\t\t;; size=8 bbWeight=0 PerfScore 0.00\n\u002B\t\t\t\t\t\t;; size=5 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 900, prolog size 50, PerfScore 309.17, instruction count 224, allocated bytes for code 900 (MethodHash=2544f043) for method System.Net.NameResolutionPal:ParseHostEntry(Interop\u002BSys\u002BHostEntry,bool,byref,byref,byref) (FullOpts)\n\u002B; Total bytes of code 817, prolog size 36, PerfScore 300.67, instruction count 214, allocated bytes for code 817 (MethodHash=2544f043) for method System.Net.NameResolutionPal:ParseHostEntry(Interop\u002BSys\u002BHostEntry,bool,byref,byref,byref) (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":900,"DiffBytes":817},{"Assembly":"System.Net.Sockets.dasm","Method":"Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)","Category":"improvement","Description":"136 -\u003E 79 bytes (-57)","ExtraInfo":null,"Diff":"@@ -1,75 \u002B1,58 @@\n ; Assembly listing for method Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T01] (  3,  2.50)   byref  -\u003E  rdi         this single-def\n ;  V01 arg1         [V01,T00] (  5,  3.75)     ref  -\u003E  rsi         class-hnd single-def \u003CSystem.Object\u003E\n-;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] unsafe-buffer \u003CInterop\u002BSys\u002BIPAddress\u003E\n-;  V03 tmp0         [V03,T02] (  1,  1   )     int  -\u003E  [rbp-0x0C]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;  V04 OutArgs      [V04    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n-;* V05 tmp2         [V05    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022spilling qmarkNull\u0022\n-;  V06 cse0         [V06,T03] (  2,  0.50)    long  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n-;  V07 rat0         [V07    ] (  1,  1   )    long  -\u003E  [rbp-0x08]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;  V03 OutArgs      [V03    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n\u002B;* V04 tmp1         [V04    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022spilling qmarkNull\u0022\n\u002B;  V05 cse0         [V05,T02] (  2,  0.50)    long  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n ;\n-; Lcl frame size = 48\n\u002B; Lcl frame size = 32\n \n G_M43781_IG01:\n        push     rbp\n-       sub      rsp, 48\n-       lea      rbp, [rsp\u002B0x30]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x08], rax\n-\t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 3.00\n\u002B       sub      rsp, 32\n\u002B       lea      rbp, [rsp\u002B0x20]\n\u002B\t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 1.75\n G_M43781_IG02:\n        test     rsi, rsi\n-       je       SHORT G_M43781_IG07\n\u002B       je       SHORT G_M43781_IG06\n \t\t\t\t\t\t;; size=5 bbWeight=1 PerfScore 1.25\n G_M43781_IG03:\n        mov      rax, 0xD1FFAB1E      ; Interop\u002BSys\u002BIPAddress\n        cmp      qword ptr [rsi], rax\n-       jne      SHORT G_M43781_IG07\n\u002B       jne      SHORT G_M43781_IG06\n \t\t\t\t\t\t;; size=15 bbWeight=0.25 PerfScore 0.81\n G_M43781_IG04:\n        add      rsi, 8\n        vmovdqu  xmm0, xmmword ptr [rsi]\n        vmovdqu  xmmword ptr [rsp], xmm0\n        mov      rax, qword ptr [rsi\u002B0x10]\n        mov      qword ptr [rsp\u002B0x10], rax\n        mov      rax, 0xD1FFAB1E      ; code for Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this\n        call     [rax]Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x08], r9\n-       je       SHORT G_M43781_IG05\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=55 bbWeight=0.50 PerfScore 6.38\n-G_M43781_IG05:\n        nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M43781_IG06:\n-       add      rsp, 48\n\u002B\t\t\t\t\t\t;; size=35 bbWeight=0.50 PerfScore 4.88\n\u002BG_M43781_IG05:\n\u002B       add      rsp, 32\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 0.88\n-G_M43781_IG07:\n\u002BG_M43781_IG06:\n        xor      eax, eax\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x08], r9\n-       je       SHORT G_M43781_IG08\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=23 bbWeight=0.50 PerfScore 1.75\n-G_M43781_IG08:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M43781_IG09:\n-       add      rsp, 48\n\u002B\t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n\u002BG_M43781_IG07:\n\u002B       add      rsp, 32\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 0.88\n \n-; Total bytes of code 136, prolog size 24, PerfScore 15.19, instruction count 34, allocated bytes for code 136 (MethodHash=806f54fa) for method Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n\u002B; Total bytes of code 79, prolog size 10, PerfScore 10.56, instruction count 23, allocated bytes for code 79 (MethodHash=806f54fa) for method Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":136,"DiffBytes":79},{"Assembly":"System.Private.CoreLib.dasm","Method":"System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation\u002BTaskContinuationResume:.cctor() (FullOpts)","Category":"same-size","Description":"167 -\u003E 167 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,73 \u002B1,73 @@\n ; Assembly listing for method System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation\u002BTaskContinuationResume:.cctor() (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;* V00 loc0         [V00    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Runtime.CompilerServices.ResumeInfo\u003E\n ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V02 tmp1         [V02,T00] (  4,  8   )     ref  -\u003E  rbx         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.Threading.SendOrPostCallback\u003E\n ;  V03 tmp2         [V03,T01] (  3,  6   )     ref  -\u003E  rsi         class-hnd exact single-def \u0022Inlining Arg\u0022 \u003CSystem.Runtime.CompilerServices.RuntimeAsyncTaskContinuation\u002BTaskContinuationResume\u002B\u003C\u003Ec\u003E\n ;* V04 tmp3         [V04    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022field V00.Resume (fldOffset=0x0)\u0022 P-INDEP\n ;* V05 tmp4         [V05    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022field V00.DiagnosticIP (fldOffset=0x8)\u0022 P-INDEP\n ;  V06 cse0         [V06,T02] (  2,  2   )    long  -\u003E  rdi         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 8\n \n G_M63124_IG01:\n        push     rbp\n        push     rbx\n        push     rax\n        lea      rbp, [rsp\u002B0x10]\n \t\t\t\t\t\t;; size=8 bbWeight=1 PerfScore 3.50\n G_M63124_IG02:\n        mov      rdi, 0xD1FFAB1E      ; data for System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation\u002BTaskContinuationResume:ResumeInfo\n        vmovsd   xmm0, qword ptr [reloc @RWD00]\n        vmovups  xmmword ptr [rdi], xmm0\n        mov      rdi, 0xD1FFAB1E      ; System.Threading.SendOrPostCallback\n        call     CORINFO_HELP_NEWSFAST\n        mov      rbx, rax\n        mov      rdi, 0xD1FFAB1E      ; global ptr\n        test     byte  ptr [rdi], 1\n        je       SHORT G_M63124_IG05\n \t\t\t\t\t\t;; size=55 bbWeight=1 PerfScore 8.00\n G_M63124_IG03:\n        mov      rdi, 0xD1FFAB1E      ; data for System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation\u002BTaskContinuationResume\u002B\u003C\u003Ec:\u003C\u003E9\n        mov      rsi, gword ptr [rdi]\n        test     rsi, rsi\n        je       SHORT G_M63124_IG06\n        lea      rdi, bword ptr [rbx\u002B0x10]\n        call     CORINFO_HELP_ASSIGN_REF\n        mov      rdi, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation\u002BTaskContinuationResume\u002B\u003C\u003Ec:\u003C.cctor\u003Eb__3_0(System.Object):this\n        mov      qword ptr [rbx\u002B0x18], rdi\n        mov      rdi, 0xD1FFAB1E      ; data for System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation\u002BTaskContinuationResume:s_postCallback\n        mov      rsi, rbx\n        call     CORINFO_HELP_ASSIGN_REF\n        nop      \n \t\t\t\t\t\t;; size=60 bbWeight=1 PerfScore 8.00\n G_M63124_IG04:\n        add      rsp, 8\n        pop      rbx\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=7 bbWeight=1 PerfScore 2.25\n G_M63124_IG05:\n        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation\u002BTaskContinuationResume\u002B\u003C\u003Ec\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE\n        call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE\n        jmp      SHORT G_M63124_IG03\n \t\t\t\t\t\t;; size=24 bbWeight=0 PerfScore 0.00\n G_M63124_IG06:\n        mov      rax, 0xD1FFAB1E      ; code for System.Delegate:ThrowNullThisInDelegateToInstance()\n        call     [rax]System.Delegate:ThrowNullThisInDelegateToInstance()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n-RWD00  \tdq\t0000776A1F711CE0h\n\u002BRWD00  \tdq\t0000774FA6D11CE0h\n \n \n ; Total bytes of code 167, prolog size 8, PerfScore 21.75, instruction count 36, allocated bytes for code 167 (MethodHash=4e05096b) for method System.Runtime.CompilerServices.RuntimeAsyncTaskContinuation\u002BTaskContinuationResume:.cctor() (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":167,"DiffBytes":167},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:_GetIndexAndOffset(uint,byref,byref) (FullOpts)","Category":"improvement","Description":"14 -\u003E 13 bytes (-1)","ExtraInfo":null,"Diff":"@@ -1,31 \u002B1,31 @@\n ; Assembly listing for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:_GetIndexAndOffset(uint,byref,byref) (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n ; Final local variable assignments\n ;\n ;  V00 arg0         [V00,T00] (  4,  4   )     int  -\u003E  rdi         single-def\n ;  V01 arg1         [V01,T01] (  3,  3   )   byref  -\u003E  rsi         single-def\n ;  V02 arg2         [V02,T02] (  3,  3   )   byref  -\u003E  rdx         single-def\n ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;\n ; Lcl frame size = 0\n \n G_M58552_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M58552_IG02:\n        mov      eax, edi\n        shr      eax, 5\n-       mov      qword ptr [rsi], rax\n\u002B       mov      dword ptr [rsi], eax\n        and      edi, 31\n        mov      dword ptr [rdx], edi\n-\t\t\t\t\t\t;; size=13 bbWeight=1 PerfScore 3.00\n\u002B\t\t\t\t\t\t;; size=12 bbWeight=1 PerfScore 3.00\n G_M58552_IG03:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n \n-; Total bytes of code 14, prolog size 0, PerfScore 4.00, instruction count 6, allocated bytes for code 14 (MethodHash=d2731b47) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:_GetIndexAndOffset(uint,byref,byref) (FullOpts)\n\u002B; Total bytes of code 13, prolog size 0, PerfScore 4.00, instruction count 6, allocated bytes for code 13 (MethodHash=d2731b47) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:_GetIndexAndOffset(uint,byref,byref) (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":14,"DiffBytes":13},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.OptimizedInboxTextEncoder:TryEncodeUnicodeScalar(int,ptr,int,byref):bool:this (FullOpts)","Category":"regression","Description":"156 -\u003E 164 bytes (\u002B8)","ExtraInfo":null,"Diff":"@@ -1,105 \u002B1,114 @@\n ; Assembly listing for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:TryEncodeUnicodeScalar(int,ptr,int,byref):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 5 single block inlinees; 3 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 8 single block inlinees; 3 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T01] (  5,  4.50)     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n ;  V01 arg1         [V01,T00] (  8,  5.50)     int  -\u003E  rsi         single-def\n ;  V02 arg2         [V02,T04] (  3,  3   )    long  -\u003E  rdx         single-def\n ;  V03 arg3         [V03,T02] (  5,  4   )     int  -\u003E  rcx         single-def\n ;  V04 arg4         [V04,T03] (  5,  3.50)   byref  -\u003E  rbx         single-def\n ;* V05 loc0         [V05    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u003CSystem.Span\u00601[char]\u003E\n ;  V06 loc1         [V06,T08] (  3,  1.50)     int  -\u003E  rax        \n ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V08 tmp1         [V08    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Text.Rune\u003E\n ;  V09 tmp2         [V09,T05] (  3,  3   )     ref  -\u003E  rdi         class-hnd single-def \u0022impAppendStmt\u0022 \u003CSystem.Text.Encodings.Web.ScalarEscaperBase\u003E\n ;* V10 tmp3         [V10    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;* V11 tmp4         [V11    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V12 tmp5         [V12    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V11 tmp4         [V11,T09] (  2,  1   )     int  -\u003E   r8         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V12 tmp5         [V12,T10] (  2,  1   )     int  -\u003E   r9         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V13 tmp6         [V13,T06] (  2,  3   )   byref  -\u003E  rax         single-def \u0022Inlining Arg\u0022\n-;  V14 tmp7         [V14,T07] (  3,  2   )   byref  -\u003E  rdx         single-def \u0022field V05._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V15 tmp8         [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V16 tmp9         [V16    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V15 tmp8         [V15    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;  V17 tmp10        [V17,T07] (  3,  2   )   byref  -\u003E  rdx         single-def \u0022field V05._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V18 tmp11        [V18    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V19 tmp12        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V20 tmp13        [V20    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V21 tmp14        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V22 tmp15        [V22    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V16._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V23 tmp16        [V23    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V16._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 8\n \n G_M12143_IG01:\n        push     rbp\n        push     rbx\n        push     rax\n        lea      rbp, [rsp\u002B0x10]\n        mov      rbx, r8\n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 3.75\n G_M12143_IG02:\n        test     ecx, ecx\n        jl       SHORT G_M12143_IG10\n        cmp      byte  ptr [rdi], dil\n        lea      rax, bword ptr [rdi\u002B0x0420]\n        cmp      esi, 0xFFFF\n        ja       SHORT G_M12143_IG04\n \t\t\t\t\t\t;; size=22 bbWeight=1 PerfScore 5.00\n G_M12143_IG03:\n        mov      r8d, esi\n        shr      r8d, 5\n\u002B       mov      r9d, esi\n\u002B       and      r9d, 31\n        mov      eax, dword ptr [rax\u002B4*r8]\n-       bt       eax, esi\n\u002B       bt       eax, r9d\n        jae      SHORT G_M12143_IG04\n        test     ecx, ecx\n        je       SHORT G_M12143_IG05\n        mov      word  ptr [rdx], si\n        mov      dword ptr [rbx], 1\n        jmp      SHORT G_M12143_IG08\n-\t\t\t\t\t\t;; size=31 bbWeight=0.50 PerfScore 4.75\n\u002B\t\t\t\t\t\t;; size=39 bbWeight=0.50 PerfScore 5.00\n G_M12143_IG04:\n        mov      rdi, gword ptr [rdi\u002B0x08]\n        lea      eax, [rsi\u002BD1FFAB1EH]\n        xor      eax, 0xD800\n        cmp      eax, 0xD1FFAB1E\n        jb       SHORT G_M12143_IG11\n        mov      rax, qword ptr [rdi]\n        mov      rax, qword ptr [rax\u002B0x40]\n        call     [rax\u002B0x20]System.Text.Encodings.Web.ScalarEscaperBase:EncodeUtf16(System.Text.Rune,System.Span\u00601[char]):int:this\n        test     eax, eax\n        jge      SHORT G_M12143_IG07\n \t\t\t\t\t\t;; size=36 bbWeight=0.50 PerfScore 6.12\n G_M12143_IG05:\n        xor      eax, eax\n        mov      dword ptr [rbx], eax\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 0.62\n G_M12143_IG06:\n        add      rsp, 8\n        pop      rbx\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=7 bbWeight=0.50 PerfScore 1.12\n G_M12143_IG07:\n        mov      dword ptr [rbx], eax\n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.50\n G_M12143_IG08:\n        mov      eax, 1\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 0.12\n G_M12143_IG09:\n        add      rsp, 8\n        pop      rbx\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=7 bbWeight=0.50 PerfScore 1.12\n G_M12143_IG10:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n G_M12143_IG11:\n        mov      edi, 7\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 156, prolog size 8, PerfScore 23.12, instruction count 50, allocated bytes for code 156 (MethodHash=9655d090) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:TryEncodeUnicodeScalar(int,ptr,int,byref):bool:this (FullOpts)\n\u002B; Total bytes of code 164, prolog size 8, PerfScore 23.38, instruction count 52, allocated bytes for code 164 (MethodHash=9655d090) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:TryEncodeUnicodeScalar(int,ptr,int,byref):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":156,"DiffBytes":164},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidHtmlCharacters():this (FullOpts)","Category":"same-size","Description":"53 -\u003E 53 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,57 \u002B1,99 @@\n ; Assembly listing for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidHtmlCharacters():this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 12 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 30 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T01] (  4,  4   )   byref  -\u003E  rdi         this single-def\n ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V02 tmp1         [V02    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V02 tmp1         [V02    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;* V03 tmp2         [V03    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V04 tmp3         [V04,T02] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n-;* V05 tmp4         [V05    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V06 tmp5         [V06    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V07 tmp6         [V07,T03] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n-;* V08 tmp7         [V08    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V04 tmp3         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V05 tmp4         [V05,T02] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n\u002B;* V06 tmp5         [V06    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V07 tmp6         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V08 tmp7         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;* V09 tmp8         [V09    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V10 tmp9         [V10,T04] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n-;* V11 tmp10        [V11    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V12 tmp11        [V12    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V13 tmp12        [V13,T05] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n-;* V14 tmp13        [V14    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V10 tmp9         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V11 tmp10        [V11,T03] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n\u002B;* V12 tmp11        [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V13 tmp12        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V14 tmp13        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;* V15 tmp14        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V16 tmp15        [V16,T06] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n-;* V17 tmp16        [V17    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V18 tmp17        [V18    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V19 tmp18        [V19,T07] (  3,  6   )   byref  -\u003E  rdi         single-def \u0022dup spill\u0022\n-;  V20 cse0         [V20,T00] (  7,  7   )   byref  -\u003E  rdi         \u0022CSE #01: aggressive\u0022\n\u002B;* V16 tmp15        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V17 tmp16        [V17,T04] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n\u002B;* V18 tmp17        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V19 tmp18        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V20 tmp19        [V20    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V21 tmp20        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V22 tmp21        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V23 tmp22        [V23,T05] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n\u002B;* V24 tmp23        [V24    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V25 tmp24        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V26 tmp25        [V26    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V27 tmp26        [V27    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V28 tmp27        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V29 tmp28        [V29,T06] (  3,  6   )   byref  -\u003E  rax         single-def \u0022dup spill\u0022\n\u002B;* V30 tmp29        [V30    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V31 tmp30        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V32 tmp31        [V32    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V33 tmp32        [V33    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V34 tmp33        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V35 tmp34        [V35,T07] (  3,  6   )   byref  -\u003E  rdi         single-def \u0022dup spill\u0022\n\u002B;* V36 tmp35        [V36    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V37 tmp36        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V38 tmp37        [V38    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V39 tmp38        [V39    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V40 tmp39        [V40    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V41 tmp40        [V41    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V42 tmp41        [V42    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V43 tmp42        [V43    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V44 tmp43        [V44    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V45 tmp44        [V45    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V46 tmp45        [V46    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V16._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V47 tmp46        [V47    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V16._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V48 tmp47        [V48    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V49 tmp48        [V49    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V50 tmp49        [V50    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V51 tmp50        [V51    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V52 tmp51        [V52    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V25._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V53 tmp52        [V53    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V25._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V54 tmp53        [V54    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V28._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V55 tmp54        [V55    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V28._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V56 tmp55        [V56    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V31._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V57 tmp56        [V57    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V31._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V58 tmp57        [V58    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V34._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V59 tmp58        [V59    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V34._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V60 tmp59        [V60    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V37._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V61 tmp60        [V61    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V37._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V62 cse0         [V62,T00] (  7,  7   )   byref  -\u003E  rdi         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 0\n \n G_M60592_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M60592_IG02:\n        cmp      byte  ptr [rdi], dil\n        add      rdi, 4\n        mov      rax, rdi\n        and      dword ptr [rax], 0xD1FFAB1E\n        mov      rax, rdi\n        and      dword ptr [rax], 0xD1FFAB1E\n        mov      rax, rdi\n        and      dword ptr [rax], -65\n        mov      rax, rdi\n        and      dword ptr [rax], -129\n        mov      rax, rdi\n        and      dword ptr [rax], -5\n        and      dword ptr [rdi], -0x801\n \t\t\t\t\t\t;; size=52 bbWeight=1 PerfScore 21.50\n G_M60592_IG03:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n \n ; Total bytes of code 53, prolog size 0, PerfScore 22.50, instruction count 14, allocated bytes for code 53 (MethodHash=3890134f) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:ForbidHtmlCharacters():this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":53,"DiffBytes":53},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHash3:Clone():System.IO.Hashing.XxHash3:this (FullOpts)","Category":"improvement","Description":"149 -\u003E 105 bytes (-44)","ExtraInfo":null,"Diff":"@@ -1,60 \u002B1,49 @@\n ; Assembly listing for method System.IO.Hashing.XxHash3:Clone():System.IO.Hashing.XxHash3:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T01] (  3,  3   )     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.IO.Hashing.XxHash3\u003E\n ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V02 tmp1         [V02,T00] (  4,  8   )     ref  -\u003E  r15         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.IO.Hashing.XxHash3\u003E\n-;  V03 tmp2         [V03,T02] (  2,  4   )  struct (544) [rsp\u002B0x08]  do-not-enreg[S] unsafe-buffer \u0022Inlining Arg\u0022 \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n-;  V04 tmp3         [V04,T03] (  1,  1   )     int  -\u003E  [rsp\u002B0x22C]  do-not-enreg[V] \u0022GSCookie dummy for inlinee\u0022\n-;  V05 rat0         [V05    ] (  1,  1   )    long  -\u003E  [rsp\u002B0x230]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;  V03 tmp2         [V03,T02] (  2,  4   )  struct (544) [rsp\u002B0x08]  do-not-enreg[S] \u0022Inlining Arg\u0022 \u003CSystem.IO.Hashing.XxHashShared\u002BState\u003E\n ;\n-; Lcl frame size = 568\n\u002B; Lcl frame size = 552\n \n G_M51116_IG01:\n        push     r15\n        push     rbx\n-       sub      rsp, 568\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rsp\u002B0x230], rax\n\u002B       sub      rsp, 552\n        mov      rbx, rdi\n-\t\t\t\t\t\t;; size=31 bbWeight=1 PerfScore 3.75\n\u002B\t\t\t\t\t\t;; size=13 bbWeight=1 PerfScore 2.50\n G_M51116_IG02:\n        mov      rdi, 0xD1FFAB1E      ; System.IO.Hashing.XxHash3\n        call     CORINFO_HELP_NEWSFAST\n        mov      r15, rax\n        lea      rsi, bword ptr [rbx\u002B0x10]\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMCPY\n        lea      rdi, bword ptr [rsp\u002B0x08]\n        mov      edx, 544\n        call     [rax]CORINFO_HELP_MEMCPY\n        mov      dword ptr [r15\u002B0x08], 8\n        lea      rdi, bword ptr [r15\u002B0x10]\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMCPY\n        lea      rsi, [rsp\u002B0x08]\n        mov      edx, 544\n        call     [rax]CORINFO_HELP_MEMCPY\n        mov      rax, r15\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rsp\u002B0x230], r9\n-       je       SHORT G_M51116_IG03\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=106 bbWeight=1 PerfScore 15.00\n\u002B\t\t\t\t\t\t;; size=81 bbWeight=1 PerfScore 11.75\n G_M51116_IG03:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n-G_M51116_IG04:\n-       add      rsp, 568\n\u002B       add      rsp, 552\n        pop      rbx\n        pop      r15\n        ret      \n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 2.25\n \n-; Total bytes of code 149, prolog size 28, PerfScore 21.25, instruction count 30, allocated bytes for code 149 (MethodHash=ca3a3853) for method System.IO.Hashing.XxHash3:Clone():System.IO.Hashing.XxHash3:this (FullOpts)\n\u002B; Total bytes of code 105, prolog size 10, PerfScore 16.50, instruction count 23, allocated bytes for code 105 (MethodHash=ca3a3853) for method System.IO.Hashing.XxHash3:Clone():System.IO.Hashing.XxHash3:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":149,"DiffBytes":105},{"Assembly":"System.Net.NameResolution.dasm","Method":"Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)","Category":"improvement","Description":"136 -\u003E 79 bytes (-57)","ExtraInfo":null,"Diff":"@@ -1,75 \u002B1,58 @@\n ; Assembly listing for method Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T01] (  3,  2.50)   byref  -\u003E  rdi         this single-def\n ;  V01 arg1         [V01,T00] (  5,  3.75)     ref  -\u003E  rsi         class-hnd single-def \u003CSystem.Object\u003E\n-;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] unsafe-buffer \u003CInterop\u002BSys\u002BIPAddress\u003E\n-;  V03 tmp0         [V03,T02] (  1,  1   )     int  -\u003E  [rbp-0x0C]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;  V04 OutArgs      [V04    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n-;* V05 tmp2         [V05    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022spilling qmarkNull\u0022\n-;  V06 cse0         [V06,T03] (  2,  0.50)    long  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n-;  V07 rat0         [V07    ] (  1,  1   )    long  -\u003E  [rbp-0x08]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;  V03 OutArgs      [V03    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n\u002B;* V04 tmp1         [V04    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022spilling qmarkNull\u0022\n\u002B;  V05 cse0         [V05,T02] (  2,  0.50)    long  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n ;\n-; Lcl frame size = 48\n\u002B; Lcl frame size = 32\n \n G_M43781_IG01:\n        push     rbp\n-       sub      rsp, 48\n-       lea      rbp, [rsp\u002B0x30]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x08], rax\n-\t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 3.00\n\u002B       sub      rsp, 32\n\u002B       lea      rbp, [rsp\u002B0x20]\n\u002B\t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 1.75\n G_M43781_IG02:\n        test     rsi, rsi\n-       je       SHORT G_M43781_IG07\n\u002B       je       SHORT G_M43781_IG06\n \t\t\t\t\t\t;; size=5 bbWeight=1 PerfScore 1.25\n G_M43781_IG03:\n        mov      rax, 0xD1FFAB1E      ; Interop\u002BSys\u002BIPAddress\n        cmp      qword ptr [rsi], rax\n-       jne      SHORT G_M43781_IG07\n\u002B       jne      SHORT G_M43781_IG06\n \t\t\t\t\t\t;; size=15 bbWeight=0.25 PerfScore 0.81\n G_M43781_IG04:\n        add      rsi, 8\n        vmovdqu  xmm0, xmmword ptr [rsi]\n        vmovdqu  xmmword ptr [rsp], xmm0\n        mov      rax, qword ptr [rsi\u002B0x10]\n        mov      qword ptr [rsp\u002B0x10], rax\n        mov      rax, 0xD1FFAB1E      ; code for Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this\n        call     [rax]Interop\u002BSys\u002BIPAddress:Equals(Interop\u002BSys\u002BIPAddress):bool:this\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x08], r9\n-       je       SHORT G_M43781_IG05\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=55 bbWeight=0.50 PerfScore 6.38\n-G_M43781_IG05:\n        nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M43781_IG06:\n-       add      rsp, 48\n\u002B\t\t\t\t\t\t;; size=35 bbWeight=0.50 PerfScore 4.88\n\u002BG_M43781_IG05:\n\u002B       add      rsp, 32\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 0.88\n-G_M43781_IG07:\n\u002BG_M43781_IG06:\n        xor      eax, eax\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x08], r9\n-       je       SHORT G_M43781_IG08\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=23 bbWeight=0.50 PerfScore 1.75\n-G_M43781_IG08:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M43781_IG09:\n-       add      rsp, 48\n\u002B\t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n\u002BG_M43781_IG07:\n\u002B       add      rsp, 32\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 0.88\n \n-; Total bytes of code 136, prolog size 24, PerfScore 15.19, instruction count 34, allocated bytes for code 136 (MethodHash=806f54fa) for method Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n\u002B; Total bytes of code 79, prolog size 10, PerfScore 10.56, instruction count 23, allocated bytes for code 79 (MethodHash=806f54fa) for method Interop\u002BSys\u002BIPAddress:Equals(System.Object):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":136,"DiffBytes":79},{"Assembly":"System.Net.Sockets.dasm","Method":"System.Net.Sockets.SocketPal:GetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,byref):int (FullOpts)","Category":"improvement","Description":"235 -\u003E 178 bytes (-57)","ExtraInfo":null,"Diff":"@@ -1,105 \u002B1,88 @@\n ; Assembly listing for method System.Net.Sockets.SocketPal:GetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,byref):int (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 arg0         [V00,T01] (  3,  3   )     ref  -\u003E  rdi         class-hnd single-def \u003CSystem.Net.Sockets.SafeSocketHandle\u003E\n ;  V01 arg1         [V01,T02] (  3,  3   )     int  -\u003E  rsi         single-def\n ;  V02 arg2         [V02,T00] (  4,  3   )   byref  -\u003E  rbx         single-def\n ;* V03 loc0         [V03    ] (  0,  0   )     int  -\u003E  zero-ref   \n-;  V04 loc1         [V04    ] (  4,  3   )  struct (32) [rbp-0x38]  do-not-enreg[XSF] addr-exposed ld-addr-op unsafe-buffer \u003CInterop\u002BSys\u002BIPv6MulticastOption\u003E\n\u002B;  V04 loc1         [V04    ] (  4,  3   )  struct (32) [rbp-0x30]  do-not-enreg[XSF] addr-exposed ld-addr-op \u003CInterop\u002BSys\u002BIPv6MulticastOption\u003E\n ;  V05 loc2         [V05,T04] (  3,  2.50)     int  -\u003E  rax        \n-;  V06 tmp0         [V06,T07] (  1,  1   )     int  -\u003E  [rbp-0x3C]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;  V07 OutArgs      [V07    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n-;  V08 tmp2         [V08,T06] (  2,  2   )     int  -\u003E  rsi        \n-;  V09 tmp3         [V09,T03] (  3,  3   )     ref  -\u003E  r15         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.Net.Sockets.IPv6MulticastOption\u003E\n-;  V10 tmp4         [V10,T05] (  2,  2   )     ref  -\u003E  rsi         single-def \u0022argument with side effect\u0022\n-;  V11 rat0         [V11    ] (  1,  1   )    long  -\u003E  [rbp-0x18]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;  V06 OutArgs      [V06    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n\u002B;  V07 tmp1         [V07,T06] (  2,  2   )     int  -\u003E  rsi        \n\u002B;  V08 tmp2         [V08,T03] (  3,  3   )     ref  -\u003E  r15         class-hnd exact single-def \u0022NewObj constructor temp\u0022 \u003CSystem.Net.Sockets.IPv6MulticastOption\u003E\n\u002B;  V09 tmp3         [V09,T05] (  2,  2   )     ref  -\u003E  rsi         single-def \u0022argument with side effect\u0022\n ;\n-; Lcl frame size = 80\n\u002B; Lcl frame size = 64\n \n G_M28791_IG01:\n        push     rbp\n        push     r15\n        push     rbx\n-       sub      rsp, 80\n-       lea      rbp, [rsp\u002B0x60]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x18], rax\n\u002B       sub      rsp, 64\n\u002B       lea      rbp, [rsp\u002B0x50]\n        mov      rbx, rdx\n-\t\t\t\t\t\t;; size=30 bbWeight=1 PerfScore 5.25\n\u002B\t\t\t\t\t\t;; size=16 bbWeight=1 PerfScore 4.00\n G_M28791_IG02:\n        cmp      esi, 12\n        setne    sil\n        movzx    rsi, sil\n        vxorps   xmm0, xmm0, xmm0\n-       vmovdqu  ymmword ptr [rbp-0x38], ymm0\n-       lea      rdx, [rbp-0x38]\n\u002B       vmovdqu  ymmword ptr [rbp-0x30], ymm0\n\u002B       lea      rdx, [rbp-0x30]\n        mov      rax, 0xD1FFAB1E      ; code for Interop\u002BSys:GetIPv6MulticastOption(System.Runtime.InteropServices.SafeHandle,int,ptr):int\n        call     [rax]Interop\u002BSys:GetIPv6MulticastOption(System.Runtime.InteropServices.SafeHandle,int,ptr):int\n        test     eax, eax\n-       jne      SHORT G_M28791_IG06\n\u002B       jne      SHORT G_M28791_IG05\n \t\t\t\t\t\t;; size=40 bbWeight=1 PerfScore 7.33\n G_M28791_IG03:\n        mov      rdi, 0xD1FFAB1E      ; System.Net.Sockets.IPv6MulticastOption\n        call     CORINFO_HELP_NEWSFAST\n        mov      r15, rax\n-       vmovdqu  xmm0, xmmword ptr [rbp-0x38]\n\u002B       vmovdqu  xmm0, xmmword ptr [rbp-0x30]\n        vmovdqu  xmmword ptr [rsp], xmm0\n-       mov      rax, qword ptr [rbp-0x28]\n\u002B       mov      rax, qword ptr [rbp-0x20]\n        mov      qword ptr [rsp\u002B0x10], rax\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress\n        call     [rax]System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress\n        mov      rsi, rax\n-       movsxd   rdx, dword ptr [rbp-0x20]\n\u002B       movsxd   rdx, dword ptr [rbp-0x18]\n        mov      rdi, r15\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.IPv6MulticastOption:.ctor(System.Net.IPAddress,long):this\n        call     [rax]System.Net.Sockets.IPv6MulticastOption:.ctor(System.Net.IPAddress,long):this\n        mov      rdi, rbx\n        mov      rsi, r15\n        call     CORINFO_HELP_CHECKED_ASSIGN_REF\n        xor      eax, eax\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x18], r9\n-       je       SHORT G_M28791_IG04\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=105 bbWeight=0.50 PerfScore 9.25\n\u002B\t\t\t\t\t\t;; size=84 bbWeight=0.50 PerfScore 7.62\n G_M28791_IG04:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M28791_IG05:\n-       add      rsp, 80\n\u002B       add      rsp, 64\n        pop      rbx\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=9 bbWeight=0.50 PerfScore 1.38\n-G_M28791_IG06:\n\u002BG_M28791_IG05:\n        xor      rdi, rdi\n        mov      gword ptr [rbx], rdi\n        mov      edi, eax\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.SocketErrorPal:GetSocketErrorForNativeError(int):int\n        call     [rax]System.Net.Sockets.SocketErrorPal:GetSocketErrorForNativeError(int):int\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x18], r9\n-       je       SHORT G_M28791_IG07\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=40 bbWeight=0.50 PerfScore 4.00\n-G_M28791_IG07:\n        nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.12\n-G_M28791_IG08:\n-       add      rsp, 80\n\u002B\t\t\t\t\t\t;; size=20 bbWeight=0.50 PerfScore 2.50\n\u002BG_M28791_IG06:\n\u002B       add      rsp, 64\n        pop      rbx\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=9 bbWeight=0.50 PerfScore 1.38\n \n-; Total bytes of code 235, prolog size 27, PerfScore 28.83, instruction count 61, allocated bytes for code 235 (MethodHash=60808f88) for method System.Net.Sockets.SocketPal:GetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,byref):int (FullOpts)\n\u002B; Total bytes of code 178, prolog size 13, PerfScore 24.21, instruction count 50, allocated bytes for code 178 (MethodHash=60808f88) for method System.Net.Sockets.SocketPal:GetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,byref):int (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":235,"DiffBytes":178},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.OptimizedInboxTextEncoder:Encode(System.ReadOnlySpan\u00601[char],System.Span\u00601[char],byref,byref,bool):int:this (FullOpts)","Category":"regression","Description":"558 -\u003E 565 bytes (\u002B7)","ExtraInfo":null,"Diff":"@@ -1,310 \u002B1,319 @@\n ; Assembly listing for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:Encode(System.ReadOnlySpan\u00601[char],System.Span\u00601[char],byref,byref,bool):int:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 28 single block inlinees; 7 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 31 single block inlinees; 7 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T10] (  6, 11   )     ref  -\u003E  r14         this class-hnd single-def \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def \u003CSystem.ReadOnlySpan\u00601[char]\u003E\n ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def \u003CSystem.Span\u00601[char]\u003E\n ;  V03 arg3         [V03,T26] (  3,  3   )   byref  -\u003E  [rbp-0x40]  single-def\n-;  V04 arg4         [V04,T31] (  1,  1   )   byref  -\u003E  [rbp\u002B0x10]  single-def\n-;  V05 arg5         [V05,T30] (  1,  2   )   ubyte  -\u003E  [rbp\u002B0x18]  single-def\n\u002B;  V04 arg4         [V04,T33] (  1,  1   )   byref  -\u003E  [rbp\u002B0x10]  single-def\n\u002B;  V05 arg5         [V05,T32] (  1,  2   )   ubyte  -\u003E  [rbp\u002B0x18]  single-def\n ;  V06 loc0         [V06,T06] ( 11, 28   )     int  -\u003E  [rbp-0x2C] \n ;  V07 loc1         [V07,T05] ( 18, 34   )     int  -\u003E  [rbp-0x30] \n-;  V08 loc2         [V08,T29] (  4,  2.50)     int  -\u003E  rdi        \n\u002B;  V08 loc2         [V08,T31] (  4,  2.50)     int  -\u003E  rdi        \n ;  V09 loc3         [V09,T09] (  5, 14   )  ushort  -\u003E  rdi        \n ;  V10 loc4         [V10,T01] (  9, 74   )    long  -\u003E  rdi         ld-addr-op\n ;  V11 loc5         [V11,T03] (  6, 54   )     int  -\u003E  registers  \n ;* V12 loc6         [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u003CSystem.Text.Rune\u003E\n ;  V13 loc7         [V13,T22] (  3,  6   )     int  -\u003E  rax        \n ;  V14 loc8         [V14,T23] (  3,  6   )     int  -\u003E  rsi        \n ;  V15 loc9         [V15,T24] (  3,  6   )     int  -\u003E  rdi         ld-addr-op\n ;# V16 OutArgs      [V16    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V17 tmp1         [V17,T12] (  3, 12   )     ref  -\u003E  rdi         class-hnd \u0022impAppendStmt\u0022 \u003CSystem.Text.Encodings.Web.ScalarEscaperBase\u003E\n ;* V18 tmp2         [V18    ] (  0,  0   )  struct ( 8) zero-ref    \u0022impAppendStmt\u0022 \u003CSystem.Text.Rune\u003E\n ;* V19 tmp3         [V19    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;* V20 tmp4         [V20    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;  V21 tmp5         [V21,T00] (  4,128   )     int  -\u003E  rsi         \u0022impSpillLclRefs\u0022\n ;  V22 tmp6         [V22,T02] (  2, 64   )    long  -\u003E  rdi         \u0022dup spill\u0022\n ;* V23 tmp7         [V23    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;  V24 tmp8         [V24,T14] (  2, 12   )   byref  -\u003E   r9         \u0022Inlining Arg\u0022\n ;* V25 tmp9         [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[ulong]\u003E\n ;* V26 tmp10        [V26    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V27 tmp11        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[ulong]\u003E\n ;* V28 tmp12        [V28    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;  V29 tmp13        [V29,T27] (  2,  4   )     int  -\u003E  rsi         \u0022Inline stloc first use temp\u0022\n ;* V30 tmp14        [V30    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Text.Rune\u003E\n ;* V31 tmp15        [V31    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;  V32 tmp16        [V32,T25] (  3,  6   )     int  -\u003E  rdi         \u0022Inline stloc first use temp\u0022\n ;  V33 tmp17        [V33,T13] (  3, 12   )  ushort  -\u003E  rsi         \u0022Inlining Arg\u0022\n ;* V34 tmp18        [V34    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n ;* V35 tmp19        [V35    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V36 tmp20        [V36    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Text.Rune\u003E\n ;* V37 tmp21        [V37    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V38 tmp22        [V38    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Text.Rune\u003E\n ;* V39 tmp23        [V39    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n ;  V40 tmp24        [V40,T17] (  2,  8   )   byref  -\u003E  rdi         \u0022impAppendStmt\u0022\n ;* V41 tmp25        [V41    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V42 tmp26        [V42    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V43 tmp27        [V43    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V44 tmp28        [V44    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V45 tmp29        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n-;  V46 tmp30        [V46,T18] (  2,  8   )   byref  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;  V47 tmp31        [V47,T20] (  2,  8   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n-;* V48 tmp32        [V48    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;* V49 tmp33        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[char]\u003E\n-;* V50 tmp34        [V50    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n-;* V51 tmp35        [V51    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V52 tmp36        [V52    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V53 tmp37        [V53    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V54 tmp38        [V54    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V55 tmp39        [V55    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n-;  V56 tmp40        [V56,T19] (  2,  8   )   byref  -\u003E  rsi         \u0022Inlining Arg\u0022\n-;  V57 tmp41        [V57,T21] (  2,  8   )     int  -\u003E  r10         \u0022Inlining Arg\u0022\n-;* V58 tmp42        [V58    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V59 tmp43        [V59,T15] (  3,  7   )   byref  -\u003E  r12         single-def \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V60 tmp44        [V60,T11] (  3, 11   )     int  -\u003E  r13         single-def \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V61 tmp45        [V61,T07] (  5, 23   )   byref  -\u003E  r15         single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V62 tmp46        [V62,T04] (  9, 45   )     int  -\u003E  rbx         single-def \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V63 tmp47        [V63,T08] (  9, 18   )     int  -\u003E  [rbp-0x34]  \u0022field V12._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V64 tmp48        [V64    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V65 tmp49        [V65    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V66 tmp50        [V66    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V67 tmp51        [V67    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V68 tmp52        [V68    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V69 tmp53        [V69    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V25._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V70 tmp54        [V70    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V25._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V71 tmp55        [V71    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V27._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V72 tmp56        [V72    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V27._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V73 tmp57        [V73    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V30._value (fldOffset=0x0)\u0022 P-INDEP\n-;  V74 tmp58        [V74,T28] (  2,  4   )     int  -\u003E   r9         \u0022field V36._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V75 tmp59        [V75    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V38._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V76 tmp60        [V76    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V39._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V77 tmp61        [V77    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V45._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V78 tmp62        [V78    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V45._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V79 tmp63        [V79    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V49._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V80 tmp64        [V80    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V49._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V81 tmp65        [V81    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V50._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V82 tmp66        [V82    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V55._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V83 tmp67        [V83    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V55._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V84 cse0         [V84,T16] (  4,  8   )     int  -\u003E  rdi         \u0022CSE #03: moderate\u0022\n\u002B;  V43 tmp27        [V43,T28] (  2,  4   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V44 tmp28        [V44,T29] (  2,  4   )     int  -\u003E  r10         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V45 tmp29        [V45    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V46 tmp30        [V46    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V47 tmp31        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V48 tmp32        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n\u002B;  V49 tmp33        [V49,T18] (  2,  8   )   byref  -\u003E  rdi         \u0022Inlining Arg\u0022\n\u002B;  V50 tmp34        [V50,T20] (  2,  8   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;* V51 tmp35        [V51    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;* V52 tmp36        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[char]\u003E\n\u002B;* V53 tmp37        [V53    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n\u002B;* V54 tmp38        [V54    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V55 tmp39        [V55    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V56 tmp40        [V56    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V57 tmp41        [V57    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V58 tmp42        [V58    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n\u002B;  V59 tmp43        [V59,T19] (  2,  8   )   byref  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;  V60 tmp44        [V60,T21] (  2,  8   )     int  -\u003E  r10         \u0022Inlining Arg\u0022\n\u002B;* V61 tmp45        [V61    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V62 tmp46        [V62,T15] (  3,  7   )   byref  -\u003E  r12         single-def \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V63 tmp47        [V63,T11] (  3, 11   )     int  -\u003E  r13         single-def \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V64 tmp48        [V64,T07] (  5, 23   )   byref  -\u003E  r15         single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V65 tmp49        [V65,T04] (  9, 45   )     int  -\u003E  rbx         single-def \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V66 tmp50        [V66,T08] (  9, 18   )     int  -\u003E  [rbp-0x34]  \u0022field V12._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V67 tmp51        [V67    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V68 tmp52        [V68    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V69 tmp53        [V69    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V70 tmp54        [V70    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V71 tmp55        [V71    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V72 tmp56        [V72    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V25._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V73 tmp57        [V73    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V25._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V74 tmp58        [V74    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V27._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V75 tmp59        [V75    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V27._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V76 tmp60        [V76    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V30._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V77 tmp61        [V77,T30] (  2,  4   )     int  -\u003E   r9         \u0022field V36._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V78 tmp62        [V78    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V38._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V79 tmp63        [V79    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V39._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V80 tmp64        [V80    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V45._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V81 tmp65        [V81    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V45._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V82 tmp66        [V82    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V47._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V83 tmp67        [V83    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V47._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V84 tmp68        [V84    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V48._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V85 tmp69        [V85    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V48._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V86 tmp70        [V86    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V52._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V87 tmp71        [V87    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V52._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V88 tmp72        [V88    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V53._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V89 tmp73        [V89    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V58._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V90 tmp74        [V90    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V58._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V91 cse0         [V91,T16] (  4,  8   )     int  -\u003E  rdi         \u0022CSE #03: moderate\u0022\n ;\n ; Lcl frame size = 24\n \n G_M47588_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n        sub      rsp, 24\n        lea      rbp, [rsp\u002B0x40]\n        mov      bword ptr [rbp-0x40], r9\n        mov      r14, rdi\n        mov      r12, rsi\n        mov      r13d, edx\n        mov      r15, rcx\n        mov      ebx, r8d\n        mov      r8d, dword ptr [rbp\u002B0x18]\n \t\t\t\t\t\t;; size=42 bbWeight=1 PerfScore 10.00\n G_M47588_IG02:\n        cmp      byte  ptr [r14], r14b\n        xor      edx, edx\n        xor      ecx, ecx\n        jmp      G_M47588_IG09\n \t\t\t\t\t\t;; size=12 bbWeight=1 PerfScore 4.50\n G_M47588_IG03:\n        cmp      edi, 0x3FF\n        movzx    r8, byte  ptr [rbp\u002B0x18]\n        ja       G_M47588_IG13\n \t\t\t\t\t\t;; size=17 bbWeight=2 PerfScore 4.50\n G_M47588_IG04:\n        mov      edi, 2\n        jmp      G_M47588_IG18\n        align    [0 bytes for IG16]\n \t\t\t\t\t\t;; size=10 bbWeight=0.50 PerfScore 1.12\n G_M47588_IG05:\n        mov      ecx, dword ptr [rbp-0x30]\n        mov      edx, dword ptr [rbp-0x2C]\n        jmp      G_M47588_IG17\n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 4.00\n G_M47588_IG06:\n        mov      esi, esi\n        movzx    rsi, word  ptr [r12\u002B2*rsi]\n        lea      r9d, [rsi-0xDC00]\n        or       r9d, edi\n        cmp      r9d, 0x3FF\n        ja       G_M47588_IG13\n        shl      edi, 10\n        lea      r9d, [rdi\u002Brsi\u002B0x2400]\n        jmp      SHORT G_M47588_IG08\n \t\t\t\t\t\t;; size=43 bbWeight=2 PerfScore 15.50\n G_M47588_IG07:\n        mov      r9d, esi\n \t\t\t\t\t\t;; size=3 bbWeight=2 PerfScore 0.50\n G_M47588_IG08:\n        lea      rdi, bword ptr [r14\u002B0x0420]\n        cmp      r9d, 0xFFFF\n        ja       G_M47588_IG14\n        mov      esi, r9d\n        shr      esi, 5\n\u002B       mov      r10d, r9d\n\u002B       and      r10d, 31\n        mov      edi, dword ptr [rdi\u002B4*rsi]\n-       bt       edi, r9d\n\u002B       bt       edi, r10d\n        jae      G_M47588_IG14\n        cmp      ecx, ebx\n        ja       G_M47588_IG24\n        mov      edi, ecx\n        lea      rdi, bword ptr [r15\u002B2*rdi]\n        mov      esi, ebx\n        sub      esi, ecx\n        je       G_M47588_IG17\n        mov      word  ptr [rdi], r9w\n        mov      edi, 1\n        add      ecx, edi\n        add      edx, edi\n        mov      dword ptr [rbp-0x2C], edx\n        mov      edx, dword ptr [rbp-0x2C]\n-\t\t\t\t\t\t;; size=82 bbWeight=2 PerfScore 26.50\n\u002B\t\t\t\t\t\t;; size=89 bbWeight=2 PerfScore 27.50\n G_M47588_IG09:\n        cmp      r13d, edx\n        jbe      G_M47588_IG23\n \t\t\t\t\t\t;; size=9 bbWeight=8 PerfScore 10.00\n G_M47588_IG10:\n        mov      edi, edx\n        movzx    rdi, word  ptr [r12\u002B2*rdi]\n        lea      r9, bword ptr [r14\u002B0x20]\n        cmp      edi, 127\n        jle      G_M47588_IG15\n \t\t\t\t\t\t;; size=20 bbWeight=4 PerfScore 16.00\n G_M47588_IG11:\n        mov      esi, edi\n        add      edi, -0xD800\n        cmp      edi, 0x7FF\n        ja       G_M47588_IG07\n        lea      esi, [rdx\u002B0x01]\n        cmp      r13d, esi\n        ja       G_M47588_IG06\n        mov      dword ptr [rbp\u002B0x18], r8d\n        test     r8b, r8b\n        je       G_M47588_IG03\n \t\t\t\t\t\t;; size=45 bbWeight=2 PerfScore 11.50\n G_M47588_IG12:\n        movzx    r8, byte  ptr [rbp\u002B0x18]\n \t\t\t\t\t\t;; size=5 bbWeight=1 PerfScore 1.00\n G_M47588_IG13:\n        mov      r9d, 0xFFFD\n \t\t\t\t\t\t;; size=6 bbWeight=2 PerfScore 0.50\n G_M47588_IG14:\n        mov      rdi, gword ptr [r14\u002B0x08]\n        cmp      ecx, ebx\n        mov      dword ptr [rbp-0x2C], edx\n        mov      dword ptr [rbp\u002B0x18], r8d\n        ja       G_M47588_IG24\n        mov      esi, ecx\n        lea      rsi, bword ptr [r15\u002B2*rsi]\n        mov      dword ptr [rbp-0x30], ecx\n        mov      r10d, ebx\n        sub      r10d, ecx\n        mov      rdx, rsi\n        mov      ecx, r10d\n        mov      dword ptr [rbp-0x34], r9d\n        mov      esi, r9d\n        mov      r10, qword ptr [rdi]\n        mov      r10, qword ptr [r10\u002B0x40]\n        call     [r10\u002B0x20]System.Text.Encodings.Web.ScalarEscaperBase:EncodeUtf16(System.Text.Rune,System.Span\u00601[char]):int:this\n        test     eax, eax\n        jl       G_M47588_IG05\n        mov      ecx, dword ptr [rbp-0x30]\n        add      ecx, eax\n        mov      r9d, dword ptr [rbp-0x34]\n        add      r9d, 0xD1FFAB1E\n        shr      r9d, 24\n        mov      edx, r9d\n        add      edx, dword ptr [rbp-0x2C]\n        mov      eax, edx\n        mov      edx, eax\n        movzx    r8, byte  ptr [rbp\u002B0x18]\n        jmp      G_M47588_IG09\n \t\t\t\t\t\t;; size=106 bbWeight=2 PerfScore 50.50\n G_M47588_IG15:\n        mov      edi, edi\n        mov      rdi, qword ptr [r9\u002B8*rdi]\n        cmp      ebx, ecx\n        jbe      SHORT G_M47588_IG17\n        mov      esi, ecx\n        movzx    r9, dil\n        mov      word  ptr [r15\u002B2*rsi], r9w\n        test     edi, 0xFF00\n        je       SHORT G_M47588_IG21\n        shr      rdi, 8\n        lea      esi, [rcx\u002B0x01]\n        cmp      ebx, esi\n        jbe      SHORT G_M47588_IG17\n \t\t\t\t\t\t;; size=40 bbWeight=2 PerfScore 17.00\n G_M47588_IG16:\n        lea      r9d, [rsi\u002B0x01]\n        cmp      esi, ebx\n        jae      SHORT G_M47588_IG25\n        mov      esi, esi\n        movzx    r10, dil\n        mov      word  ptr [r15\u002B2*rsi], r10w\n        shr      rdi, 8\n        test     dil, dil\n        je       SHORT G_M47588_IG20\n        cmp      ebx, r9d\n        mov      esi, r9d\n        ja       SHORT G_M47588_IG16\n \t\t\t\t\t\t;; size=36 bbWeight=16 PerfScore 104.00\n G_M47588_IG17:\n        mov      edi, 1\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 0.12\n G_M47588_IG18:\n        mov      rax, bword ptr [rbp-0x40]\n        mov      dword ptr [rax], edx\n        mov      rbx, bword ptr [rbp\u002B0x10]\n        mov      dword ptr [rbx], ecx\n        mov      eax, edi\n \t\t\t\t\t\t;; size=14 bbWeight=1 PerfScore 4.25\n G_M47588_IG19:\n        add      rsp, 24\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=15 bbWeight=1 PerfScore 4.25\n G_M47588_IG20:\n        mov      ecx, r9d\n        jmp      SHORT G_M47588_IG22\n \t\t\t\t\t\t;; size=5 bbWeight=2 PerfScore 4.50\n G_M47588_IG21:\n        inc      ecx\n \t\t\t\t\t\t;; size=2 bbWeight=2 PerfScore 0.50\n G_M47588_IG22:\n        inc      edx\n        jmp      G_M47588_IG09\n \t\t\t\t\t\t;; size=7 bbWeight=2 PerfScore 4.50\n G_M47588_IG23:\n        xor      edi, edi\n        jmp      SHORT G_M47588_IG18\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 1.12\n G_M47588_IG24:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n G_M47588_IG25:\n        call     CORINFO_HELP_RNGCHKFAIL\n        int3     \n \t\t\t\t\t\t;; size=6 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 558, prolog size 42, PerfScore 296.38, instruction count 159, allocated bytes for code 558 (MethodHash=5435461b) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:Encode(System.ReadOnlySpan\u00601[char],System.Span\u00601[char],byref,byref,bool):int:this (FullOpts)\n\u002B; Total bytes of code 565, prolog size 42, PerfScore 297.38, instruction count 161, allocated bytes for code 565 (MethodHash=5435461b) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:Encode(System.ReadOnlySpan\u00601[char],System.Span\u00601[char],byref,byref,bool):int:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":558,"DiffBytes":565},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.AsciiByteMap:InsertAsciiChar(char,byte):this (FullOpts)","Category":"same-size","Description":"19 -\u003E 19 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,35 \u002B1,43 @@\n ; Assembly listing for method System.Text.Encodings.Web.AsciiByteMap:InsertAsciiChar(char,byte):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n\u002B; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  4,  3   )   byref  -\u003E  rdi         this single-def\n ;  V01 arg1         [V01,T01] (  3,  3   )  ushort  -\u003E  rsi         single-def\n ;  V02 arg2         [V02,T02] (  3,  2.50)   ubyte  -\u003E  rdx         single-def\n-;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V04 cse0         [V04,T03] (  3,  2.50)     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n\u002B;* V03 loc0         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n\u002B;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V05 tmp1         [V05    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V06 tmp2         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V07 tmp3         [V07    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V08 tmp4         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V09 tmp5         [V09    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V10 tmp6         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V11 cse0         [V11,T03] (  3,  2.50)     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 0\n \n G_M5442_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M5442_IG02:\n        movzx    rax, si\n        cmp      eax, 128\n        jge      SHORT G_M5442_IG04\n \t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 1.50\n G_M5442_IG03:\n        cmp      byte  ptr [rdi], dil\n        mov      eax, eax\n        mov      byte  ptr [rdi\u002Brax], dl\n \t\t\t\t\t\t;; size=8 bbWeight=0.50 PerfScore 1.62\n G_M5442_IG04:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n \n ; Total bytes of code 19, prolog size 0, PerfScore 4.12, instruction count 7, allocated bytes for code 19 (MethodHash=7198eabd) for method System.Text.Encodings.Web.AsciiByteMap:InsertAsciiChar(char,byte):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":19,"DiffBytes":19},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHashShared:Append(byref,System.ReadOnlySpan\u00601[byte]) (FullOpts)","Category":"improvement","Description":"1,232 -\u003E 1,220 bytes (-12)","ExtraInfo":null,"Diff":"@@ -1,469 \u002B1,469 @@\n ; Assembly listing for method System.IO.Hashing.XxHashShared:Append(byref,System.ReadOnlySpan\u00601[byte]) (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 5 single block inlinees; 16 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 8 single block inlinees; 16 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 arg0         [V00,T01] ( 28, 28   )   byref  -\u003E  rbx         single-def\n ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V02 loc0         [V02,T12] (  8,  4.50)    long  -\u003E  r13        \n-;  V03 loc1         [V03    ] (  3,  2.50)   byref  -\u003E  [rbp-0x30]  do-not-enreg[] pinned\n\u002B;  V02 loc0         [V02,T13] (  8,  4.50)    long  -\u003E  r13        \n\u002B;  V03 loc1         [V03    ] (  2,  1.50)   byref  -\u003E  [rbp-0x30]  do-not-enreg[] pinned\n ;  V04 loc2         [V04,T02] ( 14, 20   )    long  -\u003E  [rbp-0x38]  spill-single-def\n-;  V05 loc3         [V05    ] (  3,  1.50)   byref  -\u003E  [rbp-0x40]  do-not-enreg[] must-init pinned\n\u002B;  V05 loc3         [V05    ] (  2,  1   )   byref  -\u003E  [rbp-0x40]  do-not-enreg[] must-init pinned\n ;  V06 loc4         [V06,T03] ( 14, 20   )    long  -\u003E  [rbp-0x48]  spill-single-def\n-;  V07 loc5         [V07    ] (  3,  1.50)   byref  -\u003E  [rbp-0x50]  do-not-enreg[] must-init pinned\n\u002B;  V07 loc5         [V07    ] (  2,  1   )   byref  -\u003E  [rbp-0x50]  do-not-enreg[] must-init pinned\n ;  V08 loc6         [V08,T08] (  5,  9.50)    long  -\u003E  [rbp-0x58]  spill-single-def\n ;  V09 loc7         [V09    ] (  2,  1   )   byref  -\u003E  [rbp-0x60]  do-not-enreg[] must-init pinned\n ;  V10 loc8         [V10,T00] ( 21, 35   )     int  -\u003E  [rbp-0x64] \n ;* V11 loc9         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[byte]\u003E\n-;  V12 loc10        [V12,T19] (  4,  2   )     int  -\u003E  [rbp-0x68]  spill-single-def\n\u002B;  V12 loc10        [V12,T22] (  4,  2   )     int  -\u003E  [rbp-0x68]  spill-single-def\n ;* V13 loc11        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;  V14 loc12        [V14,T05] ( 10, 15.50)    long  -\u003E  r12        \n-;  V15 loc13        [V15,T20] (  4,  2   )    long  -\u003E  [rbp-0x70]  spill-single-def\n\u002B;  V15 loc13        [V15,T23] (  4,  2   )    long  -\u003E  [rbp-0x70]  spill-single-def\n ;# V16 OutArgs      [V16    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V17 tmp1         [V17    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022dup spill\u0022\n ;* V18 tmp2         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V19 tmp3         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V20 tmp4         [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V21 tmp5         [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V22 tmp6         [V22    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022dup spill\u0022\n-;* V23 tmp7         [V23    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V24 tmp8         [V24,T23] (  2,  2   )    long  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;* V25 tmp9         [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;* V26 tmp10        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V27 tmp11        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V28 tmp12        [V28    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V29 tmp13        [V29,T24] (  2,  2   )    long  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;* V30 tmp14        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;* V31 tmp15        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n-;  V32 tmp16        [V32,T17] (  5,  2.50)    long  -\u003E  [rbp-0x78]  spill-single-def \u0022Inline stloc first use temp\u0022\n-;  V33 tmp17        [V33,T28] (  3,  1.50)    long  -\u003E  [rbp-0x80]  spill-single-def \u0022Inline stloc first use temp\u0022\n-;  V34 tmp18        [V34,T15] (  3,  3   )     int  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;* V35 tmp19        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V36 tmp20        [V36    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V37 tmp21        [V37    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V38 tmp22        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V23 tmp7         [V23,T10] (  3,  6   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n\u002B;* V24 tmp8         [V24    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V25 tmp9         [V25,T26] (  2,  2   )    long  -\u003E  rdi         \u0022Inlining Arg\u0022\n\u002B;* V26 tmp10        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V27 tmp11        [V27,T16] (  3,  3   )   byref  -\u003E  rcx         single-def \u0022Inlining Arg\u0022\n\u002B;  V28 tmp12        [V28,T17] (  3,  3   )   byref  -\u003E   r8         single-def \u0022Inlining Arg\u0022\n\u002B;* V29 tmp13        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V30 tmp14        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V31 tmp15        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V32 tmp16        [V32,T27] (  2,  2   )    long  -\u003E  rdi         \u0022Inlining Arg\u0022\n\u002B;* V33 tmp17        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V34 tmp18        [V34    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;  V35 tmp19        [V35,T20] (  5,  2.50)    long  -\u003E  [rbp-0x78]  spill-single-def \u0022Inline stloc first use temp\u0022\n\u002B;  V36 tmp20        [V36,T31] (  3,  1.50)    long  -\u003E  [rbp-0x80]  spill-single-def \u0022Inline stloc first use temp\u0022\n\u002B;  V37 tmp21        [V37,T18] (  3,  3   )     int  -\u003E  rdi         \u0022Inlining Arg\u0022\n\u002B;* V38 tmp22        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V39 tmp23        [V39    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V40 tmp24        [V40,T06] (  5, 14   )    long  -\u003E  [rbp-0x88]  spill-single-def \u0022Inline stloc first use temp\u0022\n-;  V41 tmp25        [V41,T04] (  4, 20   )    long  -\u003E  r12         \u0022Inlining Arg\u0022\n-;  V42 tmp26        [V42,T10] (  3,  6   )    long  -\u003E  [rbp-0x90]  spill-single-def \u0022Inline stloc first use temp\u0022\n-;  V43 tmp27        [V43,T16] (  3,  3   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V44 tmp28        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V45 tmp29        [V45    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V46 tmp30        [V46    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V47 tmp31        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;  V48 tmp32        [V48,T13] (  4,  4   )     int  -\u003E  r12         \u0022Inlining Arg\u0022\n-;* V49 tmp33        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V50 tmp34        [V50,T22] (  2,  2   )   byref  -\u003E  rsi         single-def \u0022Inlining Arg\u0022\n-;* V51 tmp35        [V51,T36] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V52 tmp36        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;  V53 tmp37        [V53,T09] (  8,  4.50)   byref  -\u003E  r14         single-def \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V54 tmp38        [V54,T07] ( 11, 10.50)     int  -\u003E  r15         single-def \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V55 tmp39        [V55,T29] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V56 tmp40        [V56    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V57 tmp41        [V57    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V58 tmp42        [V58    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V59 tmp43        [V59,T30] (  2,  1   )   byref  -\u003E  rsi         single-def \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V60 tmp44        [V60    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V61 tmp45        [V61,T31] (  2,  1   )   byref  -\u003E  rsi         single-def \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V62 tmp46        [V62    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V63 tmp47        [V63,T32] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V64 tmp48        [V64    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V65 tmp49        [V65,T33] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V21._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V66 tmp50        [V66    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V21._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V67 tmp51        [V67    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V25._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V68 tmp52        [V68    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V25._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V69 tmp53        [V69    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V70 tmp54        [V70    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V71 tmp55        [V71    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V27._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V72 tmp56        [V72    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V27._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V73 tmp57        [V73    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V30._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V74 tmp58        [V74    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V30._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V75 tmp59        [V75,T34] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V35._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V76 tmp60        [V76    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V35._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V77 tmp61        [V77    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V38._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V78 tmp62        [V78    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V38._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V79 tmp63        [V79,T35] (  2,  1   )   byref  -\u003E  rdx         single-def \u0022field V44._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V80 tmp64        [V80    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V44._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V81 tmp65        [V81    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V47._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V82 tmp66        [V82    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V47._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V83 tmp67        [V83    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V49._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V84 tmp68        [V84    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V49._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V85 tmp69        [V85    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V52._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V86 tmp70        [V86    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V52._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V87 tmp71        [V87,T11] (  3,  5   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n-;  V88 tmp72        [V88,T25] (  2,  2   )    long  -\u003E  rcx         \u0022Cast away GC\u0022\n-;  V89 tmp73        [V89,T26] (  2,  2   )    long  -\u003E   r8         \u0022Cast away GC\u0022\n-;  V90 tmp74        [V90,T27] (  2,  2   )    long  -\u003E   r9         \u0022Cast away GC\u0022\n-;  V91 cse0         [V91,T18] (  3,  2.50)     int  -\u003E  rax         \u0022CSE #04: moderate\u0022\n-;  V92 cse1         [V92,T14] (  5,  3.50)     int  -\u003E  r12         \u0022CSE #01: moderate\u0022\n-;  V93 cse2         [V93,T21] (  4,  2   )     int  -\u003E  r12         \u0022CSE #11: moderate\u0022\n\u002B;* V40 tmp24        [V40    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V41 tmp25        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V42 tmp26        [V42    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V43 tmp27        [V43,T06] (  5, 14   )    long  -\u003E  [rbp-0x88]  spill-single-def \u0022Inline stloc first use temp\u0022\n\u002B;  V44 tmp28        [V44,T04] (  4, 20   )    long  -\u003E  r12         \u0022Inlining Arg\u0022\n\u002B;  V45 tmp29        [V45,T11] (  3,  6   )    long  -\u003E  [rbp-0x90]  spill-single-def \u0022Inline stloc first use temp\u0022\n\u002B;  V46 tmp30        [V46,T19] (  3,  3   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;* V47 tmp31        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V48 tmp32        [V48    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V49 tmp33        [V49    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V50 tmp34        [V50    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V51 tmp35        [V51,T14] (  4,  4   )     int  -\u003E  r12         \u0022Inlining Arg\u0022\n\u002B;* V52 tmp36        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;  V53 tmp37        [V53,T25] (  2,  2   )   byref  -\u003E  rsi         single-def \u0022Inlining Arg\u0022\n\u002B;* V54 tmp38        [V54,T39] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V55 tmp39        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V56 tmp40        [V56,T09] (  8,  4.50)   byref  -\u003E  r14         single-def \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V57 tmp41        [V57,T07] ( 11, 10.50)     int  -\u003E  r15         single-def \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V58 tmp42        [V58,T32] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V59 tmp43        [V59    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V60 tmp44        [V60    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V61 tmp45        [V61    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V62 tmp46        [V62,T33] (  2,  1   )   byref  -\u003E  rsi         single-def \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V63 tmp47        [V63    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V64 tmp48        [V64,T34] (  2,  1   )   byref  -\u003E  rsi         single-def \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V65 tmp49        [V65    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V66 tmp50        [V66,T35] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V67 tmp51        [V67    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V68 tmp52        [V68,T36] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V21._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V69 tmp53        [V69    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V21._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V70 tmp54        [V70    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V71 tmp55        [V71    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V72 tmp56        [V72    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V29._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V73 tmp57        [V73    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V29._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V74 tmp58        [V74    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V30._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V75 tmp59        [V75    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V30._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V76 tmp60        [V76    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V33._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V77 tmp61        [V77    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V33._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V78 tmp62        [V78,T37] (  2,  1   )   byref  -\u003E  rdi         single-def \u0022field V38._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V79 tmp63        [V79    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V38._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V80 tmp64        [V80    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V41._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V81 tmp65        [V81    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V41._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V82 tmp66        [V82,T38] (  2,  1   )   byref  -\u003E  rdx         single-def \u0022field V47._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V83 tmp67        [V83    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V47._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V84 tmp68        [V84    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V50._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V85 tmp69        [V85    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V50._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V86 tmp70        [V86    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V52._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V87 tmp71        [V87    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V52._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V88 tmp72        [V88    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V55._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V89 tmp73        [V89    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V55._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V90 tmp74        [V90,T12] (  3,  5   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n\u002B;  V91 tmp75        [V91,T28] (  2,  2   )    long  -\u003E  rcx         \u0022Cast away GC\u0022\n\u002B;  V92 tmp76        [V92,T29] (  2,  2   )    long  -\u003E   r8         \u0022Cast away GC\u0022\n\u002B;  V93 tmp77        [V93,T30] (  2,  2   )    long  -\u003E   r9         \u0022Cast away GC\u0022\n\u002B;  V94 cse0         [V94,T21] (  3,  2.50)     int  -\u003E  rax         \u0022CSE #04: moderate\u0022\n\u002B;  V95 cse1         [V95,T15] (  5,  3.50)     int  -\u003E  r12         \u0022CSE #01: moderate\u0022\n\u002B;  V96 cse2         [V96,T24] (  4,  2   )     int  -\u003E  r12         \u0022CSE #11: moderate\u0022\n ;\n ; Lcl frame size = 104\n \n G_M49169_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n        sub      rsp, 104\n        lea      rbp, [rsp\u002B0x90]\n        vxorps   xmm8, xmm8, xmm8\n        vmovdqu  ymmword ptr [rbp-0x60], ymm8\n        xor      eax, eax\n        mov      qword ptr [rbp-0x40], rax\n        mov      rbx, rdi\n        mov      r14, rsi\n        mov      r15d, edx\n \t\t\t\t\t\t;; size=47 bbWeight=1 PerfScore 10.08\n G_M49169_IG02:\n        mov      edx, r15d\n        add      qword ptr [rbx\u002B0x08], rdx\n-       lea      rdx, bword ptr [rbx\u002B0x120]\n-       mov      bword ptr [rbp-0x30], rdx\n-       mov      rdi, bword ptr [rbp-0x30]\n\u002B       lea      rdi, bword ptr [rbx\u002B0x120]\n\u002B       mov      bword ptr [rbp-0x30], rdi\n        mov      r13, rdi\n        mov      r12d, dword ptr [rbx\u002B0x18]\n        mov      eax, r12d\n        neg      eax\n        add      eax, 256\n        cmp      eax, r15d\n        jae      G_M49169_IG21\n-\t\t\t\t\t\t;; size=48 bbWeight=1 PerfScore 10.00\n\u002B\t\t\t\t\t\t;; size=44 bbWeight=1 PerfScore 9.00\n G_M49169_IG03:\n-       lea      rdx, bword ptr [rbx\u002B0x60]\n-       mov      bword ptr [rbp-0x40], rdx\n-       mov      rcx, bword ptr [rbp-0x40]\n\u002B       lea      rcx, bword ptr [rbx\u002B0x60]\n\u002B       mov      bword ptr [rbp-0x40], rcx\n        mov      qword ptr [rbp-0x38], rcx\n-       lea      rdx, bword ptr [rbx\u002B0x20]\n-       mov      bword ptr [rbp-0x50], rdx\n-       mov      r8, bword ptr [rbp-0x50]\n\u002B       lea      r8, bword ptr [rbx\u002B0x20]\n\u002B       mov      bword ptr [rbp-0x50], r8\n        mov      qword ptr [rbp-0x48], r8\n        mov      bword ptr [rbp-0x60], r14\n        mov      r9, r14\n        mov      qword ptr [rbp-0x58], r9\n        xor      r9d, r9d\n        test     r12d, r12d\n        jne      SHORT G_M49169_IG05\n-\t\t\t\t\t\t;; size=51 bbWeight=0.50 PerfScore 5.38\n\u002B\t\t\t\t\t\t;; size=43 bbWeight=0.50 PerfScore 4.38\n G_M49169_IG04:\n        mov      r8, qword ptr [rbp-0x48]\n        jmp      G_M49169_IG08\n \t\t\t\t\t\t;; size=9 bbWeight=0.25 PerfScore 0.75\n G_M49169_IG05:\n        mov      r9d, eax\n        mov      dword ptr [rbp-0x68], r9d\n        mov      edi, r12d\n        add      rdi, r13\n        test     r9d, r9d\n        jl       G_M49169_IG23\n        mov      edx, r9d\n        mov      rsi, r14\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)\n        call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)\n        mov      r12d, dword ptr [rbp-0x68]\n        mov      rdx, qword ptr [rbx]\n        mov      rax, rdx\n        neg      rax\n        add      rax, 16\n        mov      qword ptr [rbp-0x78], rax\n        cmp      rax, 4\n        jbe      SHORT G_M49169_IG06\n        mov      edx, dword ptr [rbx]\n        shl      edx, 3\n        movsxd   rdx, edx\n        add      rdx, qword ptr [rbp-0x38]\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rsi, r13\n        mov      ecx, 4\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [rax]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        add      qword ptr [rbx], 4\n        jmp      G_M49169_IG07\n \t\t\t\t\t\t;; size=121 bbWeight=0.50 PerfScore 13.38\n G_M49169_IG06:\n        mov      r10, rax\n        neg      r10\n        add      r10, 4\n        mov      qword ptr [rbp-0x80], r10\n        mov      edx, dword ptr [rbx]\n        shl      edx, 3\n        movsxd   rdx, edx\n        add      rdx, qword ptr [rbp-0x38]\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rsi, r13\n        mov      ecx, eax\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      r10, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [r10]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        mov      rax, qword ptr [rbp-0x38]\n        lea      rsi, [rax\u002B0x80]\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rcx, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        call     [rcx]System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        mov      rsi, qword ptr [rbp-0x78]\n        shl      esi, 6\n        movsxd   rsi, esi\n        add      rsi, r13\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rdx, qword ptr [rbp-0x38]\n        mov      rcx, qword ptr [rbp-0x80]\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [rax]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        mov      rdx, qword ptr [rbp-0x80]\n        mov      qword ptr [rbx], rdx\n \t\t\t\t\t\t;; size=137 bbWeight=0.50 PerfScore 13.62\n G_M49169_IG07:\n        xor      edx, edx\n        mov      dword ptr [rbx\u002B0x18], edx\n        mov      r9d, r12d\n        mov      r8, qword ptr [rbp-0x48]\n \t\t\t\t\t\t;; size=12 bbWeight=0.50 PerfScore 1.25\n G_M49169_IG08:\n        mov      r12d, r15d\n        sub      r12d, r9d\n        cmp      r12d, 0x400\n        jg       G_M49169_IG14\n        cmp      r12d, 256\n        jle      G_M49169_IG17\n \t\t\t\t\t\t;; size=32 bbWeight=0.50 PerfScore 1.50\n G_M49169_IG09:\n        mov      dword ptr [rbp-0x64], r9d\n        movsxd   r12, r9d\n        add      r12, qword ptr [rbp-0x58]\n        mov      rdx, qword ptr [rbx]\n        mov      rax, rdx\n        neg      rax\n        add      rax, 16\n        mov      qword ptr [rbp-0x88], rax\n        cmp      rax, 4\n        jbe      SHORT G_M49169_IG11\n \t\t\t\t\t\t;; size=37 bbWeight=4 PerfScore 29.00\n G_M49169_IG10:\n        mov      edx, dword ptr [rbx]\n        shl      edx, 3\n        movsxd   rdx, edx\n        add      rdx, qword ptr [rbp-0x38]\n        mov      rdi, r8\n        mov      rsi, r12\n        mov      ecx, 4\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [rax]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        add      qword ptr [rbx], 4\n        jmp      G_M49169_IG12\n \t\t\t\t\t\t;; size=53 bbWeight=2 PerfScore 26.50\n G_M49169_IG11:\n        mov      r10, rax\n        neg      r10\n        add      r10, 4\n        mov      qword ptr [rbp-0x90], r10\n        mov      edx, dword ptr [rbx]\n        shl      edx, 3\n        movsxd   rdx, edx\n        add      rdx, qword ptr [rbp-0x38]\n        mov      rdi, r8\n        mov      rsi, r12\n        mov      ecx, eax\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      r11, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [r11]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        mov      rax, qword ptr [rbp-0x38]\n        lea      rsi, [rax\u002B0x80]\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rcx, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        call     [rcx]System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        mov      rsi, qword ptr [rbp-0x88]\n        shl      esi, 6\n        movsxd   rsi, esi\n        add      rsi, r12\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rdx, qword ptr [rbp-0x38]\n        mov      rcx, qword ptr [rbp-0x90]\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [rax]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        mov      r12, qword ptr [rbp-0x90]\n        mov      qword ptr [rbx], r12\n \t\t\t\t\t\t;; size=148 bbWeight=2 PerfScore 53.00\n G_M49169_IG12:\n        mov      r12d, dword ptr [rbp-0x64]\n        add      r12d, 256\n        mov      edx, r15d\n        sub      edx, r12d\n        cmp      edx, 256\n        mov      r9d, r12d\n        mov      r8, qword ptr [rbp-0x48]\n        jg       G_M49169_IG09\n \t\t\t\t\t\t;; size=36 bbWeight=4 PerfScore 17.00\n G_M49169_IG13:\n        lea      edx, [r9-0x40]\n        mov      esi, edx\n        add      rsi, 64\n        mov      edi, r15d\n        cmp      rsi, rdi\n        ja       G_M49169_IG23\n        add      rdx, r14\n        lea      rsi, [r13\u002B0xC0]\n        vmovdqu32 zmm0, zmmword ptr [rdx]\n        vmovdqu32 zmmword ptr [rsi], zmm0\n        jmp      G_M49169_IG17\n \t\t\t\t\t\t;; size=49 bbWeight=0.50 PerfScore 5.62\n G_M49169_IG14:\n        dec      r12d\n        shr      r12, 6\n        mov      rdx, qword ptr [rbx]\n        mov      rax, rdx\n        neg      rax\n        add      rax, 16\n        mov      qword ptr [rbp-0x70], rax\n        mov      edx, dword ptr [rbx]\n        shl      edx, 3\n        movsxd   rdx, edx\n        add      rdx, qword ptr [rbp-0x38]\n        mov      dword ptr [rbp-0x64], r9d\n        mov      edi, r9d\n        mov      rsi, rdi\n        add      rsi, qword ptr [rbp-0x58]\n        mov      rdi, r8\n        mov      ecx, eax\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      r10, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [r10]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        mov      rax, qword ptr [rbp-0x38]\n        lea      rsi, [rax\u002B0x80]\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rcx, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        call     [rcx]System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        xor      esi, esi\n        mov      qword ptr [rbx], rsi\n        mov      rsi, qword ptr [rbp-0x70]\n        mov      edi, esi\n        shl      edi, 6\n        mov      r9d, edi\n        add      r9d, dword ptr [rbp-0x64]\n        mov      eax, r9d\n        sub      r12, rsi\n        cmp      r12, 16\n        jb       SHORT G_M49169_IG16\n \t\t\t\t\t\t;; size=137 bbWeight=0.50 PerfScore 13.38\n G_M49169_IG15:\n        mov      dword ptr [rbp-0x64], eax\n        movsxd   rsi, eax\n        add      rsi, qword ptr [rbp-0x58]\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rdx, qword ptr [rbp-0x38]\n        mov      ecx, 16\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      r11, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [r11]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        mov      rax, qword ptr [rbp-0x38]\n        lea      rsi, [rax\u002B0x80]\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rcx, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        call     [rcx]System.IO.Hashing.XxHashShared:ScrambleAccumulators(ptr,ptr)\n        mov      eax, dword ptr [rbp-0x64]\n        add      eax, 0x400\n        add      r12, -16\n        cmp      r12, 16\n        jae      SHORT G_M49169_IG15\n \t\t\t\t\t\t;; size=90 bbWeight=4 PerfScore 67.00\n G_M49169_IG16:\n        mov      dword ptr [rbp-0x64], eax\n        movsxd   rsi, eax\n        add      rsi, qword ptr [rbp-0x58]\n        mov      rdi, qword ptr [rbp-0x48]\n        mov      rdx, qword ptr [rbp-0x38]\n        mov      ecx, r12d\n        xor      r8d, r8d\n        mov      r9d, 1\n        mov      r10, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        call     [r10]System.IO.Hashing.XxHashShared:Accumulate(ptr,ptr,ptr,int,bool,int)\n        mov      edx, r12d\n        shl      edx, 6\n        mov      eax, edx\n        add      eax, dword ptr [rbp-0x64]\n        mov      edx, eax\n        mov      qword ptr [rbx], r12\n        lea      edi, [rdx-0x40]\n        mov      esi, edi\n        add      rsi, 64\n        mov      eax, r15d\n        cmp      rsi, rax\n        ja       G_M49169_IG23\n        add      rdi, r14\n        lea      rsi, [r13\u002B0xC0]\n        vmovdqu32 zmm0, zmmword ptr [rdi]\n        vmovdqu32 zmmword ptr [rsi], zmm0\n        mov      r9d, edx\n \t\t\t\t\t\t;; size=105 bbWeight=0.50 PerfScore 10.50\n G_M49169_IG17:\n        mov      r12d, r15d\n        sub      r12d, r9d\n        js       SHORT G_M49169_IG23\n        mov      rdi, r13\n        cmp      r9d, r15d\n        ja       SHORT G_M49169_IG23\n        mov      esi, r9d\n        add      rsi, r14\n        mov      edx, r12d\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)\n        call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)\n        mov      dword ptr [rbx\u002B0x18], r12d\n        xor      eax, eax\n        mov      bword ptr [rbp-0x60], rax\n \t\t\t\t\t\t;; size=47 bbWeight=0.50 PerfScore 4.62\n G_M49169_IG18:\n        mov      bword ptr [rbp-0x50], rax\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 0.50\n G_M49169_IG19:\n        mov      bword ptr [rbp-0x40], rax\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 0.50\n G_M49169_IG20:\n        mov      bword ptr [rbp-0x30], rax\n        jmp      SHORT G_M49169_IG22\n \t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 1.50\n G_M49169_IG21:\n        mov      edx, r12d\n        add      rdi, rdx\n        mov      edx, r15d\n        mov      rsi, r14\n        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)\n        call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)\n        add      dword ptr [rbx\u002B0x18], r15d\n \t\t\t\t\t\t;; size=28 bbWeight=0.50 PerfScore 3.62\n G_M49169_IG22:\n        vzeroupper \n        add      rsp, 104\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=18 bbWeight=1 PerfScore 5.25\n G_M49169_IG23:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 1232, prolog size 38, PerfScore 293.96, instruction count 313, allocated bytes for code 1232 (MethodHash=071d3fee) for method System.IO.Hashing.XxHashShared:Append(byref,System.ReadOnlySpan\u00601[byte]) (FullOpts)\n\u002B; Total bytes of code 1220, prolog size 38, PerfScore 291.96, instruction count 310, allocated bytes for code 1220 (MethodHash=071d3fee) for method System.IO.Hashing.XxHashShared:Append(byref,System.ReadOnlySpan\u00601[byte]) (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":1232,"DiffBytes":1220},{"Assembly":"System.Net.Sockets.dasm","Method":"System.Net.Sockets.SocketPal:GetIPPacketInformation(ptr,bool,bool):System.Net.Sockets.IPPacketInformation (FullOpts)","Category":"improvement","Description":"333 -\u003E 291 bytes (-42)","ExtraInfo":null,"Diff":"@@ -1,141 \u002B1,130 @@\n ; Assembly listing for method System.Net.Sockets.SocketPal:GetIPPacketInformation(ptr,bool,bool):System.Net.Sockets.IPPacketInformation (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 arg0         [V00,T03] (  3,  2.50)    long  -\u003E  r14         single-def\n ;  V01 arg1         [V01,T01] (  3,  3   )   ubyte  -\u003E  rbx         single-def\n ;  V02 arg2         [V02,T02] (  3,  3   )   ubyte  -\u003E  r15         single-def\n-;  V03 loc0         [V03    ] (  4,  2   )  struct (32) [rbp-0x50]  do-not-enreg[XSF] addr-exposed ld-addr-op unsafe-buffer \u003CInterop\u002BSys\u002BIPPacketInformation\u003E\n\u002B;  V03 loc0         [V03    ] (  4,  2   )  struct (32) [rbp-0x48]  do-not-enreg[XSF] addr-exposed ld-addr-op \u003CInterop\u002BSys\u002BIPPacketInformation\u003E\n ;* V04 loc1         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op \u003CSystem.Net.Sockets.IPPacketInformation\u003E\n-;  V05 tmp0         [V05,T08] (  1,  1   )     int  -\u003E  [rbp-0x54]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;  V06 OutArgs      [V06    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n-;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Net.Sockets.IPPacketInformation\u003E\n-;* V08 tmp3         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n-;  V09 tmp4         [V09,T06] (  2,  2   )     ref  -\u003E  rax         class-hnd single-def \u0022Inlining Arg\u0022 \u003CSystem.Net.IPAddress\u003E\n-;  V10 tmp5         [V10,T07] (  2,  2   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;  V11 tmp6         [V11,T00] (  5,  6   )  struct (16) [rbp-0x68]  do-not-enreg[SFR] multireg-ret must-init \u0022Single return block return value\u0022 \u003CSystem.Net.Sockets.IPPacketInformation\u003E\n-;  V12 FramesRoot   [V12,T04] (  6,  4   )    long  -\u003E  r13         \u0022Pinvoke FrameListRoot\u0022\n-;  V13 PInvokeFrame [V13    ] (  8,  6   )  struct (56) [rbp-0xA0]  do-not-enreg[XS] addr-exposed \u0022Pinvoke FrameVar\u0022 \u003CUNNAMED\u003E\n-;* V14 tmp9         [V14    ] (  0,  0   )     ref  -\u003E  zero-ref    single-def \u0022field V04._address (fldOffset=0x0)\u0022 P-INDEP\n-;* V15 tmp10        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._networkInterface (fldOffset=0x8)\u0022 P-INDEP\n-;* V16 tmp11        [V16    ] (  0,  0   )     ref  -\u003E  zero-ref    single-def \u0022field V07._address (fldOffset=0x0)\u0022 P-INDEP\n-;* V17 tmp12        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._networkInterface (fldOffset=0x8)\u0022 P-INDEP\n-;  V18 cse0         [V18,T05] (  3,  2.50)     int  -\u003E  rsi         \u0022CSE #01: aggressive\u0022\n-;  V19 rat0         [V19    ] (  1,  1   )    long  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;  V05 OutArgs      [V05    ] (  1,  1   )  struct (24) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CUNNAMED\u003E\n\u002B;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Net.Sockets.IPPacketInformation\u003E\n\u002B;* V07 tmp2         [V07    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n\u002B;  V08 tmp3         [V08,T06] (  2,  2   )     ref  -\u003E  rax         class-hnd single-def \u0022Inlining Arg\u0022 \u003CSystem.Net.IPAddress\u003E\n\u002B;  V09 tmp4         [V09,T07] (  2,  2   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V10 tmp5         [V10,T00] (  5,  6   )  struct (16) [rbp-0x58]  do-not-enreg[SFR] multireg-ret must-init \u0022Single return block return value\u0022 \u003CSystem.Net.Sockets.IPPacketInformation\u003E\n\u002B;  V11 FramesRoot   [V11,T04] (  6,  4   )    long  -\u003E  r13         \u0022Pinvoke FrameListRoot\u0022\n\u002B;  V12 PInvokeFrame [V12    ] (  8,  6   )  struct (56) [rbp-0x90]  do-not-enreg[XS] addr-exposed \u0022Pinvoke FrameVar\u0022 \u003CUNNAMED\u003E\n\u002B;* V13 tmp8         [V13    ] (  0,  0   )     ref  -\u003E  zero-ref    single-def \u0022field V04._address (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V14 tmp9         [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._networkInterface (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V15 tmp10        [V15    ] (  0,  0   )     ref  -\u003E  zero-ref    single-def \u0022field V06._address (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V16 tmp11        [V16    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._networkInterface (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V17 cse0         [V17,T05] (  3,  2.50)     int  -\u003E  rsi         \u0022CSE #01: aggressive\u0022\n ;\n-; Lcl frame size = 152\n\u002B; Lcl frame size = 136\n \n G_M7779_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n-       sub      rsp, 152\n\u002B       sub      rsp, 136\n        vzeroupper \n-       lea      rbp, [rsp\u002B0xC0]\n\u002B       lea      rbp, [rsp\u002B0xB0]\n        xor      eax, eax\n-       mov      qword ptr [rbp-0x68], rax\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x30], rax\n\u002B       mov      qword ptr [rbp-0x58], rax\n        mov      r14, rdi\n        mov      ebx, esi\n        mov      r15d, edx\n-\t\t\t\t\t\t;; size=56 bbWeight=1 PerfScore 11.00\n\u002B\t\t\t\t\t\t;; size=42 bbWeight=1 PerfScore 9.75\n G_M7779_IG02:\n-       lea      rdi, [rbp-0xA0]\n\u002B       lea      rdi, [rbp-0x90]\n        call     CORINFO_HELP_INIT_PINVOKE_FRAME\n        mov      r13, rax\n        mov      rsi, rsp\n-       mov      qword ptr [rbp-0x88], rsi\n-       mov      rsi, rbp\n        mov      qword ptr [rbp-0x78], rsi\n\u002B       mov      rsi, rbp\n\u002B       mov      qword ptr [rbp-0x68], rsi\n        movzx    rsi, bl\n        movzx    rdx, r15b\n        or       edx, esi\n        je       G_M7779_IG08\n-\t\t\t\t\t\t;; size=48 bbWeight=1 PerfScore 6.00\n\u002B\t\t\t\t\t\t;; size=45 bbWeight=1 PerfScore 6.00\n G_M7779_IG03:\n        vxorps   xmm2, xmm2, xmm2\n-       vmovdqu  ymmword ptr [rbp-0x50], ymm2\n\u002B       vmovdqu  ymmword ptr [rbp-0x48], ymm2\n        test     esi, esi\n        setne    sil\n        movzx    rsi, sil\n-       lea      rdx, [rbp-0x50]\n\u002B       lea      rdx, [rbp-0x48]\n        mov      rdi, r14\n        mov      rax, 0xD1FFAB1E      ; function address\n-       mov      qword ptr [rbp-0x90], rax\n-       lea      rax, G_M7779_IG06\n        mov      qword ptr [rbp-0x80], rax\n-       lea      rax, [rbp-0xA0]\n\u002B       lea      rax, G_M7779_IG06\n\u002B       mov      qword ptr [rbp-0x70], rax\n\u002B       lea      rax, [rbp-0x90]\n        mov      qword ptr [r13\u002B0x08], rax\n        mov      byte  ptr [r13\u002B0x04], 0\n-\t\t\t\t\t\t;; size=70 bbWeight=0.50 PerfScore 4.42\n\u002B\t\t\t\t\t\t;; size=67 bbWeight=0.50 PerfScore 4.42\n G_M7779_IG04:\n        mov      rax, 0xD1FFAB1E      ; code for Interop\u002BSys:\u003CTryGetIPPacketInformation\u003Eg____PInvoke|33_0(ptr,int,ptr):int\n \t\t\t\t\t\t;; size=10 bbWeight=0.50 PerfScore 0.12\n G_M7779_IG05:\n        call     [rax]Interop\u002BSys:\u003CTryGetIPPacketInformation\u003Eg____PInvoke|33_0(ptr,int,ptr):int\n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 1.50\n G_M7779_IG06:\n        mov      byte  ptr [r13\u002B0x04], 1\n        mov      rcx, 0xD1FFAB1E      ; function address\n        cmp      dword ptr [rcx], 0\n        je       SHORT G_M7779_IG07\n        mov      rdi, 0xD1FFAB1E\n        call     [rdi]CORINFO_HELP_STOP_FOR_GC\n \t\t\t\t\t\t;; size=32 bbWeight=0.50 PerfScore 3.75\n G_M7779_IG07:\n-       mov      rcx, qword ptr [rbp-0x98]\n\u002B       mov      rcx, qword ptr [rbp-0x88]\n        mov      qword ptr [r13\u002B0x08], rcx\n        test     eax, eax\n        je       SHORT G_M7779_IG08\n-       vmovdqu  xmm0, xmmword ptr [rbp-0x50]\n\u002B       vmovdqu  xmm0, xmmword ptr [rbp-0x48]\n        vmovdqu  xmmword ptr [rsp], xmm0\n-       mov      rax, qword ptr [rbp-0x40]\n\u002B       mov      rax, qword ptr [rbp-0x38]\n        mov      qword ptr [rsp\u002B0x10], rax\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress\n        call     [rax]System.Net.InteropIPAddressExtensions:GetIPAddress(Interop\u002BSys\u002BIPAddress):System.Net.IPAddress\n-       mov      edx, dword ptr [rbp-0x38]\n-       mov      gword ptr [rbp-0x68], rax\n-       mov      dword ptr [rbp-0x60], edx\n\u002B       mov      edx, dword ptr [rbp-0x30]\n\u002B       mov      gword ptr [rbp-0x58], rax\n\u002B       mov      dword ptr [rbp-0x50], edx\n        jmp      SHORT G_M7779_IG10\n \t\t\t\t\t\t;; size=58 bbWeight=0.50 PerfScore 7.75\n G_M7779_IG08:\n        xor      rax, rax\n-       mov      gword ptr [rbp-0x68], rax\n\u002B       mov      gword ptr [rbp-0x58], rax\n \t\t\t\t\t\t;; size=6 bbWeight=0.50 PerfScore 0.62\n G_M7779_IG09:\n-       mov      dword ptr [rbp-0x60], eax\n\u002B       mov      dword ptr [rbp-0x50], eax\n \t\t\t\t\t\t;; size=3 bbWeight=0.50 PerfScore 0.50\n G_M7779_IG10:\n-       mov      rax, gword ptr [rbp-0x68]\n-       mov      rdx, qword ptr [rbp-0x60]\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x30], r9\n-       je       SHORT G_M7779_IG11\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=29 bbWeight=1 PerfScore 5.25\n\u002B       mov      rax, gword ptr [rbp-0x58]\n\u002B       mov      rdx, qword ptr [rbp-0x50]\n\u002B\t\t\t\t\t\t;; size=8 bbWeight=1 PerfScore 2.00\n G_M7779_IG11:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n-G_M7779_IG12:\n-       add      rsp, 152\n\u002B       add      rsp, 136\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=18 bbWeight=1 PerfScore 4.25\n \n-; Total bytes of code 333, prolog size 48, PerfScore 45.42, instruction count 81, allocated bytes for code 333 (MethodHash=40d4e19c) for method System.Net.Sockets.SocketPal:GetIPPacketInformation(ptr,bool,bool):System.Net.Sockets.IPPacketInformation (FullOpts)\n\u002B; Total bytes of code 291, prolog size 34, PerfScore 40.67, instruction count 74, allocated bytes for code 291 (MethodHash=40d4e19c) for method System.Net.Sockets.SocketPal:GetIPPacketInformation(ptr,bool,bool):System.Net.Sockets.IPPacketInformation (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":333,"DiffBytes":291},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCharAllowed(char):bool:this (FullOpts)","Category":"regression","Description":"24 -\u003E 27 bytes (\u002B3)","ExtraInfo":null,"Diff":"@@ -1,37 \u002B1,45 @@\n ; Assembly listing for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCharAllowed(char):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  4,  4   )   byref  -\u003E  rdi         this single-def\n ;  V01 arg1         [V01,T01] (  3,  3   )  ushort  -\u003E  rsi         single-def\n-;* V02 loc0         [V02    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op\n-;* V03 loc1         [V03    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op\n-;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V05 cse0         [V05,T02] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n\u002B;  V02 loc0         [V02,T03] (  2,  2   )     int  -\u003E  rcx         ld-addr-op\n\u002B;  V03 loc1         [V03,T04] (  2,  2   )     int  -\u003E  rax         ld-addr-op\n\u002B;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V06 tmp1         [V06    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V08 tmp3         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V09 tmp4         [V09    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V10 tmp5         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V11 tmp6         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V12 cse0         [V12,T02] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 0\n \n G_M9221_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M9221_IG02:\n-       cmp      byte  ptr [rdi], dil\n        movzx    rax, si\n        mov      ecx, eax\n        shr      ecx, 5\n\u002B       and      eax, 31\n\u002B       cmp      byte  ptr [rdi], dil\n        mov      ecx, dword ptr [rdi\u002B4*rcx]\n        bt       ecx, eax\n        setb     al\n        movzx    rax, al\n-\t\t\t\t\t\t;; size=23 bbWeight=1 PerfScore 6.25\n\u002B\t\t\t\t\t\t;; size=26 bbWeight=1 PerfScore 6.50\n G_M9221_IG03:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n \n-; Total bytes of code 24, prolog size 0, PerfScore 7.25, instruction count 9, allocated bytes for code 24 (MethodHash=b230dbfa) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCharAllowed(char):bool:this (FullOpts)\n\u002B; Total bytes of code 27, prolog size 0, PerfScore 7.50, instruction count 10, allocated bytes for code 27 (MethodHash=b230dbfa) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCharAllowed(char):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":24,"DiffBytes":27},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.AsciiByteMap:TryLookup(System.Text.Rune,byref):bool:this (FullOpts)","Category":"same-size","Description":"38 -\u003E 38 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,55 \u002B1,62 @@\n ; Assembly listing for method System.Text.Encodings.Web.AsciiByteMap:TryLookup(System.Text.Rune,byref):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  4,  3   )   byref  -\u003E  rdi         this single-def\n ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def \u003CSystem.Text.Rune\u003E\n ;  V02 arg2         [V02,T01] (  4,  3   )   byref  -\u003E  rdx         single-def\n ;  V03 loc0         [V03,T03] (  3,  1.50)   ubyte  -\u003E  rcx        \n-;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V05 tmp1         [V05    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n-;* V06 tmp2         [V06    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V07 tmp3         [V07,T02] (  3,  2.50)     int  -\u003E  rsi         single-def \u0022field V01._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V04 loc1         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V06 tmp1         [V06    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Span.get_Item index\u0022\n\u002B;* V07 tmp2         [V07    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V08 tmp3         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;  V10 tmp5         [V10,T02] (  3,  2.50)     int  -\u003E  rsi         single-def \u0022field V01._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V11 tmp6         [V11    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V12 tmp7         [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V13 tmp8         [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V14 tmp9         [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M3641_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M3641_IG02:\n        cmp      esi, 127\n        ja       SHORT G_M3641_IG04\n \t\t\t\t\t\t;; size=5 bbWeight=1 PerfScore 1.25\n G_M3641_IG03:\n        cmp      byte  ptr [rdi], dil\n        mov      eax, esi\n        movzx    rcx, byte  ptr [rdi\u002Brax]\n        test     ecx, ecx\n        jne      SHORT G_M3641_IG06\n \t\t\t\t\t\t;; size=13 bbWeight=0.50 PerfScore 2.75\n G_M3641_IG04:\n        mov      byte  ptr [rdx], 0\n        xor      eax, eax\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 0.62\n G_M3641_IG05:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n G_M3641_IG06:\n        mov      byte  ptr [rdx], cl\n        mov      eax, 1\n \t\t\t\t\t\t;; size=7 bbWeight=0.50 PerfScore 0.62\n G_M3641_IG07:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n \n ; Total bytes of code 38, prolog size 4, PerfScore 8.00, instruction count 17, allocated bytes for code 38 (MethodHash=9b37f1c6) for method System.Text.Encodings.Web.AsciiByteMap:TryLookup(System.Text.Rune,byref):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":38,"DiffBytes":38},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHash128:GetCurrentHashAsHash128():System.IO.Hashing.XxHash128\u002BHash128:this (FullOpts)","Category":"improvement","Description":"373 -\u003E 365 bytes (-8)","ExtraInfo":null,"Diff":"@@ -1,169 \u002B1,169 @@\n ; Assembly listing for method System.IO.Hashing.XxHash128:GetCurrentHashAsHash128():System.IO.Hashing.XxHash128\u002BHash128:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] ( 11,  7   )     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.IO.Hashing.XxHash128\u003E\n ;* V01 loc0         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op \u003CSystem.IO.Hashing.XxHash128\u002BHash128\u003E\n-;  V02 loc1         [V02,T05] (  5,  2.50)    long  -\u003E  r15        \n\u002B;  V02 loc1         [V02,T07] (  5,  2.50)    long  -\u003E  r15        \n ;* V03 loc2         [V03    ] (  0,  0   )    long  -\u003E  zero-ref    ptr\n-;  V04 loc3         [V04    ] (  5,  3   )   byref  -\u003E  [rbp-0x30]  do-not-enreg[] must-init pinned ptr\n\u002B;  V04 loc3         [V04    ] (  3,  2   )   byref  -\u003E  [rbp-0x30]  do-not-enreg[] must-init pinned ptr\n ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V07 tmp2         [V07,T10] (  2,  2   )    long  -\u003E  r13         \u0022non-inline candidate call\u0022\n-;  V08 tmp3         [V08,T11] (  2,  2   )    long  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;  V09 tmp4         [V09,T01] (  9,  9   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n-;* V10 tmp5         [V10    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V11 tmp6         [V11    ] (  0,  0   )  struct (16) zero-ref    multireg-ret multireg-dest \u0022Inline return value spill temp\u0022 \u003CSystem.IO.Hashing.XxHash128\u002BHash128\u003E\n-;* V12 tmp7         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V13 tmp8         [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n-;  V14 tmp9         [V14    ] (  2,  1   )   byref  -\u003E  [rbp-0x38]  do-not-enreg[] must-init pinned ptr \u0022Inline stloc first use temp\u0022\n-;* V15 tmp10        [V15    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n-;  V16 tmp11        [V16,T02] (  5,  5   )    long  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V17 tmp12        [V17    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBRM] multireg-ret multireg-dest \u0022Return value temp for multireg return\u0022 \u003CSystem.IO.Hashing.XxHash128\u002BHash128\u003E\n-;* V18 tmp13        [V18    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBRM] multireg-ret multireg-dest \u0022Return value temp for multireg return\u0022 \u003CSystem.IO.Hashing.XxHash128\u002BHash128\u003E\n-;* V19 tmp14        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V20 tmp15        [V20,T08] (  3,  2   )    long  -\u003E  rax         \u0022field V01.Low64 (fldOffset=0x0)\u0022 P-INDEP\n-;  V21 tmp16        [V21,T09] (  3,  2   )    long  -\u003E  rdx         \u0022field V01.High64 (fldOffset=0x8)\u0022 P-INDEP\n-;  V22 tmp17        [V22,T13] (  3,  1.50)   byref  -\u003E  rdi         single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V23 tmp18        [V23    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V24 tmp19        [V24,T06] (  5,  2.50)    long  -\u003E  rax         \u0022field V11.Low64 (fldOffset=0x0)\u0022 P-INDEP\n-;  V25 tmp20        [V25,T07] (  5,  2.50)    long  -\u003E  rdx         \u0022field V11.High64 (fldOffset=0x8)\u0022 P-INDEP\n-;* V26 tmp21        [V26    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V27 tmp22        [V27    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V28 tmp23        [V28    ] (  0,  0   )    long  -\u003E  zero-ref    do-not-enreg[] \u0022field V17.Low64 (fldOffset=0x0)\u0022 P-DEP\n-;* V29 tmp24        [V29    ] (  0,  0   )    long  -\u003E  zero-ref    do-not-enreg[] \u0022field V17.High64 (fldOffset=0x8)\u0022 P-DEP\n-;* V30 tmp25        [V30    ] (  0,  0   )    long  -\u003E  zero-ref    do-not-enreg[] \u0022field V18.Low64 (fldOffset=0x0)\u0022 P-DEP\n-;* V31 tmp26        [V31    ] (  0,  0   )    long  -\u003E  zero-ref    do-not-enreg[] \u0022field V18.High64 (fldOffset=0x8)\u0022 P-DEP\n-;* V32 tmp27        [V32    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V33 tmp28        [V33    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V34 tmp29        [V34,T12] (  2,  2   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n-;  V35 tmp30        [V35,T03] (  5,  5   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n-;  V36 tmp31        [V36,T04] (  4,  4   )    long  -\u003E  r14         \u0022Cast away GC\u0022\n-;  V37 rat0         [V37    ] (  1,  1   )    long  -\u003E  [rbp-0x28]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;  V07 tmp2         [V07,T12] (  2,  2   )    long  -\u003E  r13         \u0022non-inline candidate call\u0022\n\u002B;  V08 tmp3         [V08,T05] (  3,  3   )   byref  -\u003E  r14         single-def \u0022Inlining Arg\u0022\n\u002B;  V09 tmp4         [V09,T13] (  2,  2   )    long  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V10 tmp5         [V10,T06] (  3,  3   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n\u002B;  V11 tmp6         [V11,T01] (  9,  9   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;* V12 tmp7         [V12    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    multireg-ret multireg-dest \u0022Inline return value spill temp\u0022 \u003CSystem.IO.Hashing.XxHash128\u002BHash128\u003E\n\u002B;* V14 tmp9         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V15 tmp10        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n\u002B;  V16 tmp11        [V16    ] (  2,  1   )   byref  -\u003E  [rbp-0x38]  do-not-enreg[] must-init pinned ptr \u0022Inline stloc first use temp\u0022\n\u002B;* V17 tmp12        [V17    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n\u002B;  V18 tmp13        [V18,T02] (  5,  5   )    long  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;* V19 tmp14        [V19    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBRM] multireg-ret multireg-dest \u0022Return value temp for multireg return\u0022 \u003CSystem.IO.Hashing.XxHash128\u002BHash128\u003E\n\u002B;* V20 tmp15        [V20    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBRM] multireg-ret multireg-dest \u0022Return value temp for multireg return\u0022 \u003CSystem.IO.Hashing.XxHash128\u002BHash128\u003E\n\u002B;* V21 tmp16        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;  V22 tmp17        [V22,T10] (  3,  2   )    long  -\u003E  rax         \u0022field V01.Low64 (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V23 tmp18        [V23,T11] (  3,  2   )    long  -\u003E  rdx         \u0022field V01.High64 (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V24 tmp19        [V24,T15] (  3,  1.50)   byref  -\u003E  rdi         single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V25 tmp20        [V25    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V26 tmp21        [V26,T08] (  5,  2.50)    long  -\u003E  rax         \u0022field V13.Low64 (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V27 tmp22        [V27,T09] (  5,  2.50)    long  -\u003E  rdx         \u0022field V13.High64 (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V28 tmp23        [V28    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V29 tmp24        [V29    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V30 tmp25        [V30    ] (  0,  0   )    long  -\u003E  zero-ref    do-not-enreg[] \u0022field V19.Low64 (fldOffset=0x0)\u0022 P-DEP\n\u002B;* V31 tmp26        [V31    ] (  0,  0   )    long  -\u003E  zero-ref    do-not-enreg[] \u0022field V19.High64 (fldOffset=0x8)\u0022 P-DEP\n\u002B;* V32 tmp27        [V32    ] (  0,  0   )    long  -\u003E  zero-ref    do-not-enreg[] \u0022field V20.Low64 (fldOffset=0x0)\u0022 P-DEP\n\u002B;* V33 tmp28        [V33    ] (  0,  0   )    long  -\u003E  zero-ref    do-not-enreg[] \u0022field V20.High64 (fldOffset=0x8)\u0022 P-DEP\n\u002B;* V34 tmp29        [V34    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V21._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V35 tmp30        [V35    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V21._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V36 tmp31        [V36,T14] (  2,  2   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n\u002B;  V37 tmp32        [V37,T03] (  5,  5   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n\u002B;  V38 tmp33        [V38,T04] (  4,  4   )    long  -\u003E  r14         \u0022Cast away GC\u0022\n\u002B;  V39 rat0         [V39    ] (  1,  1   )    long  -\u003E  [rbp-0x28]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n ;\n ; Lcl frame size = 32\n \n G_M33203_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     rbx\n        sub      rsp, 32\n        lea      rbp, [rsp\u002B0x40]\n        xor      eax, eax\n        mov      qword ptr [rbp-0x30], rax\n        mov      qword ptr [rbp-0x38], rax\n        mov      rax, 0xD1FFAB1E\n        mov      qword ptr [rbp-0x28], rax\n        mov      rbx, rdi\n \t\t\t\t\t\t;; size=44 bbWeight=1 PerfScore 9.50\n G_M33203_IG02:\n        cmp      qword ptr [rbx\u002B0x18], 240\n        ja       SHORT G_M33203_IG08\n \t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 3.00\n G_M33203_IG03:\n        lea      rdi, bword ptr [rbx\u002B0x130]\n        mov      bword ptr [rbp-0x30], rdi\n        mov      esi, dword ptr [rbx\u002B0x18]\n        test     esi, esi\n        jl       G_M33203_IG12\n-       mov      rdi, bword ptr [rbp-0x30]\n        mov      rdx, qword ptr [rbx\u002B0x20]\n        mov      bword ptr [rbp-0x38], rdi\n        cmp      esi, 16\n        jbe      SHORT G_M33203_IG06\n        cmp      esi, 128\n        jbe      SHORT G_M33203_IG05\n        cmp      esi, 240\n        jbe      SHORT G_M33203_IG04\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHash128:HashLengthOver240(ptr,uint,ulong):System.IO.Hashing.XxHash128\u002BHash128\n        call     [rax]System.IO.Hashing.XxHash128:HashLengthOver240(ptr,uint,ulong):System.IO.Hashing.XxHash128\u002BHash128\n        jmp      SHORT G_M33203_IG07\n-\t\t\t\t\t\t;; size=69 bbWeight=0.50 PerfScore 8.88\n\u002B\t\t\t\t\t\t;; size=65 bbWeight=0.50 PerfScore 8.38\n G_M33203_IG04:\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHash128:HashLength129To240(ptr,uint,ulong):System.IO.Hashing.XxHash128\u002BHash128\n        call     [rax]System.IO.Hashing.XxHash128:HashLength129To240(ptr,uint,ulong):System.IO.Hashing.XxHash128\u002BHash128\n        jmp      SHORT G_M33203_IG07\n \t\t\t\t\t\t;; size=14 bbWeight=0.50 PerfScore 2.62\n G_M33203_IG05:\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHash128:HashLength17To128(ptr,uint,ulong):System.IO.Hashing.XxHash128\u002BHash128\n        call     [rax]System.IO.Hashing.XxHash128:HashLength17To128(ptr,uint,ulong):System.IO.Hashing.XxHash128\u002BHash128\n        jmp      SHORT G_M33203_IG07\n \t\t\t\t\t\t;; size=14 bbWeight=0.50 PerfScore 2.62\n G_M33203_IG06:\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHash128:HashLength0To16(ptr,uint,ulong):System.IO.Hashing.XxHash128\u002BHash128\n        call     [rax]System.IO.Hashing.XxHash128:HashLength0To16(ptr,uint,ulong):System.IO.Hashing.XxHash128\u002BHash128\n \t\t\t\t\t\t;; size=12 bbWeight=0.50 PerfScore 1.62\n G_M33203_IG07:\n        xor      rcx, rcx\n        mov      bword ptr [rbp-0x38], rcx\n        jmp      G_M33203_IG09\n \t\t\t\t\t\t;; size=11 bbWeight=0.50 PerfScore 1.62\n G_M33203_IG08:\n        test     dword ptr [rsp], esp\n        sub      rsp, 64\n        lea      r15, [rsp]\n        lea      rdi, bword ptr [rbx\u002B0x10]\n        mov      rsi, r15\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr)\n        call     [rax]System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr)\n-       lea      rdi, bword ptr [rbx\u002B0x70]\n-       mov      bword ptr [rbp-0x30], rdi\n-       mov      r14, bword ptr [rbp-0x30]\n\u002B       lea      r14, bword ptr [rbx\u002B0x70]\n\u002B       mov      bword ptr [rbp-0x30], r14\n        lea      rdi, bword ptr [rbx\u002B0x10]\n        mov      rsi, r15\n        mov      rdx, r14\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:DigestLong(byref,ptr,ptr)\n        call     [rax]System.IO.Hashing.XxHashShared:DigestLong(byref,ptr,ptr)\n        mov      rdx, 0xD1FFAB1E\n        imul     rdx, qword ptr [rbx\u002B0x18]\n        lea      rsi, [r14\u002B0x0B]\n        mov      rdi, r15\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:MergeAccumulators(ptr,ptr,ulong):ulong\n        call     [rax]System.IO.Hashing.XxHashShared:MergeAccumulators(ptr,ptr,ulong):ulong\n        mov      r13, rax\n        mov      rdx, 0xD1FFAB1E\n        imul     rdx, qword ptr [rbx\u002B0x18]\n        not      rdx\n        lea      rsi, [r14\u002B0x75]\n        mov      rdi, r15\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:MergeAccumulators(ptr,ptr,ulong):ulong\n        call     [rax]System.IO.Hashing.XxHashShared:MergeAccumulators(ptr,ptr,ulong):ulong\n        mov      rdx, rax\n        mov      rax, r13\n-\t\t\t\t\t\t;; size=144 bbWeight=0.50 PerfScore 16.50\n\u002B\t\t\t\t\t\t;; size=140 bbWeight=0.50 PerfScore 16.00\n G_M33203_IG09:\n        xor      r9d, r9d\n        mov      bword ptr [rbp-0x30], r9\n        mov      r9, 0xD1FFAB1E\n        cmp      qword ptr [rbp-0x28], r9\n        je       SHORT G_M33203_IG10\n        call     CORINFO_HELP_FAIL_FAST\n \t\t\t\t\t\t;; size=28 bbWeight=1 PerfScore 4.50\n G_M33203_IG10:\n        nop      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n G_M33203_IG11:\n        lea      rsp, [rbp-0x20]\n        pop      rbx\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=13 bbWeight=1 PerfScore 4.00\n G_M33203_IG12:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 373, prolog size 41, PerfScore 55.12, instruction count 91, allocated bytes for code 373 (MethodHash=df847e4c) for method System.IO.Hashing.XxHash128:GetCurrentHashAsHash128():System.IO.Hashing.XxHash128\u002BHash128:this (FullOpts)\n\u002B; Total bytes of code 365, prolog size 41, PerfScore 54.12, instruction count 89, allocated bytes for code 365 (MethodHash=df847e4c) for method System.IO.Hashing.XxHash128:GetCurrentHashAsHash128():System.IO.Hashing.XxHash128\u002BHash128:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":373,"DiffBytes":365},{"Assembly":"System.Net.Sockets.dasm","Method":"System.Net.Sockets.SocketPal:SetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,System.Net.Sockets.IPv6MulticastOption):int (FullOpts)","Category":"improvement","Description":"226 -\u003E 187 bytes (-39)","ExtraInfo":null,"Diff":"@@ -1,112 \u002B1,99 @@\n ; Assembly listing for method System.Net.Sockets.SocketPal:SetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,System.Net.Sockets.IPv6MulticastOption):int (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n ; 0 inlinees with PGO data; 5 single block inlinees; 3 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 arg0         [V00,T00] (  8,  5.50)     ref  -\u003E  rbx         class-hnd single-def \u003CSystem.Net.Sockets.SafeSocketHandle\u003E\n ;  V01 arg1         [V01,T02] (  4,  3.50)     int  -\u003E  r14         single-def\n ;  V02 arg2         [V02,T01] (  4,  4   )     ref  -\u003E  r15         class-hnd single-def \u003CSystem.Net.Sockets.IPv6MulticastOption\u003E\n ;* V03 loc0         [V03    ] (  0,  0   )     int  -\u003E  zero-ref   \n-;  V04 loc1         [V04    ] (  3,  3   )  struct (32) [rbp-0x48]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer \u003CInterop\u002BSys\u002BIPv6MulticastOption\u003E\n\u002B;  V04 loc1         [V04    ] (  3,  3   )  struct (32) [rbp-0x40]  do-not-enreg[XS] addr-exposed ld-addr-op \u003CInterop\u002BSys\u002BIPv6MulticastOption\u003E\n ;  V05 loc2         [V05,T04] (  3,  2.50)     int  -\u003E  rax        \n-;  V06 loc3         [V06,T03] (  3,  3   )  struct (32) [rbp-0x68]  do-not-enreg[DAS] defined-via-address ld-addr-op unsafe-buffer \u003CInterop\u002BSys\u002BIPv6MulticastOption\u003E\n-;  V07 tmp0         [V07,T09] (  1,  1   )     int  -\u003E  [rbp-0x6C]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V09 tmp2         [V09,T06] (  2,  2   )     int  -\u003E  r13        \n-;  V10 tmp3         [V10,T05] (  3,  2   )     int  -\u003E  rax         \u0022Inline return value spill temp\u0022\n-;  V11 tmp4         [V11,T08] (  3,  1.50)     int  -\u003E  rax         \u0022Inline stloc first use temp\u0022\n-;* V12 tmp5         [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n-;  V13 tmp6         [V13,T07] (  2,  2   )     int  -\u003E  rdx         \u0022V06.[024..028)\u0022\n-;  V14 rat0         [V14    ] (  1,  1   )    long  -\u003E  [rbp-0x28]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;  V06 loc3         [V06,T03] (  3,  3   )  struct (32) [rbp-0x60]  do-not-enreg[DAS] defined-via-address ld-addr-op \u003CInterop\u002BSys\u002BIPv6MulticastOption\u003E\n\u002B;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;  V08 tmp1         [V08,T06] (  2,  2   )     int  -\u003E  r13        \n\u002B;  V09 tmp2         [V09,T05] (  3,  2   )     int  -\u003E  rax         \u0022Inline return value spill temp\u0022\n\u002B;  V10 tmp3         [V10,T08] (  3,  1.50)     int  -\u003E  rax         \u0022Inline stloc first use temp\u0022\n\u002B;* V11 tmp4         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n\u002B;  V12 tmp5         [V12,T07] (  2,  2   )     int  -\u003E  rdx         \u0022V06.[024..028)\u0022\n ;\n-; Lcl frame size = 80\n\u002B; Lcl frame size = 64\n \n G_M15453_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     rbx\n-       sub      rsp, 80\n-       lea      rbp, [rsp\u002B0x70]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x28], rax\n\u002B       sub      rsp, 64\n\u002B       lea      rbp, [rsp\u002B0x60]\n        mov      rbx, rdi\n        mov      r14d, esi\n        mov      r15, rdx\n-\t\t\t\t\t\t;; size=40 bbWeight=1 PerfScore 7.75\n\u002B\t\t\t\t\t\t;; size=26 bbWeight=1 PerfScore 6.50\n G_M15453_IG02:\n        cmp      r14d, 12\n        setne    r13b\n        movzx    r13, r13b\n        vxorps   xmm0, xmm0, xmm0\n-       vmovups  ymmword ptr [rbp-0x68], ymm0\n\u002B       vmovups  ymmword ptr [rbp-0x60], ymm0\n        mov      rsi, gword ptr [r15\u002B0x08]\n-       lea      rdi, [rbp-0x68]\n\u002B       lea      rdi, [rbp-0x60]\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.InteropIPAddressExtensions:GetNativeIPAddress(System.Net.IPAddress):Interop\u002BSys\u002BIPAddress\n        call     [rax]System.Net.InteropIPAddressExtensions:GetNativeIPAddress(System.Net.IPAddress):Interop\u002BSys\u002BIPAddress\n        mov      edx, dword ptr [r15\u002B0x10]\n-       vmovups  ymm0, ymmword ptr [rbp-0x68]\n-       vmovups  ymmword ptr [rbp-0x48], ymm0\n-       mov      dword ptr [rbp-0x30], edx\n-       lea      rdx, [rbp-0x48]\n\u002B       vmovups  ymm0, ymmword ptr [rbp-0x60]\n\u002B       vmovups  ymmword ptr [rbp-0x40], ymm0\n\u002B       mov      dword ptr [rbp-0x28], edx\n\u002B       lea      rdx, [rbp-0x40]\n        mov      rdi, rbx\n        mov      esi, r13d\n        mov      rax, 0xD1FFAB1E      ; code for Interop\u002BSys:SetIPv6MulticastOption(System.Runtime.InteropServices.SafeHandle,int,ptr):int\n        call     [rax]Interop\u002BSys:SetIPv6MulticastOption(System.Runtime.InteropServices.SafeHandle,int,ptr):int\n        test     eax, eax\n        je       SHORT G_M15453_IG04\n \t\t\t\t\t\t;; size=84 bbWeight=1 PerfScore 19.58\n G_M15453_IG03:\n        mov      edi, eax\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.SocketErrorPal:GetSocketErrorForNativeError(int):int\n        call     [rax]System.Net.Sockets.SocketErrorPal:GetSocketErrorForNativeError(int):int\n        jmp      SHORT G_M15453_IG07\n \t\t\t\t\t\t;; size=16 bbWeight=0.50 PerfScore 2.75\n G_M15453_IG04:\n        cmp      byte  ptr [rbx], bl\n        mov      edi, r14d\n        mov      esi, 41\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.SafeSocketHandle:ToTrackableSocketOptions(int,int):int\n        call     [rax]System.Net.Sockets.SafeSocketHandle:ToTrackableSocketOptions(int,int):int\n        test     eax, eax\n        je       SHORT G_M15453_IG05\n-       mov      r9d, dword ptr [rbx\u002B0x28]\n\u002B       mov      ecx, dword ptr [rbx\u002B0x28]\n        dec      eax\n-       bts      r9d, eax\n-       mov      dword ptr [rbx\u002B0x28], r9d\n\u002B       bts      ecx, eax\n\u002B       mov      dword ptr [rbx\u002B0x28], ecx\n        jmp      SHORT G_M15453_IG06\n-\t\t\t\t\t\t;; size=42 bbWeight=0.50 PerfScore 6.38\n\u002B\t\t\t\t\t\t;; size=39 bbWeight=0.50 PerfScore 6.38\n G_M15453_IG05:\n        or       byte  ptr [rbx\u002B0x2E], 8\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 1.50\n G_M15453_IG06:\n        xor      eax, eax\n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n G_M15453_IG07:\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x28], r9\n-       je       SHORT G_M15453_IG08\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=21 bbWeight=1 PerfScore 3.25\n-G_M15453_IG08:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n-G_M15453_IG09:\n        vzeroupper \n-       add      rsp, 80\n\u002B       add      rsp, 64\n        pop      rbx\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=16 bbWeight=1 PerfScore 4.75\n \n-; Total bytes of code 226, prolog size 31, PerfScore 46.33, instruction count 63, allocated bytes for code 226 (MethodHash=797dc3a2) for method System.Net.Sockets.SocketPal:SetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,System.Net.Sockets.IPv6MulticastOption):int (FullOpts)\n\u002B; Total bytes of code 187, prolog size 17, PerfScore 41.58, instruction count 56, allocated bytes for code 187 (MethodHash=797dc3a2) for method System.Net.Sockets.SocketPal:SetIPv6MulticastOption(System.Net.Sockets.SafeSocketHandle,int,System.Net.Sockets.IPv6MulticastOption):int (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":226,"DiffBytes":187},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCodePointAllowed(uint):bool:this (FullOpts)","Category":"regression","Description":"32 -\u003E 35 bytes (\u002B3)","ExtraInfo":null,"Diff":"@@ -1,45 \u002B1,53 @@\n ; Assembly listing for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCodePointAllowed(uint):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T01] (  4,  3   )   byref  -\u003E  rdi         this single-def\n ;  V01 arg1         [V01,T00] (  5,  4   )     int  -\u003E  rsi         single-def\n-;* V02 loc0         [V02    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op\n-;* V03 loc1         [V03    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op\n-;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;  V02 loc0         [V02,T02] (  2,  1   )     int  -\u003E  rax         ld-addr-op\n\u002B;  V03 loc1         [V03,T03] (  2,  1   )     int  -\u003E  rsi         ld-addr-op\n\u002B;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V06 tmp1         [V06    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V08 tmp3         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V09 tmp4         [V09    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V10 tmp5         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V11 tmp6         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M57666_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M57666_IG02:\n        cmp      esi, 0xFFFF\n        ja       SHORT G_M57666_IG05\n \t\t\t\t\t\t;; size=8 bbWeight=1 PerfScore 1.25\n G_M57666_IG03:\n-       cmp      byte  ptr [rdi], dil\n        mov      eax, esi\n        shr      eax, 5\n\u002B       and      esi, 31\n\u002B       cmp      byte  ptr [rdi], dil\n        mov      eax, dword ptr [rdi\u002B4*rax]\n        bt       eax, esi\n        setb     al\n        movzx    rax, al\n-\t\t\t\t\t\t;; size=20 bbWeight=0.50 PerfScore 3.00\n\u002B\t\t\t\t\t\t;; size=23 bbWeight=0.50 PerfScore 3.12\n G_M57666_IG04:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.50\n G_M57666_IG05:\n        xor      eax, eax\n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n G_M57666_IG06:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=0.50 PerfScore 0.50\n \n-; Total bytes of code 32, prolog size 0, PerfScore 5.38, instruction count 12, allocated bytes for code 32 (MethodHash=982e1ebd) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCodePointAllowed(uint):bool:this (FullOpts)\n\u002B; Total bytes of code 35, prolog size 0, PerfScore 5.50, instruction count 13, allocated bytes for code 35 (MethodHash=982e1ebd) for method System.Text.Encodings.Web.AllowedBmpCodePointsBitmap:IsCodePointAllowed(uint):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":32,"DiffBytes":35},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:EncodeUtf16(System.Text.Rune,System.Span\u00601[char]):int:this (FullOpts)","Category":"same-size","Description":"76 -\u003E 76 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,76 \u002B1,83 @@\n ; Assembly listing for method System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:EncodeUtf16(System.Text.Rune,System.Span\u00601[char]):int:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  5,  4.50)     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation\u003E\n ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    single-def \u003CSystem.Text.Rune\u003E\n ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def \u003CSystem.Span\u00601[char]\u003E\n ;  V03 loc0         [V03,T06] (  2,  1   )   ubyte  -\u003E  rbx         ld-addr-op\n ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V05 tmp1         [V05    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V06 tmp2         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n ;  V07 tmp3         [V07,T04] (  2,  3   )   byref  -\u003E  rax         single-def \u0022Inlining Arg\u0022\n-;* V08 tmp4         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n-;  V09 tmp5         [V09,T05] (  3,  1.50)   ubyte  -\u003E  rbx         \u0022Inline stloc first use temp\u0022\n-;* V10 tmp6         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V11 tmp7         [V11,T01] (  4,  3   )     int  -\u003E  rsi         single-def \u0022field V01._value (fldOffset=0x0)\u0022 P-INDEP\n-;  V12 tmp8         [V12,T02] (  4,  2.50)   byref  -\u003E  rdx         single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V13 tmp9         [V13,T03] (  3,  2   )     int  -\u003E  rcx         single-def \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V14 tmp10        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V08 tmp4         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V09 tmp5         [V09    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Span.get_Item index\u0022\n\u002B;  V10 tmp6         [V10,T05] (  3,  1.50)   ubyte  -\u003E  rbx         \u0022Inline stloc first use temp\u0022\n\u002B;* V11 tmp7         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V12 tmp8         [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V13 tmp9         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;  V14 tmp10        [V14,T01] (  4,  3   )     int  -\u003E  rsi         single-def \u0022field V01._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V15 tmp11        [V15,T02] (  4,  2.50)   byref  -\u003E  rdx         single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V16 tmp12        [V16,T03] (  3,  2   )     int  -\u003E  rcx         single-def \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V17 tmp13        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V18 tmp14        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp15        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V20 tmp16        [V20    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V21 tmp17        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M50524_IG01:\n        push     rbp\n        push     rbx\n        lea      rbp, [rsp\u002B0x08]\n \t\t\t\t\t\t;; size=7 bbWeight=1 PerfScore 2.50\n G_M50524_IG02:\n        cmp      byte  ptr [rdi], dil\n        lea      rax, bword ptr [rdi\u002B0x08]\n        cmp      esi, 127\n        ja       SHORT G_M50524_IG04\n \t\t\t\t\t\t;; size=12 bbWeight=1 PerfScore 3.75\n G_M50524_IG03:\n        mov      r8d, esi\n        movzx    rbx, byte  ptr [rax\u002Br8]\n        test     ebx, ebx\n        jne      SHORT G_M50524_IG06\n \t\t\t\t\t\t;; size=12 bbWeight=0.50 PerfScore 1.75\n G_M50524_IG04:\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:\u003CEncodeUtf16\u003Eg__TryEncodeScalarAsHex|5_0(System.Object,System.Text.Rune,System.Span\u00601[char]):int\n \t\t\t\t\t\t;; size=10 bbWeight=0.50 PerfScore 0.12\n G_M50524_IG05:\n        pop      rbx\n        pop      rbp\n        tail.jmp [rax]System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:\u003CEncodeUtf16\u003Eg__TryEncodeScalarAsHex|5_0(System.Object,System.Text.Rune,System.Span\u00601[char]):int\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 1.50\n G_M50524_IG06:\n        cmp      ecx, 1\n        jg       SHORT G_M50524_IG08\n        mov      eax, -1\n \t\t\t\t\t\t;; size=10 bbWeight=0.50 PerfScore 0.75\n G_M50524_IG07:\n        pop      rbx\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=3 bbWeight=0.50 PerfScore 1.00\n G_M50524_IG08:\n        mov      word  ptr [rdx], 92\n        mov      word  ptr [rdx\u002B0x02], bx\n        mov      eax, 2\n \t\t\t\t\t\t;; size=14 bbWeight=0.50 PerfScore 1.12\n G_M50524_IG09:\n        pop      rbx\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=3 bbWeight=0.50 PerfScore 1.00\n \n ; Total bytes of code 76, prolog size 7, PerfScore 13.50, instruction count 27, allocated bytes for code 76 (MethodHash=850b3aa3) for method System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:EncodeUtf16(System.Text.Rune,System.Span\u00601[char]):int:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":76,"DiffBytes":76},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHash3:GetCurrentHashAsUInt64():ulong:this (FullOpts)","Category":"improvement","Description":"320 -\u003E 312 bytes (-8)","ExtraInfo":null,"Diff":"@@ -1,145 \u002B1,145 @@\n ; Assembly listing for method System.IO.Hashing.XxHash3:GetCurrentHashAsUInt64():ulong:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T01] ( 10,  6.50)     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.IO.Hashing.XxHash3\u003E\n-;  V01 loc0         [V01,T07] (  3,  2   )    long  -\u003E  rax        \n-;  V02 loc1         [V02,T06] (  4,  2   )    long  -\u003E  r15        \n\u002B;  V01 loc0         [V01,T09] (  3,  2   )    long  -\u003E  rax        \n\u002B;  V02 loc1         [V02,T08] (  4,  2   )    long  -\u003E  r15        \n ;* V03 loc2         [V03    ] (  0,  0   )    long  -\u003E  zero-ref    ptr\n-;  V04 loc3         [V04    ] (  5,  3   )   byref  -\u003E  [rbp-0x28]  do-not-enreg[] must-init pinned ptr\n\u002B;  V04 loc3         [V04    ] (  3,  2   )   byref  -\u003E  [rbp-0x28]  do-not-enreg[] must-init pinned ptr\n ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V07 tmp2         [V07,T00] (  9,  9   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n-;* V08 tmp3         [V08    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V09 tmp4         [V09,T05] (  5,  2.50)    long  -\u003E  rax         \u0022Inline return value spill temp\u0022\n-;* V10 tmp5         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V11 tmp6         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n-;  V12 tmp7         [V12    ] (  2,  1   )   byref  -\u003E  [rbp-0x30]  do-not-enreg[] must-init pinned ptr \u0022Inline stloc first use temp\u0022\n-;* V13 tmp8         [V13    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n-;  V14 tmp9         [V14,T02] (  5,  5   )    long  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V15 tmp10        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V16 tmp11        [V16,T09] (  3,  1.50)   byref  -\u003E  rdi         single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V17 tmp12        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V18 tmp13        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V19 tmp14        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V20 tmp15        [V20    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V21 tmp16        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V22 tmp17        [V22,T08] (  2,  2   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n-;  V23 tmp18        [V23,T03] (  5,  5   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n-;  V24 tmp19        [V24,T04] (  3,  3   )    long  -\u003E  r14         \u0022Cast away GC\u0022\n-;  V25 rat0         [V25    ] (  1,  1   )    long  -\u003E  [rbp-0x20]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;  V07 tmp2         [V07,T04] (  3,  3   )   byref  -\u003E  r14         single-def \u0022Inlining Arg\u0022\n\u002B;  V08 tmp3         [V08,T05] (  3,  3   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n\u002B;  V09 tmp4         [V09,T00] (  9,  9   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;* V10 tmp5         [V10    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V11 tmp6         [V11,T07] (  5,  2.50)    long  -\u003E  rax         \u0022Inline return value spill temp\u0022\n\u002B;* V12 tmp7         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V13 tmp8         [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n\u002B;  V14 tmp9         [V14    ] (  2,  1   )   byref  -\u003E  [rbp-0x30]  do-not-enreg[] must-init pinned ptr \u0022Inline stloc first use temp\u0022\n\u002B;* V15 tmp10        [V15    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inline stloc first use temp\u0022\n\u002B;  V16 tmp11        [V16,T02] (  5,  5   )    long  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;* V17 tmp12        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;  V18 tmp13        [V18,T11] (  3,  1.50)   byref  -\u003E  rdi         single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp14        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V20 tmp15        [V20    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V21 tmp16        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V22 tmp17        [V22    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V17._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V23 tmp18        [V23    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V17._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V24 tmp19        [V24,T10] (  2,  2   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n\u002B;  V25 tmp20        [V25,T03] (  5,  5   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n\u002B;  V26 tmp21        [V26,T06] (  3,  3   )    long  -\u003E  r14         \u0022Cast away GC\u0022\n\u002B;  V27 rat0         [V27    ] (  1,  1   )    long  -\u003E  [rbp-0x20]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n ;\n ; Lcl frame size = 24\n \n G_M63869_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     rbx\n        sub      rsp, 24\n        lea      rbp, [rsp\u002B0x30]\n        xor      eax, eax\n        mov      qword ptr [rbp-0x28], rax\n        mov      qword ptr [rbp-0x30], rax\n        mov      rax, 0xD1FFAB1E\n        mov      qword ptr [rbp-0x20], rax\n        mov      rbx, rdi\n \t\t\t\t\t\t;; size=42 bbWeight=1 PerfScore 8.50\n G_M63869_IG02:\n        cmp      qword ptr [rbx\u002B0x18], 240\n        ja       SHORT G_M63869_IG08\n \t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 3.00\n G_M63869_IG03:\n        lea      rdi, bword ptr [rbx\u002B0x130]\n        mov      bword ptr [rbp-0x28], rdi\n        mov      esi, dword ptr [rbx\u002B0x18]\n        test     esi, esi\n        jl       G_M63869_IG12\n-       mov      rdi, bword ptr [rbp-0x28]\n        mov      rdx, qword ptr [rbx\u002B0x20]\n        mov      bword ptr [rbp-0x30], rdi\n        cmp      esi, 16\n        jbe      SHORT G_M63869_IG06\n        cmp      esi, 128\n        jbe      SHORT G_M63869_IG05\n        cmp      esi, 240\n        jbe      SHORT G_M63869_IG04\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHash3:HashLengthOver240(ptr,uint,ulong):ulong\n        call     [rax]System.IO.Hashing.XxHash3:HashLengthOver240(ptr,uint,ulong):ulong\n        jmp      SHORT G_M63869_IG07\n-\t\t\t\t\t\t;; size=69 bbWeight=0.50 PerfScore 8.88\n\u002B\t\t\t\t\t\t;; size=65 bbWeight=0.50 PerfScore 8.38\n G_M63869_IG04:\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHash3:HashLength129To240(ptr,uint,ulong):ulong\n        call     [rax]System.IO.Hashing.XxHash3:HashLength129To240(ptr,uint,ulong):ulong\n        jmp      SHORT G_M63869_IG07\n \t\t\t\t\t\t;; size=14 bbWeight=0.50 PerfScore 2.62\n G_M63869_IG05:\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHash3:HashLength17To128(ptr,uint,ulong):ulong\n        call     [rax]System.IO.Hashing.XxHash3:HashLength17To128(ptr,uint,ulong):ulong\n        jmp      SHORT G_M63869_IG07\n \t\t\t\t\t\t;; size=14 bbWeight=0.50 PerfScore 2.62\n G_M63869_IG06:\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHash3:HashLength0To16(ptr,uint,ulong):ulong\n        call     [rax]System.IO.Hashing.XxHash3:HashLength0To16(ptr,uint,ulong):ulong\n \t\t\t\t\t\t;; size=12 bbWeight=0.50 PerfScore 1.62\n G_M63869_IG07:\n        xor      rcx, rcx\n        mov      bword ptr [rbp-0x30], rcx\n        jmp      SHORT G_M63869_IG09\n \t\t\t\t\t\t;; size=8 bbWeight=0.50 PerfScore 1.62\n G_M63869_IG08:\n        test     dword ptr [rsp], esp\n        sub      rsp, 64\n        lea      r15, [rsp]\n        lea      rdi, bword ptr [rbx\u002B0x10]\n        mov      rsi, r15\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr)\n        call     [rax]System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr)\n-       lea      rdi, bword ptr [rbx\u002B0x70]\n-       mov      bword ptr [rbp-0x28], rdi\n-       mov      r14, bword ptr [rbp-0x28]\n\u002B       lea      r14, bword ptr [rbx\u002B0x70]\n\u002B       mov      bword ptr [rbp-0x28], r14\n        lea      rdi, bword ptr [rbx\u002B0x10]\n        mov      rsi, r15\n        mov      rdx, r14\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:DigestLong(byref,ptr,ptr)\n        call     [rax]System.IO.Hashing.XxHashShared:DigestLong(byref,ptr,ptr)\n        mov      rdx, 0xD1FFAB1E\n        imul     rdx, qword ptr [rbx\u002B0x18]\n        lea      rsi, [r14\u002B0x0B]\n        mov      rdi, r15\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:MergeAccumulators(ptr,ptr,ulong):ulong\n        call     [rax]System.IO.Hashing.XxHashShared:MergeAccumulators(ptr,ptr,ulong):ulong\n-\t\t\t\t\t\t;; size=98 bbWeight=0.50 PerfScore 11.38\n\u002B\t\t\t\t\t\t;; size=94 bbWeight=0.50 PerfScore 10.88\n G_M63869_IG09:\n        xor      r9d, r9d\n        mov      bword ptr [rbp-0x28], r9\n        mov      r9, 0xD1FFAB1E\n        cmp      qword ptr [rbp-0x20], r9\n        je       SHORT G_M63869_IG10\n        call     CORINFO_HELP_FAIL_FAST\n \t\t\t\t\t\t;; size=28 bbWeight=1 PerfScore 4.50\n G_M63869_IG10:\n        nop      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n G_M63869_IG11:\n        lea      rsp, [rbp-0x18]\n        pop      rbx\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 3.50\n G_M63869_IG12:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 320, prolog size 39, PerfScore 48.50, instruction count 79, allocated bytes for code 320 (MethodHash=29620682) for method System.IO.Hashing.XxHash3:GetCurrentHashAsUInt64():ulong:this (FullOpts)\n\u002B; Total bytes of code 312, prolog size 39, PerfScore 47.50, instruction count 77, allocated bytes for code 312 (MethodHash=29620682) for method System.IO.Hashing.XxHash3:GetCurrentHashAsUInt64():ulong:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":320,"DiffBytes":312},{"Assembly":"System.Net.Sockets.dasm","Method":"System.Net.InteropIPAddressExtensions:GetNativeIPAddress(System.Net.IPAddress):Interop\u002BSys\u002BIPAddress (FullOpts)","Category":"improvement","Description":"161 -\u003E 125 bytes (-36)","ExtraInfo":null,"Diff":"@@ -1,81 \u002B1,72 @@\n ; Assembly listing for method System.Net.InteropIPAddressExtensions:GetNativeIPAddress(System.Net.IPAddress):Interop\u002BSys\u002BIPAddress (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 RetBuf       [V00,T01] (  4,  4   )    long  -\u003E  r15         single-def\n ;  V01 arg0         [V01,T00] (  5,  4.50)     ref  -\u003E  rbx         class-hnd single-def \u003CSystem.Net.IPAddress\u003E\n-;  V02 loc0         [V02    ] (  5,  4   )  struct (24) [rbp-0x30]  do-not-enreg[XSF] addr-exposed ld-addr-op unsafe-buffer \u003CInterop\u002BSys\u002BIPAddress\u003E\n-;  V03 loc1         [V03    ] (  1,  1   )     int  -\u003E  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op\n-;  V04 loc2         [V04,T03] (  1,  1   )     int  -\u003E  [rbp-0x3C]  do-not-enreg[V] \u0022GSCookie dummy\u0022\n-;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;  V02 loc0         [V02    ] (  5,  4   )  struct (24) [rbp-0x28]  do-not-enreg[XSF] addr-exposed ld-addr-op \u003CInterop\u002BSys\u002BIPAddress\u003E\n\u002B;  V03 loc1         [V03    ] (  1,  1   )     int  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op\n\u002B;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n\u002B;* V05 tmp1         [V05    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V06 tmp2         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;* V07 tmp3         [V07    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V08 tmp4         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n-;  V09 tmp5         [V09,T02] (  2,  2   )   byref  -\u003E  rsi         single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V10 tmp6         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V11 rat0         [V11    ] (  1,  1   )    long  -\u003E  [rbp-0x18]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;* V07 tmp3         [V07    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n\u002B;* V08 tmp4         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V05._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V09 tmp5         [V09    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V10 tmp6         [V10,T02] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V11 tmp7         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n-; Lcl frame size = 48\n\u002B; Lcl frame size = 32\n \n G_M13151_IG01:\n        push     rbp\n        push     r15\n        push     rbx\n-       sub      rsp, 48\n-       lea      rbp, [rsp\u002B0x40]\n-       mov      rax, 0xD1FFAB1E\n-       mov      qword ptr [rbp-0x18], rax\n\u002B       sub      rsp, 32\n\u002B       lea      rbp, [rsp\u002B0x30]\n        mov      r15, rdi\n        mov      rbx, rsi\n-\t\t\t\t\t\t;; size=33 bbWeight=1 PerfScore 5.50\n\u002B\t\t\t\t\t\t;; size=19 bbWeight=1 PerfScore 4.25\n G_M13151_IG02:\n        vxorps   xmm0, xmm0, xmm0\n-       vmovdqu  xmmword ptr [rbp-0x30], xmm0\n        vmovdqu  xmmword ptr [rbp-0x28], xmm0\n-       lea      rsi, [rbp-0x30]\n\u002B       vmovdqu  xmmword ptr [rbp-0x20], xmm0\n\u002B       lea      rsi, bword ptr [rbp-0x28]\n        mov      edx, 16\n-       lea      rcx, [rbp-0x38]\n\u002B       lea      rcx, [rbp-0x30]\n        mov      rdi, rbx\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:TryWriteBytes(System.Span\u00601[byte],byref):bool:this\n        cmp      dword ptr [rdi], edi\n        call     [rax]System.Net.IPAddress:TryWriteBytes(System.Span\u00601[byte],byref):bool:this\n        cmp      qword ptr [rbx\u002B0x08], 0\n        je       SHORT G_M13151_IG04\n \t\t\t\t\t\t;; size=51 bbWeight=1 PerfScore 12.08\n G_M13151_IG03:\n-       mov      dword ptr [rbp-0x20], 1\n\u002B       mov      dword ptr [rbp-0x18], 1\n        mov      rdi, rbx\n        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:get_ScopeId():long:this\n        call     [rax]System.Net.IPAddress:get_ScopeId():long:this\n-       mov      dword ptr [rbp-0x1C], eax\n\u002B       mov      dword ptr [rbp-0x14], eax\n \t\t\t\t\t\t;; size=25 bbWeight=0.50 PerfScore 2.75\n G_M13151_IG04:\n-       vmovdqu  xmm0, xmmword ptr [rbp-0x30]\n\u002B       vmovdqu  xmm0, xmmword ptr [rbp-0x28]\n        vmovdqu  xmmword ptr [r15], xmm0\n-       mov      rax, qword ptr [rbp-0x20]\n\u002B       mov      rax, qword ptr [rbp-0x18]\n        mov      qword ptr [r15\u002B0x10], rax\n        mov      rax, r15\n-       mov      r9, 0xD1FFAB1E\n-       cmp      qword ptr [rbp-0x18], r9\n-       je       SHORT G_M13151_IG05\n-       call     CORINFO_HELP_FAIL_FAST\n-\t\t\t\t\t\t;; size=42 bbWeight=1 PerfScore 7.50\n\u002B\t\t\t\t\t\t;; size=21 bbWeight=1 PerfScore 4.25\n G_M13151_IG05:\n-       nop      \n-\t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n-G_M13151_IG06:\n-       add      rsp, 48\n\u002B       add      rsp, 32\n        pop      rbx\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=9 bbWeight=1 PerfScore 2.75\n \n-; Total bytes of code 161, prolog size 27, PerfScore 30.83, instruction count 41, allocated bytes for code 161 (MethodHash=e7bccca0) for method System.Net.InteropIPAddressExtensions:GetNativeIPAddress(System.Net.IPAddress):Interop\u002BSys\u002BIPAddress (FullOpts)\n\u002B; Total bytes of code 125, prolog size 13, PerfScore 26.08, instruction count 34, allocated bytes for code 125 (MethodHash=e7bccca0) for method System.Net.InteropIPAddressExtensions:GetNativeIPAddress(System.Net.IPAddress):Interop\u002BSys\u002BIPAddress (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":161,"DiffBytes":125},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.DefaultHtmlEncoder:WillEncode(int):bool:this (FullOpts)","Category":"regression","Description":"88 -\u003E 91 bytes (\u002B3)","ExtraInfo":null,"Diff":"@@ -1,69 \u002B1,77 @@\n ; Assembly listing for method System.Text.Encodings.Web.DefaultHtmlEncoder:WillEncode(int):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 6 single block inlinees; 2 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T02] (  3,  3   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.DefaultHtmlEncoder\u003E\n ;  V01 arg1         [V01,T00] (  6,  5   )     int  -\u003E  rsi         single-def\n ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V03 tmp1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Text.Rune\u003E\n ;  V04 tmp2         [V04,T01] (  3,  6   )     ref  -\u003E  rax         class-hnd exact single-def \u0022impAppendStmt\u0022 \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n ;* V05 tmp3         [V05    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n ;  V06 tmp4         [V06,T03] (  2,  3   )   byref  -\u003E  rax         single-def \u0022impAppendStmt\u0022\n ;* V07 tmp5         [V07    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V08 tmp6         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V09 tmp7         [V09    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V10 tmp8         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V11 tmp9         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V12 tmp10        [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V09 tmp7         [V09,T04] (  2,  1   )     int  -\u003E  rdi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V10 tmp8         [V10,T05] (  2,  1   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V12 tmp10        [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V13 tmp11        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V14 tmp12        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp13        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V16 tmp14        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V17 tmp15        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V18 tmp16        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp17        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M17656_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M17656_IG02:\n        mov      rax, gword ptr [rdi\u002B0x08]\n        lea      edi, [rsi\u002BD1FFAB1EH]\n        xor      edi, 0xD800\n        cmp      edi, 0xD1FFAB1E\n        jb       SHORT G_M17656_IG07\n        cmp      byte  ptr [rax], al\n        add      rax, 0x420\n        cmp      esi, 0xFFFF\n        ja       SHORT G_M17656_IG05\n \t\t\t\t\t\t;; size=40 bbWeight=1 PerfScore 7.50\n G_M17656_IG03:\n        mov      edi, esi\n        shr      edi, 5\n\u002B       and      esi, 31\n        mov      eax, dword ptr [rax\u002B4*rdi]\n        bt       eax, esi\n        setae    al\n        movzx    rax, al\n-\t\t\t\t\t\t;; size=17 bbWeight=0.50 PerfScore 2.00\n\u002B\t\t\t\t\t\t;; size=20 bbWeight=0.50 PerfScore 2.12\n G_M17656_IG04:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n G_M17656_IG05:\n        mov      eax, 1\n \t\t\t\t\t\t;; size=5 bbWeight=0.25 PerfScore 0.06\n G_M17656_IG06:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.25 PerfScore 0.38\n G_M17656_IG07:\n        mov      edi, 7\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 88, prolog size 4, PerfScore 11.94, instruction count 26, allocated bytes for code 88 (MethodHash=24c6bb07) for method System.Text.Encodings.Web.DefaultHtmlEncoder:WillEncode(int):bool:this (FullOpts)\n\u002B; Total bytes of code 91, prolog size 4, PerfScore 12.06, instruction count 27, allocated bytes for code 91 (MethodHash=24c6bb07) for method System.Text.Encodings.Web.DefaultHtmlEncoder:WillEncode(int):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":88,"DiffBytes":91},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:EncodeUtf8(System.Text.Rune,System.Span\u00601[byte]):int:this (FullOpts)","Category":"same-size","Description":"73 -\u003E 73 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,76 \u002B1,83 @@\n ; Assembly listing for method System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:EncodeUtf8(System.Text.Rune,System.Span\u00601[byte]):int:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  5,  4.50)     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation\u003E\n ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    single-def \u003CSystem.Text.Rune\u003E\n ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def \u003CSystem.Span\u00601[byte]\u003E\n ;  V03 loc0         [V03,T06] (  2,  1   )   ubyte  -\u003E  rbx         ld-addr-op\n ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V05 tmp1         [V05    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V06 tmp2         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n ;  V07 tmp3         [V07,T04] (  2,  3   )   byref  -\u003E  rax         single-def \u0022Inlining Arg\u0022\n-;* V08 tmp4         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022impAppendStmt\u0022\n-;  V09 tmp5         [V09,T05] (  3,  1.50)   ubyte  -\u003E  rbx         \u0022Inline stloc first use temp\u0022\n-;* V10 tmp6         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V11 tmp7         [V11,T01] (  4,  3   )     int  -\u003E  rsi         single-def \u0022field V01._value (fldOffset=0x0)\u0022 P-INDEP\n-;  V12 tmp8         [V12,T02] (  4,  2.50)   byref  -\u003E  rdx         single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V13 tmp9         [V13,T03] (  3,  2   )     int  -\u003E  rcx         single-def \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V14 tmp10        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V08 tmp4         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V09 tmp5         [V09    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Span.get_Item index\u0022\n\u002B;  V10 tmp6         [V10,T05] (  3,  1.50)   ubyte  -\u003E  rbx         \u0022Inline stloc first use temp\u0022\n\u002B;* V11 tmp7         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V12 tmp8         [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V13 tmp9         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;  V14 tmp10        [V14,T01] (  4,  3   )     int  -\u003E  rsi         single-def \u0022field V01._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V15 tmp11        [V15,T02] (  4,  2.50)   byref  -\u003E  rdx         single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V16 tmp12        [V16,T03] (  3,  2   )     int  -\u003E  rcx         single-def \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V17 tmp13        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V18 tmp14        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp15        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V20 tmp16        [V20    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V21 tmp17        [V21    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M22001_IG01:\n        push     rbp\n        push     rbx\n        lea      rbp, [rsp\u002B0x08]\n \t\t\t\t\t\t;; size=7 bbWeight=1 PerfScore 2.50\n G_M22001_IG02:\n        cmp      byte  ptr [rdi], dil\n        lea      rax, bword ptr [rdi\u002B0x08]\n        cmp      esi, 127\n        ja       SHORT G_M22001_IG04\n \t\t\t\t\t\t;; size=12 bbWeight=1 PerfScore 3.75\n G_M22001_IG03:\n        mov      r8d, esi\n        movzx    rbx, byte  ptr [rax\u002Br8]\n        test     ebx, ebx\n        jne      SHORT G_M22001_IG06\n \t\t\t\t\t\t;; size=12 bbWeight=0.50 PerfScore 1.75\n G_M22001_IG04:\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:\u003CEncodeUtf8\u003Eg__TryEncodeScalarAsHex|4_0(System.Object,System.Text.Rune,System.Span\u00601[byte]):int\n \t\t\t\t\t\t;; size=10 bbWeight=0.50 PerfScore 0.12\n G_M22001_IG05:\n        pop      rbx\n        pop      rbp\n        tail.jmp [rax]System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:\u003CEncodeUtf8\u003Eg__TryEncodeScalarAsHex|4_0(System.Object,System.Text.Rune,System.Span\u00601[byte]):int\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 1.50\n G_M22001_IG06:\n        cmp      ecx, 1\n        jg       SHORT G_M22001_IG08\n        mov      eax, -1\n \t\t\t\t\t\t;; size=10 bbWeight=0.50 PerfScore 0.75\n G_M22001_IG07:\n        pop      rbx\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=3 bbWeight=0.50 PerfScore 1.00\n G_M22001_IG08:\n        mov      byte  ptr [rdx], 92\n        mov      byte  ptr [rdx\u002B0x01], bl\n        mov      eax, 2\n \t\t\t\t\t\t;; size=11 bbWeight=0.50 PerfScore 1.12\n G_M22001_IG09:\n        pop      rbx\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=3 bbWeight=0.50 PerfScore 1.00\n \n ; Total bytes of code 73, prolog size 7, PerfScore 13.50, instruction count 27, allocated bytes for code 73 (MethodHash=be38aa0e) for method System.Text.Encodings.Web.DefaultJavaScriptEncoder\u002BEscaperImplementation:EncodeUtf8(System.Text.Rune,System.Span\u00601[byte]):int:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":73,"DiffBytes":73},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHashShared:Reset(byref) (FullOpts)","Category":"improvement","Description":"55 -\u003E 49 bytes (-6)","ExtraInfo":null,"Diff":"@@ -1,49 \u002B1,50 @@\n ; Assembly listing for method System.IO.Hashing.XxHashShared:Reset(byref) (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 arg0         [V00,T00] (  6,  6   )   byref  -\u003E  rdi         single-def\n-;  V01 loc0         [V01    ] (  3,  3   )   byref  -\u003E  [rsp\u002B0x00]  do-not-enreg[] pinned\n\u002B;  V01 loc0         [V01    ] (  2,  2   )   byref  -\u003E  [rsp\u002B0x00]  do-not-enreg[] pinned\n ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;* V03 tmp1         [V03    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V03 tmp1         [V03,T01] (  3,  6   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n ;* V04 tmp2         [V04    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V05 tmp3         [V05,T01] (  2,  4   )    long  -\u003E  rax         \u0022Cast away GC\u0022\n\u002B;* V05 tmp3         [V05    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V06 tmp4         [V06,T02] (  2,  4   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n ;\n ; Lcl frame size = 8\n \n G_M51130_IG01:\n        push     rax\n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n G_M51130_IG02:\n        xor      eax, eax\n        mov      dword ptr [rdi\u002B0x18], eax\n \t\t\t\t\t\t;; size=5 bbWeight=1 PerfScore 1.25\n G_M51130_IG03:\n        mov      qword ptr [rdi], rax\n \t\t\t\t\t\t;; size=3 bbWeight=1 PerfScore 1.00\n G_M51130_IG04:\n        mov      qword ptr [rdi\u002B0x08], rax\n        add      rdi, 32\n        mov      bword ptr [rsp], rdi\n-       mov      rax, bword ptr [rsp]\n        vmovups  zmm0, zmmword ptr [reloc @RWD00]\n-       vmovups  zmmword ptr [rax], zmm0\n-       xor      eax, eax\n-       mov      bword ptr [rsp], rax\n-\t\t\t\t\t\t;; size=38 bbWeight=1 PerfScore 9.50\n\u002B       vmovups  zmmword ptr [rdi], zmm0\n\u002B\t\t\t\t\t\t;; size=28 bbWeight=1 PerfScore 7.25\n G_M51130_IG05:\n\u002B       mov      bword ptr [rsp], rax\n\u002B\t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.00\n\u002BG_M51130_IG06:\n        vzeroupper \n        add      rsp, 8\n        ret      \n \t\t\t\t\t\t;; size=8 bbWeight=1 PerfScore 2.25\n RWD00  \tdq\t00000000C2B2AE3Dh, 9E3779B185EBCA87h, C2B2AE3D27D4EB4Fh, 165667B19E3779F9h, 85EBCA77C2B2AE63h, 0000000085EBCA77h, 27D4EB2F165667C5h, 000000009E3779B1h\n \n \n-; Total bytes of code 55, prolog size 1, PerfScore 15.00, instruction count 15, allocated bytes for code 55 (MethodHash=465c3845) for method System.IO.Hashing.XxHashShared:Reset(byref) (FullOpts)\n\u002B; Total bytes of code 49, prolog size 1, PerfScore 13.75, instruction count 13, allocated bytes for code 49 (MethodHash=465c3845) for method System.IO.Hashing.XxHashShared:Reset(byref) (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":55,"DiffBytes":49},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.DefaultJavaScriptEncoder:WillEncode(int):bool:this (FullOpts)","Category":"regression","Description":"88 -\u003E 91 bytes (\u002B3)","ExtraInfo":null,"Diff":"@@ -1,69 \u002B1,77 @@\n ; Assembly listing for method System.Text.Encodings.Web.DefaultJavaScriptEncoder:WillEncode(int):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 6 single block inlinees; 2 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T02] (  3,  3   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.DefaultJavaScriptEncoder\u003E\n ;  V01 arg1         [V01,T00] (  6,  5   )     int  -\u003E  rsi         single-def\n ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V03 tmp1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Text.Rune\u003E\n ;  V04 tmp2         [V04,T01] (  3,  6   )     ref  -\u003E  rax         class-hnd exact single-def \u0022impAppendStmt\u0022 \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n ;* V05 tmp3         [V05    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n ;  V06 tmp4         [V06,T03] (  2,  3   )   byref  -\u003E  rax         single-def \u0022impAppendStmt\u0022\n ;* V07 tmp5         [V07    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V08 tmp6         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V09 tmp7         [V09    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V10 tmp8         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V11 tmp9         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V12 tmp10        [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V09 tmp7         [V09,T04] (  2,  1   )     int  -\u003E  rdi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V10 tmp8         [V10,T05] (  2,  1   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V12 tmp10        [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V13 tmp11        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V14 tmp12        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp13        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V16 tmp14        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V17 tmp15        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V18 tmp16        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp17        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M30486_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M30486_IG02:\n        mov      rax, gword ptr [rdi\u002B0x08]\n        lea      edi, [rsi\u002BD1FFAB1EH]\n        xor      edi, 0xD800\n        cmp      edi, 0xD1FFAB1E\n        jb       SHORT G_M30486_IG07\n        cmp      byte  ptr [rax], al\n        add      rax, 0x420\n        cmp      esi, 0xFFFF\n        ja       SHORT G_M30486_IG05\n \t\t\t\t\t\t;; size=40 bbWeight=1 PerfScore 7.50\n G_M30486_IG03:\n        mov      edi, esi\n        shr      edi, 5\n\u002B       and      esi, 31\n        mov      eax, dword ptr [rax\u002B4*rdi]\n        bt       eax, esi\n        setae    al\n        movzx    rax, al\n-\t\t\t\t\t\t;; size=17 bbWeight=0.50 PerfScore 2.00\n\u002B\t\t\t\t\t\t;; size=20 bbWeight=0.50 PerfScore 2.12\n G_M30486_IG04:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n G_M30486_IG05:\n        mov      eax, 1\n \t\t\t\t\t\t;; size=5 bbWeight=0.25 PerfScore 0.06\n G_M30486_IG06:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.25 PerfScore 0.38\n G_M30486_IG07:\n        mov      edi, 7\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 88, prolog size 4, PerfScore 11.94, instruction count 26, allocated bytes for code 88 (MethodHash=99a988e9) for method System.Text.Encodings.Web.DefaultJavaScriptEncoder:WillEncode(int):bool:this (FullOpts)\n\u002B; Total bytes of code 91, prolog size 4, PerfScore 12.06, instruction count 27, allocated bytes for code 91 (MethodHash=99a988e9) for method System.Text.Encodings.Web.DefaultJavaScriptEncoder:WillEncode(int):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":88,"DiffBytes":91},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.OptimizedInboxTextEncoder\u002BAsciiPreescapedData:PopulatePreescapedData(byref,System.Text.Encodings.Web.ScalarEscaperBase):this (FullOpts)","Category":"same-size","Description":"375 -\u003E 375 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,201 \u002B1,209 @@\n ; Assembly listing for method System.Text.Encodings.Web.OptimizedInboxTextEncoder\u002BAsciiPreescapedData:PopulatePreescapedData(byref,System.Text.Encodings.Web.ScalarEscaperBase):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 9 single block inlinees; 6 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T06] (  4, 11   )   byref  -\u003E  rbx         this single-def\n ;  V01 arg1         [V01,T08] (  4,  6   )   byref  -\u003E  r15         single-def\n ;  V02 arg2         [V02,T09] (  4,  6   )     ref  -\u003E  r14         class-hnd single-def \u003CSystem.Text.Encodings.Web.ScalarEscaperBase\u003E\n ;* V03 loc0         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[char]\u003E\n-;* V04 loc1         [V04,T14] (  0,  0   )     int  -\u003E  zero-ref   \n\u002B;* V04 loc1         [V04,T16] (  0,  0   )     int  -\u003E  zero-ref   \n ;  V05 loc2         [V05,T02] (  5, 43.68)    long  -\u003E  [rbp-0x48]  ptr\n ;  V06 loc3         [V06,T05] (  7, 20   )     int  -\u003E  [rbp-0x4C]  ptr\n ;* V07 loc4         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u003CSystem.Text.Rune\u003E\n ;* V08 loc5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[char]\u003E\n ;  V09 loc6         [V09,T12] (  2,  4   )     int  -\u003E  rcx        \n ;* V10 loc7         [V10    ] (  0,  0   )     int  -\u003E  zero-ref   \n ;* V11 loc8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.Span\u00601[ulong]\u003E\n ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V13 tmp1         [V13    ] (  2,  2   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer \u0022stackallocLocal\u0022 \u003CUNNAMED\u003E\n ;* V14 tmp2         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;* V15 tmp3         [V15    ] (  0,  0   )  struct ( 8) zero-ref    \u0022impAppendStmt\u0022 \u003CSystem.Text.Rune\u003E\n ;* V16 tmp4         [V16    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[char]\u003E\n ;* V17 tmp5         [V17    ] (  0,  0   )  struct ( 8) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n ;* V18 tmp6         [V18    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V19 tmp7         [V19    ] (  0,  0   )  ushort  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V20 tmp8         [V20    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V21 tmp9         [V21    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V22 tmp10        [V22,T07] (  3, 12   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;* V23 tmp11        [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n\u002B;  V20 tmp8         [V20,T13] (  2,  4   )     int  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V21 tmp9         [V21,T14] (  2,  4   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V22 tmp10        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;  V23 tmp11        [V23,T07] (  3, 12   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n ;* V24 tmp12        [V24    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V25 tmp13        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n-;  V26 tmp14        [V26,T10] (  2,  8   )   byref  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;  V27 tmp15        [V27,T11] (  2,  8   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n-;* V28 tmp16        [V28    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V29 tmp17        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[ulong]\u003E\n-;  V30 tmp18        [V30,T04] (  4, 20.84)   byref  -\u003E  r13         single-def \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V31 tmp19        [V31,T15] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V32 tmp20        [V32    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V33 tmp21        [V33    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V34 tmp22        [V34    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V35 tmp23        [V35    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V36 tmp24        [V36    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V37 tmp25        [V37,T13] (  2,  2   )   byref  -\u003E  r13         single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V38 tmp26        [V38    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V39 tmp27        [V39    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V40 tmp28        [V40    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V16._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V41 tmp29        [V41    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V16._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V42 tmp30        [V42    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V17._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V43 tmp31        [V43    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V23._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V44 tmp32        [V44    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V23._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V45 tmp33        [V45    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V25._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V46 tmp34        [V46    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V25._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V47 tmp35        [V47    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V29._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V48 tmp36        [V48    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V29._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V49 cse0         [V49,T03] (  3, 24   )     int  -\u003E  [rbp-0x50]  spill-single-def ptr \u0022CSE #01: aggressive\u0022\n-;  V50 rat0         [V50,T01] (  9, 47   )    long  -\u003E  r12         \u0022Widened IV V04\u0022\n-;  V51 rat1         [V51,T00] (  6, 67.36)    long  -\u003E  rcx         \u0022Widened IV V09\u0022\n-;  V52 rat2         [V52    ] (  1,  1   )    long  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n\u002B;* V25 tmp13        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V26 tmp14        [V26    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n\u002B;* V27 tmp15        [V27    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V28 tmp16        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[char]\u003E\n\u002B;  V29 tmp17        [V29,T10] (  2,  8   )   byref  -\u003E  rdi         \u0022Inlining Arg\u0022\n\u002B;  V30 tmp18        [V30,T11] (  2,  8   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;* V31 tmp19        [V31    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V32 tmp20        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[ulong]\u003E\n\u002B;  V33 tmp21        [V33,T04] (  4, 20.84)   byref  -\u003E  r13         single-def \u0022field V03._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V34 tmp22        [V34,T17] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V35 tmp23        [V35    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V36 tmp24        [V36    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V37 tmp25        [V37    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V38 tmp26        [V38    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V39 tmp27        [V39    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V40 tmp28        [V40,T15] (  2,  2   )   byref  -\u003E  r13         single-def \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V41 tmp29        [V41    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V42 tmp30        [V42    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V43 tmp31        [V43    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V16._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V44 tmp32        [V44    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V16._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V45 tmp33        [V45    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V17._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V46 tmp34        [V46    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V47 tmp35        [V47    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V48 tmp36        [V48    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V25._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V49 tmp37        [V49    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V25._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V50 tmp38        [V50    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V26._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V51 tmp39        [V51    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V26._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V52 tmp40        [V52    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V28._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V53 tmp41        [V53    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V28._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V54 tmp42        [V54    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V32._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V55 tmp43        [V55    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V32._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V56 cse0         [V56,T03] (  3, 24   )     int  -\u003E  [rbp-0x50]  spill-single-def ptr \u0022CSE #01: aggressive\u0022\n\u002B;  V57 rat0         [V57,T01] (  9, 47   )    long  -\u003E  r12         \u0022Widened IV V04\u0022\n\u002B;  V58 rat1         [V58,T00] (  6, 67.36)    long  -\u003E  rcx         \u0022Widened IV V09\u0022\n\u002B;  V59 rat2         [V59    ] (  1,  1   )    long  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed \u0022GSSecurityCookie\u0022\n ;\n ; Lcl frame size = 40\n \n G_M6249_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n        sub      rsp, 40\n        lea      rbp, [rsp\u002B0x50]\n        mov      rax, 0xD1FFAB1E\n        mov      qword ptr [rbp-0x30], rax\n        mov      rbx, rdi\n        mov      r15, rsi\n        mov      r14, rdx\n \t\t\t\t\t\t;; size=42 bbWeight=1 PerfScore 8.75\n G_M6249_IG02:\n        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_MEMZERO\n        mov      rdi, rbx\n        mov      esi, 0x400\n        call     [rax]CORINFO_HELP_MEMZERO\n        vxorps   xmm0, xmm0, xmm0\n        vmovups  xmmword ptr [rbp-0x40], xmm0\n        lea      r13, [rbp-0x40]\n        xor      r12d, r12d\n \t\t\t\t\t\t;; size=36 bbWeight=1 PerfScore 5.83\n G_M6249_IG03:\n        lea      edx, [r12\u002BD1FFAB1EH]\n        xor      edx, 0xD800\n        cmp      edx, 0xD1FFAB1E\n        jb       G_M6249_IG14\n        lea      eax, [r12\u002B0x01]\n        mov      dword ptr [rbp-0x50], eax\n        mov      edx, eax\n        and      edx, -129\n        cmp      edx, 32\n        jbe      SHORT G_M6249_IG05\n \t\t\t\t\t\t;; size=47 bbWeight=8 PerfScore 42.00\n G_M6249_IG04:\n        mov      edx, r12d\n-       cmp      byte  ptr [r15], r15b\n        mov      ecx, edx\n        shr      ecx, 5\n\u002B       and      edx, 31\n\u002B       cmp      byte  ptr [r15], r15b\n        mov      ecx, dword ptr [r15\u002B4*rcx]\n        bt       ecx, edx\n        jb       G_M6249_IG13\n-\t\t\t\t\t\t;; size=24 bbWeight=2 PerfScore 13.00\n\u002B\t\t\t\t\t\t;; size=27 bbWeight=2 PerfScore 13.50\n G_M6249_IG05:\n        mov      rdx, r13\n        mov      ecx, 6\n        mov      rdi, r14\n        mov      esi, r12d\n        mov      r8, qword ptr [r14]\n        mov      r8, qword ptr [r8\u002B0x40]\n        call     [r8\u002B0x20]System.Text.Encodings.Web.ScalarEscaperBase:EncodeUtf16(System.Text.Rune,System.Span\u00601[char]):int:this\n        xor      ecx, ecx\n        mov      qword ptr [rbp-0x48], rcx\n        cmp      eax, 8\n        ja       G_M6249_IG15\n        mov      esi, eax\n        lea      rdi, bword ptr [r13\u002B2*rsi]\n        mov      esi, 8\n        mov      dword ptr [rbp-0x4C], eax\n        sub      esi, eax\n        add      rsi, rsi\n        mov      rdx, 0xD1FFAB1E      ; code for System.SpanHelpers:ClearWithoutReferences(byref,nuint)\n        call     [rdx]System.SpanHelpers:ClearWithoutReferences(byref,nuint)\n        mov      eax, dword ptr [rbp-0x4C]\n        lea      ecx, [rax-0x01]\n        test     ecx, ecx\n        jge      SHORT G_M6249_IG08\n \t\t\t\t\t\t;; size=82 bbWeight=2 PerfScore 41.00\n G_M6249_IG06:\n        mov      rdi, qword ptr [rbp-0x48]\n        jmp      SHORT G_M6249_IG09\n-       align    [3 bytes for IG07]\n-\t\t\t\t\t\t;; size=9 bbWeight=1 PerfScore 3.00\n\u002B       align    [0 bytes for IG07]\n\u002B\t\t\t\t\t\t;; size=6 bbWeight=1 PerfScore 3.00\n G_M6249_IG07:\n        mov      qword ptr [rbp-0x48], rdi\n \t\t\t\t\t\t;; size=4 bbWeight=7.92 PerfScore 7.92\n G_M6249_IG08:\n        movzx    rdx, word  ptr [r13\u002B2*rcx]\n        mov      rdi, qword ptr [rbp-0x48]\n        shl      rdi, 8\n        or       rdi, rdx\n        dec      ecx\n        jns      SHORT G_M6249_IG07\n \t\t\t\t\t\t;; size=21 bbWeight=15.84 PerfScore 79.20\n G_M6249_IG09:\n        mov      eax, eax\n        shl      rax, 56\n        or       rax, rdi\n        mov      qword ptr [rbx\u002B8*r12], rax\n        mov      r12d, dword ptr [rbp-0x50]\n        cmp      r12d, 128\n        jl       G_M6249_IG03\n \t\t\t\t\t\t;; size=30 bbWeight=8 PerfScore 34.00\n G_M6249_IG10:\n        mov      r9, 0xD1FFAB1E\n        cmp      qword ptr [rbp-0x30], r9\n        je       SHORT G_M6249_IG11\n        call     CORINFO_HELP_FAIL_FAST\n \t\t\t\t\t\t;; size=21 bbWeight=1 PerfScore 3.25\n G_M6249_IG11:\n        nop      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 0.25\n G_M6249_IG12:\n        add      rsp, 40\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=15 bbWeight=1 PerfScore 4.25\n G_M6249_IG13:\n        mov      edi, r12d\n        mov      ecx, 1\n        mov      eax, ecx\n        jmp      SHORT G_M6249_IG09\n \t\t\t\t\t\t;; size=12 bbWeight=2 PerfScore 5.50\n G_M6249_IG14:\n        mov      edi, 7\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n G_M6249_IG15:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 375, prolog size 42, PerfScore 247.95, instruction count 102, allocated bytes for code 375 (MethodHash=6bf6e796) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder\u002BAsciiPreescapedData:PopulatePreescapedData(byref,System.Text.Encodings.Web.ScalarEscaperBase):this (FullOpts)\n\u002B; Total bytes of code 375, prolog size 42, PerfScore 248.45, instruction count 103, allocated bytes for code 375 (MethodHash=6bf6e796) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder\u002BAsciiPreescapedData:PopulatePreescapedData(byref,System.Text.Encodings.Web.ScalarEscaperBase):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":375,"DiffBytes":375},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr) (FullOpts)","Category":"improvement","Description":"58 -\u003E 54 bytes (-4)","ExtraInfo":null,"Diff":"@@ -1,50 \u002B1,50 @@\n ; Assembly listing for method System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr) (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n-;  V00 arg0         [V00,T00] (  4,  4   )   byref  -\u003E  rdi         single-def\n\u002B;  V00 arg0         [V00,T03] (  3,  3   )   byref  -\u003E  rdi         single-def\n ;  V01 arg1         [V01,T01] (  4,  4   )    long  -\u003E  rsi         single-def\n ;* V02 loc0         [V02    ] (  0,  0   )    long  -\u003E  zero-ref   \n-;  V03 loc1         [V03    ] (  3,  3   )   byref  -\u003E  [rbp-0x08]  do-not-enreg[] pinned\n\u002B;  V03 loc1         [V03    ] (  2,  2   )   byref  -\u003E  [rbp-0x08]  do-not-enreg[] pinned\n ;* V04 loc2         [V04    ] (  0,  0   )     int  -\u003E  zero-ref   \n ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V06 tmp1         [V06    ] (  0,  0   )  simd32  -\u003E  zero-ref    \u0022spilled call-like call argument\u0022\n ;* V07 tmp2         [V07    ] (  0,  0   )  simd32  -\u003E  zero-ref    \u0022spilled call-like call argument\u0022\n-;* V08 tmp3         [V08    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V08 tmp3         [V08,T00] (  4,  8   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n ;* V09 tmp4         [V09    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V10 tmp5         [V10,T02] (  3,  6   )    long  -\u003E  rax         \u0022Cast away GC\u0022\n\u002B;* V10 tmp5         [V10    ] (  0,  0   )    long  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;  V11 tmp6         [V11,T02] (  3,  6   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n ;\n ; Lcl frame size = 16\n \n G_M27563_IG01:\n        push     rbp\n        sub      rsp, 16\n        lea      rbp, [rsp\u002B0x10]\n \t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 1.75\n G_M27563_IG02:\n-       cmp      byte  ptr [rdi], dil\n        add      rdi, 32\n\u002B       cmp      byte  ptr [rdi], dil\n        mov      bword ptr [rbp-0x08], rdi\n-       mov      rax, bword ptr [rbp-0x08]\n-       vmovups  ymm0, ymmword ptr [rax]\n\u002B       vmovups  ymm0, ymmword ptr [rdi]\n        vmovups  ymmword ptr [rsi], ymm0\n-       vmovups  ymm0, ymmword ptr [rax\u002B0x20]\n\u002B       vmovups  ymm0, ymmword ptr [rdi\u002B0x20]\n        vmovups  ymmword ptr [rsi\u002B0x20], ymm0\n        xor      eax, eax\n        mov      bword ptr [rbp-0x08], rax\n-\t\t\t\t\t\t;; size=39 bbWeight=1 PerfScore 13.50\n\u002B\t\t\t\t\t\t;; size=35 bbWeight=1 PerfScore 12.50\n G_M27563_IG03:\n        vzeroupper \n        add      rsp, 16\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=9 bbWeight=1 PerfScore 2.75\n \n-; Total bytes of code 58, prolog size 10, PerfScore 18.00, instruction count 17, allocated bytes for code 58 (MethodHash=29309454) for method System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr) (FullOpts)\n\u002B; Total bytes of code 54, prolog size 10, PerfScore 17.00, instruction count 16, allocated bytes for code 54 (MethodHash=29309454) for method System.IO.Hashing.XxHashShared:CopyAccumulators(byref,ptr) (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":58,"DiffBytes":54},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.DefaultUrlEncoder:WillEncode(int):bool:this (FullOpts)","Category":"regression","Description":"88 -\u003E 91 bytes (\u002B3)","ExtraInfo":null,"Diff":"@@ -1,69 \u002B1,77 @@\n ; Assembly listing for method System.Text.Encodings.Web.DefaultUrlEncoder:WillEncode(int):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 6 single block inlinees; 2 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T02] (  3,  3   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.DefaultUrlEncoder\u003E\n ;  V01 arg1         [V01,T00] (  6,  5   )     int  -\u003E  rsi         single-def\n ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V03 tmp1         [V03    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Text.Rune\u003E\n ;  V04 tmp2         [V04,T01] (  3,  6   )     ref  -\u003E  rax         class-hnd exact single-def \u0022impAppendStmt\u0022 \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n ;* V05 tmp3         [V05    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n ;  V06 tmp4         [V06,T03] (  2,  3   )   byref  -\u003E  rax         single-def \u0022impAppendStmt\u0022\n ;* V07 tmp5         [V07    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V08 tmp6         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V09 tmp7         [V09    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V10 tmp8         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V11 tmp9         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V12 tmp10        [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V09 tmp7         [V09,T04] (  2,  1   )     int  -\u003E  rdi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V10 tmp8         [V10,T05] (  2,  1   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V11 tmp9         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V12 tmp10        [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V13 tmp11        [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V14 tmp12        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V03._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp13        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V05._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V16 tmp14        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V17 tmp15        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V18 tmp16        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp17        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M30126_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M30126_IG02:\n        mov      rax, gword ptr [rdi\u002B0x08]\n        lea      edi, [rsi\u002BD1FFAB1EH]\n        xor      edi, 0xD800\n        cmp      edi, 0xD1FFAB1E\n        jb       SHORT G_M30126_IG07\n        cmp      byte  ptr [rax], al\n        add      rax, 0x420\n        cmp      esi, 0xFFFF\n        ja       SHORT G_M30126_IG05\n \t\t\t\t\t\t;; size=40 bbWeight=1 PerfScore 7.50\n G_M30126_IG03:\n        mov      edi, esi\n        shr      edi, 5\n\u002B       and      esi, 31\n        mov      eax, dword ptr [rax\u002B4*rdi]\n        bt       eax, esi\n        setae    al\n        movzx    rax, al\n-\t\t\t\t\t\t;; size=17 bbWeight=0.50 PerfScore 2.00\n\u002B\t\t\t\t\t\t;; size=20 bbWeight=0.50 PerfScore 2.12\n G_M30126_IG04:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n G_M30126_IG05:\n        mov      eax, 1\n \t\t\t\t\t\t;; size=5 bbWeight=0.25 PerfScore 0.06\n G_M30126_IG06:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.25 PerfScore 0.38\n G_M30126_IG07:\n        mov      edi, 7\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 88, prolog size 4, PerfScore 11.94, instruction count 26, allocated bytes for code 88 (MethodHash=32598a51) for method System.Text.Encodings.Web.DefaultUrlEncoder:WillEncode(int):bool:this (FullOpts)\n\u002B; Total bytes of code 91, prolog size 4, PerfScore 12.06, instruction count 27, allocated bytes for code 91 (MethodHash=32598a51) for method System.Text.Encodings.Web.DefaultUrlEncoder:WillEncode(int):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":88,"DiffBytes":91},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.OptimizedInboxTextEncoder:EncodeUtf8(System.ReadOnlySpan\u00601[byte],System.Span\u00601[byte],byref,byref,bool):int:this (FullOpts)","Category":"same-size","Description":"528 -\u003E 528 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,299 \u002B1,307 @@\n ; Assembly listing for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:EncodeUtf8(System.ReadOnlySpan\u00601[byte],System.Span\u00601[byte],byref,byref,bool):int:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 14 single block inlinees; 8 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 17 single block inlinees; 8 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T08] (  6, 11   )     ref  -\u003E  r14         this class-hnd single-def \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def \u003CSystem.Span\u00601[byte]\u003E\n ;  V03 arg3         [V03,T26] (  3,  3   )   byref  -\u003E  [rbp-0x50]  single-def\n-;  V04 arg4         [V04,T30] (  1,  1   )   byref  -\u003E  [rbp\u002B0x10]  single-def\n-;  V05 arg5         [V05,T29] (  1,  2   )   ubyte  -\u003E  [rbp\u002B0x18]  single-def\n\u002B;  V04 arg4         [V04,T32] (  1,  1   )   byref  -\u003E  [rbp\u002B0x10]  single-def\n\u002B;  V05 arg5         [V05,T31] (  1,  2   )   ubyte  -\u003E  [rbp\u002B0x18]  single-def\n ;  V06 loc0         [V06,T06] ( 12, 30   )     int  -\u003E  [rbp-0x2C] \n ;  V07 loc1         [V07,T04] ( 20, 38   )     int  -\u003E  [rbp-0x30] \n-;  V08 loc2         [V08,T28] (  4,  2.50)     int  -\u003E  rcx        \n\u002B;  V08 loc2         [V08,T30] (  4,  2.50)     int  -\u003E  rcx        \n ;  V09 loc3         [V09,T12] (  3, 10   )     int  -\u003E  r11        \n ;  V10 loc4         [V10,T01] (  7, 70   )    long  -\u003E  rcx         ld-addr-op\n ;  V11 loc5         [V11,T03] (  5, 52   )     int  -\u003E  registers  \n ;  V12 loc6         [V12,T24] (  3,  6   )     int  -\u003E  rax        \n ;  V13 loc7         [V13    ] (  4,  8   )  struct ( 8) [rbp-0x38]  do-not-enreg[XS] addr-exposed ld-addr-op \u003CSystem.Text.Rune\u003E\n ;  V14 loc8         [V14    ] (  2,  4   )     int  -\u003E  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op\n ;  V15 loc9         [V15,T25] (  3,  6   )     int  -\u003E  rax        \n ;  V16 loc10        [V16    ] (  3,  6   )     int  -\u003E  [rbp-0x48]  do-not-enreg[X] addr-exposed ld-addr-op\n ;# V17 OutArgs      [V17    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V18 tmp1         [V18    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;  V19 tmp2         [V19,T10] (  3, 12   )     ref  -\u003E  rdi         class-hnd \u0022impAppendStmt\u0022 \u003CSystem.Text.Encodings.Web.ScalarEscaperBase\u003E\n ;* V20 tmp3         [V20    ] (  0,  0   )  struct ( 8) zero-ref    \u0022impAppendStmt\u0022 \u003CSystem.Text.Rune\u003E\n ;* V21 tmp4         [V21    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V22 tmp5         [V22    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V23 tmp6         [V23    ] (  0,  0   )  struct (16) zero-ref    \u0022spilled call-like call argument\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;  V24 tmp7         [V24,T00] (  3, 96   )     int  -\u003E  rdx         \u0022impSpillLclRefs\u0022\n ;  V25 tmp8         [V25,T02] (  2, 64   )    long  -\u003E  rcx         \u0022dup spill\u0022\n ;* V26 tmp9         [V26    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;  V27 tmp10        [V27,T11] (  2, 12   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n ;* V28 tmp11        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[ulong]\u003E\n ;* V29 tmp12        [V29    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V30 tmp13        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[ulong]\u003E\n ;* V31 tmp14        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;  V32 tmp15        [V32,T15] (  2,  8   )   byref  -\u003E  rdx         \u0022Inlining Arg\u0022\n ;  V33 tmp16        [V33,T20] (  2,  8   )     int  -\u003E  rdi         \u0022Inlining Arg\u0022\n ;* V34 tmp17        [V34    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inlining Arg\u0022\n ;* V35 tmp18        [V35    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V36 tmp19        [V36    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V37 tmp20        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n ;* V38 tmp21        [V38    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;  V39 tmp22        [V39,T16] (  2,  8   )   byref  -\u003E  rdi         \u0022Inlining Arg\u0022\n ;  V40 tmp23        [V40,T21] (  2,  8   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n ;* V41 tmp24        [V41    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Text.Rune\u003E\n ;  V42 tmp25        [V42,T17] (  2,  8   )   byref  -\u003E  rdx         \u0022impAppendStmt\u0022\n ;* V43 tmp26        [V43    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;* V44 tmp27        [V44    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V45 tmp28        [V45    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V46 tmp29        [V46    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V47 tmp30        [V47    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;  V48 tmp31        [V48,T18] (  2,  8   )   byref  -\u003E  rsi         \u0022Inlining Arg\u0022\n-;  V49 tmp32        [V49,T22] (  2,  8   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V45 tmp28        [V45,T27] (  2,  4   )     int  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V46 tmp29        [V46,T28] (  2,  4   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V47 tmp30        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V48 tmp31        [V48    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V49 tmp32        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n ;* V50 tmp33        [V50    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;  V51 tmp34        [V51,T19] (  2,  8   )   byref  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;  V52 tmp35        [V52,T23] (  2,  8   )     int  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;  V53 tmp36        [V53,T13] (  3,  7   )   byref  -\u003E  r12         single-def \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V54 tmp37        [V54,T09] (  3, 11   )     int  -\u003E  r13         single-def \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V55 tmp38        [V55,T07] (  5, 23   )   byref  -\u003E  r15         single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V56 tmp39        [V56,T05] (  9, 31   )     int  -\u003E  rbx         single-def \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V57 tmp40        [V57    ] (  4,  8   )     int  -\u003E  [rbp-0x38]  do-not-enreg[X] addr-exposed \u0022field V13._value (fldOffset=0x0)\u0022 P-DEP\n-;* V58 tmp41        [V58    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V59 tmp42        [V59    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V60 tmp43        [V60,T27] (  2,  4   )     int  -\u003E  rsi         \u0022field V20._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V61 tmp44        [V61    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V21._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V62 tmp45        [V62    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V21._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V63 tmp46        [V63    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V64 tmp47        [V64    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V65 tmp48        [V65    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V23._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V66 tmp49        [V66    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V23._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V67 tmp50        [V67    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V28._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V68 tmp51        [V68    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V28._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V69 tmp52        [V69    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V30._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V70 tmp53        [V70    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V30._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V71 tmp54        [V71    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V31._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V72 tmp55        [V72    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V31._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V73 tmp56        [V73    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V36._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V74 tmp57        [V74    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V36._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V75 tmp58        [V75    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V37._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V76 tmp59        [V76    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V37._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V77 tmp60        [V77    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V38._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V78 tmp61        [V78    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V38._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V79 tmp62        [V79,T14] (  4,  8   )     int  -\u003E  rsi         \u0022field V41._value (fldOffset=0x0)\u0022 P-INDEP\n-;* V80 tmp63        [V80    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V47._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V81 tmp64        [V81    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V47._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V82 tmp65        [V82    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V50._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V83 tmp66        [V83    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V50._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V51 tmp34        [V51,T18] (  2,  8   )   byref  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;  V52 tmp35        [V52,T22] (  2,  8   )     int  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;* V53 tmp36        [V53    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;  V54 tmp37        [V54,T19] (  2,  8   )   byref  -\u003E  rdx         \u0022Inlining Arg\u0022\n\u002B;  V55 tmp38        [V55,T23] (  2,  8   )     int  -\u003E  rcx         \u0022Inlining Arg\u0022\n\u002B;  V56 tmp39        [V56,T13] (  3,  7   )   byref  -\u003E  r12         single-def \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V57 tmp40        [V57,T09] (  3, 11   )     int  -\u003E  r13         single-def \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V58 tmp41        [V58,T07] (  5, 23   )   byref  -\u003E  r15         single-def \u0022field V02._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V59 tmp42        [V59,T05] (  9, 31   )     int  -\u003E  rbx         single-def \u0022field V02._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V60 tmp43        [V60    ] (  4,  8   )     int  -\u003E  [rbp-0x38]  do-not-enreg[X] addr-exposed \u0022field V13._value (fldOffset=0x0)\u0022 P-DEP\n\u002B;* V61 tmp44        [V61    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V62 tmp45        [V62    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V63 tmp46        [V63,T29] (  2,  4   )     int  -\u003E  rsi         \u0022field V20._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V64 tmp47        [V64    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V21._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V65 tmp48        [V65    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V21._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V66 tmp49        [V66    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V67 tmp50        [V67    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V68 tmp51        [V68    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V23._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V69 tmp52        [V69    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V23._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V70 tmp53        [V70    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V28._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V71 tmp54        [V71    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V28._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V72 tmp55        [V72    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V30._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V73 tmp56        [V73    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V30._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V74 tmp57        [V74    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V31._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V75 tmp58        [V75    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V31._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V76 tmp59        [V76    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V36._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V77 tmp60        [V77    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V36._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V78 tmp61        [V78    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V37._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V79 tmp62        [V79    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V37._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V80 tmp63        [V80    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V38._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V81 tmp64        [V81    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V38._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V82 tmp65        [V82,T14] (  4,  8   )     int  -\u003E  rsi         \u0022field V41._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V83 tmp66        [V83    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V47._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V84 tmp67        [V84    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V47._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V85 tmp68        [V85    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V49._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V86 tmp69        [V86    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V49._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V87 tmp70        [V87    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V50._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V88 tmp71        [V88    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V50._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V89 tmp72        [V89    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V53._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V90 tmp73        [V90    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V53._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 40\n \n G_M62619_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     r12\n        push     rbx\n        sub      rsp, 40\n        lea      rbp, [rsp\u002B0x50]\n        mov      bword ptr [rbp-0x50], r9\n        mov      r14, rdi\n        mov      r12, rsi\n        mov      r13d, edx\n        mov      r15, rcx\n        mov      ebx, r8d\n \t\t\t\t\t\t;; size=38 bbWeight=1 PerfScore 9.00\n G_M62619_IG02:\n        cmp      byte  ptr [r14], r14b\n        xor      r9d, r9d\n        xor      r10d, r10d\n        mov      dword ptr [rbp-0x30], r10d\n        jmp      SHORT G_M62619_IG04\n-       align    [4 bytes for IG16]\n-\t\t\t\t\t\t;; size=19 bbWeight=1 PerfScore 5.50\n\u002B       align    [1 bytes for IG16]\n\u002B\t\t\t\t\t\t;; size=16 bbWeight=1 PerfScore 5.50\n G_M62619_IG03:\n        mov      eax, dword ptr [rbp-0x30]\n        add      eax, dword ptr [rbp-0x48]\n        mov      r9d, dword ptr [rbp-0x2C]\n        add      r9d, dword ptr [rbp-0x48]\n        mov      dword ptr [rbp-0x2C], r9d\n        mov      dword ptr [rbp-0x30], eax\n        mov      r9d, dword ptr [rbp-0x2C]\n \t\t\t\t\t\t;; size=25 bbWeight=2 PerfScore 14.00\n G_M62619_IG04:\n        cmp      r13d, r9d\n        jbe      G_M62619_IG20\n \t\t\t\t\t\t;; size=9 bbWeight=8 PerfScore 10.00\n G_M62619_IG05:\n        mov      edi, r9d\n        movzx    r11, byte  ptr [r12\u002Brdi]\n        lea      rcx, bword ptr [r14\u002B0x20]\n        cmp      r11d, 127\n        jbe      G_M62619_IG14\n \t\t\t\t\t\t;; size=22 bbWeight=4 PerfScore 16.00\n G_M62619_IG06:\n        mov      edi, r9d\n        add      rdi, r12\n        mov      dword ptr [rbp-0x2C], r9d\n        mov      esi, r13d\n        sub      esi, r9d\n        lea      rdx, [rbp-0x38]\n        lea      rcx, [rbp-0x40]\n        mov      r11, 0xD1FFAB1E      ; code for System.Text.Rune:DecodeFromUtf8(System.ReadOnlySpan\u00601[byte],byref,byref):int\n        call     [r11]System.Text.Rune:DecodeFromUtf8(System.ReadOnlySpan\u00601[byte],byref,byref):int\n        test     eax, eax\n        jne      G_M62619_IG12\n        mov      esi, dword ptr [rbp-0x38]\n        lea      rdx, bword ptr [r14\u002B0x0420]\n        cmp      esi, 0xFFFF\n        ja       G_M62619_IG13\n        mov      ecx, esi\n        shr      ecx, 5\n\u002B       and      esi, 31\n        mov      edx, dword ptr [rdx\u002B4*rcx]\n        bt       edx, esi\n        jae      G_M62619_IG13\n        mov      eax, dword ptr [rbp-0x30]\n        cmp      eax, ebx\n        ja       G_M62619_IG21\n        mov      esi, eax\n        add      rsi, r15\n        mov      dword ptr [rbp-0x30], eax\n        mov      edx, ebx\n        sub      edx, eax\n        lea      rcx, [rbp-0x48]\n        mov      edi, dword ptr [rbp-0x38]\n        mov      r8, 0xD1FFAB1E      ; code for System.Text.Rune:TryEncodeToUtf8(System.Text.Rune,System.Span\u00601[byte],byref):bool\n        call     [r8]System.Text.Rune:TryEncodeToUtf8(System.Text.Rune,System.Span\u00601[byte],byref):bool\n        test     eax, eax\n        jne      G_M62619_IG03\n-\t\t\t\t\t\t;; size=135 bbWeight=2 PerfScore 49.50\n\u002B\t\t\t\t\t\t;; size=138 bbWeight=2 PerfScore 50.00\n G_M62619_IG07:\n        mov      r9d, dword ptr [rbp-0x2C]\n        mov      r10d, dword ptr [rbp-0x30]\n        jmp      G_M62619_IG17\n \t\t\t\t\t\t;; size=13 bbWeight=1 PerfScore 4.00\n G_M62619_IG08:\n        mov      r9d, dword ptr [rbp-0x2C]\n        mov      r10d, dword ptr [rbp-0x30]\n        jmp      G_M62619_IG17\n \t\t\t\t\t\t;; size=13 bbWeight=1 PerfScore 4.00\n G_M62619_IG09:\n        mov      ecx, 2\n \t\t\t\t\t\t;; size=5 bbWeight=0.50 PerfScore 0.12\n G_M62619_IG10:\n        mov      rax, bword ptr [rbp-0x50]\n        mov      r9d, dword ptr [rbp-0x2C]\n        mov      dword ptr [rax], r9d\n        mov      rbx, bword ptr [rbp\u002B0x10]\n        mov      r10d, dword ptr [rbp-0x30]\n        mov      dword ptr [rbx], r10d\n        mov      eax, ecx\n \t\t\t\t\t\t;; size=24 bbWeight=1 PerfScore 6.25\n G_M62619_IG11:\n        add      rsp, 40\n        pop      rbx\n        pop      r12\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=15 bbWeight=1 PerfScore 4.25\n G_M62619_IG12:\n        cmp      byte  ptr [rbp\u002B0x18], 0\n        jne      SHORT G_M62619_IG13\n        cmp      eax, 2\n        je       SHORT G_M62619_IG09\n \t\t\t\t\t\t;; size=11 bbWeight=2 PerfScore 6.50\n G_M62619_IG13:\n        mov      rdi, gword ptr [r14\u002B0x08]\n        mov      esi, dword ptr [rbp-0x38]\n        mov      eax, dword ptr [rbp-0x30]\n        cmp      eax, ebx\n        ja       G_M62619_IG21\n        mov      edx, eax\n        add      rdx, r15\n        mov      dword ptr [rbp-0x30], eax\n        mov      ecx, ebx\n        sub      ecx, eax\n        mov      r10, qword ptr [rdi]\n        mov      r10, qword ptr [r10\u002B0x40]\n        call     [r10\u002B0x28]System.Text.Encodings.Web.ScalarEscaperBase:EncodeUtf8(System.Text.Rune,System.Span\u00601[byte]):int:this\n        test     eax, eax\n        jl       SHORT G_M62619_IG08\n        mov      ecx, dword ptr [rbp-0x30]\n        add      ecx, eax\n        mov      eax, dword ptr [rbp-0x2C]\n        add      eax, dword ptr [rbp-0x40]\n        mov      dword ptr [rbp-0x30], ecx\n        mov      r9d, eax\n        jmp      G_M62619_IG04\n \t\t\t\t\t\t;; size=67 bbWeight=2 PerfScore 44.00\n G_M62619_IG14:\n        mov      edx, r11d\n        mov      rcx, qword ptr [rcx\u002B8*rdx]\n        mov      r10d, dword ptr [rbp-0x30]\n        cmp      r10d, ebx\n        ja       SHORT G_M62619_IG21\n        mov      edx, r10d\n        add      rdx, r15\n        mov      edi, ebx\n        sub      edi, r10d\n        cmp      edi, 8\n        jl       SHORT G_M62619_IG15\n        mov      qword ptr [rdx], rcx\n        shr      rcx, 56\n        add      r10d, ecx\n        jmp      SHORT G_M62619_IG19\n \t\t\t\t\t\t;; size=44 bbWeight=2 PerfScore 21.00\n G_M62619_IG15:\n        mov      edx, r10d\n        cmp      ebx, r10d\n        jbe      SHORT G_M62619_IG17\n \t\t\t\t\t\t;; size=8 bbWeight=2 PerfScore 3.00\n G_M62619_IG16:\n        lea      edi, [rdx\u002B0x01]\n        mov      edx, edx\n        mov      byte  ptr [r15\u002Brdx], cl\n        shr      rcx, 8\n        test     cl, cl\n        je       SHORT G_M62619_IG18\n        cmp      ebx, edi\n        mov      edx, edi\n        ja       SHORT G_M62619_IG16\n \t\t\t\t\t\t;; size=23 bbWeight=16 PerfScore 80.00\n G_M62619_IG17:\n        mov      ecx, 1\n        mov      dword ptr [rbp-0x30], r10d\n        mov      dword ptr [rbp-0x2C], r9d\n        jmp      G_M62619_IG10\n \t\t\t\t\t\t;; size=18 bbWeight=0.50 PerfScore 2.12\n G_M62619_IG18:\n        mov      r10d, edi\n \t\t\t\t\t\t;; size=3 bbWeight=2 PerfScore 0.50\n G_M62619_IG19:\n        inc      r9d\n        mov      dword ptr [rbp-0x30], r10d\n        jmp      G_M62619_IG04\n \t\t\t\t\t\t;; size=12 bbWeight=2 PerfScore 6.50\n G_M62619_IG20:\n        xor      ecx, ecx\n        mov      dword ptr [rbp-0x2C], r9d\n        jmp      G_M62619_IG10\n \t\t\t\t\t\t;; size=11 bbWeight=0.50 PerfScore 1.62\n G_M62619_IG21:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 528, prolog size 38, PerfScore 287.88, instruction count 157, allocated bytes for code 528 (MethodHash=faa50b64) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:EncodeUtf8(System.ReadOnlySpan\u00601[byte],System.Span\u00601[byte],byref,byref,bool):int:this (FullOpts)\n\u002B; Total bytes of code 528, prolog size 38, PerfScore 288.38, instruction count 158, allocated bytes for code 528 (MethodHash=faa50b64) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:EncodeUtf8(System.ReadOnlySpan\u00601[byte],System.Span\u00601[byte],byref,byref,bool):int:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":528,"DiffBytes":528},{"Assembly":"System.IO.Hashing.dasm","Method":"System.IO.Hashing.XxHashShared:Initialize(byref,ulong) (FullOpts)","Category":"improvement","Description":"128 -\u003E 124 bytes (-4)","ExtraInfo":null,"Diff":"@@ -1,81 \u002B1,81 @@\n ; Assembly listing for method System.IO.Hashing.XxHashShared:Initialize(byref,ulong) (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 1 single block inlinees; 3 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 arg0         [V00,T00] (  5,  5   )   byref  -\u003E  rbx         single-def\n ;  V01 arg1         [V01,T01] (  5,  4.50)    long  -\u003E  rsi         single-def\n ;* V02 loc0         [V02    ] (  0,  0   )    long  -\u003E  zero-ref   \n-;  V03 loc1         [V03    ] (  3,  3   )   byref  -\u003E  [rbp-0x10]  do-not-enreg[] pinned\n\u002B;  V03 loc1         [V03    ] (  2,  2   )   byref  -\u003E  [rbp-0x10]  do-not-enreg[] pinned\n ;* V04 loc2         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n-;* V09 tmp4         [V09    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V10 tmp5         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V11 tmp6         [V11,T03] (  4,  2   )   byref  -\u003E  rdi         single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V12 tmp7         [V12    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V13 tmp8         [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V07._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V14 tmp9         [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V07._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V15 tmp10        [V15    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V16 tmp11        [V16    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V17 tmp12        [V17,T02] (  3,  4   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n\u002B;  V07 tmp2         [V07,T02] (  3,  6   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n\u002B;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inlining Arg\u0022 \u003CSystem.Span\u00601[byte]\u003E\n\u002B;* V10 tmp5         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V04._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V11 tmp6         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V04._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V12 tmp7         [V12,T04] (  4,  2   )   byref  -\u003E  rdi         single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V13 tmp8         [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V14 tmp9         [V14    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp10        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V16 tmp11        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V17 tmp12        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V18 tmp13        [V18,T03] (  3,  4   )    long  -\u003E  rdi         \u0022Cast away GC\u0022\n ;\n ; Lcl frame size = 8\n \n G_M14036_IG01:\n        push     rbp\n        push     rbx\n        push     rax\n        lea      rbp, [rsp\u002B0x10]\n        mov      rbx, rdi\n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 3.75\n G_M14036_IG02:\n        mov      qword ptr [rbx\u002B0x10], rsi\n        lea      rdi, bword ptr [rbx\u002B0x60]\n        mov      bword ptr [rbp-0x10], rdi\n-       mov      rdi, bword ptr [rbp-0x10]\n        test     rsi, rsi\n        je       SHORT G_M14036_IG04\n-\t\t\t\t\t\t;; size=21 bbWeight=1 PerfScore 4.75\n\u002B\t\t\t\t\t\t;; size=17 bbWeight=1 PerfScore 3.75\n G_M14036_IG03:\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:DeriveSecretFromSeed(ptr,ulong)\n        call     [rax]System.IO.Hashing.XxHashShared:DeriveSecretFromSeed(ptr,ulong)\n        jmp      SHORT G_M14036_IG05\n \t\t\t\t\t\t;; size=14 bbWeight=0.50 PerfScore 2.62\n G_M14036_IG04:\n        vmovups  zmm0, zmmword ptr [reloc @RWD00]\n        vmovups  zmmword ptr [rdi], zmm0\n        vmovups  zmm0, zmmword ptr [reloc @RWD64]\n        vmovups  zmmword ptr [rdi\u002B0x40], zmm0\n        vmovups  zmm0, zmmword ptr [reloc @RWD128]\n        vmovups  zmmword ptr [rdi\u002B0x80], zmm0\n \t\t\t\t\t\t;; size=50 bbWeight=0.50 PerfScore 7.50\n G_M14036_IG05:\n        xor      edi, edi\n        mov      bword ptr [rbp-0x10], rdi\n        mov      rdi, rbx\n        mov      rax, 0xD1FFAB1E      ; code for System.IO.Hashing.XxHashShared:Reset(byref)\n        call     [rax]System.IO.Hashing.XxHashShared:Reset(byref)\n        nop      \n \t\t\t\t\t\t;; size=22 bbWeight=1 PerfScore 5.00\n G_M14036_IG06:\n        vzeroupper \n        add      rsp, 8\n        pop      rbx\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=10 bbWeight=1 PerfScore 3.25\n RWD00  \tdq\tBE4BA423396CFEB8h, 1CAD21F72C81017Ch, DB979083E96DD4DEh, 1F67B3B7A4A44072h, 78E5C0CC4EE679CBh, 2172FFCC7DD05A82h, 8E2443F7744608B8h, 4C263A81E69035E0h\n RWD64  \tdq\tCB00C391BB52283Ch, A32E531B8B65D088h, 4EF90DA297486471h, D8ACDEA946EF1938h, 3F349CE33F76FAA8h, 1D4F0BC7C7BBDCF9h, 3159B4CD4BE0518Ah, 647378D9C97E9FC8h\n RWD128 \tdq\tC3EBD33483ACC5EAh, EB6313FAFFA081C5h, 49DAF0B751DD0D17h, 9E68D429265516D3h, FCA1477D58BE162Bh, CE31D07AD1B8F88Fh, 280416958F3ACB45h, 7E404BBBCAFBD7AFh\n \n \n-; Total bytes of code 128, prolog size 8, PerfScore 26.88, instruction count 31, allocated bytes for code 128 (MethodHash=55ffc92b) for method System.IO.Hashing.XxHashShared:Initialize(byref,ulong) (FullOpts)\n\u002B; Total bytes of code 124, prolog size 8, PerfScore 25.88, instruction count 30, allocated bytes for code 124 (MethodHash=55ffc92b) for method System.IO.Hashing.XxHashShared:Initialize(byref,ulong) (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":128,"DiffBytes":124},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstByteToEncode(System.ReadOnlySpan\u00601[byte]):int:this (FullOpts)","Category":"regression","Description":"243 -\u003E 246 bytes (\u002B3)","ExtraInfo":null,"Diff":"@@ -1,145 \u002B1,153 @@\n ; Assembly listing for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstByteToEncode(System.ReadOnlySpan\u00601[byte]):int:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 10 single block inlinees; 4 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T07] (  4,  7   )     ref  -\u003E  r14         this class-hnd single-def \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V02 loc0         [V02,T09] (  6,  4   )     int  -\u003E  rax        \n-;  V03 loc1         [V03,T12] (  3,  1.50)     int  -\u003E  rbx        \n\u002B;  V02 loc0         [V02,T11] (  6,  4   )     int  -\u003E  rax        \n\u002B;  V03 loc1         [V03,T14] (  3,  1.50)     int  -\u003E  rbx        \n ;  V04 loc2         [V04    ] (  2,  8   )  struct ( 8) [rbp-0x28]  do-not-enreg[XS] addr-exposed ld-addr-op \u003CSystem.Text.Rune\u003E\n ;  V05 loc3         [V05    ] (  3, 12   )     int  -\u003E  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op\n ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V07 tmp1         [V07,T04] (  2, 16   )   byref  -\u003E  rax         \u0022impAppendStmt\u0022\n ;  V08 tmp2         [V08,T08] (  4,  8   )     ref  -\u003E  rdi         class-hnd single-def \u0022Inlining Arg\u0022 \u003CSystem.Buffers.SearchValues\u00601[byte]\u003E\n ;* V09 tmp3         [V09    ] (  0,  0   )  struct (16) zero-ref    \u0022Inlining Arg\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n ;* V10 tmp4         [V10    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n ;* V11 tmp5         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V12 tmp6         [V12,T10] (  2,  2   )   byref  -\u003E  r15         single-def \u0022Inlining Arg\u0022\n-;  V13 tmp7         [V13,T11] (  2,  2   )     int  -\u003E  rdi         \u0022Inlining Arg\u0022\n\u002B;  V12 tmp6         [V12,T12] (  2,  2   )   byref  -\u003E  r15         single-def \u0022Inlining Arg\u0022\n\u002B;  V13 tmp7         [V13,T13] (  2,  2   )     int  -\u003E  rdi         \u0022Inlining Arg\u0022\n ;* V14 tmp8         [V14    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;  V15 tmp9         [V15,T02] (  3, 24   )  ushort  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;* V16 tmp10        [V16    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V17 tmp11        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V18 tmp12        [V18,T00] (  4, 32   )     int  -\u003E  rax         \u0022Inlining Arg\u0022\n-;* V19 tmp13        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n-;  V20 tmp14        [V20,T05] (  2, 16   )   byref  -\u003E  r15         \u0022Inlining Arg\u0022\n-;  V21 tmp15        [V21,T06] (  2, 16   )     int  -\u003E  r13         \u0022Inlining Arg\u0022\n-;  V22 tmp16        [V22,T03] (  8, 15.50)   byref  -\u003E  r15         \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n-;  V23 tmp17        [V23,T01] ( 13, 25.50)     int  -\u003E  registers   \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n-;  V24 tmp18        [V24    ] (  2,  8   )     int  -\u003E  [rbp-0x28]  do-not-enreg[X] addr-exposed \u0022field V04._value (fldOffset=0x0)\u0022 P-DEP\n-;* V25 tmp19        [V25    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V26 tmp20        [V26    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V27 tmp21        [V27    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V28 tmp22        [V28    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n-;* V29 tmp23        [V29    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V19._reference (fldOffset=0x0)\u0022 P-INDEP\n-;* V30 tmp24        [V30    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V19._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V16 tmp10        [V16,T09] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V17 tmp11        [V17,T10] (  2,  8   )     int  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V18 tmp12        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V19 tmp13        [V19    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V20 tmp14        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;  V21 tmp15        [V21,T00] (  4, 32   )     int  -\u003E  rax         \u0022Inlining Arg\u0022\n\u002B;* V22 tmp16        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[byte]\u003E\n\u002B;  V23 tmp17        [V23,T05] (  2, 16   )   byref  -\u003E  r15         \u0022Inlining Arg\u0022\n\u002B;  V24 tmp18        [V24,T06] (  2, 16   )     int  -\u003E  r13         \u0022Inlining Arg\u0022\n\u002B;  V25 tmp19        [V25,T03] (  8, 15.50)   byref  -\u003E  r15         \u0022field V01._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V26 tmp20        [V26,T01] ( 13, 25.50)     int  -\u003E  registers   \u0022field V01._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V27 tmp21        [V27    ] (  2,  8   )     int  -\u003E  [rbp-0x28]  do-not-enreg[X] addr-exposed \u0022field V04._value (fldOffset=0x0)\u0022 P-DEP\n\u002B;* V28 tmp22        [V28    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V29 tmp23        [V29    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V30 tmp24        [V30    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V31 tmp25        [V31    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V32 tmp26        [V32    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V18._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V33 tmp27        [V33    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V18._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V34 tmp28        [V34    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V20._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V35 tmp29        [V35    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V20._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V36 tmp30        [V36    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V22._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V37 tmp31        [V37    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V22._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 16\n \n G_M28410_IG01:\n        push     rbp\n        push     r15\n        push     r14\n        push     r13\n        push     rbx\n        sub      rsp, 16\n        lea      rbp, [rsp\u002B0x30]\n        mov      r14, rdi\n        mov      r15, rsi\n        mov      ebx, edx\n \t\t\t\t\t\t;; size=25 bbWeight=1 PerfScore 6.50\n G_M28410_IG02:\n        mov      rdi, gword ptr [r14\u002B0x10]\n        test     rdi, rdi\n        je       G_M28410_IG08\n        mov      rsi, r15\n        mov      edx, ebx\n        mov      rax, qword ptr [rdi]\n        mov      rax, qword ptr [rax\u002B0x40]\n        call     [rax\u002B0x38]System.Buffers.SearchValues\u00601[byte]:IndexOfAnyExcept(System.ReadOnlySpan\u00601[byte]):int:this\n        cmp      eax, ebx\n        jae      G_M28410_IG07\n \t\t\t\t\t\t;; size=36 bbWeight=1 PerfScore 12.00\n G_M28410_IG03:\n        mov      edi, eax\n        cmp      byte  ptr [r15\u002Brdi], 127\n        jbe      G_M28410_IG07\n        mov      edi, eax\n        add      r15, rdi\n        mov      edi, ebx\n        sub      edi, eax\n        mov      r13d, edi\n        test     r13d, r13d\n        je       SHORT G_M28410_IG05\n \t\t\t\t\t\t;; size=30 bbWeight=0.50 PerfScore 2.88\n G_M28410_IG04:\n        mov      rdi, r15\n        mov      esi, r13d\n        lea      rdx, [rbp-0x28]\n        lea      rcx, [rbp-0x30]\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Rune:DecodeFromUtf8(System.ReadOnlySpan\u00601[byte],byref,byref):int\n        call     [rax]System.Text.Rune:DecodeFromUtf8(System.ReadOnlySpan\u00601[byte],byref,byref):int\n        test     eax, eax\n        jne      SHORT G_M28410_IG05\n        cmp      dword ptr [rbp-0x30], 4\n        jge      SHORT G_M28410_IG05\n        lea      rax, bword ptr [r14\u002B0x0420]\n        movzx    rcx, word  ptr [rbp-0x28]\n        mov      edx, ecx\n        shr      edx, 5\n\u002B       and      ecx, 31\n        mov      eax, dword ptr [rax\u002B4*rdx]\n        bt       eax, ecx\n        jae      SHORT G_M28410_IG05\n        mov      eax, dword ptr [rbp-0x30]\n        cmp      eax, r13d\n        ja       SHORT G_M28410_IG09\n        mov      ecx, eax\n        add      rcx, r15\n        mov      r15, rcx\n        sub      r13d, eax\n        jne      SHORT G_M28410_IG04\n-\t\t\t\t\t\t;; size=81 bbWeight=4 PerfScore 72.00\n\u002B\t\t\t\t\t\t;; size=84 bbWeight=4 PerfScore 73.00\n G_M28410_IG05:\n        mov      eax, -1\n        sub      ebx, r13d\n        test     r13d, r13d\n        cmovne   eax, ebx\n \t\t\t\t\t\t;; size=14 bbWeight=0.50 PerfScore 0.62\n G_M28410_IG06:\n        add      rsp, 16\n        pop      rbx\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=13 bbWeight=0.50 PerfScore 1.88\n G_M28410_IG07:\n        add      rsp, 16\n        pop      rbx\n        pop      r13\n        pop      r14\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=13 bbWeight=0.50 PerfScore 1.88\n G_M28410_IG08:\n        mov      edi, 6\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)\n        call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n G_M28410_IG09:\n        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()\n        int3     \n \t\t\t\t\t\t;; size=13 bbWeight=0 PerfScore 0.00\n \n-; Total bytes of code 243, prolog size 17, PerfScore 97.75, instruction count 80, allocated bytes for code 243 (MethodHash=ea599105) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstByteToEncode(System.ReadOnlySpan\u00601[byte]):int:this (FullOpts)\n\u002B; Total bytes of code 246, prolog size 17, PerfScore 98.75, instruction count 81, allocated bytes for code 246 (MethodHash=ea599105) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:GetIndexOfFirstByteToEncode(System.ReadOnlySpan\u00601[byte]):int:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":243,"DiffBytes":246},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.TextEncoderSettings:AllowCharacter(char):this (FullOpts)","Category":"same-size","Description":"30 -\u003E 30 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,41 \u002B1,48 @@\n ; Assembly listing for method System.Text.Encodings.Web.TextEncoderSettings:AllowCharacter(char):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T02] (  3,  3   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u003E\n ;  V01 arg1         [V01,T03] (  3,  3   )  ushort  -\u003E  rsi         single-def\n ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V03 tmp1         [V03,T05] (  2,  2   )    long  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V03 tmp1         [V03,T05] (  2,  2   )     int  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V04 tmp2         [V04,T06] (  2,  2   )     int  -\u003E  rax         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V05 tmp3         [V05,T00] (  3,  6   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n-;  V06 tmp4         [V06,T01] (  3,  6   )   byref  -\u003E  rcx         single-def \u0022dup spill\u0022\n-;  V07 cse0         [V07,T04] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n\u002B;* V06 tmp4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V07 tmp5         [V07,T01] (  3,  6   )   byref  -\u003E  rcx         single-def \u0022dup spill\u0022\n\u002B;* V08 tmp6         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V10 tmp8         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V11 tmp9         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V12 tmp10        [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V13 tmp11        [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V14 cse0         [V14,T04] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 0\n \n G_M30353_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M30353_IG02:\n        add      rdi, 8\n        movzx    rax, si\n        mov      ecx, eax\n        shr      ecx, 5\n        and      eax, 31\n        cmp      byte  ptr [rdi], dil\n        lea      rcx, bword ptr [rdi\u002B4*rcx]\n        mov      edx, dword ptr [rcx]\n        bts      edx, eax\n        mov      dword ptr [rcx], edx\n \t\t\t\t\t\t;; size=29 bbWeight=1 PerfScore 7.50\n G_M30353_IG03:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n \n ; Total bytes of code 30, prolog size 0, PerfScore 8.50, instruction count 11, allocated bytes for code 30 (MethodHash=93bd896e) for method System.Text.Encodings.Web.TextEncoderSettings:AllowCharacter(char):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":30,"DiffBytes":30},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.OptimizedInboxTextEncoder:IsScalarValueAllowed(System.Text.Rune):bool:this (FullOpts)","Category":"regression","Description":"46 -\u003E 49 bytes (\u002B3)","ExtraInfo":null,"Diff":"@@ -1,51 \u002B1,59 @@\n ; Assembly listing for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:IsScalarValueAllowed(System.Text.Rune):bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 6 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] (  4,  4   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.OptimizedInboxTextEncoder\u003E\n ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def \u003CSystem.Text.Rune\u003E\n ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V03 tmp1         [V03,T02] (  2,  3   )   byref  -\u003E  rdi         single-def \u0022impAppendStmt\u0022\n ;  V04 tmp2         [V04,T03] (  3,  2   )   ubyte  -\u003E  rax         \u0022Inline return value spill temp\u0022\n ;* V05 tmp3         [V05    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;* V06 tmp4         [V06    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V07 tmp5         [V07    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;  V08 tmp6         [V08,T01] (  4,  3   )     int  -\u003E  rsi         single-def \u0022field V01._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;  V06 tmp4         [V06,T04] (  2,  1   )     int  -\u003E  rax         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V07 tmp5         [V07,T05] (  2,  1   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;* V08 tmp6         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V09 tmp7         [V09    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;  V11 tmp9         [V11,T01] (  4,  3   )     int  -\u003E  rsi         single-def \u0022field V01._value (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V12 tmp10        [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V13 tmp11        [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V14 tmp12        [V14    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp13        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M28036_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M28036_IG02:\n        cmp      byte  ptr [rdi], dil\n        add      rdi, 0x420\n        cmp      esi, 0xFFFF\n        ja       SHORT G_M28036_IG04\n \t\t\t\t\t\t;; size=18 bbWeight=1 PerfScore 3.50\n G_M28036_IG03:\n        mov      eax, esi\n        shr      eax, 5\n\u002B       and      esi, 31\n        mov      eax, dword ptr [rdi\u002B4*rax]\n        bt       eax, esi\n        jae      SHORT G_M28036_IG04\n        mov      eax, 1\n        jmp      SHORT G_M28036_IG05\n-\t\t\t\t\t\t;; size=20 bbWeight=0.50 PerfScore 3.25\n\u002B\t\t\t\t\t\t;; size=23 bbWeight=0.50 PerfScore 3.38\n G_M28036_IG04:\n        xor      eax, eax\n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n G_M28036_IG05:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=1 PerfScore 1.50\n \n-; Total bytes of code 46, prolog size 4, PerfScore 9.62, instruction count 16, allocated bytes for code 46 (MethodHash=8370927b) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:IsScalarValueAllowed(System.Text.Rune):bool:this (FullOpts)\n\u002B; Total bytes of code 49, prolog size 4, PerfScore 9.75, instruction count 17, allocated bytes for code 49 (MethodHash=8370927b) for method System.Text.Encodings.Web.OptimizedInboxTextEncoder:IsScalarValueAllowed(System.Text.Rune):bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":46,"DiffBytes":49},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.TextEncoderSettings:AllowCharacters(char[]):this (FullOpts)","Category":"same-size","Description":"81 -\u003E 81 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,68 \u002B1,75 @@\n ; Assembly listing for method System.Text.Encodings.Web.TextEncoderSettings:AllowCharacters(char[]):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T05] (  3,  6   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u003E\n ;  V01 arg1         [V01,T08] (  5,  4.50)     ref  -\u003E  rsi         class-hnd single-def \u003Cchar[]\u003E\n ;* V02 loc0         [V02,T10] (  0,  0   )     int  -\u003E  zero-ref   \n ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V04 tmp1         [V04,T02] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;  V05 tmp2         [V05,T06] (  2,  8   )    long  -\u003E   r8         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V05 tmp2         [V05,T06] (  2,  8   )     int  -\u003E   r8         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V06 tmp3         [V06,T07] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V07 tmp4         [V07,T00] (  3, 24   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;  V08 tmp5         [V08,T01] (  3, 24   )   byref  -\u003E  rcx         \u0022dup spill\u0022\n-;  V09 cse0         [V09,T09] (  3,  2.50)     int  -\u003E  rax         \u0022CSE #01: moderate\u0022\n-;  V10 rat0         [V10,T03] (  4, 12.50)   byref  -\u003E  rsi         \u0022Strength reduced derived IV\u0022\n-;  V11 rat1         [V11,T04] (  4, 12.50)     int  -\u003E  rax         \u0022Trip count IV\u0022\n\u002B;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V09 tmp6         [V09,T01] (  3, 24   )   byref  -\u003E  rcx         \u0022dup spill\u0022\n\u002B;* V10 tmp7         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V12 tmp9         [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V13 tmp10        [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V14 tmp11        [V14    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp12        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V16 cse0         [V16,T09] (  3,  2.50)     int  -\u003E  rax         \u0022CSE #01: moderate\u0022\n\u002B;  V17 rat0         [V17,T03] (  4, 12.50)   byref  -\u003E  rsi         \u0022Strength reduced derived IV\u0022\n\u002B;  V18 rat1         [V18,T04] (  4, 12.50)     int  -\u003E  rax         \u0022Trip count IV\u0022\n ;\n ; Lcl frame size = 0\n \n G_M33028_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M33028_IG02:\n        test     rsi, rsi\n        je       SHORT G_M33028_IG06\n        mov      eax, dword ptr [rsi\u002B0x08]\n        test     eax, eax\n        jle      SHORT G_M33028_IG05\n \t\t\t\t\t\t;; size=12 bbWeight=1 PerfScore 4.50\n G_M33028_IG03:\n        add      rsi, 16\n        align    [0 bytes for IG04]\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 0.12\n G_M33028_IG04:\n        lea      rcx, bword ptr [rdi\u002B0x08]\n        movzx    rdx, word  ptr [rsi]\n        mov      r8d, edx\n        shr      r8d, 5\n        and      edx, 31\n        cmp      byte  ptr [rcx], cl\n        lea      rcx, bword ptr [rcx\u002B4*r8]\n        mov      r8d, dword ptr [rcx]\n        bts      r8d, edx\n        mov      dword ptr [rcx], r8d\n        add      rsi, 2\n        dec      eax\n        jne      SHORT G_M33028_IG04\n \t\t\t\t\t\t;; size=41 bbWeight=4 PerfScore 44.00\n G_M33028_IG05:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=1 PerfScore 1.50\n G_M33028_IG06:\n        mov      edi, 5\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        call     [rax]System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n \n ; Total bytes of code 81, prolog size 4, PerfScore 51.38, instruction count 28, allocated bytes for code 81 (MethodHash=bc537efb) for method System.Text.Encodings.Web.TextEncoderSettings:AllowCharacters(char[]):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":81,"DiffBytes":81},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.TextEncoderSettings\u002B\u003CGetAllowedCodePoints\u003Ed__14:MoveNext():bool:this (FullOpts)","Category":"regression","Description":"101 -\u003E 104 bytes (\u002B3)","ExtraInfo":null,"Diff":"@@ -1,78 \u002B1,86 @@\n ; Assembly listing for method System.Text.Encodings.Web.TextEncoderSettings\u002B\u003CGetAllowedCodePoints\u003Ed__14:MoveNext():bool:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T00] ( 13,  8.50)     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u002B\u003CGetAllowedCodePoints\u003Ed__14\u003E\n ;  V01 loc0         [V01,T03] (  3,  2.50)     int  -\u003E  rax        \n ;  V02 loc1         [V02,T05] (  2,  1.50)     ref  -\u003E  rcx         class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u003E\n ;* V03 loc2         [V03    ] (  0,  0   )     int  -\u003E  zero-ref   \n ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V05 tmp1         [V05    ] (  0,  0   )   ubyte  -\u003E  zero-ref    \u0022Inline return value spill temp\u0022\n ;  V06 tmp2         [V06,T02] (  3,  3   )  ushort  -\u003E  rsi         \u0022Inlining Arg\u0022\n-;* V07 tmp3         [V07    ] (  0,  0   )    long  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n-;* V08 tmp4         [V08    ] (  0,  0   )     int  -\u003E  zero-ref    ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V07 tmp3         [V07,T06] (  2,  1   )     int  -\u003E   r8         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V08 tmp4         [V08,T07] (  2,  1   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V09 tmp5         [V09,T01] (  3,  3   )   byref  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;  V10 cse0         [V10,T04] (  3,  1.50)     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n\u002B;* V10 tmp6         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V11 tmp7         [V11    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V12 tmp8         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.ReadOnlySpan\u00601[uint]\u003E\n\u002B;* V13 tmp9         [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V14 tmp10        [V14    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V15 tmp11        [V15    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V12._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V16 tmp12        [V16    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V12._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V17 cse0         [V17,T04] (  3,  1.50)     int  -\u003E  rax         \u0022CSE #01: moderate\u0022\n ;\n ; Lcl frame size = 0\n \n G_M22719_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M22719_IG02:\n        mov      eax, dword ptr [rdi\u002B0x10]\n        mov      rcx, gword ptr [rdi\u002B0x08]\n        test     eax, eax\n        jne      SHORT G_M22719_IG04\n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 5.25\n G_M22719_IG03:\n        mov      dword ptr [rdi\u002B0x10], -1\n        xor      eax, eax\n        mov      dword ptr [rdi\u002B0x1C], eax\n        jmp      SHORT G_M22719_IG06\n \t\t\t\t\t\t;; size=14 bbWeight=0.50 PerfScore 2.12\n G_M22719_IG04:\n        cmp      eax, 1\n        jne      SHORT G_M22719_IG08\n        mov      dword ptr [rdi\u002B0x10], -1\n \t\t\t\t\t\t;; size=12 bbWeight=0.50 PerfScore 1.12\n G_M22719_IG05:\n        inc      dword ptr [rdi\u002B0x1C]\n \t\t\t\t\t\t;; size=3 bbWeight=0.50 PerfScore 1.50\n G_M22719_IG06:\n        mov      eax, dword ptr [rdi\u002B0x1C]\n        cmp      eax, 0xFFFF\n        jg       SHORT G_M22719_IG08\n        lea      rdx, bword ptr [rcx\u002B0x08]\n        movzx    rsi, word  ptr [rdi\u002B0x1C]\n-       cmp      byte  ptr [rdx], dl\n        mov      r8d, esi\n        shr      r8d, 5\n\u002B       and      esi, 31\n\u002B       cmp      byte  ptr [rdx], dl\n        mov      edx, dword ptr [rdx\u002B4*r8]\n        bt       edx, esi\n        jae      SHORT G_M22719_IG05\n        mov      dword ptr [rdi\u002B0x14], eax\n        mov      dword ptr [rdi\u002B0x10], 1\n        mov      eax, 1\n-\t\t\t\t\t\t;; size=51 bbWeight=0.50 PerfScore 7.12\n\u002B\t\t\t\t\t\t;; size=54 bbWeight=0.50 PerfScore 7.25\n G_M22719_IG07:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n G_M22719_IG08:\n        xor      eax, eax\n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.12\n G_M22719_IG09:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=0.50 PerfScore 0.75\n \n-; Total bytes of code 101, prolog size 4, PerfScore 20.00, instruction count 33, allocated bytes for code 101 (MethodHash=a3a8a740) for method System.Text.Encodings.Web.TextEncoderSettings\u002B\u003CGetAllowedCodePoints\u003Ed__14:MoveNext():bool:this (FullOpts)\n\u002B; Total bytes of code 104, prolog size 4, PerfScore 20.12, instruction count 34, allocated bytes for code 104 (MethodHash=a3a8a740) for method System.Text.Encodings.Web.TextEncoderSettings\u002B\u003CGetAllowedCodePoints\u003Ed__14:MoveNext():bool:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":101,"DiffBytes":104},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.TextEncoderSettings:AllowCodePoints(System.Collections.Generic.IEnumerable\u00601[int]):this (FullOpts)","Category":"same-size","Description":"188 -\u003E 188 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,104 \u002B1,111 @@\n ; Assembly listing for method System.Text.Encodings.Web.TextEncoderSettings:AllowCodePoints(System.Collections.Generic.IEnumerable\u00601[int]):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T06] (  3,  4   )     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u003E\n ;  V01 arg1         [V01,T05] (  4,  4   )     ref  -\u003E  rsi         class-hnd single-def \u003CSystem.Collections.Generic.IEnumerable\u00601[int]\u003E\n ;  V02 loc0         [V02,T00] (  6, 13   )     ref  -\u003E  [rbp-0x10]  class-hnd EH-live spill-single-def \u003CSystem.Collections.Generic.IEnumerator\u00601[int]\u003E\n ;  V03 loc1         [V03,T04] (  3, 10   )     int  -\u003E  rax        \n ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V05 tmp1         [V05    ] (  0,  0   )  ushort  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V06 tmp2         [V06,T07] (  2,  4   )    long  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V06 tmp2         [V06,T07] (  2,  4   )     int  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V07 tmp3         [V07,T08] (  2,  4   )     int  -\u003E  rax         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V08 tmp4         [V08,T01] (  3, 12   )   byref  -\u003E  r11         \u0022Inlining Arg\u0022\n-;  V09 tmp5         [V09,T02] (  3, 12   )   byref  -\u003E  r11         \u0022dup spill\u0022\n-;  V10 tmp6         [V10,T03] (  3, 12   )     int  -\u003E  rax         \u0022Inlining Arg\u0022\n\u002B;* V09 tmp5         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V10 tmp6         [V10,T02] (  3, 12   )   byref  -\u003E  r11         \u0022dup spill\u0022\n\u002B;  V11 tmp7         [V11,T03] (  3, 12   )     int  -\u003E  rax         \u0022Inlining Arg\u0022\n\u002B;* V12 tmp8         [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V13 tmp9         [V13    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V14 tmp10        [V14    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp11        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V16 tmp12        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V13._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V17 tmp13        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V13._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 8\n \n G_M6750_IG01:\n        push     rbp\n        push     rbx\n        push     rax\n        lea      rbp, [rsp\u002B0x10]\n        mov      rbx, rdi\n \t\t\t\t\t\t;; size=11 bbWeight=1 PerfScore 3.75\n G_M6750_IG02:\n        test     rsi, rsi\n        je       SHORT G_M6750_IG08\n        mov      rdi, rsi\n        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEnumerable\u00601[int]:GetEnumerator():System.Collections.Generic.IEnumerator\u00601[int]:this\n        call     [r11]System.Collections.Generic.IEnumerable\u00601[int]:GetEnumerator():System.Collections.Generic.IEnumerator\u00601[int]:this\n        mov      rdi, rax\n        mov      gword ptr [rbp-0x10], rdi\n \t\t\t\t\t\t;; size=28 bbWeight=1 PerfScore 6.00\n G_M6750_IG03:\n        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():bool:this\n        call     [r11]System.Collections.IEnumerator:MoveNext():bool:this\n        test     eax, eax\n        je       SHORT G_M6750_IG06\n \t\t\t\t\t\t;; size=17 bbWeight=8 PerfScore 36.00\n G_M6750_IG04:\n        mov      rdi, gword ptr [rbp-0x10]\n        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEnumerator\u00601[int]:get_Current():int:this\n        call     [r11]System.Collections.Generic.IEnumerator\u00601[int]:get_Current():int:this\n        cmp      eax, 0xFFFF\n        mov      rdi, gword ptr [rbp-0x10]\n        ja       SHORT G_M6750_IG03\n \t\t\t\t\t\t;; size=28 bbWeight=4 PerfScore 26.00\n G_M6750_IG05:\n        lea      r11, bword ptr [rbx\u002B0x08]\n        mov      ecx, eax\n        shr      ecx, 5\n        and      eax, 31\n        cmp      byte  ptr [r11], r11b\n        lea      r11, bword ptr [r11\u002B4*rcx]\n        mov      ecx, dword ptr [r11]\n        bts      ecx, eax\n        mov      dword ptr [r11], ecx\n        jmp      SHORT G_M6750_IG03\n \t\t\t\t\t\t;; size=30 bbWeight=2 PerfScore 19.00\n G_M6750_IG06:\n        mov      rdi, gword ptr [rbp-0x10]\n        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this\n        call     [r11]System.IDisposable:Dispose():this\n        nop      \n \t\t\t\t\t\t;; size=18 bbWeight=1 PerfScore 4.50\n G_M6750_IG07:\n        add      rsp, 8\n        pop      rbx\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=7 bbWeight=1 PerfScore 2.25\n G_M6750_IG08:\n        mov      edi, 6\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        call     [rax]System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n G_M6750_IG09:\n        push     rax\n \t\t\t\t\t\t;; size=1 bbWeight=0 PerfScore 0.00\n G_M6750_IG10:\n        cmp      qword ptr [rbp-0x10], 0\n        je       SHORT G_M6750_IG11\n        mov      rdi, gword ptr [rbp-0x10]\n        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this\n        call     [r11]System.IDisposable:Dispose():this\n \t\t\t\t\t\t;; size=24 bbWeight=0 PerfScore 0.00\n G_M6750_IG11:\n        nop      \n \t\t\t\t\t\t;; size=1 bbWeight=0 PerfScore 0.00\n G_M6750_IG12:\n        add      rsp, 8\n        ret      \n \t\t\t\t\t\t;; size=5 bbWeight=0 PerfScore 0.00\n \n ; Total bytes of code 188, prolog size 11, PerfScore 97.50, instruction count 53, allocated bytes for code 188 (MethodHash=9e80e5a1) for method System.Text.Encodings.Web.TextEncoderSettings:AllowCodePoints(System.Collections.Generic.IEnumerable\u00601[int]):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":188,"DiffBytes":188},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.TextEncoderSettings:AllowRange(System.Text.Unicode.UnicodeRange):this (FullOpts)","Category":"same-size","Description":"84 -\u003E 84 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,69 \u002B1,76 @@\n ; Assembly listing for method System.Text.Encodings.Web.TextEncoderSettings:AllowRange(System.Text.Unicode.UnicodeRange):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T04] (  3,  6   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u003E\n ;  V01 arg1         [V01,T08] (  5,  5   )     ref  -\u003E  rsi         class-hnd single-def \u003CSystem.Text.Unicode.UnicodeRange\u003E\n ;  V02 loc0         [V02,T10] (  2,  5   )     int  -\u003E  rax        \n ;  V03 loc1         [V03,T09] (  3,  6   )     int  -\u003E  rcx        \n ;  V04 loc2         [V04,T03] (  5, 17   )     int  -\u003E  rdx        \n ;  V05 loc3         [V05,T05] (  2,  8   )     int  -\u003E  rsi        \n ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V07 tmp1         [V07    ] (  0,  0   )  ushort  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V08 tmp2         [V08,T06] (  2,  8   )    long  -\u003E   r9         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V08 tmp2         [V08,T06] (  2,  8   )     int  -\u003E   r9         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V09 tmp3         [V09,T07] (  2,  8   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V10 tmp4         [V10,T00] (  3, 24   )   byref  -\u003E   r8         \u0022Inlining Arg\u0022\n-;  V11 tmp5         [V11,T01] (  3, 24   )   byref  -\u003E   r8         \u0022dup spill\u0022\n-;  V12 tmp6         [V12,T02] (  3, 24   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;* V11 tmp5         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V12 tmp6         [V12,T01] (  3, 24   )   byref  -\u003E   r8         \u0022dup spill\u0022\n\u002B;  V13 tmp7         [V13,T02] (  3, 24   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;* V14 tmp8         [V14    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V16 tmp10        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V17 tmp11        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V18 tmp12        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp13        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M7782_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M7782_IG02:\n        test     rsi, rsi\n        je       SHORT G_M7782_IG05\n        mov      eax, dword ptr [rsi\u002B0x08]\n        mov      ecx, dword ptr [rsi\u002B0x0C]\n        xor      edx, edx\n        test     ecx, ecx\n        jle      SHORT G_M7782_IG04\n        align    [0 bytes for IG03]\n \t\t\t\t\t\t;; size=17 bbWeight=1 PerfScore 6.75\n G_M7782_IG03:\n        lea      esi, [rax\u002Brdx]\n        lea      r8, bword ptr [rdi\u002B0x08]\n        movzx    rsi, si\n        mov      r9d, esi\n        shr      r9d, 5\n        and      esi, 31\n        cmp      byte  ptr [r8], r8b\n        lea      r8, bword ptr [r8\u002B4*r9]\n        mov      r9d, dword ptr [r8]\n        bts      r9d, esi\n        mov      dword ptr [r8], r9d\n        inc      edx\n        cmp      edx, ecx\n        jl       SHORT G_M7782_IG03\n \t\t\t\t\t\t;; size=43 bbWeight=4 PerfScore 39.00\n G_M7782_IG04:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=1 PerfScore 1.50\n G_M7782_IG05:\n        mov      edi, 7\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        call     [rax]System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n \n ; Total bytes of code 84, prolog size 4, PerfScore 48.50, instruction count 30, allocated bytes for code 84 (MethodHash=2824e199) for method System.Text.Encodings.Web.TextEncoderSettings:AllowRange(System.Text.Unicode.UnicodeRange):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":84,"DiffBytes":84},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.TextEncoderSettings:ForbidCharacter(char):this (FullOpts)","Category":"same-size","Description":"30 -\u003E 30 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,41 \u002B1,48 @@\n ; Assembly listing for method System.Text.Encodings.Web.TextEncoderSettings:ForbidCharacter(char):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rsp based frame\n ; partially interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T02] (  3,  3   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u003E\n ;  V01 arg1         [V01,T03] (  3,  3   )  ushort  -\u003E  rsi         single-def\n ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n-;  V03 tmp1         [V03,T05] (  2,  2   )    long  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V03 tmp1         [V03,T05] (  2,  2   )     int  -\u003E  rcx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V04 tmp2         [V04,T06] (  2,  2   )     int  -\u003E  rax         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V05 tmp3         [V05,T00] (  3,  6   )   byref  -\u003E  rdi         single-def \u0022Inlining Arg\u0022\n-;  V06 tmp4         [V06,T01] (  3,  6   )   byref  -\u003E  rcx         single-def \u0022dup spill\u0022\n-;  V07 cse0         [V07,T04] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n\u002B;* V06 tmp4         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V07 tmp5         [V07,T01] (  3,  6   )   byref  -\u003E  rcx         single-def \u0022dup spill\u0022\n\u002B;* V08 tmp6         [V08    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022Inlining Arg\u0022\n\u002B;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V10 tmp8         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V06._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V11 tmp9         [V11    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V06._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V12 tmp10        [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    single-def \u0022field V09._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V13 tmp11        [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V09._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V14 cse0         [V14,T04] (  3,  3   )     int  -\u003E  rax         \u0022CSE #01: aggressive\u0022\n ;\n ; Lcl frame size = 0\n \n G_M41692_IG01:\n \t\t\t\t\t\t;; size=0 bbWeight=1 PerfScore 0.00\n G_M41692_IG02:\n        add      rdi, 8\n        movzx    rax, si\n        mov      ecx, eax\n        shr      ecx, 5\n        and      eax, 31\n        cmp      byte  ptr [rdi], dil\n        lea      rcx, bword ptr [rdi\u002B4*rcx]\n        mov      edx, dword ptr [rcx]\n        btr      edx, eax\n        mov      dword ptr [rcx], edx\n \t\t\t\t\t\t;; size=29 bbWeight=1 PerfScore 7.50\n G_M41692_IG03:\n        ret      \n \t\t\t\t\t\t;; size=1 bbWeight=1 PerfScore 1.00\n \n ; Total bytes of code 30, prolog size 0, PerfScore 8.50, instruction count 11, allocated bytes for code 30 (MethodHash=27b15d23) for method System.Text.Encodings.Web.TextEncoderSettings:ForbidCharacter(char):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":30,"DiffBytes":30},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.TextEncoderSettings:ForbidCharacters(char[]):this (FullOpts)","Category":"same-size","Description":"81 -\u003E 81 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,68 \u002B1,75 @@\n ; Assembly listing for method System.Text.Encodings.Web.TextEncoderSettings:ForbidCharacters(char[]):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T05] (  3,  6   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u003E\n ;  V01 arg1         [V01,T08] (  5,  4.50)     ref  -\u003E  rsi         class-hnd single-def \u003Cchar[]\u003E\n ;* V02 loc0         [V02,T10] (  0,  0   )     int  -\u003E  zero-ref   \n ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;  V04 tmp1         [V04,T02] (  3, 24   )  ushort  -\u003E  rdx         \u0022Inlining Arg\u0022\n-;  V05 tmp2         [V05,T06] (  2,  8   )    long  -\u003E   r8         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V05 tmp2         [V05,T06] (  2,  8   )     int  -\u003E   r8         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V06 tmp3         [V06,T07] (  2,  8   )     int  -\u003E  rdx         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V07 tmp4         [V07,T00] (  3, 24   )   byref  -\u003E  rcx         \u0022Inlining Arg\u0022\n-;  V08 tmp5         [V08,T01] (  3, 24   )   byref  -\u003E  rcx         \u0022dup spill\u0022\n-;  V09 cse0         [V09,T09] (  3,  2.50)     int  -\u003E  rax         \u0022CSE #01: moderate\u0022\n-;  V10 rat0         [V10,T03] (  4, 12.50)   byref  -\u003E  rsi         \u0022Strength reduced derived IV\u0022\n-;  V11 rat1         [V11,T04] (  4, 12.50)     int  -\u003E  rax         \u0022Trip count IV\u0022\n\u002B;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V09 tmp6         [V09,T01] (  3, 24   )   byref  -\u003E  rcx         \u0022dup spill\u0022\n\u002B;* V10 tmp7         [V10    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V12 tmp9         [V12    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V08._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V13 tmp10        [V13    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V08._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V14 tmp11        [V14    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V15 tmp12        [V15    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V16 cse0         [V16,T09] (  3,  2.50)     int  -\u003E  rax         \u0022CSE #01: moderate\u0022\n\u002B;  V17 rat0         [V17,T03] (  4, 12.50)   byref  -\u003E  rsi         \u0022Strength reduced derived IV\u0022\n\u002B;  V18 rat1         [V18,T04] (  4, 12.50)     int  -\u003E  rax         \u0022Trip count IV\u0022\n ;\n ; Lcl frame size = 0\n \n G_M16105_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M16105_IG02:\n        test     rsi, rsi\n        je       SHORT G_M16105_IG06\n        mov      eax, dword ptr [rsi\u002B0x08]\n        test     eax, eax\n        jle      SHORT G_M16105_IG05\n \t\t\t\t\t\t;; size=12 bbWeight=1 PerfScore 4.50\n G_M16105_IG03:\n        add      rsi, 16\n        align    [0 bytes for IG04]\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 0.12\n G_M16105_IG04:\n        lea      rcx, bword ptr [rdi\u002B0x08]\n        movzx    rdx, word  ptr [rsi]\n        mov      r8d, edx\n        shr      r8d, 5\n        and      edx, 31\n        cmp      byte  ptr [rcx], cl\n        lea      rcx, bword ptr [rcx\u002B4*r8]\n        mov      r8d, dword ptr [rcx]\n        btr      r8d, edx\n        mov      dword ptr [rcx], r8d\n        add      rsi, 2\n        dec      eax\n        jne      SHORT G_M16105_IG04\n \t\t\t\t\t\t;; size=41 bbWeight=4 PerfScore 44.00\n G_M16105_IG05:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=1 PerfScore 1.50\n G_M16105_IG06:\n        mov      edi, 5\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        call     [rax]System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n \n ; Total bytes of code 81, prolog size 4, PerfScore 51.38, instruction count 28, allocated bytes for code 81 (MethodHash=6842c116) for method System.Text.Encodings.Web.TextEncoderSettings:ForbidCharacters(char[]):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":81,"DiffBytes":81},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.TextEncoderSettings:ForbidRange(System.Text.Unicode.UnicodeRange):this (FullOpts)","Category":"same-size","Description":"84 -\u003E 84 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,69 \u002B1,76 @@\n ; Assembly listing for method System.Text.Encodings.Web.TextEncoderSettings:ForbidRange(System.Text.Unicode.UnicodeRange):this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T04] (  3,  6   )     ref  -\u003E  rdi         this class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u003E\n ;  V01 arg1         [V01,T08] (  5,  5   )     ref  -\u003E  rsi         class-hnd single-def \u003CSystem.Text.Unicode.UnicodeRange\u003E\n ;  V02 loc0         [V02,T10] (  2,  5   )     int  -\u003E  rax        \n ;  V03 loc1         [V03,T09] (  3,  6   )     int  -\u003E  rcx        \n ;  V04 loc2         [V04,T03] (  5, 17   )     int  -\u003E  rdx        \n ;  V05 loc3         [V05,T05] (  2,  8   )     int  -\u003E  rsi        \n ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V07 tmp1         [V07    ] (  0,  0   )  ushort  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V08 tmp2         [V08,T06] (  2,  8   )    long  -\u003E   r9         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V08 tmp2         [V08,T06] (  2,  8   )     int  -\u003E   r9         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V09 tmp3         [V09,T07] (  2,  8   )     int  -\u003E  rsi         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V10 tmp4         [V10,T00] (  3, 24   )   byref  -\u003E   r8         \u0022Inlining Arg\u0022\n-;  V11 tmp5         [V11,T01] (  3, 24   )   byref  -\u003E   r8         \u0022dup spill\u0022\n-;  V12 tmp6         [V12,T02] (  3, 24   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;* V11 tmp5         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V12 tmp6         [V12,T01] (  3, 24   )   byref  -\u003E   r8         \u0022dup spill\u0022\n\u002B;  V13 tmp7         [V13,T02] (  3, 24   )     int  -\u003E  rsi         \u0022Inlining Arg\u0022\n\u002B;* V14 tmp8         [V14    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V16 tmp10        [V16    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V11._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V17 tmp11        [V17    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V11._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V18 tmp12        [V18    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V15._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V19 tmp13        [V19    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V15._length (fldOffset=0x8)\u0022 P-INDEP\n ;\n ; Lcl frame size = 0\n \n G_M61547_IG01:\n        push     rbp\n        mov      rbp, rsp\n \t\t\t\t\t\t;; size=4 bbWeight=1 PerfScore 1.25\n G_M61547_IG02:\n        test     rsi, rsi\n        je       SHORT G_M61547_IG05\n        mov      eax, dword ptr [rsi\u002B0x08]\n        mov      ecx, dword ptr [rsi\u002B0x0C]\n        xor      edx, edx\n        test     ecx, ecx\n        jle      SHORT G_M61547_IG04\n        align    [0 bytes for IG03]\n \t\t\t\t\t\t;; size=17 bbWeight=1 PerfScore 6.75\n G_M61547_IG03:\n        lea      esi, [rax\u002Brdx]\n        lea      r8, bword ptr [rdi\u002B0x08]\n        movzx    rsi, si\n        mov      r9d, esi\n        shr      r9d, 5\n        and      esi, 31\n        cmp      byte  ptr [r8], r8b\n        lea      r8, bword ptr [r8\u002B4*r9]\n        mov      r9d, dword ptr [r8]\n        btr      r9d, esi\n        mov      dword ptr [r8], r9d\n        inc      edx\n        cmp      edx, ecx\n        jl       SHORT G_M61547_IG03\n \t\t\t\t\t\t;; size=43 bbWeight=4 PerfScore 39.00\n G_M61547_IG04:\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=2 bbWeight=1 PerfScore 1.50\n G_M61547_IG05:\n        mov      edi, 7\n        mov      rax, 0xD1FFAB1E      ; code for System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        call     [rax]System.Text.Encodings.Web.ThrowHelper:ThrowArgumentNullException(int)\n        int3     \n \t\t\t\t\t\t;; size=18 bbWeight=0 PerfScore 0.00\n \n ; Total bytes of code 84, prolog size 4, PerfScore 48.50, instruction count 30, allocated bytes for code 84 (MethodHash=47d20f94) for method System.Text.Encodings.Web.TextEncoderSettings:ForbidRange(System.Text.Unicode.UnicodeRange):this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":84,"DiffBytes":84},{"Assembly":"System.Text.Encodings.Web.dasm","Method":"System.Text.Encodings.Web.TextEncoderSettings:GetAllowedCodePointsBitmap():byref:this (FullOpts)","Category":"same-size","Description":"235 -\u003E 235 bytes (0)","ExtraInfo":null,"Diff":"@@ -1,119 \u002B1,126 @@\n ; Assembly listing for method System.Text.Encodings.Web.TextEncoderSettings:GetAllowedCodePointsBitmap():byref:this (FullOpts)\n ; Emitting BLENDED_CODE for x64 \u002B VEX \u002B EVEX on Unix\n ; FullOpts code\n ; optimized code\n ; rbp based frame\n ; fully interruptible\n ; No PGO data\n-; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data\n\u002B; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data\n ; Final local variable assignments\n ;\n ;  V00 this         [V00,T05] (  6,  4.50)     ref  -\u003E  rbx         this class-hnd single-def \u003CSystem.Text.Encodings.Web.TextEncoderSettings\u003E\n ;  V01 loc0         [V01,T08] (  3,  3   )     ref  -\u003E  r15         class-hnd exact single-def \u003CSystem.Runtime.CompilerServices.StrongBox\u00601[System.Text.Encodings.Web.AllowedBmpCodePointsBitmap]\u003E\n ;  V02 loc1         [V02,T03] (  6,  8.50)     ref  -\u003E  [rbp-0x18]  class-hnd EH-live single-def \u003CSystem.Collections.Generic.IEnumerator\u00601[int]\u003E\n ;  V03 loc2         [V03,T02] (  3, 10   )     int  -\u003E  rax        \n ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp\u002B0x00]  do-not-enreg[XS] addr-exposed \u0022OutgoingArgSpace\u0022 \u003CEmpty\u003E\n ;* V05 tmp1         [V05    ] (  0,  0   )     ref  -\u003E  zero-ref    class-hnd exact \u0022NewObj constructor temp\u0022 \u003CSystem.Runtime.CompilerServices.StrongBox\u00601[System.Text.Encodings.Web.AllowedBmpCodePointsBitmap]\u003E\n ;* V06 tmp2         [V06    ] (  0,  0   )  ushort  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n-;  V07 tmp3         [V07,T06] (  2,  4   )    long  -\u003E  r11         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n\u002B;  V07 tmp3         [V07,T06] (  2,  4   )     int  -\u003E  r11         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V08 tmp4         [V08,T07] (  2,  4   )     int  -\u003E  rax         ld-addr-op \u0022Inline ldloca(s) first use temp\u0022\n ;  V09 tmp5         [V09,T04] (  2,  8   )   byref  -\u003E  rdi         \u0022Inlining Arg\u0022\n-;  V10 tmp6         [V10,T00] (  3, 12   )   byref  -\u003E  rdi         \u0022dup spill\u0022\n-;  V11 tmp7         [V11,T01] (  3, 12   )     int  -\u003E  rax         \u0022Inlining Arg\u0022\n-;  V12 tmp8         [V12,T09] (  2,  2   )     ref  -\u003E  rdi         single-def \u0022argument with side effect\u0022\n\u002B;* V10 tmp6         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022Inline stloc first use temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;  V11 tmp7         [V11,T00] (  3, 12   )   byref  -\u003E  rdi         \u0022dup spill\u0022\n\u002B;  V12 tmp8         [V12,T01] (  3, 12   )     int  -\u003E  rax         \u0022Inlining Arg\u0022\n\u002B;* V13 tmp9         [V13    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022Inlining Arg\u0022\n\u002B;* V14 tmp10        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op \u0022NewObj constructor temp\u0022 \u003CSystem.Span\u00601[uint]\u003E\n\u002B;* V15 tmp11        [V15    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V10._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V16 tmp12        [V16    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V10._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;* V17 tmp13        [V17    ] (  0,  0   )   byref  -\u003E  zero-ref    \u0022field V14._reference (fldOffset=0x0)\u0022 P-INDEP\n\u002B;* V18 tmp14        [V18    ] (  0,  0   )     int  -\u003E  zero-ref    \u0022field V14._length (fldOffset=0x8)\u0022 P-INDEP\n\u002B;  V19 tmp15        [V19,T09] (  2,  2   )     ref  -\u003E  rdi         single-def \u0022argument with side effect\u0022\n ;\n ; Lcl frame size = 16\n \n G_M44870_IG01:\n        push     rbp\n        push     r15\n        push     rbx\n        sub      rsp, 16\n        lea      rbp, [rsp\u002B0x20]\n        mov      rbx, rdi\n \t\t\t\t\t\t;; size=16 bbWeight=1 PerfScore 4.00\n G_M44870_IG02:\n        mov      rdi, 0xD1FFAB1E      ; System.Text.Encodings.Web.TextEncoderSettings\n        cmp      qword ptr [rbx], rdi\n        je       G_M44870_IG08\n \t\t\t\t\t\t;; size=19 bbWeight=1 PerfScore 3.25\n G_M44870_IG03:\n        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.StrongBox\u00601[System.Text.Encodings.Web.AllowedBmpCodePointsBitmap]\n        call     CORINFO_HELP_NEWSFAST\n        mov      r15, rax\n        mov      rdi, rbx\n        mov      rax, qword ptr [rbx]\n        mov      rax, qword ptr [rax\u002B0x48]\n        call     [rax\u002B0x30]System.Text.Encodings.Web.TextEncoderSettings:GetAllowedCodePoints():System.Collections.Generic.IEnumerable\u00601[int]:this\n        mov      rdi, rax\n        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEnumerable\u00601[int]:GetEnumerator():System.Collections.Generic.IEnumerator\u00601[int]:this\n        call     [r11]System.Collections.Generic.IEnumerable\u00601[int]:GetEnumerator():System.Collections.Generic.IEnumerator\u00601[int]:this\n        mov      rbx, rax\n        mov      gword ptr [rbp-0x18], rbx\n \t\t\t\t\t\t;; size=54 bbWeight=0.50 PerfScore 6.75\n G_M44870_IG04:\n        mov      rdi, rbx\n        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():bool:this\n        call     [r11]System.Collections.IEnumerator:MoveNext():bool:this\n        test     eax, eax\n        je       SHORT G_M44870_IG06\n        mov      rdi, rbx\n        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IEnumerator\u00601[int]:get_Current():int:this\n        call     [r11]System.Collections.Generic.IEnumerator\u00601[int]:get_Current():int:this\n        cmp      eax, 0xFFFF\n        ja       SHORT G_M44870_IG04\n \t\t\t\t\t\t;; size=43 bbWeight=4 PerfScore 38.00\n G_M44870_IG05:\n        lea      rdi, bword ptr [r15\u002B0x08]\n        mov      r11d, eax\n        shr      r11d, 5\n        and      eax, 31\n        lea      rdi, bword ptr [rdi\u002B4*r11]\n        mov      r11d, dword ptr [rdi]\n        bts      r11d, eax\n        mov      dword ptr [rdi], r11d\n        jmp      SHORT G_M44870_IG04\n \t\t\t\t\t\t;; size=30 bbWeight=2 PerfScore 15.00\n G_M44870_IG06:\n        mov      rdi, rbx\n        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this\n        call     [r11]System.IDisposable:Dispose():this\n        lea      rax, bword ptr [r15\u002B0x08]\n \t\t\t\t\t\t;; size=20 bbWeight=0.50 PerfScore 2.00\n G_M44870_IG07:\n        add      rsp, 16\n        pop      rbx\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=9 bbWeight=0.50 PerfScore 1.38\n G_M44870_IG08:\n        lea      rax, bword ptr [rbx\u002B0x08]\n \t\t\t\t\t\t;; size=4 bbWeight=0.50 PerfScore 0.25\n G_M44870_IG09:\n        add      rsp, 16\n        pop      rbx\n        pop      r15\n        pop      rbp\n        ret      \n \t\t\t\t\t\t;; size=9 bbWeight=0.50 PerfScore 1.38\n G_M44870_IG10:\n        push     rax\n \t\t\t\t\t\t;; size=1 bbWeight=0 PerfScore 0.00\n G_M44870_IG11:\n        cmp      qword ptr [rbp-0x18], 0\n        je       SHORT G_M44870_IG12\n        mov      rdi, gword ptr [rbp-0x18]\n        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this\n        call     [r11]System.IDisposable:Dispose():this\n \t\t\t\t\t\t;; size=24 bbWeight=0 PerfScore 0.00\n G_M44870_IG12:\n        nop      \n \t\t\t\t\t\t;; size=1 bbWeight=0 PerfScore 0.00\n G_M44870_IG13:\n        add      rsp, 8\n        ret      \n \t\t\t\t\t\t;; size=5 bbWeight=0 PerfScore 0.00\n \n ; Total bytes of code 235, prolog size 16, PerfScore 72.00, instruction count 64, allocated bytes for code 235 (MethodHash=398950b9) for method System.Text.Encodings.Web.TextEncoderSettings:GetAllowedCodePointsBitmap():byref:this (FullOpts)\n ; ============================================================","Truncated":false,"BaseBytes":235,"DiffBytes":235}]}