## Top method regressions

<details>
<summary>113 (20.14 % of base) - System.ClientModel.Primitives.JsonPathExtensions:GetArrayLength(byref,System.ReadOnlySpan`1[byte]):int</summary>

```diff
 ; Assembly listing for method System.ClientModel.Primitives.JsonPathExtensions:GetArrayLength(byref,System.ReadOnlySpan`1[byte]):int (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 18 single block inlinees; 12 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] ( 15, 77.50)   byref  ->  rbx         single-def
-;  V01 arg1         [V01    ] (  8,  6   )  struct (16) [rbp-0x28]  do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op single-def <System.ReadOnlySpan`1[byte]>
+;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[byte]>
 ;  V02 loc0         [V02,T05] (  4, 10   )     int  ->  r15        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;  V04 tmp1         [V04,T14] (  2,  0   )     ref  ->  rbx         class-hnd exact single-def "non-inline candidate call" <System.Text.UTF8Encoding+UTF8EncodingSealed>
-;  V05 tmp2         [V05,T12] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-;  V06 tmp3         [V06,T15] (  2,  0   )     ref  ->  rbx         class-hnd exact single-def "non-inline candidate call" <System.Text.UTF8Encoding+UTF8EncodingSealed>
-;  V07 tmp4         [V07,T13] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-;  V08 tmp5         [V08    ] (  1,  1   )  struct (192) [rbp-0xE8]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Text.Json.Utf8JsonReader>
-;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inlining Arg" <System.ReadOnlySpan`1[byte]>
-;  V10 tmp7         [V10,T06] (  3, 10   )   ubyte  ->  rax         "Inline stloc first use temp"
-;* V11 tmp8         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;  V12 tmp9         [V12,T03] (  2, 18   )     int  ->  r14         "Inline stloc first use temp"
-;  V13 tmp10        [V13,T08] (  4,  8   )     int  ->  rax         "Inline stloc first use temp"
-;  V14 tmp11        [V14,T09] (  3,  6   )   ubyte  ->  rdi         "Inline stloc first use temp"
-;* V15 tmp12        [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;  V04 tmp1         [V04,T18] (  2,  0   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V05 tmp2         [V05,T14] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
+;  V06 tmp3         [V06,T19] (  2,  0   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V07 tmp4         [V07,T15] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
+;  V08 tmp5         [V08    ] (  1,  1   )  struct (192) [rbp-0xE0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Text.Json.Utf8JsonReader>
+;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[byte]>
+;  V10 tmp7         [V10,T16] (  3,  0   )     ref  ->  r13         class-hnd "Inline return value spill temp" <byte[]>
+;* V11 tmp8         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <byte[]>
+;  V12 tmp9         [V12,T12] (  4,  0   )     ref  ->  r13         class-hnd exact single-def "Inline stloc first use temp" <byte[]>
+;* V13 tmp10        [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[byte]>
+;* V14 tmp11        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[byte]>
+;* V15 tmp12        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
 ;* V16 tmp13        [V16    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V17 tmp14        [V17,T01] (  4, 48   )     int  ->  rax         "Inline stloc first use temp"
-;  V18 tmp15        [V18,T02] (  3, 40   )   ubyte  ->  rcx         "Inline stloc first use temp"
-;* V19 tmp16        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V20 tmp17        [V20    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V21 tmp18        [V21    ] (  6,  4   )   byref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed single-def "field V01._reference (fldOffset=0x0)" P-DEP
-;  V22 tmp19        [V22    ] (  6,  4   )     int  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed single-def "field V01._length (fldOffset=0x8)" P-DEP
-;  V23 tmp20        [V23,T10] (  2,  2   )   byref  ->  rsi         single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V24 tmp21        [V24,T11] (  2,  2   )     int  ->  rdx         single-def "field V09._length (fldOffset=0x8)" P-INDEP
-;  V25 tmp22        [V25,T16] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V26 tmp23        [V26,T17] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
-;  V27 tmp24        [V27,T18] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V28 tmp25        [V28,T19] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V29 tmp26        [V29,T20] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
-;  V30 tmp27        [V30,T21] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V31 cse0         [V31,T04] (  3, 12   )     int  ->  rdi         "CSE #04: aggressive"
-;  V32 cse1         [V32,T07] (  3, 10   )     int  ->  rdi         "CSE #03: aggressive"
+;* V17 tmp14        [V17    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V18 tmp15        [V18    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;  V19 tmp16        [V19,T17] (  3,  0   )     ref  ->  r13         class-hnd "Inline return value spill temp" <byte[]>
+;* V20 tmp17        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <byte[]>
+;  V21 tmp18        [V21,T13] (  4,  0   )     ref  ->  r13         class-hnd exact single-def "Inline stloc first use temp" <byte[]>
+;* V22 tmp19        [V22    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[byte]>
+;* V23 tmp20        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[byte]>
+;* V24 tmp21        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
+;* V25 tmp22        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V26 tmp23        [V26    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V27 tmp24        [V27    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;  V28 tmp25        [V28,T06] (  3, 10   )   ubyte  ->  rax         "Inline stloc first use temp"
+;* V29 tmp26        [V29    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;  V30 tmp27        [V30,T03] (  2, 18   )     int  ->  r14         "Inline stloc first use temp"
+;  V31 tmp28        [V31,T08] (  4,  8   )     int  ->  rax         "Inline stloc first use temp"
+;  V32 tmp29        [V32,T09] (  3,  6   )   ubyte  ->  rdi         "Inline stloc first use temp"
+;* V33 tmp30        [V33    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V34 tmp31        [V34    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V35 tmp32        [V35,T01] (  4, 48   )     int  ->  rax         "Inline stloc first use temp"
+;  V36 tmp33        [V36,T02] (  3, 40   )   ubyte  ->  rcx         "Inline stloc first use temp"
+;* V37 tmp34        [V37    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V38 tmp35        [V38    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V39 tmp36        [V39,T11] (  4,  2   )   byref  ->  r14         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V40 tmp37        [V40,T10] ( 10,  2   )     int  ->  r15         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;* V41 tmp38        [V41    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V42 tmp39        [V42    ] (  0,  0   )     int  ->  zero-ref    single-def "field V09._length (fldOffset=0x8)" P-INDEP
+;* V43 tmp40        [V43    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
+;* V44 tmp41        [V44    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
+;  V45 tmp42        [V45,T20] (  2,  0   )   byref  ->  rdi         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V46 tmp43        [V46,T26] (  2,  0   )     int  ->  rax         single-def "field V14._length (fldOffset=0x8)" P-INDEP
+;* V47 tmp44        [V47    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V48 tmp45        [V48    ] (  0,  0   )     int  ->  zero-ref    single-def "field V15._length (fldOffset=0x8)" P-INDEP
+;* V49 tmp46        [V49    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V50 tmp47        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
+;  V51 tmp48        [V51,T21] (  2,  0   )   byref  ->  rdi         single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;  V52 tmp49        [V52,T27] (  2,  0   )     int  ->  rdx         single-def "field V23._length (fldOffset=0x8)" P-INDEP
+;* V53 tmp50        [V53    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V54 tmp51        [V54    ] (  0,  0   )     int  ->  zero-ref    single-def "field V24._length (fldOffset=0x8)" P-INDEP
+;  V55 tmp52        [V55,T22] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V56 tmp53        [V56,T23] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V57 tmp54        [V57,T24] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
+;  V58 tmp55        [V58,T25] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V59 cse0         [V59,T04] (  3, 12   )     int  ->  rdi         "CSE #08: aggressive"
+;  V60 cse1         [V60,T07] (  3, 10   )     int  ->  rdi         "CSE #07: aggressive"
 ;
-; Lcl frame size = 216
+; Lcl frame size = 192
 
 G_M60497_IG01:
        push     rbp
        push     r15
        push     r14
+       push     r13
        push     rbx
-       sub      rsp, 216
-       lea      rbp, [rsp+0xF0]
-       xor      eax, eax
-       mov      qword ptr [rbp-0xE8], rax
+       sub      rsp, 192
+       lea      rbp, [rsp+0xE0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu32 zmmword ptr [rbp-0xE0], zmm8
        vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
-       vmovdqu32 zmmword ptr [rbp-0x70], zmm8
-       mov      qword ptr [rbp-0x30], rax
-       mov      bword ptr [rbp-0x28], rsi
-       mov      qword ptr [rbp-0x20], rdx
+       vmovdqu32 zmmword ptr [rbp-0x60], zmm8
        mov      rbx, rdi
-						;; size=80 bbWeight=1 PerfScore 15.58
+       mov      r14, rsi
+       mov      r15d, edx
+						;; size=67 bbWeight=1 PerfScore 12.83
 G_M60497_IG02:
-       mov      rsi, bword ptr [rbp-0x28]
-       mov      edx, dword ptr [rbp-0x20]
-       lea      rcx, [rbp-0xE8]
+       mov      rsi, r14
+       mov      edx, r15d
+       lea      rcx, [rbp-0xE0]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ClientModel.Primitives.JsonPathExtensions:Advance(byref,System.ReadOnlySpan`1[byte],byref):bool
        call     [rax]System.ClientModel.Primitives.JsonPathExtensions:Advance(byref,System.ReadOnlySpan`1[byte],byref):bool
        test     eax, eax
        je       G_M60497_IG19
        cmp      byte  ptr [rbx+0x28], 5
        jne      SHORT G_M60497_IG04
-						;; size=43 bbWeight=1 PerfScore 10.25
+						;; size=42 bbWeight=1 PerfScore 8.75
 G_M60497_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Utf8JsonReader:Read():bool:this
        call     [rax]System.Text.Json.Utf8JsonReader:Read():bool:this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M60497_IG04:
        cmp      byte  ptr [rbx+0x28], 3
-       jne      G_M60497_IG20
+       jne      G_M60497_IG23
        xor      r15d, r15d
        jmp      SHORT G_M60497_IG16
 						;; size=15 bbWeight=1 PerfScore 5.25
 G_M60497_IG05:
        movzx    rdi, byte  ptr [rbx+0x28]
        cmp      edi, 4
        je       G_M60497_IG17
        inc      r15d
        cmp      byte  ptr [rbx+0x24], 0
-       je       G_M60497_IG21
+       je       G_M60497_IG26
        cmp      edi, 5
        jne      SHORT G_M60497_IG07
 						;; size=32 bbWeight=4 PerfScore 31.00
 G_M60497_IG06:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Utf8JsonReader:Read():bool:this
        call     [rax]System.Text.Json.Utf8JsonReader:Read():bool:this
 						;; size=15 bbWeight=2 PerfScore 7.00
 G_M60497_IG07:
        movzx    rdi, byte  ptr [rbx+0x28]
        mov      eax, edi
        cmp      eax, 1
        je       SHORT G_M60497_IG09
 						;; size=12 bbWeight=4 PerfScore 14.00
 G_M60497_IG08:
        cmp      eax, 3
        jne      SHORT G_M60497_IG16
 						;; size=5 bbWeight=2 PerfScore 2.50
 G_M60497_IG09:
        mov      eax, dword ptr [rbx+0x58]
        cmp      edi, 1
        je       SHORT G_M60497_IG10
        cmp      edi, 3
        jne      SHORT G_M60497_IG11
 						;; size=13 bbWeight=2 PerfScore 9.00
 G_M60497_IG10:
        dec      eax
 						;; size=2 bbWeight=2 PerfScore 0.50
 G_M60497_IG11:
        mov      r14d, eax
 						;; size=3 bbWeight=2 PerfScore 0.50
 G_M60497_IG12:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Utf8JsonReader:Read():bool:this
        call     [rax]System.Text.Json.Utf8JsonReader:Read():bool:this
        mov      eax, dword ptr [rbx+0x58]
        movzx    rcx, byte  ptr [rbx+0x28]
        cmp      ecx, 1
        je       SHORT G_M60497_IG14
 						;; size=27 bbWeight=16 PerfScore 140.00
 G_M60497_IG13:
        cmp      ecx, 3
        jne      SHORT G_M60497_IG15
 						;; size=5 bbWeight=8 PerfScore 10.00
 G_M60497_IG14:
        dec      eax
 						;; size=2 bbWeight=8 PerfScore 2.00
 G_M60497_IG15:
        cmp      r14d, eax
        jl       SHORT G_M60497_IG12
 						;; size=5 bbWeight=16 PerfScore 20.00
 G_M60497_IG16:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.Utf8JsonReader:Read():bool:this
        call     [rax]System.Text.Json.Utf8JsonReader:Read():bool:this
        test     eax, eax
        jne      G_M60497_IG05
 						;; size=23 bbWeight=8 PerfScore 38.00
 G_M60497_IG17:
        mov      eax, r15d
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M60497_IG18:
-       add      rsp, 216
+       add      rsp, 192
        pop      rbx
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=14 bbWeight=1 PerfScore 3.25
+						;; size=16 bbWeight=1 PerfScore 3.75
 G_M60497_IG19:
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rbx, gword ptr [rdi]
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rbx, gword ptr [rsi]
+       test     r15d, r15d
+       jne      SHORT G_M60497_IG20
+       mov      r13, 0xD1FFAB1E      ; 'System.Byte[]'
+       jmp      SHORT G_M60497_IG22
+						;; size=30 bbWeight=0 PerfScore 0.00
+G_M60497_IG20:
+       mov      esi, r15d
+       mov      rdi, 0xD1FFAB1E      ; byte[]
+       call     CORINFO_HELP_NEWARR_1_VC
+       mov      r13, rax
+       lea      rdi, bword ptr [r13+0x10]
+       mov      eax, dword ptr [r13+0x08]
+       cmp      r15d, eax
+       jg       SHORT G_M60497_IG21
+       mov      edx, r15d
+       mov      rsi, r14
+       mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)
+       call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)
+       jmp      SHORT G_M60497_IG22
+						;; size=54 bbWeight=0 PerfScore 0.00
+G_M60497_IG21:
+       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
+       call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
+       int3     
+						;; size=13 bbWeight=0 PerfScore 0.00
+G_M60497_IG22:
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
-       lea      rdi, [rbp-0x28]
-       mov      rax, 0xD1FFAB1E      ; code for System.ReadOnlySpan`1[byte]:ToArray():byte[]:this
-       call     [rax]System.ReadOnlySpan`1[byte]:ToArray():byte[]:this
-       mov      rsi, rax
        mov      rdi, rbx
+       mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:GetString(byte[]):System.String:this
        call     [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:GetString(byte[]):System.String:this
        mov      rdi, rax
        mov      rsi, 0xD1FFAB1E      ; ' was not found in the JSON structure.'
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.String,System.String):System.String
        call     [rax]System.String:Concat(System.String,System.String):System.String
        mov      rsi, rax
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
-						;; size=117 bbWeight=0 PerfScore 0.00
-G_M60497_IG20:
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rbx, gword ptr [rdi]
+						;; size=88 bbWeight=0 PerfScore 0.00
+G_M60497_IG23:
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rbx, gword ptr [rsi]
+       test     r15d, r15d
+       jne      SHORT G_M60497_IG24
+       mov      r13, 0xD1FFAB1E      ; 'System.Byte[]'
+       jmp      SHORT G_M60497_IG25
+						;; size=30 bbWeight=0 PerfScore 0.00
+G_M60497_IG24:
+       mov      esi, r15d
+       mov      rdi, 0xD1FFAB1E      ; byte[]
+       call     CORINFO_HELP_NEWARR_1_VC
+       mov      r13, rax
+       lea      rdi, bword ptr [r13+0x10]
+       mov      edx, dword ptr [r13+0x08]
+       cmp      r15d, edx
+       jg       G_M60497_IG21
+       mov      edx, r15d
+       mov      rsi, r14
+       mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)
+       call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)
+						;; size=56 bbWeight=0 PerfScore 0.00
+G_M60497_IG25:
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
-       lea      rdi, [rbp-0x28]
-       mov      rax, 0xD1FFAB1E      ; code for System.ReadOnlySpan`1[byte]:ToArray():byte[]:this
-       call     [rax]System.ReadOnlySpan`1[byte]:ToArray():byte[]:this
-       mov      rsi, rax
        mov      rdi, rbx
+       mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:GetString(byte[]):System.String:this
        call     [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:GetString(byte[]):System.String:this
        mov      rdi, rax
        mov      rsi, 0xD1FFAB1E      ; ' is not an array.'
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.String,System.String):System.String
        call     [rax]System.String:Concat(System.String,System.String):System.String
        mov      rsi, rax
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
-						;; size=117 bbWeight=0 PerfScore 0.00
-G_M60497_IG21:
+						;; size=88 bbWeight=0 PerfScore 0.00
+G_M60497_IG26:
        mov      rax, 0xD1FFAB1E      ; code for System.Text.Json.ThrowHelper:ThrowInvalidOperationException_CannotSkipOnPartial()
        call     [rax]System.Text.Json.ThrowHelper:ThrowInvalidOperationException_CannotSkipOnPartial()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 561, prolog size 69, PerfScore 310.83, instruction count 130, allocated bytes for code 561 (MethodHash=2d0e13ae) for method System.ClientModel.Primitives.JsonPathExtensions:GetArrayLength(byref,System.ReadOnlySpan`1[byte]):int (FullOpts)
+; Total bytes of code 674, prolog size 58, PerfScore 307.08, instruction count 159, allocated bytes for code 674 (MethodHash=2d0e13ae) for method System.ClientModel.Primitives.JsonPathExtensions:GetArrayLength(byref,System.ReadOnlySpan`1[byte]):int (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>99 (44.59 % of base) - System.Runtime.InteropServices.Marshalling.ComVariant:ThrowIfNotVarType(System.ReadOnlySpan`1[int]):this</summary>

```diff
 ; Assembly listing for method System.Runtime.InteropServices.Marshalling.ComVariant:ThrowIfNotVarType(System.ReadOnlySpan`1[int]):this (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 9 single block inlinees; 3 inlinees without PGO data
+; 0 inlinees with PGO data; 12 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  4,  3   )   byref  ->  rbx         this single-def
-;  V01 arg1         [V01    ] (  7,  6   )  struct (16) [rbp-0x28]  do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op single-def <System.ReadOnlySpan`1[int]>
+;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[int]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
 ;* V03 tmp1         [V03    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[int]>
-;  V04 tmp2         [V04,T06] (  2,  0   )     ref  ->  r15         class-hnd exact single-def "non-inline candidate call" <System.String>
-;  V05 tmp3         [V05,T04] (  3,  0   )     ref  ->  r14         class-hnd exact single-def "Single-def Box Helper" <System.Runtime.InteropServices.VarEnum>
-;  V06 tmp4         [V06,T05] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-;  V07 tmp5         [V07,T01] (  2,  4   )     int  ->  rsi         "Inlining Arg"
+;  V04 tmp2         [V04,T08] (  2,  0   )     ref  ->  r13         class-hnd exact single-def "non-inline candidate call" <System.String>
+;  V05 tmp3         [V05,T05] (  3,  0   )     ref  ->  r12         class-hnd exact single-def "Single-def Box Helper" <System.Runtime.InteropServices.VarEnum>
+;  V06 tmp4         [V06,T06] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
+;  V07 tmp5         [V07,T03] (  2,  4   )     int  ->  rsi         "Inlining Arg"
 ;* V08 tmp6         [V08    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V09 tmp7         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[int]>
 ;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[int]>
 ;* V11 tmp9         [V11    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V12 tmp10        [V12    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp11        [V13    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp12        [V14    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp13        [V15    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V16 tmp14        [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[int]>
 ;* V17 tmp15        [V17    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V18 tmp16        [V18    ] (  5,  4   )   byref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed single-def "field V01._reference (fldOffset=0x0)" P-DEP
-;  V19 tmp17        [V19    ] (  5,  4   )     int  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed single-def "field V01._length (fldOffset=0x8)" P-DEP
-;  V20 tmp18        [V20,T02] (  2,  2   )   byref  ->  rdi         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
-;  V21 tmp19        [V21,T03] (  2,  2   )     int  ->  rdx         "field V03._length (fldOffset=0x8)" P-INDEP
-;* V22 tmp20        [V22    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V23 tmp21        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
-;* V24 tmp22        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V25 tmp23        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;* V26 tmp24        [V26    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
-;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp26        [V28,T07] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V29 tmp27        [V29,T08] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
-;  V30 tmp28        [V30,T09] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V18 tmp16        [V18,T07] (  3,  0   )     ref  ->  rbx         class-hnd "Inline return value spill temp" <int[]>
+;* V19 tmp17        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <int[]>
+;  V20 tmp18        [V20,T04] (  4,  0   )     ref  ->  rbx         class-hnd exact single-def "Inline stloc first use temp" <int[]>
+;* V21 tmp19        [V21    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
+;* V22 tmp20        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
+;* V23 tmp21        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
+;* V24 tmp22        [V24    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V25 tmp23        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V26 tmp24        [V26    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
+;  V27 tmp25        [V27,T02] (  3,  2   )   byref  ->  r14         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp26        [V28,T01] (  6,  2   )     int  ->  r15         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;* V29 tmp27        [V29    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+;* V30 tmp28        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0x8)" P-INDEP
+;* V31 tmp29        [V31    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V32 tmp30        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;* V33 tmp31        [V33    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V34 tmp32        [V34    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
+;* V35 tmp33        [V35    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V36 tmp34        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V37 tmp35        [V37    ] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V38 tmp36        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
+;  V39 tmp37        [V39,T09] (  2,  0   )   byref  ->  rdi         single-def "field V22._reference (fldOffset=0x0)" P-INDEP
+;  V40 tmp38        [V40,T12] (  2,  0   )     int  ->  rax         "field V22._length (fldOffset=0x8)" P-INDEP
+;* V41 tmp39        [V41    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V42 tmp40        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp41        [V43,T10] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
+;  V44 tmp42        [V44,T11] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 8
 
 G_M25271_IG01:
        push     rbp
        push     r15
        push     r14
+       push     r13
+       push     r12
        push     rbx
-       sub      rsp, 24
+       push     rax
        lea      rbp, [rsp+0x30]
-       mov      bword ptr [rbp-0x28], rsi
-       mov      qword ptr [rbp-0x20], rdx
        mov      rbx, rdi
-						;; size=26 bbWeight=1 PerfScore 7.00
+       mov      r14, rsi
+       mov      r15d, edx
+						;; size=25 bbWeight=1 PerfScore 8.25
 G_M25271_IG02:
-       mov      rdi, bword ptr [rbp-0x28]
-       mov      edx, dword ptr [rbp-0x20]
        movzx    rsi, word  ptr [rbx]
+       mov      rdi, r14
+       mov      edx, r15d
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:NonPackedIndexOfValueType[int,System.SpanHelpers+DontNegate`1[int]](byref,int,int):int
        call     [rax]System.SpanHelpers:NonPackedIndexOfValueType[int,System.SpanHelpers+DontNegate`1[int]](byref,int,int):int
        test     eax, eax
        jl       SHORT G_M25271_IG04
-						;; size=26 bbWeight=1 PerfScore 8.50
+						;; size=25 bbWeight=1 PerfScore 7.00
 G_M25271_IG03:
-       add      rsp, 24
+       add      rsp, 8
        pop      rbx
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=11 bbWeight=1 PerfScore 3.25
+						;; size=15 bbWeight=1 PerfScore 4.25
 G_M25271_IG04:
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_ComVariant_TypeIsNotSupportedType():System.String
        call     [rax]System.SR:get_ComVariant_TypeIsNotSupportedType():System.String
-       mov      r15, rax
+       mov      r13, rax
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.InteropServices.VarEnum
        call     CORINFO_HELP_NEWSFAST
-       mov      r14, rax
+       mov      r12, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.Marshalling.ComVariant:get_VarType():int:this
        call     [rax]System.Runtime.InteropServices.Marshalling.ComVariant:get_VarType():int:this
-       mov      dword ptr [r14+0x08], eax
+       mov      dword ptr [r12+0x08], eax
+       test     r15d, r15d
+       jne      SHORT G_M25271_IG05
+       mov      rdi, 0xD1FFAB1E      ; System.Array+EmptyArray`1[int]
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_GET_GCSTATIC_BASE
+       call     [rax]CORINFO_HELP_GET_GCSTATIC_BASE
+       mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[int]:Value
+       mov      rbx, gword ptr [rdi]
+       jmp      SHORT G_M25271_IG07
+						;; size=95 bbWeight=0 PerfScore 0.00
+G_M25271_IG05:
+       mov      esi, r15d
+       mov      rdi, 0xD1FFAB1E      ; int[]
+       call     CORINFO_HELP_NEWARR_1_VC
+       mov      rbx, rax
+       lea      rdi, bword ptr [rbx+0x10]
+       mov      eax, dword ptr [rbx+0x08]
+       cmp      r15d, eax
+       jg       SHORT G_M25271_IG06
+       mov      edx, r15d
+       shl      rdx, 2
+       mov      rsi, r14
+       mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)
+       call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)
+       jmp      SHORT G_M25271_IG07
+						;; size=57 bbWeight=0 PerfScore 0.00
+G_M25271_IG06:
+       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
+       call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
+       int3     
+						;; size=13 bbWeight=0 PerfScore 0.00
+G_M25271_IG07:
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
-       mov      rbx, rax
-       lea      rdi, [rbp-0x28]
-       mov      rax, 0xD1FFAB1E      ; code for System.ReadOnlySpan`1[int]:ToArray():int[]:this
-       call     [rax]System.ReadOnlySpan`1[int]:ToArray():int[]:this
-       mov      rsi, rax
+       mov      r15, rax
+       mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; ', '
        mov      rax, 0xD1FFAB1E      ; code for System.String:Join[int](System.String,System.Collections.Generic.IEnumerable`1[int]):System.String
        call     [rax]System.String:Join[int](System.String,System.Collections.Generic.IEnumerable`1[int]):System.String
        mov      rdx, rax
-       mov      rsi, r14
-       mov      rdi, r15
+       mov      rsi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.SR:Format(System.String,System.Object,System.Object):System.String
        call     [rax]System.SR:Format(System.String,System.Object,System.Object):System.String
        mov      rsi, rax
-       mov      rdi, rbx
+       mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
-       mov      rdi, rbx
+       mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
-						;; size=159 bbWeight=0 PerfScore 0.00
+						;; size=91 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 222, prolog size 15, PerfScore 18.75, instruction count 54, allocated bytes for code 222 (MethodHash=71179d48) for method System.Runtime.InteropServices.Marshalling.ComVariant:ThrowIfNotVarType(System.ReadOnlySpan`1[int]):this (FullOpts)
+; Total bytes of code 321, prolog size 16, PerfScore 19.50, instruction count 80, allocated bytes for code 321 (MethodHash=71179d48) for method System.Runtime.InteropServices.Marshalling.ComVariant:ThrowIfNotVarType(System.ReadOnlySpan`1[int]):this (FullOpts)
 ; ============================================================
```

</details>


<details>
<summary>79 (16.39 % of base) - System.ClientModel.Primitives.JsonPatch:ThrowFormatException[byte](System.ReadOnlySpan`1[byte]):byte</summary>

```diff
 ; Assembly listing for method System.ClientModel.Primitives.JsonPatch:ThrowFormatException[byte](System.ReadOnlySpan`1[byte]):byte (FullOpts)
 ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 4 single block inlinees; 12 inlinees without PGO data
+; 0 inlinees with PGO data; 7 single block inlinees; 16 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00    ] (  5,  4   )  struct (16) [rbp-0x18]  do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op single-def <System.ReadOnlySpan`1[byte]>
+;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[byte]>
 ;  V01 loc0         [V01    ] ( 25,  0   )  struct (40) [rbp-0x40]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;* V02 loc1         [V02    ] (  0,  0   )   ubyte  ->  zero-ref   
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
-;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.Text.UTF8Encoding+UTF8EncodingSealed>
-;  V05 tmp2         [V05,T04] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.FormatException>
+;  V04 tmp1         [V04,T10] (  2,  0   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+;  V05 tmp2         [V05,T07] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.FormatException>
 ;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[char]>
-;  V07 tmp4         [V07,T01] (  4,  0   )     int  ->  rdi         "Inlining Arg"
+;  V07 tmp4         [V07,T04] (  4,  0   )     int  ->  rdi         "Inlining Arg"
 ;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[char]>
-;  V09 tmp6         [V09,T05] (  3,  0   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V10 tmp7         [V10,T10] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V11 tmp8         [V11,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;  V09 tmp6         [V09,T08] (  3,  0   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V10 tmp7         [V10,T15] (  2,  0   )     int  ->  rsi         "Inlining Arg"
+;* V11 tmp8         [V11,T16] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[char]>
 ;* V13 tmp10        [V13    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V14 tmp11        [V14    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V15 tmp12        [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[char]>
-;  V16 tmp13        [V16,T02] (  4,  0   )     int  ->  rdi         "Inlining Arg"
-;* V17 tmp14        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[char]>
-;  V18 tmp15        [V18,T00] (  4,  0   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V19 tmp16        [V19,T12] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V20 tmp17        [V20,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V21 tmp18        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[char]>
+;  V15 tmp12        [V15,T09] (  3,  0   )     ref  ->  rsi         class-hnd "Inline return value spill temp" <byte[]>
+;* V16 tmp13        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewArr temp" <byte[]>
+;  V17 tmp14        [V17,T02] (  4,  0   )     ref  ->  r14         class-hnd exact single-def "Inline stloc first use temp" <byte[]>
+;* V18 tmp15        [V18    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[byte]>
+;* V19 tmp16        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[byte]>
+;* V20 tmp17        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[byte]>
+;* V21 tmp18        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp19        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V23 tmp20        [V23    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V23 tmp20        [V23    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp21        [V24    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[char]>
-;  V25 tmp22        [V25,T03] (  4,  0   )     int  ->  rdi         "Inlining Arg"
+;  V25 tmp22        [V25,T05] (  4,  0   )     int  ->  rdi         "Inlining Arg"
 ;* V26 tmp23        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[char]>
-;  V27 tmp24        [V27,T06] (  2,  0   )   byref  ->  rbx         single-def "Inlining Arg"
-;  V28 tmp25        [V28,T14] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;* V29 tmp26        [V29,T15] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;  V27 tmp24        [V27,T03] (  4,  0   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V28 tmp25        [V28,T17] (  2,  0   )     int  ->  rsi         "Inlining Arg"
+;* V29 tmp26        [V29,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V30 tmp27        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[char]>
 ;* V31 tmp28        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp29        [V32    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V33 tmp30        [V33    ] (  4,  3   )   byref  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed single-def "field V00._reference (fldOffset=0x0)" P-DEP
-;  V34 tmp31        [V34    ] (  4,  3   )     int  ->  [rbp-0x10]  do-not-enreg[X] addr-exposed single-def "field V00._length (fldOffset=0x8)" P-DEP
-;* V35 tmp32        [V35    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V36 tmp33        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;* V37 tmp34        [V37    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V38 tmp35        [V38    ] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
-;* V39 tmp36        [V39    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V40 tmp37        [V40    ] (  0,  0   )     int  ->  zero-ref    single-def "field V12._length (fldOffset=0x8)" P-INDEP
-;* V41 tmp38        [V41    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V42 tmp39        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
-;* V43 tmp40        [V43    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V44 tmp41        [V44    ] (  0,  0   )     int  ->  zero-ref    single-def "field V17._length (fldOffset=0x8)" P-INDEP
-;* V45 tmp42        [V45    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V46 tmp43        [V46    ] (  0,  0   )     int  ->  zero-ref    single-def "field V21._length (fldOffset=0x8)" P-INDEP
-;* V47 tmp44        [V47    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V48 tmp45        [V48    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;* V49 tmp46        [V49    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V50 tmp47        [V50    ] (  0,  0   )     int  ->  zero-ref    single-def "field V26._length (fldOffset=0x8)" P-INDEP
-;* V51 tmp48        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V52 tmp49        [V52    ] (  0,  0   )     int  ->  zero-ref    single-def "field V30._length (fldOffset=0x8)" P-INDEP
-;  V53 tmp50        [V53,T07] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V54 tmp51        [V54,T08] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
-;  V55 tmp52        [V55,T09] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;* V33 tmp30        [V33    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[char]>
+;  V34 tmp31        [V34,T06] (  4,  0   )     int  ->  rdi         "Inlining Arg"
+;* V35 tmp32        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[char]>
+;  V36 tmp33        [V36,T11] (  2,  0   )   byref  ->  rbx         single-def "Inlining Arg"
+;  V37 tmp34        [V37,T19] (  2,  0   )     int  ->  rsi         "Inlining Arg"
+;* V38 tmp35        [V38,T20] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
+;* V39 tmp36        [V39    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[char]>
+;* V40 tmp37        [V40    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V41 tmp38        [V41    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;  V42 tmp39        [V42,T01] (  2,  1   )   byref  ->  [rbp-0x50]  single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp40        [V43,T00] (  5,  1   )     int  ->  [rbp-0x44]  single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp41        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp42        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;* V46 tmp43        [V46    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V47 tmp44        [V47    ] (  0,  0   )     int  ->  zero-ref    single-def "field V08._length (fldOffset=0x8)" P-INDEP
+;* V48 tmp45        [V48    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V49 tmp46        [V49    ] (  0,  0   )     int  ->  zero-ref    single-def "field V12._length (fldOffset=0x8)" P-INDEP
+;* V50 tmp47        [V50    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V51 tmp48        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;  V52 tmp49        [V52,T12] (  2,  0   )   byref  ->  rdi         single-def "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V53 tmp50        [V53,T21] (  2,  0   )     int  ->  rax         single-def "field V19._length (fldOffset=0x8)" P-INDEP
+;* V54 tmp51        [V54    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V55 tmp52        [V55    ] (  0,  0   )     int  ->  zero-ref    single-def "field V20._length (fldOffset=0x8)" P-INDEP
+;* V56 tmp53        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V57 tmp54        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;* V58 tmp55        [V58    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V59 tmp56        [V59    ] (  0,  0   )     int  ->  zero-ref    single-def "field V26._length (fldOffset=0x8)" P-INDEP
+;* V60 tmp57        [V60    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V61 tmp58        [V61    ] (  0,  0   )     int  ->  zero-ref    single-def "field V30._length (fldOffset=0x8)" P-INDEP
+;* V62 tmp59        [V62    ] (  0,  0   )   byref  ->  zero-ref    "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V63 tmp60        [V63    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
+;* V64 tmp61        [V64    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;* V65 tmp62        [V65    ] (  0,  0   )     int  ->  zero-ref    single-def "field V35._length (fldOffset=0x8)" P-INDEP
+;* V66 tmp63        [V66    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V67 tmp64        [V67    ] (  0,  0   )     int  ->  zero-ref    single-def "field V39._length (fldOffset=0x8)" P-INDEP
+;  V68 tmp65        [V68,T13] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
+;  V69 tmp66        [V69,T14] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;
 ; Lcl frame size = 56
 
 G_M9914_IG01:
        push     rbp
+       push     r15
+       push     r14
        push     rbx
        sub      rsp, 56
-       lea      rbp, [rsp+0x40]
+       lea      rbp, [rsp+0x50]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x40], ymm8
        xor      eax, eax
        mov      qword ptr [rbp-0x20], rax
-       mov      bword ptr [rbp-0x18], rdi
-       mov      qword ptr [rbp-0x10], rsi
-						;; size=35 bbWeight=0 PerfScore 0.00
+       mov      bword ptr [rbp-0x50], rdi
+       mov      dword ptr [rbp-0x44], esi
+						;; size=38 bbWeight=0 PerfScore 0.00
 G_M9914_IG02:
        lea      rdi, [rbp-0x40]
        mov      esi, 22
        mov      edx, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
        mov      edi, dword ptr [rbp-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        jbe      SHORT G_M9914_IG04
 						;; size=34 bbWeight=0 PerfScore 0.00
 G_M9914_IG03:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M9914_IG04:
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
        cmp      esi, 10
        jb       SHORT G_M9914_IG05
        vmovups  xmm0, xmmword ptr [reloc @RWD00]
        vmovups  xmmword ptr [rbx], xmm0
        mov      dword ptr [rbx+0x10], 0xD1FFAB1E
-       mov      edi, dword ptr [rbp-0x30]
-       add      edi, 10
-       mov      dword ptr [rbp-0x30], edi
+       mov      esi, dword ptr [rbp-0x30]
+       add      esi, 10
+       mov      dword ptr [rbp-0x30], esi
        jmp      SHORT G_M9914_IG06
 						;; size=50 bbWeight=0 PerfScore 0.00
 G_M9914_IG05:
        lea      rdi, [rbp-0x40]
        mov      rsi, 0xD1FFAB1E      ; 'Value at ''
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
 						;; size=26 bbWeight=0 PerfScore 0.00
 G_M9914_IG06:
-       lea      rdi, [rbp-0x18]
-       mov      rax, 0xD1FFAB1E      ; code for System.ReadOnlySpan`1[byte]:ToArray():byte[]:this
-       call     [rax]System.ReadOnlySpan`1[byte]:ToArray():byte[]:this
-       mov      rsi, rax
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rdi, gword ptr [rdi]
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rbx, gword ptr [rsi]
+       mov      r15d, dword ptr [rbp-0x44]
+       test     r15d, r15d
+       jne      SHORT G_M9914_IG07
+       mov      rsi, 0xD1FFAB1E      ; 'System.Byte[]'
+       jmp      SHORT G_M9914_IG09
+						;; size=34 bbWeight=0 PerfScore 0.00
+G_M9914_IG07:
+       mov      esi, r15d
+       mov      rdi, 0xD1FFAB1E      ; byte[]
+       call     CORINFO_HELP_NEWARR_1_VC
+       mov      r14, rax
+       lea      rdi, bword ptr [r14+0x10]
+       mov      eax, dword ptr [r14+0x08]
+       cmp      r15d, eax
+       jg       SHORT G_M9914_IG08
+       mov      edx, r15d
+       mov      rsi, bword ptr [rbp-0x50]
+       mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,nuint)
+       call     [rax]System.SpanHelpers:Memmove(byref,byref,nuint)
+       mov      rsi, r14
+       jmp      SHORT G_M9914_IG09
+						;; size=58 bbWeight=0 PerfScore 0.00
+G_M9914_IG08:
+       mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
+       call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
+       int3     
+						;; size=13 bbWeight=0 PerfScore 0.00
+G_M9914_IG09:
+       mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:GetString(byte[]):System.String:this
        call     [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:GetString(byte[]):System.String:this
        mov      rsi, rax
        lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
        mov      edi, dword ptr [rbp-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       G_M9914_IG03
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
        cmp      esi, 11
-       jb       SHORT G_M9914_IG07
+       jb       SHORT G_M9914_IG10
        vmovups  xmm0, xmmword ptr [reloc @RWD16]
        vmovups  xmmword ptr [rbx], xmm0
        mov      dword ptr [rbx+0x10], 0xD1FFAB1E
        mov      word  ptr [rbx+0x14], 32
        mov      edi, dword ptr [rbp-0x30]
        add      edi, 11
        mov      dword ptr [rbp-0x30], edi
-       jmp      SHORT G_M9914_IG08
-						;; size=131 bbWeight=0 PerfScore 0.00
-G_M9914_IG07:
+       jmp      SHORT G_M9914_IG11
+						;; size=102 bbWeight=0 PerfScore 0.00
+G_M9914_IG10:
        lea      rdi, [rbp-0x40]
        mov      rsi, 0xD1FFAB1E      ; '' is not a '
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
 						;; size=26 bbWeight=0 PerfScore 0.00
-G_M9914_IG08:
+G_M9914_IG11:
        lea      rdi, [rbp-0x40]
        mov      rsi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Type](System.Type):this
        mov      rdx, 0xD1FFAB1E      ; 'System.Byte'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this
        mov      edi, dword ptr [rbp-0x30]
        cmp      edi, dword ptr [rbp-0x20]
        ja       G_M9914_IG03
        mov      rsi, bword ptr [rbp-0x28]
        mov      eax, edi
        lea      rbx, bword ptr [rsi+2*rax]
        mov      esi, dword ptr [rbp-0x20]
        sub      esi, edi
-       je       SHORT G_M9914_IG09
+       je       SHORT G_M9914_IG12
        mov      word  ptr [rbx], 46
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        mov      dword ptr [rbp-0x30], edi
-       jmp      SHORT G_M9914_IG10
+       jmp      SHORT G_M9914_IG13
 						;; size=80 bbWeight=0 PerfScore 0.00
-G_M9914_IG09:
+G_M9914_IG12:
        lea      rdi, [rbp-0x40]
        mov      rsi, 0xD1FFAB1E      ; '.'
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
 						;; size=26 bbWeight=0 PerfScore 0.00
-G_M9914_IG10:
+G_M9914_IG13:
        mov      rdi, 0xD1FFAB1E      ; System.FormatException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        call     [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.FormatException:.ctor(System.String):this
        call     [rax]System.FormatException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=61 bbWeight=0 PerfScore 0.00
 RWD00  	dq	0075006C00610056h, 0074006100200065h
 RWD16  	dq	0073006900200027h, 0074006F006E0020h
 
 
-; Total bytes of code 482, prolog size 27, PerfScore 0.00, instruction count 109, allocated bytes for code 482 (MethodHash=ca7bd945) for method System.ClientModel.Primitives.JsonPatch:ThrowFormatException[byte](System.ReadOnlySpan`1[byte]):byte (FullOpts)
+; Total bytes of code 561, prolog size 31, PerfScore 0.00, instruction count 130, allocated bytes for code 561 (MethodHash=ca7bd945) for method System.ClientModel.Primitives.JsonPatch:ThrowFormatException[byte](System.ReadOnlySpan`1[byte]):byte (FullOpts)
 ; ============================================================
```

</details>



Note: some changes were skipped as they were too large to fit into a comment.

